.ks-login-body {
  min-height: 100vh;
  min-height: 100svh;
  margin: 0;
  color: #f4f7f8;
  background:
    radial-gradient(circle at 14% 16%, rgba(11, 138, 152, .2), transparent 28rem),
    linear-gradient(135deg, #071116 0%, #101f33 100%);
  font-family: Montserrat, Arial, sans-serif;
}

.ks-login-body * { box-sizing: border-box; }
.ks-login-shell {
  width: min(1120px, 100%);
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
  margin: 0 auto;
  padding: clamp(24px, 5vw, 68px);
}
.ks-login-intro {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(28px, 5vw, 64px) clamp(28px, 6vw, 74px) clamp(28px, 4vw, 48px) 0;
}
.ks-login-logo-wrap {
  width: 190px;
  padding: 0;
}
.ks-login-logo-wrap img { display: block; width: 100%; height: auto; filter: brightness(0) invert(1); }
.ks-login-eyebrow {
  margin: 0 0 13px;
  color: #39a8b5;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ks-login-intro h1 {
  max-width: 560px;
  margin: 0 0 18px;
  font-family: Trirong, Georgia, serif;
  font-size: clamp(36px, 4.5vw, 58px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.08;
}
.ks-login-intro > div:nth-child(2) > p:last-child {
  max-width: 540px;
  margin: 0;
  color: #d4dfe2;
  font-size: 16px;
  line-height: 1.75;
}
.ks-login-intro-foot { margin: 28px 0 0; color: #8fa4aa; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.ks-login-panel {
  align-self: center;
  padding: clamp(32px, 5vw, 58px);
  color: #171f23;
  background: #f7f9f9;
  border-top: 5px solid #087b88;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .25);
}
.ks-login-lock {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 28px;
  background: #101f33;
}
.ks-login-lock span {
  position: relative;
  width: 19px;
  height: 16px;
  margin-top: 6px;
  border: 2px solid #31a0ad;
}
.ks-login-lock span::before {
  content: '';
  position: absolute;
  left: 3px;
  top: -11px;
  width: 9px;
  height: 10px;
  border: 2px solid #31a0ad;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
}
.ks-login-panel h2 {
  margin: 0 0 12px;
  color: #101f33;
  font-family: Trirong, Georgia, serif;
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 500;
  letter-spacing: -.025em;
}
.ks-login-lead { margin: 0 0 28px; color: #667069; font-size: 16px; line-height: 1.6; }
.ks-login-button {
  width: 100%;
  min-height: 54px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 13px;
  padding: 14px 18px;
  color: #fff;
  background: #101f33;
  border: 2px solid #101f33;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .04em;
  text-decoration: none;
  transition: transform .15s ease, background .15s ease;
}
.ks-login-button:hover { transform: translateY(-1px); background: #006879; border-color: #006879; }
.ks-login-button:focus-visible,
.ks-login-secondary:focus-visible,
.ks-login-home:focus-visible { outline: 3px solid #0b8a98; outline-offset: 3px; }
.ks-login-button.is-ready { color: #fff; background: #006879; border-color: #006879; }
.ks-microsoft-mark { width: 19px; height: 19px; display: grid; flex: 0 0 auto; grid-template-columns: 1fr 1fr; gap: 2px; }
.ks-microsoft-mark i:nth-child(1) { background: #f25022; }
.ks-microsoft-mark i:nth-child(2) { background: #7fba00; }
.ks-microsoft-mark i:nth-child(3) { background: #00a4ef; }
.ks-microsoft-mark i:nth-child(4) { background: #ffb900; }
.ks-login-status { min-height: 22px; margin: 14px 0 0; color: #667069; font-size: 13px; line-height: 1.5; }
.ks-login-status.is-error { color: #9a3c35; font-weight: 700; }
.ks-login-secondary { display: inline-block; margin-top: 9px; color: #101f33; font-size: 13px; font-weight: 700; }
.ks-login-security { display: grid; gap: 4px; margin-top: 30px; padding: 17px 0; border-top: 1px solid #d8d6cf; border-bottom: 1px solid #d8d6cf; }
.ks-login-security strong { color: #101f33; font-size: 14px; }
.ks-login-security span { color: #667069; font-size: 13px; line-height: 1.55; }
.ks-login-home { display: inline-block; margin-top: 18px; color: #667069; font-size: 13px; }

.ks-portal,
.ks-portal * { box-sizing: border-box; }

.ks-portal-body { margin: 0; background: #eaf0f2; }

.ks-portal {
  --ks-anthracite: #272c2f;
  --ks-petrol: #006879;
  --ks-petrol-bright: #0b8a98;
  --ks-navy: #101f33;
  --ks-gold: #0b8a98;
  --ks-gold-dark: #006879;
  --ks-black: #090d0f;
  --ks-ink: #172126;
  --ks-muted: #607078;
  --ks-line: #cad5d8;
  --ks-soft: #edf2f3;
  --ks-white: #fff;
  --ks-green: #0b6e63;
  --ks-red: #9a3c35;
  max-width: 1380px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 28px 32px;
  color: var(--ks-ink);
  background: var(--ks-soft);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-shadow: 0 0 45px rgba(16, 31, 51, .1);
}

.ks-portal button,
.ks-portal input,
.ks-portal select,
.ks-portal textarea { font: inherit; }

.ks-portal-head {
  display: grid;
  grid-template-columns: minmax(220px, .7fr) minmax(280px, 1.3fr);
  gap: 24px;
  align-items: center;
  margin: 0 -28px;
  padding: 24px 28px;
  color: #fff;
  background: linear-gradient(112deg, var(--ks-black) 0%, var(--ks-anthracite) 48%, var(--ks-navy) 100%);
  border-bottom: 3px solid var(--ks-petrol);
}

.ks-brand {
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.ks-brand-logo { display: block; width: 156px; max-height: 66px; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); }
.ks-brand-wordmark { font-family: Trirong, serif; font-size: 27px; font-weight: 500; letter-spacing: .035em; }
.ks-brand-copy { padding-left: 14px; border-left: 2px solid var(--ks-petrol-bright); }
.ks-brand-copy b { display: block; margin-top: 3px; color: #fff; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }

.ks-brand-mark {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid var(--ks-gold);
  border-radius: 0;
  color: var(--ks-gold-dark);
  font-weight: 900;
  letter-spacing: .04em;
}

.ks-brand strong {
  display: block;
  font-size: 18px;
  letter-spacing: .1em;
}

.ks-brand small {
  display: block;
  color: #aebdc1;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ks-head-copy h1 { margin: 0 0 4px; font-family: Trirong, serif; font-size: clamp(29px, 3.4vw, 44px); font-weight: 500; letter-spacing: -.025em; }
.ks-head-copy p { margin: 0; color: #c7d2d5; font-size: 14px; }

.ks-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  gap: 5px;
  overflow-x: auto;
  margin: 0 -28px;
  padding: 0 28px;
  background: rgba(9, 13, 15, .97);
  border-bottom: 2px solid var(--ks-petrol);
  backdrop-filter: blur(8px);
}

.ks-nav-link {
  flex: 0 0 auto;
  padding: 14px 13px;
  border-radius: 0;
  color: #d6e0e2;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}

.ks-nav-link:hover { background: var(--ks-anthracite); color: #fff; }
.ks-nav-link.is-active { background: var(--ks-petrol); color: #fff; }
.ks-nav-spacer { flex: 1 1 auto; }
.ks-nav-signout { color: #efb2ae; }

.ks-portal.ks-service-navigation-shell {
  max-width: none;
  min-height: 0;
  padding: 0;
  background: var(--ks-black);
  box-shadow: none;
}

.ks-service-navigation-shell .ks-nav { max-width: 1380px; margin: 0 auto; padding-left: 28px; padding-right: 28px; }
.ks-main { padding-top: 24px; }

.ks-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; }
.ks-col-12 { grid-column: span 12; }
.ks-col-9 { grid-column: span 9; }
.ks-col-8 { grid-column: span 8; }
.ks-col-6 { grid-column: span 6; }
.ks-col-5 { grid-column: span 5; }
.ks-col-4 { grid-column: span 4; }
.ks-col-3 { grid-column: span 3; }
.ks-col-2 { grid-column: span 2; }

.ks-card {
  padding: 20px;
  border: 1px solid var(--ks-line);
  border-top: 3px solid var(--ks-petrol-bright);
  border-radius: 0;
  background: var(--ks-white);
  box-shadow: 0 10px 28px rgba(16, 31, 51, .07);
}

.ks-card + .ks-card { margin-top: 16px; }
.ks-card h2, .ks-card h3 { margin: 0 0 12px; color: var(--ks-navy); font-family: Trirong, serif; font-weight: 500; }
.ks-muted { color: var(--ks-muted); }
.ks-small { font-size: 13px; }

.ks-dashboard {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}

.ks-dashboard-card {
  min-height: 176px;
  display: flex;
  flex-direction: column;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-top: 3px solid var(--ks-petrol-bright);
  border-radius: 0;
  color: #fff;
  background: var(--ks-anthracite);
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(16, 31, 51, .12);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.ks-dashboard-card:hover {
  transform: translateY(-2px);
  border-color: var(--ks-petrol-bright);
  box-shadow: 0 16px 34px rgba(16, 31, 51, .22);
}

.ks-dashboard-card.ks-tone-anthracite { background: var(--ks-anthracite); }
.ks-dashboard-card.ks-tone-petrol { background: var(--ks-petrol); }
.ks-dashboard-card.ks-tone-navy { background: var(--ks-navy); }
.ks-dashboard-card.ks-tone-black { background: var(--ks-black); }

.ks-dashboard-card .ks-icon {
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  margin-bottom: 21px;
  border-radius: 0;
  color: #fff;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .38);
  font-weight: 900;
}

.ks-dashboard-card strong { font-family: Trirong, serif; font-size: 24px; font-weight: 500; }
.ks-dashboard-card span:last-child { margin-top: 6px; color: #d9e2e4; font-size: 14px; line-height: 1.5; }

.ks-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 15px;
  padding-bottom: 10px;
  margin-bottom: 15px;
  border-bottom: 1px solid var(--ks-line);
}

.ks-section-head h2 { margin: 0; color: var(--ks-navy); font-family: Trirong, serif; font-size: 28px; font-weight: 500; }
.ks-section-head p { margin: 4px 0 0; color: var(--ks-muted); font-size: 14px; }

.ks-field { display: flex; flex-direction: column; gap: 6px; }
.ks-field label {
  color: #4e5c62;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.ks-field input,
.ks-field select,
.ks-field textarea {
  width: 100%;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid #bdc9cc;
  border-radius: 0;
  color: var(--ks-ink);
  background: #fff;
  outline: none;
}

.ks-field textarea { min-height: 95px; resize: vertical; }
.ks-field input:focus,
.ks-field select:focus,
.ks-field textarea:focus { border-color: var(--ks-petrol-bright); box-shadow: 0 0 0 3px rgba(11, 138, 152, .16); }
.ks-field input[readonly] { background: #e8eef0; color: #536269; }

.ks-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.ks-btn {
  min-height: 44px;
  padding: 10px 15px;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ks-btn:disabled { opacity: .45; cursor: not-allowed; }
.ks-btn-primary { color: #fff; background: var(--ks-petrol); }
.ks-btn-primary:hover:not(:disabled) { background: var(--ks-gold-dark); }
.ks-btn-dark { color: #fff; background: var(--ks-navy); }
.ks-btn-dark:hover:not(:disabled) { background: var(--ks-black); }
.ks-btn-secondary { color: var(--ks-ink); background: #dce5e7; }
.ks-btn-secondary:hover:not(:disabled) { background: #cedadd; }
.ks-btn-danger { color: var(--ks-red); background: #f5e6e4; }
.ks-btn-link { display: inline-flex; align-items: center; text-decoration: none; }
.ks-btn:focus-visible { outline: 3px solid rgba(11, 138, 152, .38); outline-offset: 2px; }

.ks-notice { padding: 13px 15px; margin: 14px 0; border-left: 4px solid var(--ks-petrol-bright); border-radius: 0; font-size: 14px; }
.ks-notice.info { background: #dfecef; color: var(--ks-navy); }
.ks-notice.success { background: #e0eeea; color: var(--ks-green); border-left-color: var(--ks-green); }
.ks-notice.warning { background: #f3eadc; color: #684b1f; border-left-color: #aa7327; }
.ks-notice.error { background: #f5e6e4; color: var(--ks-red); border-left-color: var(--ks-red); }

.ks-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border-radius: 0;
  background: #e7edef;
  color: #555;
  font-size: 12px;
  font-weight: 800;
}
.ks-status.success { background: #e4f0e9; color: var(--ks-green); }
.ks-status.warning { background: #fff0d7; color: #7d5119; }
.ks-status.dark { color: #fff; background: var(--ks-navy); }
.ks-status.petrol { color: #fff; background: var(--ks-petrol); }

.ks-config-inquiries { border-top: 4px solid var(--ks-petrol-bright); }
.ks-inquiry-list { display: grid; gap: 10px; }
.ks-inquiry { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: start; padding: 14px 16px; background: #f4f7f7; border: 1px solid var(--ks-line); border-left: 4px solid #aebabc; }
.ks-inquiry.is-new { background: #edf6f7; border-left-color: var(--ks-petrol-bright); }
.ks-inquiry-main > small { color: var(--ks-petrol); font-size: 12px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.ks-inquiry-main h3 { margin: 4px 0 2px; font-family: Trirong, Georgia, serif; font-size: 20px; font-weight: 500; }
.ks-inquiry-main > p { margin: 0; color: var(--ks-muted); font-size: 13px; }
.ks-inquiry-contact { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; color: #354448; font-size: 13px; }
.ks-inquiry-contact span::before { content: '·'; margin-right: 7px; color: var(--ks-petrol-bright); font-weight: 900; }
.ks-inquiry-details { margin-top: 9px; border-top: 1px solid var(--ks-line); }
.ks-inquiry-details > summary { cursor: pointer; padding: 8px 0 2px; color: var(--ks-petrol); font-size: 12px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.ks-inquiry-details-body { padding: 2px 0 4px; }
.ks-inquiry-selection,
.ks-inquiry-wishes { margin-top: 12px; padding: 10px 12px; background: #fff; border-left: 3px solid var(--ks-petrol-bright); font-size: 13px; }
.ks-inquiry-selection > strong,
.ks-inquiry-wishes > strong { display: block; margin-bottom: 5px; color: var(--ks-navy); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.ks-inquiry-selection ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 18px; margin: 0; padding-left: 18px; }
.ks-inquiry-wishes p { margin: 0; white-space: pre-wrap; }
.ks-inquiry-workflow { display: grid; grid-template-columns: minmax(150px, .55fr) minmax(240px, 1fr) auto; gap: 10px; align-items: end; margin-top: 14px; }
.ks-inquiry-workflow label { display: grid; gap: 5px; color: var(--ks-muted); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ks-inquiry-workflow select,
.ks-inquiry-workflow textarea { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid #bdc9cc; border-radius: 0; color: var(--ks-ink); background: #fff; font: inherit; text-transform: none; letter-spacing: normal; }
.ks-inquiry-workflow textarea { min-height: 42px; resize: vertical; }
.ks-inquiry-side { min-width: 250px; display: grid; justify-items: end; gap: 12px; }
.ks-inquiry-side .ks-actions { justify-content: flex-end; }
.ks-management-documents { border-top: 4px solid var(--ks-navy); }
.ks-management-documents > details { margin-top: 10px; border: 1px solid var(--ks-line); background: #f7f9f9; }
.ks-management-documents > details > summary { cursor: pointer; padding: 12px 14px; color: var(--ks-navy); font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.ks-management-documents > details[open] > summary { border-bottom: 1px solid var(--ks-line); background: #edf6f7; }
.ks-management-documents .ks-table-wrap { border: 0; }
.ks-document-table { min-width: 720px; }
.ks-management-review { margin: 18px 0; padding: 18px; border: 1px solid #9fc3c8; border-top: 4px solid var(--ks-petrol-bright); background: #f4f8f8; scroll-margin-top: 18px; }
.ks-management-review .ks-section-head h3 { margin: 4px 0 2px; color: var(--ks-navy); font-family: Trirong, Georgia, serif; font-size: 27px; font-weight: 500; }
.ks-management-review .ks-section-head p { margin: 0; color: var(--ks-muted); }
.ks-management-review-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin: 14px 0; }
.ks-management-review-facts > div { min-width: 0; padding: 11px 12px; border-top: 3px solid var(--ks-petrol-bright); background: #fff; }
.ks-management-review-facts small,
.ks-management-review-facts strong { display: block; }
.ks-management-review-facts small { margin-bottom: 4px; color: var(--ks-muted); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.ks-management-review-facts strong { color: var(--ks-navy); font-size: 14px; overflow-wrap: anywhere; }
.ks-management-review-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 390px); gap: 16px; align-items: start; }
.ks-management-review-product .ks-config-product { margin: 0; background: #fff; }
.ks-management-review-note { margin-top: 12px; padding: 12px 14px; border-left: 3px solid var(--ks-petrol-bright); background: #fff; }
.ks-management-review-note.is-confidential { color: #fff; border-left-color: #52c7d3; background: var(--ks-navy); }
.ks-management-review-note strong { display: block; margin-bottom: 5px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.ks-management-review-note p { margin: 0; white-space: pre-wrap; }
.ks-management-review .ks-config-summary { position: static; margin: 0; background: #fff; }
.ks-management-review-actions { justify-content: flex-end; margin-top: 14px; }

.ks-table-wrap { overflow-x: auto; border: 1px solid var(--ks-line); border-radius: 0; }
.ks-table { width: 100%; min-width: 790px; border-collapse: collapse; }
.ks-table th,
.ks-table td { padding: 11px; border-bottom: 1px solid var(--ks-line); vertical-align: top; text-align: left; }
.ks-table td { font-size: 14px; }
.ks-table th { background: var(--ks-navy); color: #fff; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }
.ks-table tr:last-child td { border-bottom: 0; }
.ks-table input,
.ks-table select,
.ks-table textarea { width: 100%; min-height: 40px; border: 1px solid #bdc9cc; border-radius: 0; padding: 8px; background: #fff; }
.ks-table textarea { min-width: 240px; min-height: 55px; resize: vertical; }
.ks-align-right { text-align: right !important; }

.ks-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.ks-summary > div { padding: 14px; border: 1px solid var(--ks-line); border-top: 3px solid var(--ks-petrol-bright); border-radius: 0; background: #fff; }
.ks-summary span { display: block; color: var(--ks-muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.ks-summary strong { display: block; margin-top: 4px; color: var(--ks-navy); font-size: 20px; }

.ks-toolbar {
  position: sticky;
  bottom: 10px;
  z-index: 25;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-top: 18px;
  padding: 11px;
  border: 1px solid var(--ks-line);
  border-top: 3px solid var(--ks-petrol-bright);
  border-radius: 0;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 8px 28px rgba(20, 20, 20, .11);
  backdrop-filter: blur(8px);
}

.ks-empty { padding: 34px 20px; color: var(--ks-muted); text-align: center; }
.ks-inline { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ks-spacer { flex: 1 1 auto; }

.ks-config-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(260px, .7fr);
  gap: 16px;
  align-items: start;
  margin-top: 16px;
}
.ks-config-modebar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
  padding: 7px;
  border: 1px solid var(--ks-line);
  background: #fff;
}
.ks-config-modebar a {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
  min-height: 54px;
  padding: 10px 14px;
  color: var(--ks-navy);
  text-decoration: none;
  border-left: 3px solid transparent;
}
.ks-config-modebar a:hover { background: var(--ks-soft); }
.ks-config-modebar a.is-active { color: #fff; border-left-color: var(--ks-gold); background: var(--ks-navy); }
.ks-config-modebar span { font-family: Trirong, serif; font-size: 19px; }
.ks-config-modebar small { color: inherit; opacity: .72; font-size: 12px; text-align: right; }
.ks-config-product { display: flex; gap: 18px; align-items: center; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--ks-line); }
.ks-config-product img { width: 150px; height: 105px; object-fit: cover; border: 1px solid var(--ks-line); background: var(--ks-soft); }
.ks-config-product h3 { margin: 7px 0 2px; font-size: 24px; }
.ks-config-product p { margin: 5px 0 0; }
.ks-config-option-grid { display: grid; gap: 15px; }
.ks-config-group { padding: 15px; border: 1px solid var(--ks-line); border-top: 3px solid var(--ks-petrol-bright); background: var(--ks-soft); }
.ks-config-group .ks-section-head { align-items: center; margin-bottom: 10px; }
.ks-config-group .ks-section-head h3 { margin: 0; font-size: 20px; }
.ks-config-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.ks-config-choice { display: flex; align-items: flex-start; gap: 10px; min-height: 78px; padding: 10px; border: 1px solid var(--ks-line); background: #fff; cursor: pointer; }
.ks-config-choice:has(input:checked) { border-color: var(--ks-gold-dark); box-shadow: inset 4px 0 0 var(--ks-gold); }
.ks-config-choice input { flex: 0 0 auto; margin-top: 4px; accent-color: var(--ks-petrol); }
.ks-config-choice span { min-width: 0; }
.ks-config-choice-image { flex: 0 0 78px; width: 78px; height: 58px; overflow: hidden; border: 1px solid var(--ks-line); background: #f4f3ef; }
.ks-config-choice-image img { width: 100%; height: 100%; object-fit: cover; }
.ks-config-choice-content { flex: 1 1 auto; align-self: center; }
.ks-config-choice strong, .ks-config-choice small { display: block; }
.ks-config-choice small { margin-top: 3px; color: var(--ks-muted); font-size: 13px; }
.ks-config-choice em { display: block; margin-top: 5px; color: var(--ks-petrol); font-size: 11px; font-style: normal; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.ks-config-price-missing { color: #94520a !important; font-weight: 750; }
.ks-field-help { display: block; margin-top: 5px; color: var(--ks-muted); font-size: 11px; line-height: 1.35; }
.ks-config-summary { position: sticky; top: 68px; }
.ks-config-total { padding-bottom: 16px; border-bottom: 1px solid var(--ks-line); }
.ks-config-total.is-incomplete { padding: 14px; border: 1px solid #ddb87a; background: #fff8e8; }
.ks-config-total span, .ks-config-total small { display: block; color: var(--ks-muted); }
.ks-config-total span { font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ks-config-total strong { display: block; margin: 7px 0 5px; color: var(--ks-petrol); font-family: Trirong, serif; font-size: 29px; font-weight: 500; }
.ks-config-total small { font-size: 13px; }
.ks-config-confidential { margin-top: 15px; padding: 14px; color: #fff; background: var(--ks-navy); }
.ks-config-confidential > span { display: block; margin-bottom: 11px; color: var(--ks-gold); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.ks-config-confidential > strong, .ks-config-confidential > small { display: block; }
.ks-config-confidential > small { margin-top: 5px; color: #cad2d4; }
.ks-config-confidential.is-incomplete { border: 1px solid #637075; }
.ks-config-price-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.ks-config-price-grid > div { padding: 10px; border: 1px solid rgba(255,255,255,.17); background: rgba(255,255,255,.05); }
.ks-config-price-grid small, .ks-config-price-grid strong, .ks-config-price-grid em { display: block; }
.ks-config-price-grid small { color: #aebabc; font-size: 10px; text-transform: uppercase; }
.ks-config-price-grid strong { margin-top: 5px; color: #fff; font-size: 17px; }
.ks-config-price-grid em { margin-top: 4px; color: var(--ks-gold); font-size: 12px; font-style: normal; }
.ks-config-selected { padding-top: 15px; }
.ks-config-selected ul { margin: 9px 0 0; padding-left: 18px; font-size: 14px; }
.ks-config-selected li + li { margin-top: 5px; }

.ks-price-section-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 23px; }
.ks-price-section-tab { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 9px; min-height: 74px; padding: 13px 15px; color: var(--ks-navy); text-align: left; border: 1px solid var(--ks-line); border-top: 3px solid #aeb9bb; background: var(--ks-soft); cursor: pointer; }
.ks-price-section-tab:hover { border-color: var(--ks-petrol-bright); background: #fff; }
.ks-price-section-tab span { align-self: center; font-family: Trirong, serif; font-size: 18px; font-weight: 600; }
.ks-price-section-tab small { align-self: center; min-width: 28px; padding: 4px 7px; color: #fff; text-align: center; background: #829092; font-size: 11px; font-weight: 850; }
.ks-price-section-tab em { grid-column: 1 / -1; color: var(--ks-muted); font-size: 11px; font-style: normal; }
.ks-price-section-tab.is-active { color: #fff; border-color: var(--ks-petrol-bright); background: var(--ks-navy); box-shadow: inset 0 3px 0 var(--ks-petrol-bright); }
.ks-price-section-tab.is-active small { background: var(--ks-petrol); }
.ks-price-section-tab.is-active em { color: #cbd5d7; }
.ks-price-picker-head { margin-bottom: 14px; }
.ks-price-model-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.ks-price-model {
  display: grid;
  grid-template-columns: 115px minmax(0, 1fr);
  gap: 13px;
  min-height: 112px;
  padding: 9px;
  color: var(--ks-navy);
  text-align: left;
  border: 1px solid var(--ks-line);
  background: #fff;
  cursor: pointer;
}
.ks-price-model:hover { border-color: var(--ks-petrol-bright); background: var(--ks-soft); }
.ks-price-model.is-active { border-color: var(--ks-gold-dark); box-shadow: inset 4px 0 0 var(--ks-gold); }
.ks-price-model > img { width: 115px; height: 92px; object-fit: cover; background: var(--ks-soft); }
.ks-price-model > span { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; }
.ks-price-model small, .ks-price-model strong { display: block; }
.ks-price-model > span > small { color: var(--ks-muted); font-size: 11px; text-transform: uppercase; }
.ks-price-model > span > strong { margin: 4px 0 8px; font-size: 17px; }
.ks-price-model em { font-style: normal; }
.ks-price-eyebrow { margin: 0 0 4px !important; color: var(--ks-petrol); font-size: 12px !important; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.ks-price-base { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(420px, 1.15fr); gap: 18px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--ks-line); }
.ks-price-base .ks-config-product { margin: 0; padding: 0; border: 0; }
.ks-price-base .ks-config-product > div > strong { color: var(--ks-navy); font-family: Trirong, serif; font-size: 22px; font-weight: 500; }
.ks-price-currency { display: flex; gap: 10px; align-items: center; margin-top: 12px; color: var(--ks-muted); font-size: 13px; font-weight: 750; }
.ks-price-currency select { min-width: 100px; padding: 8px; border: 1px solid #bdc9cc; background: #fff; }
.ks-price-base-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: start; }
.ks-price-field { display: block; min-width: 0; }
.ks-price-field > span { display: block; margin-bottom: 6px; color: var(--ks-navy); font-size: 13px; font-weight: 800; }
.ks-price-field > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; border: 1px solid #aebbbd; background: #fff; }
.ks-price-field input { width: 100%; min-height: 46px; padding: 10px; border: 0; background: transparent; font-size: 16px; }
.ks-price-field input:focus { outline: 2px solid rgba(11, 138, 152, .36); outline-offset: -2px; }
.ks-price-field b { display: flex; align-items: center; min-width: 48px; padding: 0 8px; color: var(--ks-muted); background: var(--ks-soft); font-size: 11px; justify-content: center; }
.ks-price-field > small { display: block; margin-top: 5px; color: var(--ks-muted); font-size: 11px; }
.ks-price-gross-preview { grid-column: 1 / -1; padding: 13px 15px; border-left: 4px solid var(--ks-gold); background: var(--ks-navy); color: #fff; }
.ks-price-gross-preview span, .ks-price-gross-preview small { display: block; color: #bac4c6; font-size: 11px; }
.ks-price-gross-preview strong { display: block; margin: 4px 0; color: #fff; font-family: Trirong, serif; font-size: 25px; font-weight: 500; }
.ks-price-progress { margin-top: 18px; padding: 14px; border: 1px solid var(--ks-line); background: var(--ks-soft); }
.ks-price-progress > div:first-child { display: flex; justify-content: space-between; gap: 15px; font-size: 13px; }
.ks-price-progress > div:first-child span { color: var(--ks-muted); font-weight: 750; }
.ks-price-progress-track { height: 8px; margin: 9px 0 7px; overflow: hidden; background: #d7dedd; }
.ks-price-progress-track i { display: block; height: 100%; background: var(--ks-petrol-bright); transition: width .18s ease; }
.ks-price-progress > small { color: var(--ks-muted); font-size: 11px; }
.ks-price-group { margin-top: 14px; padding: 15px; border: 1px solid var(--ks-line); border-top: 3px solid var(--ks-petrol-bright); background: var(--ks-soft); }
.ks-price-group:first-of-type { margin-top: 0; }
.ks-price-option-list { display: grid; gap: 7px; }
.ks-price-option { display: grid; grid-template-columns: minmax(240px, 1.15fr) minmax(130px, .45fr) minmax(165px, .65fr) minmax(165px, .65fr); gap: 10px; align-items: center; padding: 9px; border: 1px solid var(--ks-line); background: #fff; }
.ks-price-option-name { display: flex; gap: 11px; min-width: 0; align-items: center; }
.ks-price-option-name > div { min-width: 0; }
.ks-price-option-name strong, .ks-price-option-name small { display: block; }
.ks-price-option-name strong { color: var(--ks-navy); font-size: 14px; }
.ks-price-option-name small { margin-top: 3px; color: var(--ks-muted); font-size: 11px; }
.ks-price-thumb { display: flex; flex: 0 0 72px; width: 72px; height: 52px; align-items: center; justify-content: center; overflow: hidden; color: var(--ks-muted); border: 1px solid var(--ks-line); background: var(--ks-soft); }
.ks-price-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ks-price-visibility { position: relative; display: block; cursor: pointer; }
.ks-price-visibility input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ks-price-visibility > span { display: block; min-height: 48px; padding: 8px 10px 8px 34px; color: #6e3f09; border: 1px solid #d2b27c; background: #fff8e8; }
.ks-price-visibility > span::before { position: absolute; top: 14px; left: 11px; width: 14px; height: 14px; content: ''; border: 1px solid #a97838; background: #fff; }
.ks-price-visibility input:checked + span { color: #0b5d65; border-color: #78b9bf; background: #eef8f8; }
.ks-price-visibility input:checked + span::before { border-color: var(--ks-petrol); background: var(--ks-petrol); box-shadow: inset 0 0 0 3px #eef8f8; }
.ks-price-visibility input:focus-visible + span { outline: 3px solid rgba(11, 138, 152, .32); outline-offset: 2px; }
.ks-price-visibility b, .ks-price-visibility small { display: block; }
.ks-price-visibility b { font-size: 12px; }
.ks-price-visibility small { margin-top: 2px; color: var(--ks-muted); font-size: 10px; }
.ks-price-history { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.ks-price-history > div { padding: 13px; border: 1px solid var(--ks-line); border-top: 3px solid var(--ks-gold); background: var(--ks-soft); }
.ks-price-history span, .ks-price-history strong, .ks-price-history small { display: block; }
.ks-price-history span { color: var(--ks-petrol); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.ks-price-history strong { margin: 5px 0; color: var(--ks-navy); font-size: 15px; }
.ks-price-history small { color: var(--ks-muted); font-size: 11px; }

.ks-signature { padding: 14px; border: 1px solid var(--ks-line); background: var(--ks-soft); }
.ks-signature-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 8px; }
.ks-signature-head strong { font-family: Trirong, serif; font-size: 18px; font-weight: 500; }
.ks-signature canvas { display: block; width: 100%; height: 145px; border: 1px solid #bdc9cc; background: #fff; cursor: crosshair; touch-action: none; }
.ks-signature > span { display: block; margin-top: 6px; color: var(--ks-muted); font-size: 13px; }
.ks-offer-signature-preview { display: block; width: 100%; height: 145px; object-fit: contain; object-position: center bottom; border: 1px solid #bdc9cc; background: #fff; }

.ks-service-doc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; }
.ks-service-doc-grid section { min-height: 20mm; padding: 3mm; border: .25mm solid #c8dde1; background: #f1f7f8; break-inside: avoid; }
.ks-service-doc-grid section.wide { grid-column: 1 / -1; }
.ks-service-doc-grid h2 { margin: 0 0 1.5mm; color: #10243b; font-size: 7.5px; letter-spacing: .08em; text-transform: uppercase; }
.ks-service-doc-grid p { margin: 0; font-size: 8.5px; line-height: 1.45; }
.ks-service-doc-approval { margin-top: 4mm; padding-top: 3mm; border-top: .7mm solid #1597a8; font-size: 8px; break-inside: avoid; }
.ks-service-doc-approval > p { margin: 0 0 2mm; }
.ks-service-doc-signature img { display: block; width: 100%; height: 18mm; object-fit: contain; object-position: center bottom; border-bottom: .25mm solid #444; }
.ks-service-doc-sign-line { height: 18mm; border-bottom: .25mm solid #444; }
.ks-service-doc-signature small { display: block; margin-top: 1.5mm; color: #666; font-size: 7px; }

.ks-print-document,
.ks-print-root { display: none; }
.ks-doc-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 9mm; }
.ks-doc-identity { display: flex; min-width: 0; flex: 1 1 auto; align-items: flex-start; gap: 8mm; }
.ks-doc-logo-lockup { flex: 0 0 55mm; width: 55mm; color: #111; text-align: center; }
.ks-doc-logo { display: block; width: 55mm; height: 20mm; object-fit: contain; object-position: center bottom; }
.ks-doc-logo-lockup > span { display: block; margin-top: 1.2mm; font-size: 6.2px; font-weight: 800; letter-spacing: .18em; line-height: 1.2; white-space: nowrap; }
.ks-doc-brand { padding-top: 2mm; font-family: Trirong, serif; font-size: 24px; font-weight: 500; letter-spacing: .04em; }
.ks-doc-seller { min-width: 43mm; padding-top: 1.5mm; color: #536b78; font-size: 9px; line-height: 1.5; }
.ks-doc-seller .ks-doc-company-name { display: block; margin-bottom: 1.5mm; color: #10243b; font-size: 9px; letter-spacing: .02em; }
.ks-doc-meta { flex: 0 0 68mm; width: 68mm; padding: 5mm; color: #fff; background: #10243b; }
.ks-doc-type { display: block; margin-bottom: 4mm; color: #52c7d3; font-family: Trirong, serif; font-size: 20px; font-weight: 500; letter-spacing: .06em; }
.ks-doc-meta dl, .ks-doc-meta dl div { margin: 0; }
.ks-doc-meta dl div { display: grid; grid-template-columns: 22mm minmax(0, 1fr); gap: 2mm; padding: 1.2mm 0; border-top: .2mm solid rgba(255,255,255,.2); }
.ks-doc-meta dt { color: #ccc; font-size: 7.5px; text-transform: uppercase; }
.ks-doc-meta dd { margin: 0; text-align: right; font-size: 8.2px; font-weight: 700; line-height: 1.25; white-space: nowrap; word-break: keep-all; overflow-wrap: normal; }
.ks-doc-rule { height: .7mm; margin: 4mm 0; background: #1597a8; }
.ks-doc-addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; margin-bottom: 4mm; }
.ks-doc-address { min-height: 25mm; padding: 3mm 4mm; border: .25mm solid #c8dde1; background: #f1f7f8; font-size: 8.5px; line-height: 1.4; }
.ks-doc-address > strong { display: block; margin-bottom: 1.5mm; color: #10243b; font-size: 7.5px; letter-spacing: .1em; text-transform: uppercase; }
.ks-doc-title-wrap { margin: 4mm 0 2.5mm; }
.ks-doc-title-wrap span { color: #1597a8; font-size: 7.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ks-doc-title-wrap h1 { margin: 1mm 0 0; font-family: Trirong, serif; font-size: 21px; font-weight: 500; line-height: 1.2; }
.ks-doc-table { width: 100%; border-collapse: collapse; font-size: 8.5px; table-layout: fixed; }
.ks-doc-table .col-pos { width: 6%; }
.ks-doc-table .col-description { width: 38%; }
.ks-doc-table .col-qty { width: 8%; }
.ks-doc-table .col-unit { width: 8%; }
.ks-doc-table .col-price { width: 15%; }
.ks-doc-table .col-discount { width: 10%; }
.ks-doc-table .col-total { width: 15%; }
.ks-doc-table th, .ks-doc-table td { padding: 1.7mm 1.7mm; border-bottom: .25mm solid #c8dde1; vertical-align: top; overflow-wrap: anywhere; }
.ks-doc-table th { color: #fff; background: #10243b; font-size: 7px; letter-spacing: .04em; text-transform: uppercase; }
.ks-doc-table tbody tr:nth-child(even) { background: #f1f7f8; }
.ks-doc-table tbody td:nth-child(1) { text-align: center; }
.ks-doc-financials { display: grid; grid-template-columns: minmax(0, 1fr) 75mm; gap: 5mm; align-items: stretch; margin: 3mm 0 4mm; break-inside: avoid; }
.ks-doc-totals { grid-column: 2; width: 75mm; margin: 0; border-collapse: collapse; align-self: start; font-size: 8.2px; break-inside: avoid; }
.ks-doc-totals td { padding: 1.25mm 2.1mm; border-bottom: .25mm solid #c8dde1; }
.ks-doc-totals td:last-child { text-align: right; font-weight: 800; white-space: nowrap; }
.ks-doc-totals .is-total { color: #fff; background: #10243b; font-size: 10px; }
.ks-doc-totals .is-payment { color: #10243b; background: #d9f0f2; font-size: 9.5px; }
.ks-doc-panel { padding: 2.5mm 3mm; border-left: 1mm solid #1597a8; background: #f1f7f8; font-size: 8px; line-height: 1.35; break-inside: avoid; }
.ks-doc-panel h2, .ks-doc-accept h2 { margin: 0 0 1.2mm; font-size: 7.5px; letter-spacing: .08em; text-transform: uppercase; }
.ks-doc-panel > div { white-space: pre-wrap; }
.ks-doc-configuration { grid-column: 1; min-height: 100%; margin: 0; }
.ks-doc-terms { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm; margin-top: 2.5mm; }
.ks-doc-accept { margin-top: 4mm; padding-top: 2.5mm; border-top: .25mm solid #1597a8; break-inside: avoid; }
.ks-doc-signatures { display: grid; grid-template-columns: 1fr 1fr; gap: 14mm; margin-top: 3mm; }
.ks-doc-signatures span { display: block; height: 4mm; border-bottom: .25mm solid #444; }
.ks-doc-signatures .ks-doc-place-date { padding-top: 1mm; font-size: 8px; }
.ks-doc-signatures img { display: block; width: 100%; height: 14mm; object-fit: contain; object-position: center bottom; border-bottom: .25mm solid #444; }
.ks-doc-signatures small { display: block; margin-top: 1.5mm; color: #666; font-size: 7px; }
.ks-doc-foot { display: grid; grid-template-columns: 1fr 1fr 1.35fr; gap: 4mm; margin-top: 4mm; padding-top: 2.5mm; border-top: .7mm solid #1597a8; color: #536b78; font-size: 6.8px; line-height: 1.35; break-inside: avoid; }
.ks-doc-foot strong { color: #10243b; }

@media (max-width: 900px) {
  .ks-login-shell { grid-template-columns: 1fr; max-width: 720px; }
  .ks-login-intro { min-height: 340px; padding-right: 0; }
  .ks-dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ks-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ks-config-layout { grid-template-columns: 1fr; }
  .ks-management-review-layout { grid-template-columns: 1fr; }
  .ks-management-review-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ks-config-choice-grid { grid-template-columns: 1fr; }
  .ks-config-summary { position: static; }
  .ks-price-section-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ks-price-model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ks-price-base { grid-template-columns: 1fr; }
  .ks-price-option { grid-template-columns: minmax(210px, 1fr) minmax(125px, .45fr) minmax(145px, .65fr) minmax(145px, .65fr); }
  .ks-price-history { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ks-col-9, .ks-col-8, .ks-col-6, .ks-col-5, .ks-col-4, .ks-col-3, .ks-col-2 { grid-column: span 6; }
}

@media (max-width: 620px) {
  .ks-login-shell { padding: 0; }
  .ks-login-intro { min-height: 310px; padding: 30px 22px; }
  .ks-login-logo-wrap { width: 156px; }
  .ks-login-intro h1 { font-size: 34px; }
  .ks-login-intro-foot { margin-top: 24px; }
  .ks-login-panel { align-self: stretch; padding: 34px 22px 42px; }
  .ks-portal { padding: 0 16px 24px; }
  .ks-portal-head { grid-template-columns: 1fr; margin: 0 -16px; padding: 20px 16px; }
  .ks-nav { margin: 0 -16px; padding: 0 16px; }
  .ks-brand-logo { width: 142px; }
  .ks-brand-copy b { font-size: 10px; }
  .ks-dashboard { grid-template-columns: 1fr; }
  .ks-grid { grid-template-columns: 1fr; }
  .ks-col-12, .ks-col-9, .ks-col-8, .ks-col-6, .ks-col-5, .ks-col-4, .ks-col-3, .ks-col-2 { grid-column: span 1; }
  .ks-summary { grid-template-columns: 1fr; }
  .ks-config-modebar { grid-template-columns: 1fr; }
  .ks-inquiry { grid-template-columns: 1fr; }
  .ks-inquiry-side { min-width: 0; justify-items: start; }
  .ks-inquiry-side .ks-actions { justify-content: flex-start; }
  .ks-inquiry-workflow { grid-template-columns: 1fr; }
  .ks-inquiry-selection ul { grid-template-columns: 1fr; }
  .ks-management-review-facts { grid-template-columns: 1fr; }
  .ks-config-product { align-items: flex-start; flex-direction: column; }
  .ks-config-product img { width: 100%; height: auto; max-height: 240px; }
  .ks-price-section-tabs { display: flex; overflow-x: auto; padding-bottom: 5px; }
  .ks-price-section-tab { flex: 0 0 180px; }
  .ks-price-model-grid, .ks-price-base-fields, .ks-price-history { grid-template-columns: 1fr; }
  .ks-price-model { grid-template-columns: 92px minmax(0, 1fr); }
  .ks-price-model > img { width: 92px; height: 78px; }
  .ks-price-option { grid-template-columns: 1fr; }
  .ks-price-gross-preview { grid-column: 1; }
  .ks-price-progress > div:first-child { flex-direction: column; gap: 3px; }
  .ks-toolbar { position: static; align-items: stretch; flex-direction: column; }
  .ks-toolbar .ks-actions { width: 100%; }
  .ks-toolbar .ks-btn { flex: 1 1 auto; }
}

@media print {
  html,
  body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  body > * { display: none !important; }
  body > .ks-print-root {
    display: block !important;
    position: static !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0;
    color: #000;
    background: #fff;
    font-family: Montserrat, sans-serif;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .ks-print-root,
  .ks-print-root * { box-sizing: border-box; }
  .ks-doc-head,
  .ks-doc-addresses,
  .ks-doc-title-wrap,
  .ks-doc-financials,
  .ks-doc-accept,
  .ks-doc-foot { break-inside: avoid; }
  .ks-doc-table thead { display: table-header-group; }
  .ks-doc-table tr { break-inside: avoid; }
  @page { size: A4; margin: 6mm; }
}
