:root {
  --ink: #07182c;
  --ink-2: #0c223d;
  --panel: #0f2948;
  --line: #294b72;
  --muted: #91a9c6;
  --paper: #f6f8fb;
  --white: #fff;
  --orange: #ff8526;
  --orange-2: #ffc17d;
  --green: #53d1a5;
  --red: #ff6a66;
  --shadow: 0 24px 60px rgba(2, 12, 25, .24);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: #18273a;
  background:
    linear-gradient(rgba(7,24,44,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,24,44,.035) 1px, transparent 1px),
    #eaf0f6;
  background-size: 32px 32px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  caret-color: transparent;
}
button, input, select, textarea { font: inherit; }
input, textarea, select, [contenteditable="true"] { caret-color: auto; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible {
  outline: 3px solid rgba(255,133,38,.45);
  outline-offset: 3px;
}
.skip-link { position: fixed; left: 18px; top: -80px; z-index: 100; padding: 12px 18px; color: var(--white); background: var(--orange); }
.skip-link:focus { top: 18px; }

.app-header {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 78px;
  display: grid;
  grid-template-columns: 250px 1fr auto;
  align-items: center;
  gap: 28px;
  padding: 12px clamp(18px, 3vw, 54px);
  color: var(--white);
  background: rgba(7,24,44,.96);
  border-bottom: 1px solid #25466c;
  backdrop-filter: blur(18px);
}
.brand { position: relative; display: block; width: 230px; }
.brand img { display: block; width: 100%; height: auto; }
.brand-logo--light { display: none !important; }
.primary-nav { display: flex; align-items: center; justify-content: center; gap: 7px; }
.primary-nav button {
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #a9bad0;
  background: transparent;
  font-size: .83rem;
  font-weight: 750;
}
.primary-nav button:hover { color: var(--white); border-color: #365b85; }
.primary-nav button.is-active { color: var(--white); background: #17385f; border-color: #426992; }
.primary-nav button span { margin-left: 6px; padding: 3px 6px; border-radius: 99px; background: #274c77; color: #cad8e8; font-size: .68rem; }
.network-state { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 8px; min-width: 180px; }
.network-state i { grid-row: span 2; width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(83,209,165,.1); }
.network-state span { color: #e5edf7; font-size: .77rem; font-weight: 750; }
.network-state small { color: #8299b5; font-size: .67rem; }

main { width: min(1600px, 100%); margin: 0 auto; padding: clamp(28px, 4vw, 64px) clamp(16px, 3vw, 52px) 80px; }
.product-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(420px, .75fr);
  gap: clamp(28px, 5vw, 84px);
  align-items: end;
  margin-bottom: 34px;
}
.kicker, .view-heading span, .rail-title span, .quote-result > div > span, .evidence-panel > span, .release-panel > span {
  color: #cc6418;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.product-intro h1 { max-width: 870px; margin: 13px 0 14px; color: var(--ink); font-size: clamp(2.1rem, 4.6vw, 4.75rem); line-height: .99; letter-spacing: -.055em; }
.product-intro p { max-width: 790px; margin: 0; color: #53677d; font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.65; }
.intro-metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border: 1px solid #c9d4e1; background: rgba(255,255,255,.72); box-shadow: 0 12px 35px rgba(12,34,61,.07); }
.intro-metrics div { padding: 18px; border-right: 1px solid #d6dfe9; }
.intro-metrics div:last-child { border-right: 0; }
.intro-metrics dt { color: #73869b; font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.intro-metrics dd { display: grid; gap: 2px; margin: 8px 0 0; }
.intro-metrics b { color: var(--ink); font-size: 1.05rem; }
.intro-metrics span { color: #75869a; font-size: .7rem; }

.app-shell {
  min-height: 820px;
  display: grid;
  grid-template-columns: 235px minmax(0, 1fr);
  overflow: clip;
  color: #dce6f2;
  background: var(--ink);
  border: 1px solid #24476d;
  border-radius: 16px;
  box-shadow: var(--shadow);
}
.shipment-rail { display: flex; flex-direction: column; padding: 28px 20px 22px; background: #081b31; border-right: 1px solid #25486f; }
.rail-title { padding: 0 8px 22px; border-bottom: 1px solid #203e60; }
.rail-title span { display: block; color: #7893b1; }
.rail-title strong { display: block; margin-top: 8px; font-size: 1.05rem; letter-spacing: .06em; }
.progress-steps { display: grid; gap: 7px; margin: 26px 0; padding: 0; list-style: none; }
.progress-steps li { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: start; padding: 12px 9px; border: 1px solid transparent; border-radius: 8px; color: #718ba8; cursor: pointer; transition: color .2s ease, background .2s ease, border-color .2s ease; }
.progress-steps li:hover { color: #c6d6e6; background: rgba(17,47,80,.58); border-color: #274c73; }
.progress-steps li.is-current { color: var(--white); background: #112f50; border-color: #315b85; }
.progress-steps li.is-complete { color: #a8c7be; }
.progress-steps b { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #3c5c7e; border-radius: 50%; font-size: .68rem; }
.progress-steps li.is-current b { color: var(--ink); background: var(--orange); border-color: var(--orange); }
.progress-steps li.is-complete b { color: var(--ink); background: var(--green); border-color: var(--green); }
.progress-steps span { font-size: .79rem; font-weight: 800; }
.progress-steps small { display: block; margin-top: 4px; color: #66819f; font-size: .66rem; font-weight: 500; line-height: 1.35; }
.rail-summary { margin-top: auto; padding: 17px; background: #0c2542; border: 1px solid #24476d; border-radius: 8px; }
.rail-summary span { color: #7892af; font-size: .65rem; text-transform: uppercase; }
.rail-summary strong { display: block; margin: 8px 0 5px; color: var(--white); font-size: .88rem; }
.rail-summary p { margin: 0; color: #879db7; font-size: .71rem; line-height: 1.5; }
.secondary-action {
  min-height: 44px;
  margin-top: 12px;
  padding: 10px 14px;
  color: #c9d8e8;
  background: transparent;
  border: 1px solid #3b5b7d;
  border-radius: 7px;
  font-weight: 750;
}
.secondary-action:hover { color: var(--white); border-color: #6789ad; background: #173656; }

.view-stack { min-width: 0; }
.product-view { display: none; min-height: 820px; padding: clamp(26px, 3vw, 48px); background: radial-gradient(circle at 90% 0, rgba(55,96,139,.18), transparent 34%), var(--ink); }
.product-view.is-active { display: block; animation: view-in .38s ease both; }
@keyframes view-in { from { opacity: 0; transform: translateY(8px); } }
.view-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 440px); gap: 40px; align-items: end; margin-bottom: 31px; }
.view-heading span { color: var(--orange); }
.view-heading h2 { margin: 8px 0 0; color: var(--white); font-size: clamp(1.65rem, 2.7vw, 3rem); letter-spacing: -.035em; }
.view-heading p { margin: 0; color: #8ea5bf; font-size: .88rem; line-height: 1.7; }

.quote-layout { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(310px, .58fr); gap: 20px; align-items: start; }
.quote-form, .quote-result, .document-toolbar, .document-list, .evidence-panel, .route-map, .milestone-panel, .exception-board, .release-panel, .incident-control, .communication-log, .shipment-overview, .shipment-hero-card, .shipment-actions, .shipment-detail-panel {
  background: #0d2542;
  border: 1px solid #294d74;
  border-radius: 10px;
}
.quote-form { padding: clamp(18px, 2.2vw, 30px); }
.quote-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; margin: 0 0 25px; padding: 0 0 25px; border: 0; border-bottom: 1px solid #234363; }
.quote-form fieldset:nth-of-type(3) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.quote-form legend { width: 100%; margin-bottom: 16px; color: #f1f5fa; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
label { display: grid; min-width: 0; gap: 8px; }
label > span { color: #8fa5bd; font-size: .69rem; font-weight: 700; }
label.wide { grid-column: span 2; }
input, select, textarea {
  width: 100%;
  min-height: 45px;
  padding: 11px 12px;
  color: #f4f8fc;
  background: #081b31;
  border: 1px solid #31557a;
  border-radius: 6px;
}
select {
  padding-right: 38px;
  color-scheme: dark;
  appearance: none;
  -webkit-appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #94b0ca 50%),
    linear-gradient(135deg, #94b0ca 50%, transparent 50%);
  background-position:
    calc(100% - 17px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px);
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
}
select option,
select optgroup {
  color: #eef5fb;
  background: #081b31;
}
input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
}
input:hover, select:hover, textarea:hover { border-color: #4f7398; }
.input-affix { display: flex; align-items: center; min-height: 45px; color: #8fa5bd; background: #081b31; border: 1px solid #31557a; border-radius: 6px; }
.input-affix input { min-height: 41px; padding-inline: 8px; background: transparent; border: 0; }
.input-affix b { padding: 0 10px; color: #a8bad0; font-size: .75rem; }
.input-composite { display: grid; grid-template-columns: 112px minmax(0, 1fr); overflow: hidden; background: #081b31; border: 1px solid #31557a; border-radius: 6px; }
.input-composite select, .input-composite input { min-height: 43px; border: 0; border-radius: 0; background-color: transparent; }
.input-composite select { color: #bcd0e4; border-right: 1px solid #31557a; font-size: .72rem; font-weight: 800; }
.value-field { align-self: start; grid-template-rows: auto 45px auto; }
.value-field .input-composite { min-height: 45px; }
.value-field > small, .handling-field > small { color: #6f8aa7; font-size: .59rem; line-height: 1.4; }
.handling-field { display: grid; gap: 9px; }
.handling-field.wide { grid-column: span 2; }
.handling-field > span { display: flex; align-items: baseline; gap: 8px; color: #8fa5bd; font-size: .69rem; font-weight: 700; }
.handling-field > span small { color: #6784a1; font-size: .58rem; font-weight: 600; }
.handling-options { display: flex; flex-wrap: wrap; gap: 8px; }
.handling-options label { position: relative; display: block; }
.handling-options input { position: absolute; width: 1px; height: 1px; min-height: 0; opacity: 0; pointer-events: none; }
.handling-options span { display: block; min-height: 38px; padding: 10px 13px 9px 32px; color: #b7c8d9; background: #081b31; border: 1px solid #31557a; border-radius: 99px; font-size: .68rem; font-weight: 750; cursor: pointer; transition: .18s ease; }
.handling-options span:before { content: ""; position: absolute; left: 12px; top: 12px; width: 11px; height: 11px; border: 1px solid #6686a6; border-radius: 3px; }
.handling-options input:checked + span { color: #fff; background: rgba(255,133,38,.12); border-color: var(--orange); }
.handling-options input:checked + span:before { content: "✓"; display: grid; place-items: center; color: var(--ink); background: var(--orange); border-color: var(--orange); font-size: .55rem; font-weight: 950; }
.handling-options input:focus-visible + span { outline: 3px solid rgba(255,133,38,.45); outline-offset: 3px; }
.request-type-field {
  padding: 15px;
  background: linear-gradient(115deg, rgba(255,133,38,.1), rgba(8,27,49,.75) 65%);
  border: 1px solid rgba(255,133,38,.42);
  border-radius: 8px;
}
.request-type-field > small { color: #9bb0c5; font-size: .62rem; line-height: 1.45; }
.address-book-bar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  background: #081b31;
  border: 1px solid #294d74;
  border-radius: 8px;
}
.address-book-bar label {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  padding: 11px;
  background: #0d2947;
  border: 1px solid #31577d;
  border-radius: 7px;
}
.address-book-bar label > span { grid-column: 1 / -1; color: #8da6bf; font-size: .61rem; text-transform: uppercase; }
.address-book-bar select { min-height: 39px; padding-block: 8px; font-size: .66rem; }
.address-book-save,
.goods-add,
.goods-save,
.goods-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 39px;
  padding: 8px 11px;
  color: #c5d7e7;
  background: #153858;
  border: 1px solid #42688f;
  border-radius: 6px;
  font-size: .61rem;
  font-weight: 850;
  line-height: 1.1;
}
.address-book-save:hover, .goods-add:hover, .goods-save:hover, .goods-remove:hover { color: #fff; border-color: var(--orange); }
.goods-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  background: #081b31;
  border: 1px solid #294d74;
  border-radius: 8px;
}
.goods-toolbar .secondary-action { min-height: 45px; margin: 0; }
.goods-toolbar.is-catalog-only { grid-template-columns: minmax(0, 1fr); }
.goods-items { display: grid; gap: 10px; }
.goods-item {
  overflow: hidden;
  background: #081b31;
  border: 1px solid #31577d;
  border-radius: 8px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.goods-item.is-active { border-color: #5d81a4; box-shadow: 0 0 0 2px rgba(93,129,164,.12); }
.goods-item header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 13px;
  background: #0d2947;
  border-bottom: 1px solid #294d74;
}
.goods-item header > div { min-width: 0; display: grid; gap: 3px; }
.goods-item header > .goods-item__actions { display: flex; flex: 0 0 auto; gap: 7px; }
.goods-item header span { color: var(--orange); font-size: .55rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.goods-item header strong { overflow: hidden; color: #eff5fb; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.goods-item__fields {
  display: grid;
  grid-template-columns: minmax(190px, 1.8fr) minmax(110px, .75fr) minmax(80px, .45fr) minmax(120px, .7fr);
  gap: 10px;
  padding: 13px;
}
.goods-item__fields label > span { font-size: .61rem; }
.goods-item__fields input { min-height: 41px; font-size: .68rem; }
.goods-save,
.goods-remove { min-height: 32px; padding: 6px 9px; color: #8da5bc; background: transparent; }
.goods-save { color: #b9d6e9; }
.goods-remove:disabled { opacity: .28; cursor: not-allowed; }
.goods-add { justify-self: start; min-height: 42px; padding-inline: 14px; color: #d6e5f1; background: #102d4b; }
.goods-add:hover { color: #10243b; background: var(--orange-2); }
.goods-add span { margin-right: 7px; color: var(--orange); font-size: 1rem; line-height: 0; }
.goods-add:hover span { color: #10243b; }
.goods-hs-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
.goods-hs-input button {
  min-height: 41px;
  padding: 0 10px;
  color: #10243b;
  background: var(--orange-2);
  border: 1px solid var(--orange-2);
  border-radius: 6px;
  font-size: .58rem;
  font-weight: 900;
  white-space: nowrap;
}
.goods-hs-input button:hover { background: #ffd6ab; }
.goods-hs-input button:disabled { cursor: not-allowed; opacity: .45; }
.goods-total {
  display: grid;
  grid-template-columns: minmax(150px, .55fr) minmax(0, 1.45fr);
  gap: 10px;
  align-items: stretch;
  padding: 12px;
  background: linear-gradient(110deg, rgba(83,209,165,.08), #081b31 55%);
  border: 1px solid #31577d;
  border-radius: 8px;
}
.goods-total > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 8px 12px;
  border-left: 1px solid #31577d;
}
.goods-total > div > span { color: #829bb4; font-size: .64rem; font-weight: 750; }
.goods-total strong { color: #f1f7fb; font-size: 1.18rem; white-space: nowrap; }
.insurance-option {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr);
  gap: 10px 20px;
  align-items: center;
  padding: 14px;
  background: #081b31;
  border: 1px solid #31577d;
  border-radius: 8px;
  transition: border-color .18s ease, background .18s ease;
}
.insurance-option.is-selected { background: linear-gradient(110deg, rgba(83,209,165,.1), #081b31 62%); border-color: rgba(83,209,165,.55); }
.insurance-option__choice { grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 11px; cursor: pointer; }
.insurance-option__choice input { width: 18px; height: 18px; min-height: 0; margin-top: 2px; accent-color: var(--green); }
.insurance-option__choice > span { display: grid; gap: 4px; }
.insurance-option__choice strong { color: #edf5fb; font-size: .74rem; }
.insurance-option__choice small,
.insurance-option__price small { color: #7892ad; font-size: .59rem; line-height: 1.45; }
.insurance-option__price { display: grid; gap: 3px; padding-left: 18px; border-left: 1px solid #31577d; }
.insurance-option__price > span { color: #7892ad; font-size: .56rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.insurance-option__price strong { color: var(--orange-2); font-size: .94rem; }
.insurance-option > a { grid-column: 1 / -1; justify-self: start; color: #9cc5e6; font-size: .58rem; font-weight: 800; text-underline-offset: 3px; }
.handling-disclosure {
  overflow: hidden;
  background: #081b31;
  border: 1px solid #31577d;
  border-radius: 8px;
}
.handling-disclosure summary {
  position: relative;
  display: grid;
  gap: 5px;
  padding: 14px 44px 14px 15px;
  cursor: pointer;
  list-style: none;
}
.handling-disclosure summary::-webkit-details-marker { display: none; }
.handling-disclosure summary:after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 16px;
  color: var(--orange);
  font-size: 1.35rem;
  font-weight: 500;
  transform: translateY(-50%);
}
.handling-disclosure[open] summary:after { content: "−"; }
.handling-disclosure summary > span { color: #cfdeec; font-size: .72rem; font-weight: 800; }
.handling-disclosure summary small { color: #7892ad; font-size: .6rem; line-height: 1.45; }
.handling-disclosure summary small b { color: var(--orange-2); }
.handling-disclosure__body { padding: 0 15px 15px; border-top: 1px solid #294d74; }
.handling-disclosure__body .handling-options { padding-top: 14px; }
.dangerous-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #31577d; }
.dangerous-details[hidden] { display: none !important; }
.location-field { position: relative; }
.location-input { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; min-height: 45px; padding-left: 12px; background: #081b31; border: 1px solid #31557a; border-radius: 6px; transition: border-color .2s ease, box-shadow .2s ease; }
.location-input:focus-within { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255,133,38,.13); }
.location-input i { position: relative; width: 11px; height: 11px; border: 2px solid var(--orange); border-radius: 50%; }
.location-input i:after { content: ""; position: absolute; left: 2px; bottom: -5px; width: 3px; height: 5px; background: var(--orange); clip-path: polygon(0 0,100% 0,50% 100%); }
.location-input input { min-height: 41px; padding-inline: 8px; border: 0; background: transparent; }
.location-input input:focus, .location-input input:focus-visible { outline: 0; box-shadow: none; }
.location-input b { padding: 0 12px; color: #6f8ca9; font-size: .58rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.location-input b.is-confirmed { color: var(--green); }
.location-suggestions { position: absolute; z-index: 50; top: calc(100% + 6px); left: 0; right: 0; display: grid; max-height: min(390px, 55vh); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; color: #dce8f4; background: #081b31; border: 1px solid #42688f; border-radius: 7px; box-shadow: 0 20px 45px rgba(0,0,0,.35); }
.location-suggestions[hidden] { display: none; }
.location-suggestions button { display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; width: 100%; padding: 11px 13px; color: #dce8f4; background: transparent; border: 0; border-bottom: 1px solid #203f61; text-align: left; }
.location-suggestions button:last-child { border-bottom: 0; }
.location-suggestions button:hover, .location-suggestions button:focus-visible { background: #123454; }
.location-suggestions button i { display: grid; place-items: center; width: 27px; height: 27px; color: var(--orange); background: rgba(255,133,38,.1); border-radius: 50%; font-size: .62rem; font-style: normal; }
.location-suggestions button span { display: grid; gap: 2px; color: #dce8f4; font-size: .72rem; font-weight: 750; }
.location-suggestions button small { color: #7790aa; font-size: .6rem; font-weight: 500; }
.location-suggestions button > small { color: #67829e; text-transform: uppercase; }
.location-suggestions button em { color: #597592; font-size: .54rem; font-style: normal; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.location-suggestions .location-empty { padding: 13px; color: #8ea5bf; font-size: .68rem; line-height: 1.5; }
.planner-module:has(.location-suggestions:not([hidden])),
.app-shell:has(.location-suggestions:not([hidden])) { overflow: visible; }
.location-input.needs-full-address { border-color: #d56c24; box-shadow: 0 0 0 3px rgba(213,108,36,.12); }
.location-input.needs-full-address b { color: #b65418; }
.hs-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.hs-input button { min-height: 45px; padding: 0 11px; color: #d9e6f3; background: #173a60; border: 1px solid #426b94; border-radius: 6px; font-size: .62rem; font-weight: 850; white-space: nowrap; }
.hs-assistant { display: grid; gap: 8px; margin: -12px 0 24px; padding: 14px; background: linear-gradient(120deg, rgba(255,133,38,.1), #081b31 62%); border: 1px solid #3a5f83; border-left: 3px solid var(--orange); border-radius: 7px; }
.hs-assistant[hidden] { display: none; }
.hs-assistant__head { display: flex; justify-content: space-between; gap: 14px; }
.hs-assistant__head div { display: grid; gap: 3px; }
.hs-assistant__head span { color: var(--orange); font-size: .61rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.hs-assistant__head strong { color: #eef5fb; font-size: .82rem; }
.hs-assistant__head small { max-width: 250px; color: #7892ad; font-size: .59rem; line-height: 1.45; text-align: right; }
.hs-candidates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.hs-candidates button { min-height: 66px; display: grid; gap: 3px; padding: 10px; color: #dce8f4; background: #0d2947; border: 1px solid #345b80; border-radius: 6px; text-align: left; }
.hs-candidates button:hover { border-color: var(--orange); transform: translateY(-1px); }
.hs-candidates button.is-selected { border-color: var(--orange); background: linear-gradient(145deg, rgba(255,133,38,.16), #0d2947 68%); box-shadow: inset 0 0 0 1px rgba(255,174,94,.2); }
.hs-candidates button.is-selected:after { content: "VOORGESELECTEERD"; justify-self: start; padding: 3px 5px; color: #10233a; background: var(--orange-2); border-radius: 3px; font-size: .47rem; font-weight: 950; letter-spacing: .06em; }
.hs-candidates button b { color: var(--orange-2); font-size: .8rem; letter-spacing: .05em; }
.hs-candidates button span { color: #91a8c0; font-size: .6rem; line-height: 1.35; }
.hs-assistant__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 4px; }
.hs-assistant__footer span { color: #6f8da8; font-size: .57rem; line-height: 1.45; }
.hs-candidates button small { color: #6f8da8; font-size: .54rem; line-height: 1.4; }
.hs-clarification { margin: 0; padding: 10px 12px; color: #c7d8e8; background: rgba(255,133,38,.1); border: 1px solid rgba(255,133,38,.35); border-radius: 5px; font-size: .63rem; line-height: 1.45; }
.hs-clarification b { color: var(--orange-2); }
.hs-loading { display: flex; align-items: center; gap: 12px; min-height: 56px; }
.hs-loading i { width: 20px; height: 20px; border: 2px solid #31557a; border-top-color: var(--orange); border-radius: 50%; animation: nexus-spin .8s linear infinite; }
.hs-loading div { display: grid; gap: 3px; }
.hs-loading strong { color: #eef5fb; font-size: .77rem; }
.hs-loading span { color: #7892ad; font-size: .6rem; }
@keyframes nexus-spin { to { transform: rotate(360deg); } }
.hs-reference { color: #b8d5ef; font-size: .6rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.hs-reference:hover { color: var(--orange-2); text-decoration: underline; text-underline-offset: 3px; }
.cargo-insight { display: grid; grid-template-columns: minmax(230px, .82fr) minmax(0, 1.18fr); gap: 18px; margin: -4px 0 25px; padding: 16px; overflow: hidden; background: #081b31; border: 1px solid #294d74; border-radius: 8px; }
.cargo-insight.is-metrics-only { grid-template-columns: minmax(0, 1fr); }
.cargo-preview { position: relative; min-height: 210px; overflow: hidden; background: radial-gradient(circle at 56% 31%, rgba(76,138,195,.28), transparent 36%), linear-gradient(155deg, #102f50, #07192d); border: 1px solid #284d72; border-radius: 8px; }
.cargo-preview[hidden] { display: none; }
.cargo-preview__grid { position: absolute; inset: 50% -20% -35%; background: linear-gradient(rgba(75,120,166,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(75,120,166,.2) 1px, transparent 1px); background-size: 22px 22px; transform: rotateX(63deg); }
.cargo-preview__scene { position: absolute; z-index: 3; inset: 22px 36px 42px; display: grid; place-items: center; }
.cargo-preview__scene img { display: block; width: 148px; height: 130px; max-width: calc(100% - 8px); max-height: calc(100% - 4px); object-fit: contain; filter: drop-shadow(0 18px 22px rgba(0,0,0,.34)); transition: opacity .18s ease, transform .18s ease; }
.cargo-preview__scene img.is-updating { opacity: .35; transform: translateY(3px); }
.cargo-dimension { position: absolute; z-index: 6; color: #a9c0d7; font-size: .52rem; font-weight: 850; letter-spacing: .04em; }
.cargo-dimension:before, .cargo-dimension:after { content: ""; position: absolute; background: #6b8cab; }
.cargo-dimension--height { top: 50px; right: 14px; padding: 4px 11px 4px 4px; writing-mode: vertical-rl; background: rgba(7,24,44,.78); border-radius: 4px; transform: rotate(180deg); }
.cargo-dimension--height:before { top: -8px; bottom: -8px; right: 0; width: 1px; }
.cargo-dimension--footprint { left: 50%; bottom: 31px; padding: 3px 6px; background: rgba(7,24,44,.82); border-radius: 4px; transform: translateX(-50%); white-space: nowrap; }
.cargo-dimension--footprint:before { left: -18px; right: -18px; bottom: -5px; height: 1px; }
.cargo-preview__caption { position: absolute; z-index: 5; left: 12px; bottom: 9px; color: #6683a0; font-size: .47rem; font-weight: 900; letter-spacing: .08em; }
.cargo-metrics { align-self: center; }
.cargo-metrics > span { color: var(--orange); font-size: .6rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.cargo-metrics > strong { display: block; margin: 7px 0 12px; color: #eef5fb; font-size: 1.25rem; letter-spacing: -.02em; }
.cargo-metrics dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border: 1px solid #294d74; }
.cargo-metrics dl div { padding: 10px; border-right: 1px solid #294d74; }
.cargo-metrics dl div:last-child { border-right: 0; }
.cargo-metrics dt { color: #6f8aa7; font-size: .55rem; text-transform: uppercase; }
.cargo-metrics dd { margin: 5px 0 0; color: #dbe8f4; font-size: .67rem; font-weight: 800; line-height: 1.3; }
.cargo-metrics > small { display: block; margin-top: 8px; color: #7390ad; font-size: .56rem; font-weight: 750; }
.cargo-metrics p { margin: 11px 0 0; color: #849db7; font-size: .64rem; line-height: 1.45; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.form-actions p { max-width: 440px; margin: 0; color: #849ab5; font-size: .69rem; line-height: 1.5; }
.form-actions p i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: var(--orange); }
.primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 18px;
  color: #142438;
  background: linear-gradient(135deg, var(--orange), var(--orange-2));
  border: 0;
  border-radius: 7px;
  font-weight: 850;
  line-height: 1.1;
  text-align: center;
  box-shadow: 0 12px 28px rgba(255,133,38,.16);
}
.primary-action:hover { filter: brightness(1.08); transform: translateY(-1px); }
.primary-action:disabled { cursor: not-allowed; filter: grayscale(.6); opacity: .45; transform: none; }
.primary-action.full { width: 100%; }
.quote-rail { min-width: 0; align-self: stretch; display: flex; align-items: flex-start; }
.quote-result { position: sticky; top: 100px; bottom: 24px; width: 100%; min-height: 510px; padding: 25px; background: linear-gradient(180deg, #112e50, #0b2039); border: 1px solid #294d74; border-radius: 10px; }
.result-placeholder[hidden], .result-content[hidden] { display: none !important; }
.result-placeholder { min-height: 458px; display: grid; align-content: center; text-align: center; }
.result-placeholder:before { content: ""; width: 92px; height: 92px; margin: 0 auto 24px; border: 1px solid #3c628b; border-radius: 50%; background: radial-gradient(circle, rgba(255,133,38,.16), transparent 64%); box-shadow: inset 0 0 0 15px #0f2b4a, inset 0 0 0 16px #365c83; }
.result-placeholder span { color: var(--orange); font-size: .65rem; letter-spacing: .16em; }
.result-placeholder strong { margin-top: 8px; color: var(--white); font-size: 1.28rem; }
.result-placeholder p { margin: 12px auto 0; color: #8da3bc; font-size: .79rem; line-height: 1.6; }
.result-label { display: flex; justify-content: space-between; color: var(--orange); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.result-label small { color: #7f9ab8; letter-spacing: 0; text-transform: none; }
.result-mode { display: block; margin: 13px 0 3px; color: var(--white); font-size: clamp(1.8rem, 3vw, 2.8rem); letter-spacing: -.04em; }
.result-content > p { margin: 0 0 20px; color: #98aec6; font-size: .8rem; }
.result-kpis { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0 0 20px; border: 1px solid #31577e; }
.result-kpis div { padding: 13px; border-right: 1px solid #31577e; border-bottom: 1px solid #31577e; }
.result-kpis div:nth-child(2n) { border-right: 0; }
.result-kpis div:nth-last-child(-n+2) { border-bottom: 0; }
.result-kpis dt { color: #718ba8; font-size: .61rem; text-transform: uppercase; }
.result-kpis dd { margin: 5px 0 0; color: #edf4fb; font-size: .9rem; font-weight: 800; }
.comparison { display: grid; gap: 6px; margin-bottom: 18px; }
.comparison-row { width: 100%; display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; align-items: center; padding: 6px 7px; color: #90a7c0; background: transparent; border: 1px solid transparent; border-radius: 5px; font-size: .68rem; text-align: left; cursor: pointer; }
.comparison-row:hover, .comparison-row:focus-visible { color: #f6f9fd; background: rgba(76,117,158,.15); border-color: #31577e; outline: 0; }
.comparison-row i { height: 5px; overflow: hidden; background: #1e4267; border-radius: 99px; }
.comparison-row i b { display: block; height: 100%; background: #5e83aa; }
.comparison-row.is-best { color: #f6f9fd; }
.comparison-row.is-best i b { background: var(--orange); }
.quote-basis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 0 0 18px; }
.quote-basis div { min-width: 0; padding: 10px; background: #081b31; border: 1px solid #294d74; border-radius: 6px; }
.quote-basis dt { color: #6f8aa7; font-size: .48rem; letter-spacing: .04em; text-transform: uppercase; }
.quote-basis dd { margin: 5px 0 0; overflow-wrap: anywhere; color: #c9d8e7; font-size: .56rem; font-weight: 750; line-height: 1.4; }
.result-reason { margin-bottom: 19px; padding: 13px 15px; background: #081b31; border-left: 3px solid var(--orange); }
.result-reason summary { color: #a9bed1; font-size: .62rem; font-weight: 850; text-transform: uppercase; cursor: pointer; }
.result-reason ul { margin: 7px 0 0; padding-left: 17px; color: #c4d2e2; font-size: .69rem; line-height: 1.5; }
.result-preference { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; padding: 12px 13px; background: rgba(30,66,103,.42); border: 1px solid #31577e; border-radius: 7px; }
.result-preference div { min-width: 0; }
.result-preference span { display: block; color: #718ba8; font-size: .54rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.result-preference strong { display: block; margin-top: 4px; color: #eaf2f9; font-size: .68rem; line-height: 1.35; }
.result-preference .secondary-action { flex: 0 0 auto; min-height: 36px; margin: 0; padding: 7px 10px; font-size: .61rem; }
.quote-actions { display: grid; grid-template-columns: 1fr; gap: 9px; }
.quote-actions .secondary-action, .quote-actions .primary-action { width: 100%; min-height: 50px; margin: 0; }
.quote-actions .secondary-action[hidden] { display: none; }
.quote-actions .secondary-action { justify-content: center; background: #102e4e; }
.quote-actions .primary-action { justify-content: space-between; }
[name="mode"].is-attention { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255,133,38,.2); animation: mode-attention .8s ease 2; }
@keyframes mode-attention { 50% { box-shadow: 0 0 0 7px rgba(255,133,38,.08); } }

.shipment-overview { overflow: hidden; }
.shipment-overview__toolbar { display: grid; grid-template-columns: minmax(190px, 1fr) auto auto; gap: 18px; align-items: center; padding: 20px; border-bottom: 1px solid #294d74; }
.shipment-overview__toolbar > div:first-child { display: grid; gap: 4px; }
.shipment-overview__toolbar > div:first-child span { color: #718ba7; font-size: .59rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.shipment-overview__toolbar > div:first-child strong { color: #eff5fb; font-size: .9rem; }
.shipment-filters { display: flex; gap: 5px; padding: 4px; background: #081b31; border: 1px solid #294d74; border-radius: 7px; }
.shipment-filters button { min-height: 34px; padding: 0 11px; color: #7891ac; background: transparent; border: 0; border-radius: 5px; font-size: .64rem; font-weight: 800; }
.shipment-filters button.is-active { color: #fff; background: #173a60; }
.shipment-overview__toolbar .primary-action { min-height: 42px; }
.shipment-overview__metrics { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid #294d74; }
.shipment-overview__metrics article { min-width: 0; padding: 18px 20px; border-right: 1px solid #294d74; }
.shipment-overview__metrics article:last-child { border-right: 0; }
.shipment-overview__metrics span, .shipment-overview__metrics small { display: block; color: #718ba7; font-size: .58rem; text-transform: uppercase; }
.shipment-overview__metrics strong { display: block; margin: 5px 0 3px; color: #fff; font-size: 1.45rem; }
.shipment-table__head, .shipment-row { display: grid; grid-template-columns: 1.1fr 1.45fr .8fr 1.2fr .8fr 34px; gap: 14px; align-items: center; }
.shipment-table__head { padding: 12px 20px; color: #6f88a4; background: #091d34; border-bottom: 1px solid #294d74; font-size: .56rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.shipment-row { width: 100%; min-height: 82px; padding: 14px 20px; color: #dbe6f1; background: transparent; border: 0; border-bottom: 1px solid #254565; text-align: left; transition: background .18s ease; }
.shipment-row:last-child { border-bottom: 0; }
.shipment-row:hover { background: #112f50; }
.shipment-row > span { min-width: 0; }
.shipment-row b { display: block; color: #f4f8fc; font-size: .76rem; }
.shipment-row small { display: block; margin-top: 4px; color: #728da8; font-size: .59rem; line-height: 1.35; }
.shipment-row__mode { color: #a9bed1; font-size: .68rem; font-weight: 750; }
.shipment-row__status, .shipment-status { display: inline-flex; justify-content: center; width: fit-content; padding: 5px 8px; color: #bdd1e3; background: #173858; border: 1px solid #345b80; border-radius: 99px; font-size: .57rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.shipment-row__status.is-attention, .shipment-status.is-attention { color: #ffd3ad; background: rgba(255,133,38,.1); border-color: rgba(255,133,38,.55); }
.shipment-row__status.is-completed, .shipment-status.is-completed { color: #9ce5ca; background: rgba(83,209,165,.09); border-color: rgba(83,209,165,.45); }
.shipment-row__arrow { color: var(--orange); font-size: 1.05rem; }
.shipment-empty { padding: 38px 20px; color: #88a0b9; text-align: center; font-size: .75rem; }

.shipment-detail-heading { display: grid; grid-template-columns: 160px minmax(0, 1fr) auto; gap: 22px; align-items: end; margin-bottom: 28px; }
.shipment-detail-heading > button { align-self: start; display: inline-flex; align-items: center; gap: 8px; width: fit-content; min-height: 38px; padding: 0 12px; color: #d6e3ef; background: #102f50; border: 1px solid #365f86; border-radius: 6px; font-size: .68rem; font-weight: 800; text-align: left; }
.shipment-detail-heading > button span { color: var(--orange); font-size: .9rem; }
.shipment-detail-heading > button:hover { color: #fff; background: #173a60; border-color: #527ba4; }
.shipment-detail-heading div > span { color: var(--orange); font-size: .64rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.shipment-detail-heading h2 { margin: 6px 0 4px; color: #fff; font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.045em; }
.shipment-detail-heading p { margin: 0; color: #8ea5bf; font-size: .78rem; }
.shipment-detail-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 18px; }
.shipment-hero-card { padding: 23px; background: linear-gradient(120deg, rgba(255,133,38,.09), #0d2542 55%, #102d4c); }
.shipment-stage > span, .shipment-actions > span { color: var(--orange); font-size: .61rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.shipment-stage strong { display: block; margin: 7px 0 4px; color: #fff; font-size: 1.5rem; }
.shipment-stage p { margin: 0; color: #8fa7c0; font-size: .72rem; line-height: 1.5; }
.shipment-detail-kpis { display: grid; grid-template-columns: repeat(4, 1fr); margin: 22px 0; border: 1px solid #31577e; }
.shipment-detail-kpis div { min-width: 0; padding: 12px; border-right: 1px solid #31577e; }
.shipment-detail-kpis div:last-child { border-right: 0; }
.shipment-detail-kpis dt { color: #7089a5; font-size: .55rem; letter-spacing: .04em; text-transform: uppercase; }
.shipment-detail-kpis dd { margin: 6px 0 0; color: #eaf2f9; font-size: .68rem; font-weight: 800; line-height: 1.35; }
.shipment-progress { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; }
.shipment-progress span { position: relative; padding: 24px 8px 0 0; color: #6f89a4; font-size: .57rem; font-weight: 750; }
.shipment-progress span:before { content: ""; position: absolute; left: 0; right: 0; top: 8px; height: 2px; background: #294d74; }
.shipment-progress span:after { content: ""; position: absolute; left: 0; top: 3px; width: 11px; height: 11px; background: #0d2542; border: 2px solid #4e7195; border-radius: 50%; }
.shipment-progress span.is-complete { color: #a9d6c7; }
.shipment-progress span.is-complete:before, .shipment-progress span.is-complete:after { background: var(--green); border-color: var(--green); }
.shipment-progress span.is-current { color: #fff; }
.shipment-progress span.is-current:after { background: var(--orange); border-color: #ffd2ae; box-shadow: 0 0 0 5px rgba(255,133,38,.12); }
.shipment-actions { display: grid; gap: 8px; padding: 20px; }
.shipment-actions > span { margin-bottom: 3px; }
.shipment-actions button { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 12px; color: #dce8f4; background: #081b31; border: 1px solid #294d74; border-radius: 6px; text-align: left; }
.shipment-actions button:after { content: "→"; grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--orange); }
.shipment-actions button:hover { border-color: #51779e; background: #102e4e; }
.shipment-actions button:disabled { cursor: not-allowed; opacity: .42; }
.shipment-actions button:disabled:after { content: "—"; color: #7089a5; }
.shipment-actions b { font-size: .72rem; }
.shipment-actions small { color: #748fa9; font-size: .59rem; }
.shipment-detail-panel { padding: 20px; }
.shipment-detail-map-card { grid-column: 1 / -1; width: 100%; max-width: 100%; min-width: 0; overflow: hidden; padding: 20px; background: #0a213a; border: 1px solid #31577e; border-radius: 8px; }
.shipment-detail-map { width: 100%; min-height: 330px; margin-top: 14px; border: 1px solid #31577e; border-radius: 7px; }
.shipment-detail-map .leaflet-tile-pane { filter: saturate(.86) brightness(.9) contrast(1.06); }
.shipment-detail-map .leaflet-control-attribution { color: #7189a0; background: rgba(7,24,44,.88); font-size: 9px; }
.shipment-detail-map .leaflet-control-attribution a { color: #9db4c8; }
.shipment-detail-panel .board-head small { color: #718ba6; font-size: .58rem; }
.shipment-detail-panel dl { display: grid; grid-template-columns: repeat(2, 1fr); margin: 14px 0 0; }
.shipment-detail-panel dl div { padding: 11px 4px; border-bottom: 1px solid #254666; }
.shipment-detail-panel dt { color: #718ba7; font-size: .55rem; text-transform: uppercase; }
.shipment-detail-panel dd { margin: 5px 0 0; color: #dce8f3; font-size: .68rem; font-weight: 750; line-height: 1.4; }
.shipment-plan { display: grid; gap: 9px; margin-top: 14px; }
.shipment-plan article { display: grid; grid-template-columns: 28px 1fr auto; gap: 10px; align-items: center; padding: 10px; background: #081b31; border: 1px solid #274968; border-radius: 6px; }
.shipment-plan i { display: grid; place-items: center; width: 27px; height: 27px; color: #8fa8c1; background: #143452; border-radius: 50%; font-size: .6rem; font-style: normal; }
.shipment-plan b { display: block; color: #eaf2f9; font-size: .68rem; }
.shipment-plan span { color: #708ba6; font-size: .58rem; }
.shipment-plan small { color: #91abc3; font-size: .58rem; text-align: right; }

.document-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr); gap: 20px; }
.document-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; padding: 15px 18px; }
.document-toolbar span { color: #8098b3; font-size: .65rem; text-transform: uppercase; }
.document-toolbar strong { margin-left: 10px; color: var(--white); }
.document-toolbar__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.document-toolbar .secondary-action,
.document-toolbar .primary-action { min-height: 40px; margin: 0; }
.document-demo-action { padding: 0 14px; font-size: .68rem; }
.document-demo-action[hidden] { display: none !important; }
.document-guidance { margin: 0 0 12px; padding: 15px 18px; color: #a7bad0; background: rgba(255, 133, 38, .08); border: 1px solid rgba(255, 133, 38, .62); border-left-width: 4px; border-radius: 7px; }
.document-guidance strong { display: block; color: #f1f6fb; font-size: .78rem; }
.document-guidance p { margin: 5px 0 0; font-size: .7rem; line-height: 1.55; }
.document-list { overflow: hidden; }
.document-item { display: grid; grid-template-columns: 42px 1fr auto; gap: 15px; align-items: center; padding: 17px 18px; border-bottom: 1px solid #27486a; }
.document-item:last-child { border-bottom: 0; }
.document-item__icon { display: grid; place-items: center; width: 40px; height: 48px; color: #8da5bf; border: 1px solid #42678d; border-radius: 5px; font-size: .65rem; font-weight: 900; }
.document-item.is-ready .document-item__icon { color: var(--ink); background: var(--green); border-color: var(--green); }
.document-item strong { display: block; color: #eff5fb; font-size: .85rem; }
.document-item p { margin: 4px 0 0; color: #7e96b0; font-size: .67rem; line-height: 1.4; }
.document-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.document-actions label, .document-actions button { min-height: 38px; display: grid; place-items: center; padding: 0 10px; color: #c6d4e4; background: #173656; border: 1px solid #3a638c; border-radius: 5px; font-size: .66rem; font-weight: 800; }
.document-actions .document-actions__demo { color: #092139; background: var(--orange); border-color: var(--orange); }
.document-actions input { position: absolute; opacity: 0; pointer-events: none; }
.document-next { display: grid; grid-template-columns: 48px 1fr auto; gap: 15px; align-items: center; margin-top: 12px; padding: 18px; background: #0b223c; border: 1px solid #31587f; border-radius: 7px; transition: border-color .2s ease, background .2s ease; }
.document-next__state { display: grid; place-items: center; width: 48px; height: 48px; color: #8ba2bb; background: #102e4e; border: 1px solid #3a638c; border-radius: 50%; font-size: .7rem; font-weight: 900; }
.document-next > div:nth-child(2) > span { display: block; margin-bottom: 4px; color: #7891ad; font-size: .6rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.document-next strong { display: block; color: var(--white); font-size: .9rem; }
.document-next p { margin: 4px 0 0; color: #89a1bb; font-size: .68rem; line-height: 1.45; }
.document-next .primary-action { min-width: 160px; margin: 0; }
.document-next .primary-action:disabled { color: #7790aa; background: #163554; cursor: not-allowed; opacity: .72; }
.document-next.is-ready { background: linear-gradient(110deg, rgba(83,209,165,.13), #0b223c 55%); border-color: var(--green); }
.document-next.is-ready .document-next__state { color: var(--ink); background: var(--green); border-color: var(--green); }
.document-next.is-ready > div:nth-child(2) > span { color: var(--green); }
.evidence-panel { padding: 26px; }
.evidence-panel h3 { margin: 10px 0; color: var(--white); font-size: 1.45rem; }
.evidence-panel > p { margin: 0; color: #90a6be; font-size: .77rem; line-height: 1.65; }
.evidence-log { display: grid; gap: 8px; margin-top: 22px; }
.evidence-log p { margin: 0; padding: 11px 12px; color: #9eb1c6; background: #081b31; border-left: 2px solid #4a6d92; font-size: .67rem; line-height: 1.45; }
.evidence-log p.is-new { border-color: var(--green); }

.route-board { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr); gap: 20px; }
.route-map { overflow: hidden; }
.route-map__top { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; padding: 16px 20px; border-bottom: 1px solid #294d74; }
.route-map__top span { color: var(--orange); font-size: .68rem; font-weight: 850; }
.route-map__top strong { color: var(--white); font-size: .9rem; letter-spacing: .1em; }
.route-map__top small { color: #8099b4; font-size: .67rem; }
.route-map__canvas { width: 100%; height: 470px; background: radial-gradient(circle at 58% 46%, rgba(50,94,140,.25), transparent 35%), #091d34; }
.route-map__canvas .leaflet-tile-pane { filter: saturate(.82) brightness(.88) contrast(1.08); }
.route-map__canvas .leaflet-control-zoom a { color: #e8f1fa; background: #102e4d; border-color: #31587e; }
.route-map__canvas .leaflet-control-zoom a:hover { color: var(--orange); background: #173a60; }
.route-map__canvas .leaflet-control-attribution { color: #738ba4; background: rgba(7,24,44,.84); font-size: 9px; }
.route-map__canvas .leaflet-control-attribution a { color: #9eb5cc; }
.route-map__canvas .leaflet-popup-content-wrapper, .route-map__canvas .leaflet-popup-tip { color: #dce8f4; background: #0b223c; }
.route-map__canvas .leaflet-popup-content { margin: 10px 13px; font-size: .69rem; line-height: 1.45; }
.route-map__canvas .leaflet-popup-content strong { color: #fff; }
.route-map__canvas .leaflet-popup-content span { color: #8fa6be; }
.nexus-marker { position: relative; width: 24px; height: 24px; border: 3px solid #9eb2c8; border-radius: 50% 50% 50% 0; background: #173a60; box-shadow: 0 7px 16px rgba(0,0,0,.38); transform: rotate(-45deg); }
.nexus-marker:after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: #6f8eae; }
.nexus-marker.is-complete { border-color: #c9f4e6; background: var(--green); }
.nexus-marker.is-complete:after { background: #173d3a; }
.nexus-marker.is-current { border-color: #ffe0bf; background: var(--orange); box-shadow: 0 0 0 7px rgba(255,133,38,.18), 0 9px 20px rgba(0,0,0,.38); }
.nexus-marker.is-current:after { background: #73380a; }
.nexus-marker__code { position: absolute; left: 25px; top: -10px; min-width: 36px; padding: 4px 6px; color: #f2f7fc; background: rgba(7,24,44,.92); border: 1px solid #3b6085; border-radius: 4px; font-size: 9px; font-weight: 900; letter-spacing: .06em; text-align: center; transform: rotate(45deg); }
.map-legend { display: flex; gap: 18px; padding: 13px 20px; border-top: 1px solid #294d74; color: #8098b2; font-size: .63rem; }
.map-legend span { display: flex; align-items: center; gap: 6px; }
.map-legend i { width: 9px; height: 9px; border: 2px solid #6784a3; border-radius: 50%; }
.map-legend i.complete { background: var(--green); border-color: var(--green); }
.map-legend i.current { background: var(--orange); border-color: var(--orange); }
.map-legend .map-leg { margin-left: auto; }
.map-legend .map-leg + .map-leg { margin-left: 0; }
.map-legend i.road, .map-legend i.sea, .map-legend i.air { width: 20px; height: 3px; border: 0; border-radius: 99px; }
.map-legend i.road { background: #ff9b45; }
.map-legend i.sea { background: #4ea5e5; }
.map-legend i.air { background: #74d8f8; }
.milestone-panel { padding: 20px; }
.milestone-head, .board-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 14px; border-bottom: 1px solid #294b6e; }
.milestone-head span, .board-head span { color: #8da5bf; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.milestone-head button, .board-head button, .customer-message button { min-height: 36px; padding: 0 10px; color: #c8d6e5; background: #183a5f; border: 1px solid #3b638c; border-radius: 5px; font-size: .65rem; font-weight: 800; }
.milestone-panel ol { display: grid; gap: 0; margin: 16px 0 22px; padding: 0; list-style: none; }
.milestone-panel li { position: relative; padding: 0 0 20px 26px; border-left: 1px solid #3c5e81; }
.milestone-panel li:before { content: ""; position: absolute; left: -5px; top: 2px; width: 8px; height: 8px; border: 1px solid #718aa4; border-radius: 50%; background: #0d2542; }
.milestone-panel li.is-complete:before { background: var(--green); border-color: var(--green); }
.milestone-panel li.is-current:before { background: var(--orange); border-color: #ffd7b5; box-shadow: 0 0 0 5px rgba(255,133,38,.13); }
.milestone-panel li:last-child { border-left-color: transparent; }
.milestone-panel li strong { display: block; color: #e9f1f9; font-size: .78rem; }
.milestone-panel li span { display: block; margin-top: 4px; color: #7892ae; font-size: .65rem; line-height: 1.4; }
.customer-message { padding: 14px; background: #081b31; border: 1px solid #2c527a; border-radius: 7px; }
.customer-message > span { color: var(--orange); font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.customer-message p { color: #b6c6d7; font-size: .71rem; line-height: 1.5; }
.route-next { width: 100%; min-height: 46px; margin-top: 10px; color: #13243a; background: linear-gradient(135deg, var(--orange), var(--orange-2)); border: 0; border-radius: 6px; font-size: .72rem; font-weight: 900; }
.route-next:disabled { color: #7690aa; background: #173653; cursor: not-allowed; }

.operations-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: 20px; }
.exception-board, .release-panel, .incident-control, .communication-log { padding: 20px; }
.delivery-handoff { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(310px, .7fr) auto; gap: 22px; align-items: center; padding: 20px; background: linear-gradient(115deg, rgba(83,209,165,.17), #0d2542 48%, #112f50); border: 1px solid var(--green); border-radius: 9px; }
.delivery-handoff[hidden] { display: none; }
.delivery-handoff > div > span { color: var(--green); font-size: .62rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.delivery-handoff h3 { margin: 6px 0 5px; color: #f2f8fc; font-size: 1.1rem; }
.delivery-handoff p { margin: 0; color: #8fa8c1; font-size: .69rem; line-height: 1.5; }
.delivery-handoff dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border: 1px solid #31587e; }
.delivery-handoff dl div { padding: 11px; border-right: 1px solid #31587e; }
.delivery-handoff dl div:last-child { border-right: 0; }
.delivery-handoff dt { color: #708aa5; font-size: .55rem; text-transform: uppercase; }
.delivery-handoff dd { margin: 5px 0 0; color: #dce9f4; font-size: .67rem; font-weight: 800; }
.delivery-handoff .primary-action { min-width: 155px; }
.delivery-handoff.is-closed { border-color: #42688f; background: linear-gradient(115deg, rgba(83,209,165,.08), #0d2542 55%); }
.board-head strong { display: grid; place-items: center; min-width: 30px; height: 30px; color: var(--ink); background: var(--orange); border-radius: 50%; font-size: .72rem; }
.exception-item { display: grid; grid-template-columns: 8px 1fr auto; gap: 14px; align-items: start; padding: 16px 4px; border-bottom: 1px solid #294a6c; }
.exception-item i { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--orange); }
.exception-item.is-critical i { background: var(--red); box-shadow: 0 0 0 5px rgba(255,106,102,.1); }
.exception-item strong { display: block; color: #eef4fa; font-size: .8rem; }
.exception-item p { margin: 4px 0 0; color: #829ab4; font-size: .67rem; line-height: 1.45; }
.exception-item span { color: #6f8aa7; font-size: .61rem; text-transform: uppercase; }
.incident-control { grid-column: 1 / -1; }
.incident-control .board-head > b {
  width: auto;
  min-width: 5.5rem;
  height: auto;
  padding: .45rem .7rem;
  border-radius: 99px;
  color: #8fa6bf;
  background: #081b31;
  border: 1px solid #31587e;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.incident-control .board-head > b.is-open { color: #ffd0b0; border-color: rgba(255,133,38,.65); background: rgba(255,133,38,.1); }
.incident-control .board-head > b.is-resolved { color: #8ee3c2; border-color: rgba(83,209,165,.55); background: rgba(83,209,165,.09); }
.incident-launch { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; margin-top: 1rem; }
.incident-launch button, .incident-actions button {
  min-height: 45px;
  padding: 0 14px;
  border: 1px solid #426b94;
  border-radius: 6px;
  color: #eaf2fb;
  background: #173a60;
  font-size: .72rem;
  font-weight: 800;
}
.incident-launch button { min-width: 12rem; background: var(--orange); border-color: var(--orange); color: var(--ink); }
.incident-launch button span { margin-left: 1rem; }
.incident-workspace { margin-top: 1.15rem; border: 1px solid #31557b; border-radius: 8px; overflow: hidden; background: #081b31; }
.incident-summary { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(23rem, .75fr); gap: 1.5rem; padding: 1.4rem; border-bottom: 1px solid #294b6e; }
.incident-summary > div > span, .incident-channels > div > span {
  color: var(--orange);
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.incident-summary h3 { margin: .55rem 0 .45rem; color: #fff; font-size: 1.35rem; }
.incident-summary p { margin: 0; max-width: 47rem; color: #8da5bf; font-size: .73rem; line-height: 1.55; }
.incident-summary dl { display: grid; grid-template-columns: .6fr 1fr 1.4fr; margin: 0; border: 1px solid #294b6e; }
.incident-summary dl div { min-width: 0; padding: .85rem; border-right: 1px solid #294b6e; }
.incident-summary dl div:last-child { border-right: 0; }
.incident-summary dt { color: #6f8aa7; font-size: .57rem; text-transform: uppercase; letter-spacing: .08em; }
.incident-summary dd { margin: .38rem 0 0; color: #eaf2fa; font-size: .72rem; font-weight: 800; overflow-wrap: break-word; }
.playbook-steps { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; }
.playbook-steps li { position: relative; min-height: 8.5rem; padding: 1.2rem 1.2rem 1.2rem 3.4rem; border-right: 1px solid #294b6e; }
.playbook-steps li:last-child { border-right: 0; }
.playbook-steps li > i {
  position: absolute;
  left: 1.1rem;
  top: 1.15rem;
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  border: 1px solid #42688e;
  border-radius: 50%;
  color: #839bb5;
  font-size: .62rem;
  font-style: normal;
}
.playbook-steps li.is-complete > i { color: var(--ink); background: var(--green); border-color: var(--green); }
.playbook-steps strong { display: block; color: #eaf2fb; font-size: .76rem; }
.playbook-steps p { margin: .4rem 0 0; color: #7891ad; font-size: .66rem; line-height: 1.45; }
.incident-channels { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1.15rem 1.4rem; border-top: 1px solid #294b6e; }
.incident-channels p { margin: .4rem 0 .7rem; color: #9bb0c7; font-size: .7rem; }
.channel-pills { display: flex; flex-wrap: wrap; gap: .4rem; }
.channel-pills span { padding: .35rem .55rem; border: 1px solid #31587f; border-radius: 99px; color: #8ea6c0; font-size: .59rem; text-transform: uppercase; letter-spacing: .06em; }
.channel-pills span.is-sent { color: #9ce1c6; border-color: rgba(83,209,165,.52); background: rgba(83,209,165,.08); }
.incident-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }
.incident-actions button:disabled { cursor: not-allowed; opacity: .42; }
.incident-actions button:last-child:not(:disabled) { color: var(--ink); background: var(--green); border-color: var(--green); }
.release-panel > h3 { margin: 10px 0; color: var(--white); font-size: 1.45rem; }
.release-panel > p { color: #8da5bf; font-size: .75rem; line-height: 1.55; }
.release-panel label { margin-top: 15px; }
.release-panel .primary-action { margin-top: 17px; }
.release-panel > small { display: block; margin-top: 10px; color: #718ba7; font-size: .62rem; line-height: 1.5; }
.communication-log { grid-column: 1 / -1; }
.communication-log ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 16px 0 0; padding: 0; list-style: none; }
.communication-log li { min-height: 92px; display: grid; grid-template-columns: 34px 1fr auto; align-content: start; gap: 7px 10px; padding: 13px; background: #081b31; border: 1px solid #294c71; border-radius: 6px; }
.communication-log li:before { content: "NX"; grid-row: span 2; display: grid; place-items: center; width: 32px; height: 32px; color: #9cb2c8; background: #163858; border-radius: 50%; font-size: .56rem; font-weight: 900; }
.communication-log li.is-human { background: linear-gradient(135deg, rgba(255,133,38,.1), #0b223b 65%); border-color: rgba(255,133,38,.55); }
.communication-log li.is-human:before { content: attr(data-initials); color: #142438; background: var(--orange-2); }
.communication-log li.is-system { min-height: 74px; background: rgba(8,27,49,.55); border-style: dashed; opacity: .82; }
.communication-log li.is-system:before { content: "SYS"; color: #6f89a4; background: transparent; border: 1px solid #345676; }
.communication-log li.is-tracking:before { content: "GPS"; color: #102438; background: var(--green); }
.communication-log b { color: #e9f1f9; font-size: .7rem; }
.communication-log b small { display: block; margin-top: 3px; color: var(--orange-2); font-size: .5rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.communication-log span { grid-column: 2 / -1; color: #8fa6bf; font-size: .66rem; line-height: 1.4; }
.communication-log time { color: #69839f; font-size: .59rem; }

.review-modal[hidden] { display: none; }
body.has-modal { overflow: hidden; }
.review-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; }
.review-modal__backdrop { position: absolute; inset: 0; background: rgba(3,13,26,.76); backdrop-filter: blur(7px); }
.review-modal__dialog { position: relative; width: min(720px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 28px; color: #dce8f3; background: #0d2542; border: 1px solid #416b93; border-radius: 12px; box-shadow: 0 28px 75px rgba(0,0,0,.5); }
.review-modal__head { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.review-modal__head span { color: var(--orange); font-size: .62rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.review-modal__head h2 { margin: 6px 0 0; color: #fff; font-size: 1.7rem; }
.review-modal__head > button { width: 38px; height: 38px; color: #a9bdcf; background: #081b31; border: 1px solid #34597d; border-radius: 50%; font-size: 1.3rem; }
.review-modal__dialog > p { margin: 12px 0 20px; color: #8fa6bf; font-size: .75rem; line-height: 1.55; }
.review-summary { overflow: hidden; background: #081b31; border: 1px solid #31577d; border-radius: 8px; }
.review-summary article { display: grid; grid-template-columns: 155px minmax(0, 1fr); gap: 18px; align-items: start; padding: 14px 16px; border-bottom: 1px solid #254666; }
.review-summary article:last-child { border-bottom: 0; }
.review-summary span { display: block; color: #708aa5; font-size: .57rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.review-summary b { display: block; color: #edf4fa; font-size: .72rem; line-height: 1.5; overflow-wrap: anywhere; }
.review-confirm { grid-template-columns: 20px 1fr; align-items: start; margin-top: 17px; padding: 14px; background: rgba(83,209,165,.07); border: 1px solid rgba(83,209,165,.35); border-radius: 7px; }
.review-confirm input { width: 17px; height: 17px; min-height: 0; margin-top: 1px; accent-color: var(--green); }
.review-confirm span { color: #b8cadb; font-size: .68rem; line-height: 1.5; }
.review-modal__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.review-modal__actions .secondary-action { margin: 0; }
.estimate-email-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 18px; overflow: hidden; background: #081b31; border: 1px solid #31577d; border-radius: 8px; }
.estimate-email-summary div { min-width: 0; padding: 13px 15px; border-right: 1px solid #31577d; border-bottom: 1px solid #31577d; }
.estimate-email-summary div:nth-child(2n) { border-right: 0; }
.estimate-email-summary div:nth-last-child(-n+2) { border-bottom: 0; }
.estimate-email-summary span { display: block; color: #708aa5; font-size: .55rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.estimate-email-summary strong { display: block; margin-top: 5px; color: #edf4fa; font-size: .72rem; line-height: 1.45; overflow-wrap: anywhere; }
.estimate-email-modal form > label { display: grid; gap: 7px; }
.estimate-email-modal form > label > span { color: #a8bfd2; font-size: .65rem; font-weight: 800; }
.estimate-email-disclaimer { margin-top: 16px; padding: 14px 16px; color: #9fb4c8; background: rgba(255,133,38,.07); border: 1px solid rgba(255,133,38,.34); border-radius: 7px; }
.estimate-email-disclaimer strong { color: #e8f0f7; font-size: .68rem; }
.estimate-email-disclaimer ul { margin: 9px 0 0; padding-left: 18px; font-size: .64rem; line-height: 1.55; }

footer { min-height: 76px; display: grid; grid-template-columns: 1fr auto auto; gap: 24px; align-items: center; padding: 18px clamp(18px, 3vw, 54px); color: #7d92aa; background: #061425; border-top: 1px solid #234565; font-size: .68rem; }
footer span { color: #c5d5e5; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
footer p { margin: 0; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 80; max-width: 360px; padding: 13px 17px; color: #13243a; background: var(--green); border-radius: 7px; box-shadow: var(--shadow); font-size: .75rem; font-weight: 800; opacity: 0; transform: translateY(20px); pointer-events: none; transition: .25s ease; }
.toast.is-visible { opacity: 1; transform: none; }

/* Site shell and planner framing */
.site-nav { display: flex; align-items: center; justify-content: center; gap: 6px; }
.site-nav a { min-height: 42px; display: inline-flex; align-items: center; padding: 0 15px; color: #a9bad0; border: 1px solid transparent; border-radius: 7px; font-size: .82rem; font-weight: 780; text-decoration: none; }
.site-nav a:hover { color: #fff; border-color: #365b85; }
.site-nav a.is-active { color: #fff; background: #17385f; border-color: #426992; }
.header-cta { min-height: 42px; display: inline-flex; align-items: center; gap: 10px; padding: 0 16px; color: #10243b; background: var(--orange-2); border-radius: 7px; font-size: .76rem; font-weight: 900; text-decoration: none; }
.header-cta:hover { background: #ffd09d; }
.planner-intro { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin: 4px 0 24px; }
.planner-intro h1 { margin: 8px 0 0; color: var(--ink); font-size: clamp(2rem, 4vw, 4rem); line-height: 1; letter-spacing: -.05em; }
.planner-intro p { max-width: 520px; margin: 0; color: #5b7086; line-height: 1.6; }
.planner-status { display: flex; align-items: stretch; border: 1px solid #c7d3df; background: rgba(255,255,255,.7); }
.planner-status > span { min-width: 190px; display: grid; gap: 2px; padding: 13px 16px; border-right: 1px solid #d3dde7; }
.planner-status > span:last-child { border-right: 0; }
.planner-status small { color: #75899e; font-size: .55rem; font-weight: 850; text-transform: uppercase; }
.planner-status b { color: var(--ink); font-size: .82rem; }
.planner-status em { color: #8495a8; font-size: .56rem; font-style: normal; }
.planner-module { overflow: clip; background: var(--ink); border: 1px solid #24476d; border-radius: 16px; box-shadow: var(--shadow); }
.module-nav { justify-content: flex-start; min-height: 66px; padding: 10px 20px; background: #0a1f37; border-bottom: 1px solid #294b72; }
.module-nav:before { content: "TRANSPORTPLANNER"; margin-right: auto; color: #7690ab; font-size: .62rem; font-weight: 900; letter-spacing: .14em; }
.module-nav button.has-alert {
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(255, 133, 38, .14);
}
.module-nav button.has-alert [data-alert-badge] { color: #071c34; background: var(--orange); }
.planner-module .app-shell { border: 0; border-radius: 0; box-shadow: none; }

/* Contextual help and AI goods workflow */
.info-tip { position: relative; width: 18px; height: 18px; display: inline-grid; place-items: center; flex: 0 0 auto; padding: 0; color: #89a6c0; background: transparent; border: 1px solid #58799a; border-radius: 50%; font-size: .65rem; font-weight: 900; line-height: 1; vertical-align: middle; }
.info-tip:hover, .info-tip:focus-visible { color: #10243b; background: var(--orange-2); border-color: var(--orange-2); }
.info-tip:after { content: attr(data-tip); position: absolute; z-index: 90; left: 50%; bottom: calc(100% + 10px); width: min(280px, 75vw); padding: 10px 12px; color: #dce8f4; background: #051426; border: 1px solid #42688f; border-radius: 6px; box-shadow: 0 14px 35px rgba(0,0,0,.35); font-size: .62rem; font-weight: 600; line-height: 1.5; text-align: left; transform: translate(-50%, 5px); opacity: 0; pointer-events: none; transition: .16s ease; }
.info-tip:hover:after, .info-tip:focus-visible:after { opacity: 1; transform: translate(-50%, 0); }
.view-heading h2 .info-tip { margin-left: 5px; transform: translateY(-5px); }
.quote-form fieldset > .wide { grid-column: 1 / -1; }
.goods-description-field > span:first-child, .value-field > span:first-child { display: flex; align-items: center; gap: 7px; }
.goods-description-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.goods-description-input button { min-height: 45px; padding: 0 14px; color: #10243b; background: var(--orange-2); border: 1px solid var(--orange-2); border-radius: 6px; font-size: .67rem; font-weight: 900; white-space: nowrap; }
.goods-description-input button:hover { background: #ffd09d; }
.goods-description-input button:disabled { opacity: .55; cursor: progress; }
.goods-description-input input { min-width: 0; }
.quote-form .hs-assistant { margin: 0 0 2px; }
.hs-assistant__head > .info-tip { align-self: start; }
.goods-ai-question { display: grid; gap: 9px; padding: 12px; color: #dbe7f2; background: rgba(255,133,38,.08); border: 1px solid rgba(255,133,38,.4); border-radius: 7px; }
.goods-ai-question > span, .goods-ai-descriptions span { color: var(--orange-2); font-size: .57rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.goods-ai-question > strong { font-size: .72rem; line-height: 1.5; }
.goods-ai-options { display: flex; flex-wrap: wrap; gap: 7px; }
.goods-ai-options button { min-height: 34px; padding: 7px 10px; color: #dce8f4; background: #102e4d; border: 1px solid #3c6389; border-radius: 99px; font-size: .62rem; font-weight: 750; }
.goods-ai-options button:hover { color: #10243b; background: var(--orange-2); border-color: var(--orange-2); }
.goods-ai-answer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.goods-ai-answer input { min-height: 39px; }
.goods-ai-answer button { padding: 0 12px; color: #10243b; background: var(--orange-2); border: 0; border-radius: 6px; font-size: .62rem; font-weight: 900; }
.goods-ai-descriptions { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; background: #081b31; border: 1px solid #31577d; border-radius: 7px; }
.goods-ai-descriptions article, .goods-ai-descriptions label { min-width: 0; padding: 12px; }
.goods-ai-descriptions article { display: grid; align-content: start; gap: 7px; border-right: 1px solid #31577d; }
.goods-ai-descriptions strong { color: #eef5fb; font-size: .68rem; line-height: 1.45; }
.goods-ai-descriptions article button { justify-self: start; padding: 0; color: #9fc9eb; background: transparent; border: 0; font-size: .58rem; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }
.goods-ai-descriptions textarea { min-height: 64px; resize: vertical; font-size: .66rem; line-height: 1.4; }
.hs-candidates.is-preliminary { opacity: .7; }
.hs-candidates.is-preliminary:before { content: "Voorlopige kandidaten"; grid-column: 1 / -1; color: #7892ad; font-size: .54rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.value-field { grid-template-rows: auto 45px; }

/* Product marketing pages */
.marketing-main { width: min(1500px, 100%); padding-top: clamp(36px, 5vw, 78px); }
.marketing-hero { min-height: 610px; display: grid; grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.marketing-hero__copy h1, .ai-hero h1 { max-width: 780px; margin: 16px 0 22px; color: var(--ink); font-size: clamp(3rem, 5.7vw, 5.9rem); line-height: .94; letter-spacing: -.058em; }
.marketing-hero__copy > p, .ai-hero > div > p { max-width: 670px; margin: 0; color: #536a81; font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.65; }
.marketing-actions { display: flex; align-items: center; gap: 22px; margin: 30px 0 38px; }
.marketing-actions .primary-action, .showcase-split .primary-action, .marketing-cta .primary-action, .ai-hero .primary-action { display: inline-flex; width: auto; text-decoration: none; }
.text-link { color: #1c4167; font-size: .78rem; font-weight: 850; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.trust-strip { display: flex; flex-wrap: wrap; gap: 0; margin: 0; }
.trust-strip div { min-width: 145px; padding: 0 20px; border-left: 1px solid #bfccda; }
.trust-strip div:first-child { padding-left: 0; border-left: 0; }
.trust-strip dt { color: #7c8fa4; font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.trust-strip dd { margin: 6px 0 0; color: var(--ink); font-size: .84rem; font-weight: 900; }
.product-capture {
  position: relative;
  overflow: hidden;
  background: #07182c;
  border: 1px solid #315a82;
  border-radius: 18px;
  box-shadow: 0 34px 78px rgba(7,24,44,.24);
}
.product-capture:before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.045);
}
.product-capture img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .45s ease; }
.product-capture--planner { aspect-ratio: 16 / 10.2; transform: rotate(.65deg); }
.product-capture--planner img { transform: scale(1.12); transform-origin: 72% 38%; }
.product-capture--route { aspect-ratio: 16 / 10; }
.product-capture--route img { transform: scale(1.13); transform-origin: 48% 52%; }
.product-capture:hover img { transform: scale(1.17); }
.product-capture--route:hover img { transform: scale(1.18); }
.product-stage { overflow: hidden; color: #dce8f4; background: linear-gradient(145deg, #102e50, #07182c 72%); border: 1px solid #315a82; border-radius: 20px; box-shadow: 0 35px 80px rgba(7,24,44,.25); transform: rotate(1deg); }
.stage-top { min-height: 56px; display: flex; justify-content: space-between; align-items: center; padding: 0 22px; border-bottom: 1px solid #315174; font-size: .68rem; font-weight: 850; letter-spacing: .06em; }
.stage-top b { padding: 6px 9px; color: var(--green); background: rgba(83,209,165,.1); border-radius: 99px; text-transform: uppercase; }
.stage-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(210px, .85fr); }
.stage-request, .stage-quote { min-height: 390px; padding: clamp(24px, 4vw, 46px); }
.stage-request { border-right: 1px solid #315174; }
.stage-request > span, .stage-quote > small { color: var(--orange); font-size: .62rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.stage-request h2 { margin: 12px 0 34px; color: #fff; font-size: clamp(1.7rem, 3vw, 3rem); }
.stage-field { display: grid; gap: 8px; padding: 16px; background: #081b31; border: 1px solid #31577d; border-radius: 8px; }
.stage-field small { color: #7892ad; font-size: .58rem; text-transform: uppercase; }
.stage-field b { font-size: .76rem; line-height: 1.5; }
.stage-ai { display: grid; grid-template-columns: 36px 1fr; gap: 12px; align-items: center; margin-top: 12px; padding: 14px; background: rgba(255,133,38,.08); border: 1px solid rgba(255,133,38,.38); border-radius: 8px; }
.stage-ai i { display: grid; place-items: center; width: 36px; height: 36px; color: #10243b; background: var(--orange-2); border-radius: 50%; font-size: .65rem; font-style: normal; font-weight: 950; }
.stage-ai div { display: grid; gap: 3px; }
.stage-ai b { font-size: .7rem; }
.stage-ai small { color: #8ca5bd; font-size: .6rem; line-height: 1.4; }
.stage-quote { display: grid; align-content: center; }
.stage-quote > strong { margin: 9px 0 25px; color: #fff; font-size: clamp(2rem, 4vw, 4.2rem); line-height: .95; }
.stage-quote dl { display: grid; gap: 8px; margin: 0; }
.stage-quote dl div { padding: 13px; border: 1px solid #31577d; }
.stage-quote dt { color: #7892ad; font-size: .55rem; text-transform: uppercase; }
.stage-quote dd { margin: 5px 0 0; color: #fff; font-size: .7rem; font-weight: 850; }
.stage-progress { display: grid; grid-template-columns: repeat(4, 1fr) auto; align-items: center; gap: 0; min-height: 60px; padding: 0 22px; border-top: 1px solid #315174; }
.stage-progress i { height: 2px; background: #31577d; }
.stage-progress i:first-child, .stage-progress i:nth-child(2) { background: var(--green); }
.stage-progress span { margin-left: 16px; color: #8da7bf; font-size: .59rem; font-weight: 800; }
.marketing-section { padding: clamp(74px, 9vw, 125px) 0; }
.section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 450px); gap: 50px; align-items: end; margin-bottom: 45px; }
.section-heading h2, .showcase-split h2, .marketing-cta h2, .ai-boundary h2 { max-width: 900px; margin: 10px 0 0; color: var(--ink); font-size: clamp(2.3rem, 4.7vw, 5rem); line-height: .98; letter-spacing: -.055em; }
.section-heading p { margin: 0; color: #61758a; line-height: 1.65; }
.capability-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #c7d4e1; background: rgba(255,255,255,.58); }
.capability-grid article { min-height: 340px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid #c7d4e1; }
.capability-grid article:last-child { border-right: 0; }
.capability-grid article > b { color: var(--orange); font-size: 1.6rem; }
.capability-grid article > span { margin-top: 46px; color: #76899d; font-size: .61rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.capability-grid h3 { margin: 10px 0; color: var(--ink); font-size: 1.25rem; line-height: 1.15; }
.capability-grid p { margin: 0; color: #667b90; font-size: .78rem; line-height: 1.65; }
.capability-grid a { margin-top: auto; color: #244d75; font-size: .7rem; font-weight: 850; text-decoration: none; }
.showcase-split { display: grid; grid-template-columns: minmax(500px, 1.08fr) minmax(0, .92fr); gap: clamp(50px, 8vw, 120px); align-items: center; padding: 55px 0 115px; }
.showcase-split > div:last-child > p { max-width: 560px; color: #60758a; line-height: 1.7; }
.map-showcase { position: relative; min-height: 510px; overflow: hidden; background: #07182c; border: 1px solid #31577d; border-radius: 18px; box-shadow: 0 30px 70px rgba(7,24,44,.22); }
.map-grid { position: absolute; inset: 0; opacity: .3; background: radial-gradient(circle at 28% 32%, #1f527d 0 3%, transparent 4%), radial-gradient(circle at 78% 46%, #1f527d 0 3%, transparent 4%), linear-gradient(#214363 1px, transparent 1px), linear-gradient(90deg,#214363 1px, transparent 1px); background-size: auto, auto, 52px 52px, 52px 52px; }
.map-showcase svg { position: absolute; inset: 12% 5%; width: 90%; height: 76%; overflow: visible; }
.map-showcase path { fill: none; stroke-width: 5; stroke-linecap: round; stroke-dasharray: 9 10; }
.route-road { stroke: var(--orange); }
.route-sea { stroke: #54aff1; }
.map-showcase circle { fill: #07182c; stroke: #98b3cc; stroke-width: 5; }
.map-label { position: absolute; padding: 6px 9px; color: #eaf3fa; background: #102e4d; border: 1px solid #42688f; border-radius: 5px; font-size: .62rem; font-weight: 850; }
.map-label--a { left: 9%; top: 22%; }.map-label--b { left: 43%; top: 45%; }.map-label--c { right: 7%; top: 36%; }
.feature-list { display: grid; gap: 12px; margin: 28px 0 34px; padding: 0; list-style: none; }
.feature-list li { position: relative; padding-left: 24px; color: #29435d; font-size: .82rem; font-weight: 750; }
.feature-list li:before { content: "✓"; position: absolute; left: 0; color: #128a67; font-weight: 950; }
.marketing-cta { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; padding: clamp(34px, 5vw, 70px); color: #dce8f4; background: var(--ink); border-radius: 18px; box-shadow: var(--shadow); }
.marketing-cta h2 { color: #fff; }
.marketing-cta p { margin: 16px 0 0; color: #8ea5bf; }
.intelligence-showcase { display: grid; grid-template-columns: minmax(410px, .86fr) minmax(0, 1.14fr); gap: clamp(54px, 8vw, 120px); align-items: center; padding: 20px 0 120px; }
.intelligence-showcase__copy h2 { margin: 12px 0 20px; color: var(--ink); font-size: clamp(2.7rem, 5vw, 5.3rem); line-height: .95; letter-spacing: -.055em; }
.intelligence-showcase__copy > p { max-width: 700px; margin: 0 0 28px; color: #536e85; font-size: 1rem; line-height: 1.75; }
.intelligence-showcase__copy > .primary-action { display: inline-flex; width: auto; margin-top: 26px; text-decoration: none; }
.cargo-visual-story { position: relative; min-height: 560px; display: grid; align-content: center; overflow: hidden; padding: 46px; color: #dce9f5; background: radial-gradient(circle at 50% 38%, rgba(255,145,55,.18), transparent 33%), linear-gradient(145deg, #102f50, #07182c 70%); border: 1px solid #315a82; border-radius: 20px; box-shadow: 0 34px 78px rgba(7,24,44,.22); }
.cargo-visual-story:before { content: ""; position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(104,151,190,.32) 1px, transparent 1px), linear-gradient(90deg, rgba(104,151,190,.32) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(to bottom, transparent, #000 40%); }
.cargo-visual-story__label { position: relative; z-index: 1; color: var(--orange-2); font-size: .73rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.cargo-visual-story img { position: relative; z-index: 1; width: min(100%, 430px); margin: 12px auto 4px; filter: drop-shadow(0 28px 26px rgba(0,0,0,.34)); }
.cargo-visual-story dl { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border: 1px solid #31577e; background: rgba(8,27,49,.72); }
.cargo-visual-story dl div { padding: 14px; border-right: 1px solid #31577e; }
.cargo-visual-story dl div:last-child { border-right: 0; }
.cargo-visual-story dt { color: #8da7bf; font-size: .64rem; text-transform: uppercase; }
.cargo-visual-story dd { margin: 5px 0 0; color: #fff; font-weight: 900; }
.intelligence-cards { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #c6d5e1; border-bottom: 1px solid #c6d5e1; }
.intelligence-cards article { min-width: 0; padding: 24px 22px 24px 0; border-right: 1px solid #c6d5e1; }
.intelligence-cards article + article { padding-left: 22px; }
.intelligence-cards article:last-child { border-right: 0; }
.intelligence-cards span { color: #d65e00; font-size: .66rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.intelligence-cards h3 { margin: 10px 0 8px; color: var(--ink); font-size: 1.02rem; line-height: 1.25; }
.intelligence-cards p { margin: 0; color: #617a90; font-size: .78rem; line-height: 1.65; }
.ai-hero { min-height: 650px; display: grid; grid-template-columns: minmax(0, .95fr) minmax(480px, 1.05fr); gap: clamp(50px, 8vw, 120px); align-items: center; }
.ai-hero h1 { font-size: clamp(3rem, 6vw, 6rem); }
.ai-hero .primary-action { margin-top: 28px; }
.ai-example { display: grid; gap: 13px; padding: clamp(28px, 5vw, 56px); color: #dce8f4; background: linear-gradient(145deg, #102e50, #07182c 72%); border: 1px solid #315a82; border-radius: 18px; box-shadow: var(--shadow); }
.ai-example > span { color: #7f99b2; font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ai-example > p { margin: 0 0 15px; color: #fff; font-size: 1.25rem; font-weight: 850; }
.ai-question { padding: 18px; background: rgba(255,133,38,.08); border: 1px solid rgba(255,133,38,.4); border-radius: 8px; }
.ai-question b { color: var(--orange-2); font-size: .66rem; text-transform: uppercase; }
.ai-question p { margin: 7px 0 0; font-size: .76rem; line-height: 1.6; }
.ai-output { display: grid; gap: 8px; padding: 18px; background: #081b31; border: 1px solid #31577d; border-radius: 8px; }
.ai-output small { color: #7993ad; text-transform: uppercase; }
.ai-output strong { color: #fff; font-size: .84rem; line-height: 1.5; }
.ai-output span { justify-self: start; padding: 5px 8px; color: #10243b; background: var(--green); border-radius: 99px; font-size: .6rem; font-weight: 900; }
.ai-process { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 0; padding: 1px; background: #c6d3e0; list-style: none; }
.ai-process li { min-height: 270px; display: grid; grid-template-columns: 48px 1fr; gap: 20px; padding: 34px; background: rgba(255,255,255,.78); }
.ai-process li > b { color: var(--orange); font-size: 1.2rem; }
.ai-process span, .boundary-grid span { color: #74899e; font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.ai-process h3 { margin: 10px 0; color: var(--ink); font-size: 1.4rem; }
.ai-process p { margin: 0; color: #60758a; line-height: 1.65; }
.proof-section { padding: 0 0 120px; }
.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #c5d3df; background: rgba(255,255,255,.54); }
.proof-grid article { min-height: 330px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid #c5d3df; }
.proof-grid article:last-child { border-right: 0; }
.proof-grid b { color: var(--orange); font-size: 1.45rem; }
.proof-grid span, .technology-stack span, .evidence-sources a span { margin-top: 34px; color: #73899d; font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.proof-grid h3 { margin: 10px 0; color: var(--ink); font-size: 1.2rem; line-height: 1.25; }
.proof-grid p { margin: 0; color: #5f768b; font-size: .8rem; line-height: 1.7; }
.technology-section { display: grid; grid-template-columns: minmax(0, .72fr) minmax(520px, 1.28fr); gap: clamp(50px, 8vw, 120px); align-items: start; padding: 70px 0 125px; border-top: 1px solid #c7d5e1; }
.technology-section h2, .evidence-sources h2 { margin: 12px 0 18px; color: var(--ink); font-size: clamp(2.5rem, 4.6vw, 4.8rem); line-height: .96; letter-spacing: -.05em; }
.technology-section > div:first-child p { color: #5c748a; line-height: 1.75; }
.technology-stack { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #c5d3df; }
.technology-stack article { min-height: 220px; padding: 24px; background: rgba(255,255,255,.65); border-right: 1px solid #c5d3df; border-bottom: 1px solid #c5d3df; }
.technology-stack article:nth-child(even) { border-right: 0; }
.technology-stack article:nth-last-child(-n+2) { border-bottom: 0; }
.technology-stack span { display: block; margin-top: 0; color: #d65f00; }
.technology-stack strong { display: block; margin-top: 14px; color: var(--ink); font-size: 1.05rem; }
.technology-stack p { margin: 9px 0 0; color: #61798e; font-size: .78rem; line-height: 1.65; }
.evidence-sources { display: grid; grid-template-columns: minmax(300px, .7fr) 1.3fr; gap: clamp(40px, 7vw, 100px); padding: 64px; color: #dce8f4; background: linear-gradient(145deg, #102f50, #07182c 72%); border: 1px solid #31577d; border-radius: 18px; box-shadow: var(--shadow); }
.evidence-sources h2 { color: #fff; }
.evidence-sources > div:last-child { display: grid; }
.evidence-sources a { display: grid; grid-template-columns: 70px 1fr auto; gap: 16px; align-items: center; padding: 18px 0; color: inherit; border-bottom: 1px solid #31577d; text-decoration: none; }
.evidence-sources a:last-child { border-bottom: 0; }
.evidence-sources a span { margin: 0; color: var(--orange-2); }
.evidence-sources a strong { color: #fff; }
.evidence-sources a small { color: #8ea7be; text-align: right; }
.ai-boundary { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px, 8vw, 120px); align-items: start; padding: 40px 0 130px; }
.boundary-grid { display: grid; border: 1px solid #c5d2df; }
.boundary-grid article { padding: 25px; background: rgba(255,255,255,.66); border-bottom: 1px solid #c5d2df; }
.boundary-grid article:last-child { border-bottom: 0; }
.boundary-grid p { margin: 9px 0 0; color: #576f86; line-height: 1.6; }

/* Calm intake flow and user theme preference */
.header-tools { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.theme-toggle {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 12px;
  color: #c9d7e6;
  background: #102d4c;
  border: 1px solid #365b82;
  border-radius: 99px;
  font-size: .68rem;
  font-weight: 850;
}
.theme-toggle span { display: grid; place-items: center; width: 20px; height: 20px; color: var(--orange-2); font-size: .9rem; }
.theme-toggle:hover { color: #fff; border-color: #6d8eaf; }
.flow-step[hidden], [data-request-only][hidden], [data-cargo-insight][hidden], .form-actions[hidden], .quote-result[hidden] { display: none !important; }
.flow-step { animation: flow-step-in .24s ease both; }
@keyframes flow-step-in { from { opacity: 0; transform: translateY(5px); } }
.quote-form .flow-step:last-of-type { margin-bottom: 0; }
.amendment-guidance {
  display: grid;
  gap: 7px;
  margin: 0 0 24px;
  padding: 18px 20px;
  color: #eff6fb;
  background: rgba(255, 133, 38, .08);
  border: 1px solid rgba(255, 133, 38, .55);
  border-left: 5px solid var(--orange);
  border-radius: 8px;
}
.amendment-guidance[hidden] { display: none; }
.amendment-guidance__eyebrow {
  margin: 0;
  color: var(--orange-2);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.amendment-guidance h3 { margin: 0; color: #fff; font-size: 1.25rem; }
.amendment-guidance p { margin: 0; color: #b1c4d5; line-height: 1.55; }
.amendment-guidance ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 5px 0 0;
  padding: 0;
  list-style: none;
}
.amendment-guidance li {
  padding: 6px 10px;
  color: #eff6fb;
  background: #0c2744;
  border: 1px solid rgba(255, 133, 38, .45);
  border-radius: 999px;
  font-size: .74rem;
  font-weight: 800;
}
.amendment-guidance__help { margin-top: 5px !important; font-size: .73rem; }
.needs-followup { outline: 2px solid var(--orange); outline-offset: 4px; border-radius: 7px; }
.flow-step.is-complete legend:after {
  content: "Ingevuld";
  float: right;
  padding: 4px 8px;
  color: #b9d7ce;
  background: rgba(83,209,165,.08);
  border: 1px solid rgba(83,209,165,.32);
  border-radius: 99px;
  font-size: .52rem;
  letter-spacing: .04em;
  text-transform: none;
}
.flow-step__intro { margin: -5px 0 3px; color: #7d96b0; font-size: .7rem; line-height: 1.55; }
.flow-step__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px solid #294b6d;
}
.flow-step__action > span { color: #718ca7; font-size: .62rem; line-height: 1.4; }
.flow-next {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  color: #13243a;
  background: var(--orange-2);
  border: 0;
  border-radius: 6px;
  font-size: .68rem;
  font-weight: 900;
}
.flow-next:disabled { color: #718ba4; background: #173653; cursor: not-allowed; opacity: .7; }
.quote-layout,
.quote-layout.has-result { grid-template-columns: minmax(0, 1.42fr) minmax(310px, .58fr); }
.quote-form [data-intake-step="type"] .request-type-field { max-width: 720px; }
.goods-total {
  width: min(100%, 560px);
  grid-template-columns: minmax(170px, 220px) minmax(220px, 1fr);
  justify-self: start;
  padding: 6px 8px;
}
.goods-total label { gap: 4px; }
.goods-total select { min-height: 38px; }
.goods-total > div { padding: 3px 8px; }
.goods-total strong { font-size: .88rem; }
.cargo-insight { margin-top: 5px; }

html[data-request-type="estimate"] [data-request-only] { display: none !important; }

html[data-theme="light"] body {
  color: #193049;
  background:
    linear-gradient(rgba(20,58,91,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,58,91,.035) 1px, transparent 1px),
    #f2f5f8;
  background-size: 32px 32px;
}
html[data-theme="light"] .app-header {
  color: #10263d;
  background: rgba(255,255,255,.96);
  border-bottom-color: #d5e0e9;
  box-shadow: 0 8px 30px rgba(19,45,70,.07);
}
html[data-theme="light"] .brand-logo--dark { display: none !important; }
html[data-theme="light"] .brand-logo--light { display: block !important; filter: none; }
html[data-theme="light"] .site-nav a { color: #536a80; }
html[data-theme="light"] .site-nav a:hover { color: #10263d; border-color: #cbd9e4; }
html[data-theme="light"] .site-nav a.is-active { color: #10263d; background: #edf3f8; border-color: #b9ccdc; }
html[data-theme="light"] .network-state span { color: #243d55; }
html[data-theme="light"] .network-state small { color: #788c9f; }
html[data-theme="light"] .theme-toggle { color: #365169; background: #f5f8fb; border-color: #c7d5e0; }
html[data-theme="light"] .theme-toggle:hover { color: #10263d; border-color: #91a9bd; }
html[data-theme="light"] .planner-module { background: #fff; border-color: #c8d7e3; box-shadow: 0 24px 60px rgba(20,50,78,.12); }
html[data-theme="light"] .module-nav { background: #f8fafc; border-bottom-color: #d4e0e9; }
html[data-theme="light"] .module-nav:before { color: #6b8296; }
html[data-theme="light"] .primary-nav button { color: #587087; }
html[data-theme="light"] .primary-nav button:hover { color: #10263d; border-color: #c1d1dd; }
html[data-theme="light"] .primary-nav button.is-active { color: #10263d; background: #fff; border-color: #aac0d2; box-shadow: 0 5px 16px rgba(23,53,80,.08); }
html[data-theme="light"] .primary-nav button span { color: #45627c; background: #e2ebf2; }
html[data-theme="light"] .app-shell { color: #20384f; background: #fff; border-color: #d4e0e9; }
html[data-theme="light"] .shipment-rail { background: #f4f7fa; border-right-color: #d4e0e9; }
html[data-theme="light"] .rail-title { border-bottom-color: #d4e0e9; }
html[data-theme="light"] .rail-title span { color: #70869a; }
html[data-theme="light"] .rail-title strong { color: #10263d; }
html[data-theme="light"] .progress-steps li { color: #71869a; }
html[data-theme="light"] .progress-steps li:hover { color: #173550; background: #eaf1f6; border-color: #cad8e3; }
html[data-theme="light"] .progress-steps li.is-current { color: #10263d; background: #fff; border-color: #b8ccdc; }
html[data-theme="light"] .progress-steps b { border-color: #a9bccb; }
html[data-theme="light"] .progress-steps small { color: #71869a; }
html[data-theme="light"] .rail-summary { background: #fff; border-color: #d2dee7; }
html[data-theme="light"] .rail-summary span, html[data-theme="light"] .rail-summary p { color: #71879b; }
html[data-theme="light"] .rail-summary strong { color: #10263d; }
html[data-theme="light"] .secondary-action { color: #36536e; border-color: #b8cad8; }
html[data-theme="light"] .secondary-action:hover { color: #10263d; background: #edf3f7; border-color: #8fa9bd; }
html[data-theme="light"] .product-view { color: #20384f; background: radial-gradient(circle at 92% 0, rgba(84,130,170,.08), transparent 32%), #fbfcfe; }
html[data-theme="light"] .view-heading h2 { color: #10263d; }
html[data-theme="light"] .view-heading p { color: #637b91; }
html[data-theme="light"] .quote-form,
html[data-theme="light"] .quote-result,
html[data-theme="light"] .document-toolbar,
html[data-theme="light"] .document-list,
html[data-theme="light"] .evidence-panel,
html[data-theme="light"] .route-map,
html[data-theme="light"] .milestone-panel,
html[data-theme="light"] .exception-board,
html[data-theme="light"] .release-panel,
html[data-theme="light"] .incident-control,
html[data-theme="light"] .communication-log,
html[data-theme="light"] .shipment-overview,
html[data-theme="light"] .shipment-hero-card,
html[data-theme="light"] .shipment-actions,
html[data-theme="light"] .shipment-detail-panel {
  color: #20384f;
  background: #fff;
  border-color: #d2dee7;
}
html[data-theme="light"] .quote-form fieldset { border-bottom-color: #d7e2ea; }
html[data-theme="light"] .quote-form legend { color: #18334d; }
html[data-theme="light"] label > span { color: #526b82; }
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  color: #142d45;
  background-color: #fff;
  border-color: #c4d3df;
}
html[data-theme="light"] select option,
html[data-theme="light"] select optgroup { color: #142d45; background: #fff; }
html[data-theme="light"] select { color-scheme: light; }
html[data-theme="light"] input:hover,
html[data-theme="light"] select:hover,
html[data-theme="light"] textarea:hover { border-color: #89a5ba; }
html[data-theme="light"] .input-affix,
html[data-theme="light"] .location-input,
html[data-theme="light"] .input-composite { color: #536e86; background: #fff; border-color: #c4d3df; }
html[data-theme="light"] .location-input b { color: #6d8498; }
html[data-theme="light"] .location-suggestions {
  color: #1c3851;
  background: #fff;
  border-color: #bdcedb;
  box-shadow: 0 18px 42px rgba(25,55,82,.18);
}
html[data-theme="light"] .location-suggestions button {
  color: #1c3851;
  background: #fff;
  border-bottom-color: #dce5ec;
}
html[data-theme="light"] .location-suggestions button:hover,
html[data-theme="light"] .location-suggestions button:focus-visible { background: #edf4f8; }
html[data-theme="light"] .location-suggestions button span { color: #18344d; }
html[data-theme="light"] .location-suggestions button small { color: #607a90; }
html[data-theme="light"] .location-suggestions button > small { color: #526f88; }
html[data-theme="light"] .location-suggestions button em { color: #758da1; }
html[data-theme="light"] .location-suggestions .location-empty { color: #607a90; }
html[data-theme="light"] .location-input.needs-full-address { border-color: #d56c24; }
html[data-theme="light"] .request-type-field { background: #fff8f1; border-color: #efc49e; }
html[data-theme="light"] .request-type-field > small,
html[data-theme="light"] .flow-step__intro,
html[data-theme="light"] .flow-step__action > span { color: #647b90; }
html[data-theme="light"] .address-book-bar,
html[data-theme="light"] .goods-toolbar,
html[data-theme="light"] .goods-item,
html[data-theme="light"] .handling-disclosure,
html[data-theme="light"] .cargo-insight,
html[data-theme="light"] .quote-basis div,
html[data-theme="light"] .result-reason,
html[data-theme="light"] .shipment-filters,
html[data-theme="light"] .customer-message,
html[data-theme="light"] .incident-workspace,
html[data-theme="light"] .review-summary {
  color: #20384f;
  background: #f7f9fb;
  border-color: #d0dde7;
}
html[data-theme="light"] .address-book-bar label,
html[data-theme="light"] .goods-item header { background: #eef4f8; border-color: #d0dde7; }
html[data-theme="light"] .goods-item header strong,
html[data-theme="light"] .goods-total strong,
html[data-theme="light"] .cargo-metrics > strong,
html[data-theme="light"] .result-placeholder strong,
html[data-theme="light"] .result-mode,
html[data-theme="light"] .result-kpis dd,
html[data-theme="light"] .shipment-overview__toolbar > div:first-child strong,
html[data-theme="light"] .shipment-overview__metrics strong,
html[data-theme="light"] .shipment-row b,
html[data-theme="light"] .shipment-detail-heading h2,
html[data-theme="light"] .shipment-stage strong,
html[data-theme="light"] .document-item strong,
html[data-theme="light"] .document-next strong,
html[data-theme="light"] .evidence-panel h3,
html[data-theme="light"] .release-panel > h3 { color: #142d45; }
html[data-theme="light"] .goods-total { background: #f5faf8; border-color: #cbded6; }
html[data-theme="light"] .goods-total > div { border-color: #cfddd7; }
html[data-theme="light"] .goods-add,
html[data-theme="light"] .goods-save,
html[data-theme="light"] .goods-remove {
  color: #294b68;
  background: #fff;
  border-color: #9fb6c8;
}
html[data-theme="light"] .goods-add:hover,
html[data-theme="light"] .goods-save:hover,
html[data-theme="light"] .goods-remove:hover {
  color: #10243b;
  background: #ffe1bd;
  border-color: var(--orange);
}
html[data-theme="light"] .goods-hs-input button { color: #10243b; background: #ffc17d; border-color: #e99848; }
html[data-theme="light"] .insurance-option {
  color: #20384f;
  background: #f7fafc;
  border-color: #cad9e4;
}
html[data-theme="light"] .insurance-option.is-selected { background: #f0faf6; border-color: #9fcfbd; }
html[data-theme="light"] .insurance-option__choice strong { color: #18344d; }
html[data-theme="light"] .insurance-option__choice small,
html[data-theme="light"] .insurance-option__price small,
html[data-theme="light"] .insurance-option__price > span { color: #637b91; }
html[data-theme="light"] .insurance-option__price { border-color: #cad9e4; }
html[data-theme="light"] .insurance-option__price strong { color: #b65312; }
html[data-theme="light"] .insurance-option > a { color: #315f84; }
html[data-theme="light"] .handling-disclosure summary > span { color: #29445d; }
html[data-theme="light"] .handling-disclosure summary small { color: #657c91; }
html[data-theme="light"] .handling-options span { color: #365169; background: #fff; border-color: #c5d4df; }
html[data-theme="light"] .cargo-metrics dl,
html[data-theme="light"] .result-kpis,
html[data-theme="light"] .shipment-detail-kpis { border-color: #ccd9e3; }
html[data-theme="light"] .cargo-metrics dl div,
html[data-theme="light"] .result-kpis div,
html[data-theme="light"] .shipment-detail-kpis div { border-color: #d2dee7; }
html[data-theme="light"] .cargo-metrics dt,
html[data-theme="light"] .result-kpis dt,
html[data-theme="light"] .quote-basis dt { color: #6b8195; }
html[data-theme="light"] .cargo-metrics dd,
html[data-theme="light"] .quote-basis dd,
html[data-theme="light"] .result-reason summary,
html[data-theme="light"] .result-reason ul { color: #29445d; }
html[data-theme="light"] .cargo-preview {
  background:
    radial-gradient(circle at 56% 31%, rgba(255,174,94,.2), transparent 38%),
    linear-gradient(155deg, #f9fbfd, #eaf1f6);
  border-color: #c7d7e2;
}
html[data-theme="light"] .cargo-preview__grid {
  background:
    linear-gradient(rgba(70,106,137,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(70,106,137,.12) 1px, transparent 1px);
  background-size: 22px 22px;
}
html[data-theme="light"] .cargo-preview__scene img { filter: drop-shadow(0 16px 18px rgba(33,58,79,.18)); }
html[data-theme="light"] .cargo-dimension { color: #3d5a72; }
html[data-theme="light"] .cargo-dimension--height,
html[data-theme="light"] .cargo-dimension--footprint { background: rgba(255,255,255,.88); border: 1px solid #ccd9e3; }
html[data-theme="light"] .cargo-dimension:before,
html[data-theme="light"] .cargo-dimension:after { background: #7f9bb0; }
html[data-theme="light"] .cargo-preview__caption { color: #607c92; }
html[data-theme="light"] .flow-step.is-complete legend:after { color: #2d6455; background: #eff8f4; border-color: #afd3c6; }
html[data-theme="light"] .flow-step__action { border-top-color: #d5e1e9; }
html[data-theme="light"] .flow-next:disabled { color: #8497a8; background: #e5ecf1; }
html[data-theme="light"] .hs-assistant {
  color: #20384f;
  background: linear-gradient(120deg, #fff8f1, #f6f9fb 68%);
  border-color: #cbd9e3;
  border-left-color: var(--orange);
}
html[data-theme="light"] .hs-assistant__head strong,
html[data-theme="light"] .hs-loading strong,
html[data-theme="light"] .goods-ai-question > strong,
html[data-theme="light"] .goods-ai-descriptions strong { color: #17334c; }
html[data-theme="light"] .hs-assistant__footer span,
html[data-theme="light"] .hs-candidates button span,
html[data-theme="light"] .hs-candidates button small,
html[data-theme="light"] .hs-loading span { color: #61798f; }
html[data-theme="light"] .hs-candidates button,
html[data-theme="light"] .goods-ai-descriptions {
  color: #20384f;
  background: #fff;
  border-color: #cbd9e3;
}
html[data-theme="light"] .hs-candidates button.is-selected { background: #fff7ee; border-color: var(--orange); }
html[data-theme="light"] .goods-ai-question { color: #20384f; background: #fff8f1; border-color: #efc49e; }
html[data-theme="light"] .goods-ai-options button { color: #29445d; background: #fff; border-color: #b8cad8; }
html[data-theme="light"] .goods-ai-descriptions article { border-color: #cbd9e3; }
html[data-theme="light"] .hs-reference { color: #315f84; }
html[data-theme="light"] .quote-result { background: linear-gradient(180deg, #fff, #f6f9fb); border-top: 3px solid var(--orange); }
html[data-theme="light"] .quote-actions .secondary-action { color: #294b68; background: #fff; border-color: #9fb6c8; }
html[data-theme="light"] .result-preference { background: #f2f6f9; border-color: #cbd9e3; }
html[data-theme="light"] .result-preference span { color: #6b8195; }
html[data-theme="light"] .result-preference strong { color: #243f56; }
html[data-theme="light"] .comparison-row:hover, html[data-theme="light"] .comparison-row:focus-visible { color: #17334c; background: #edf3f7; border-color: #b8cad8; }
html[data-theme="light"] .result-placeholder:before { border-color: #b7cad9; background: radial-gradient(circle, rgba(255,133,38,.12), transparent 64%); box-shadow: inset 0 0 0 15px #f6f9fb, inset 0 0 0 16px #c5d5e1; }
html[data-theme="light"] .result-placeholder p,
html[data-theme="light"] .result-content > p,
html[data-theme="light"] .comparison-row { color: #61798f; }
html[data-theme="light"] .comparison-row.is-best { color: #18344e; }
html[data-theme="light"] .comparison-row i { background: #d7e2ea; }
html[data-theme="light"] .shipment-table__head { color: #657d92; background: #f0f5f8; border-color: #d2dee7; }
html[data-theme="light"] .shipment-row { color: #29445d; border-color: #d7e2e9; }
html[data-theme="light"] .shipment-row:hover { background: #f3f7fa; }
html[data-theme="light"] .shipment-row small { color: #70869a; }
html[data-theme="light"] .shipment-row__status,
html[data-theme="light"] .shipment-status { color: #456078; background: #edf3f7; border-color: #bfd0dc; }
html[data-theme="light"] .shipment-detail-heading > button { color: #294b68; background: #fff; border-color: #b8cad8; }
html[data-theme="light"] .shipment-detail-heading > button:hover { color: #10263d; background: #edf3f7; border-color: #8fa9bd; }
html[data-theme="light"] .shipment-detail-heading p,
html[data-theme="light"] .shipment-stage p { color: #60798f; }
html[data-theme="light"] .shipment-hero-card {
  background: linear-gradient(120deg, #fff8f1, #fff 46%, #f3f8fb);
  border-color: #cbd9e3;
}
html[data-theme="light"] .shipment-detail-map-card { background: #fff; border-color: #c7d6e1; }
html[data-theme="light"] .shipment-detail-map { border-color: #c7d6e1; }
html[data-theme="light"] .shipment-detail-map .leaflet-tile-pane { filter: saturate(.9) contrast(1.03); }
html[data-theme="light"] .shipment-detail-map .leaflet-control-attribution { color: #607b91; background: rgba(255,255,255,.88); }
html[data-theme="light"] .shipment-detail-kpis dt { color: #657d92; }
html[data-theme="light"] .shipment-detail-kpis dd { color: #17334c; }
html[data-theme="light"] .shipment-progress span { color: #657d92; }
html[data-theme="light"] .shipment-progress span:before { background: #c8d6e1; }
html[data-theme="light"] .shipment-progress span:after { background: #fff; border-color: #86a0b5; }
html[data-theme="light"] .shipment-progress span.is-complete { color: #17664e; font-weight: 900; }
html[data-theme="light"] .shipment-progress span.is-complete:before,
html[data-theme="light"] .shipment-progress span.is-complete:after {
  color: #fff;
  background: #43c99d;
  border-color: #43c99d;
}
html[data-theme="light"] .shipment-progress span.is-current { color: #9c4700; font-weight: 950; }
html[data-theme="light"] .shipment-progress span.is-current:after {
  background: var(--orange);
  border-color: #fff;
  box-shadow: 0 0 0 6px rgba(255, 133, 38, .22);
}
html[data-theme="light"] .shipment-actions button:hover { color: #17334c; background: #edf3f7; border-color: #9fb6c8; }
html[data-theme="light"] .shipment-actions b,
html[data-theme="light"] .shipment-detail-panel dd,
html[data-theme="light"] .shipment-plan b { color: #17334c; }
html[data-theme="light"] .shipment-actions small,
html[data-theme="light"] .shipment-detail-panel dt,
html[data-theme="light"] .shipment-detail-panel .board-head small,
html[data-theme="light"] .shipment-plan span,
html[data-theme="light"] .shipment-plan small { color: #61798f; }
html[data-theme="light"] .shipment-detail-panel dl div { border-color: #d2dee7; }
html[data-theme="light"] .shipment-plan article { background: #f5f8fa; border-color: #d0dde6; }
html[data-theme="light"] .shipment-plan i { color: #31536f; background: #e2ebf2; }
html[data-theme="light"] .document-item { border-color: #d4e0e8; }
html[data-theme="light"] .document-item p,
html[data-theme="light"] .evidence-panel > p,
html[data-theme="light"] .release-panel > p { color: #647b90; }
html[data-theme="light"] .document-guidance { color: #526d84; background: #fff8f1; border-color: #f1a766; }
html[data-theme="light"] .document-guidance strong { color: #17334c; }
html[data-theme="light"] .document-next { background: #f3f7fa; border-color: #c7d7e2; }
html[data-theme="light"] .document-next__state { color: #587188; background: #e6eef4; border-color: #bfd0dd; }
html[data-theme="light"] .evidence-log p,
html[data-theme="light"] .communication-log li,
html[data-theme="light"] .shipment-actions button { color: #365169; background: #f5f8fa; border-color: #d0dde6; }
html[data-theme="light"] .milestone-head,
html[data-theme="light"] .board-head { border-color: #d0dde6; }
html[data-theme="light"] .milestone-head span,
html[data-theme="light"] .board-head span { color: #60788e; }
html[data-theme="light"] .milestone-panel li strong,
html[data-theme="light"] .exception-item strong,
html[data-theme="light"] .communication-log b { color: #18344d; }
html[data-theme="light"] .milestone-panel li span,
html[data-theme="light"] .exception-item p,
html[data-theme="light"] .communication-log span { color: #687f94; }
html[data-theme="light"] .customer-message p { color: #3e596f; }
html[data-theme="light"] .review-modal__dialog { color: #20384f; background: #fff; border-color: #b9cddb; }
html[data-theme="light"] .review-modal__head h2,
html[data-theme="light"] .review-summary b { color: #17334c; }
html[data-theme="light"] .review-modal__dialog > p,
html[data-theme="light"] .review-summary span,
html[data-theme="light"] .review-confirm span { color: #526d83; }
html[data-theme="light"] .review-summary { background: #f6f9fb; border-color: #cbd9e3; }
html[data-theme="light"] .review-summary article { border-color: #d5e1e9; }
html[data-theme="light"] .review-confirm { background: #f0faf6; border-color: #a9d6c6; }
html[data-theme="light"] .estimate-email-summary { background: #f5f8fa; border-color: #cbd9e3; }
html[data-theme="light"] .estimate-email-summary div { border-color: #cbd9e3; }
html[data-theme="light"] .estimate-email-summary span { color: #6b8195; }
html[data-theme="light"] .estimate-email-summary strong { color: #243f56; }
html[data-theme="light"] .estimate-email-modal form > label > span { color: #405d75; }
html[data-theme="light"] .estimate-email-disclaimer { color: #526d83; background: #fff7ef; border-color: #f3c393; }
html[data-theme="light"] .estimate-email-disclaimer strong { color: #243f56; }
html[data-theme="light"] footer { color: #6f8497; background: #edf2f6; border-color: #d1dde6; }
html[data-theme="light"] footer span { color: #29445d; }

.trade-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
  background: rgba(17, 51, 82, .34);
  border: 1px solid #315579;
  border-radius: 8px;
}
.trade-details .flow-help { grid-column: 1 / -1; margin: 0; }
.party-details, .customs-goods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; padding: 15px; background: rgba(17,47,80,.56); border: 1px solid #31577d; border-radius: 8px; }
.party-details__head { grid-column: 1 / -1; display: grid; gap: 4px; padding-bottom: 8px; border-bottom: 1px solid #31577d; }
.party-details__head span { color: var(--orange); font-size: .63rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.party-details__head strong { color: #f1f6fb; font-size: .95rem; }
.party-details__head p, .customs-goods > small { margin: 0; color: #8da6bd; font-size: .72rem; line-height: 1.5; }
.customs-goods > small { grid-column: 1 / -1; }
.document-owner { display: block; margin: 4px 0; color: #7894ad; font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.document-item.is-draft { border-color: #8c642f; }
.document-item.is-draft .document-item__icon { color: #11253b; background: var(--orange-2); }
.dimensions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(130px, 190px));
  gap: 12px;
  max-width: 594px;
}
.dimension-count { grid-column: 1; grid-row: 1; }
.dimension-weight { grid-column: 2; grid-row: 1; }
.dimension-length { grid-column: 1; grid-row: 2; }
.dimension-width { grid-column: 2; grid-row: 2; }
.dimension-height { grid-column: 3; grid-row: 2; }
.dimensions-grid input { min-height: 42px; }
.hs-assistant-parking { display: contents; }
.goods-items > .hs-assistant { margin: 0 0 10px; }
.shipment-response {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: start;
  padding: 20px;
  background: linear-gradient(130deg, rgba(255,133,38,.12), #102a47 72%);
  border: 1px solid #416589;
  border-left: 4px solid var(--orange);
  border-radius: 8px;
}
.shipment-response[hidden] { display: none; }
.shipment-response__copy { display: grid; gap: 5px; }
.shipment-response__copy span { color: var(--orange); font-size: .62rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.shipment-response__copy strong { color: #fff; font-size: 1.05rem; }
.shipment-response__copy p { margin: 0; color: #9eb3c7; font-size: .72rem; line-height: 1.55; }
.shipment-response__facts { display: grid; gap: 4px; }
.shipment-response__facts b { color: #fff; font-size: .82rem; }
.shipment-response__facts small { color: #829db7; line-height: 1.45; }
.shipment-response__actions { display: grid; gap: 8px; justify-content: start; }
.shipment-response__actions .primary-action,
.shipment-response__actions .secondary-action { width: min(100%, 360px); }
.shipment-progress span.is-complete:after {
  content: "✓";
  top: 0;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: #062d22;
  font-size: .66rem;
  font-weight: 1000;
}
.shipment-progress span.is-current:after {
  top: 0;
  width: 18px;
  height: 18px;
  animation: nexus-status-pulse 1.8s ease-out infinite;
}
@keyframes nexus-status-pulse {
  0% { box-shadow: 0 0 0 0 rgba(255,133,38,.38); }
  70% { box-shadow: 0 0 0 9px rgba(255,133,38,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,133,38,0); }
}

.backoffice-page { background-color: #eef3f7; }
.backoffice-main { width: min(1540px, calc(100% - 64px)); margin: 0 auto; padding: 52px 0 84px; }
.backoffice-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(520px, .9fr);
  gap: 50px;
  align-items: end;
  margin-bottom: 28px;
}
.backoffice-intro h1 { margin: 8px 0 10px; color: #fff; font-size: clamp(2.8rem, 5vw, 5.8rem); line-height: .94; letter-spacing: -.055em; }
.backoffice-intro p { max-width: 720px; margin: 0; color: #8199b0; line-height: 1.65; }
.backoffice-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; border: 1px solid #315579; }
.backoffice-metrics div { padding: 16px; border-right: 1px solid #315579; }
.backoffice-metrics div:last-child { border-right: 0; }
.backoffice-metrics dt { color: #7892ad; font-size: .58rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.backoffice-metrics dd { margin: 6px 0 0; color: #fff; font-size: 1.35rem; font-weight: 850; }
.operations-shell {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  min-height: 760px;
  overflow: hidden;
  background: #0c223b;
  border: 1px solid #315579;
  border-radius: 12px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .18);
}
.request-queue { display: grid; grid-template-rows: auto auto 1fr; min-width: 0; background: #091c31; border-right: 1px solid #315579; }
.request-queue__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px; border-bottom: 1px solid #315579; }
.request-queue__head div { display: grid; gap: 4px; }
.request-queue__head span, .board-head span { color: var(--orange); font-size: .61rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.request-queue__head strong { color: #fff; font-size: .92rem; }
.request-queue__head button { width: 36px; height: 36px; color: #c5d4e1; background: #123253; border: 1px solid #3b6388; border-radius: 50%; cursor: pointer; }
.request-filters { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; padding: 12px; border-bottom: 1px solid #315579; }
.request-filters button { min-height: 34px; color: #7791aa; background: transparent; border: 1px solid transparent; border-radius: 5px; font-size: .67rem; font-weight: 800; cursor: pointer; }
.request-filters button.is-active { color: #fff; background: #17385d; border-color: #42698f; }
.request-list { min-height: 0; overflow-y: auto; padding: 10px; }
.request-list__empty, .carrier-options__empty { padding: 28px 16px; color: #7891a9; text-align: center; }
.request-card { display: grid; width: 100%; gap: 7px; margin-bottom: 8px; padding: 15px; color: inherit; text-align: left; background: #0d2846; border: 1px solid #284c70; border-radius: 8px; cursor: pointer; }
.request-card:hover, .request-card.is-active { background: #15395f; border-color: #ff8526; }
.request-card__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.request-card__top strong { color: var(--orange); font-size: .73rem; }
.request-card b { overflow: hidden; color: #eff6fb; font-size: 1rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.request-card small { overflow: hidden; color: #87a0b8; font-size: .82rem; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.request-card time { color: #6f8da8; font-size: .74rem; }
.request-state { display: inline-flex; align-items: center; width: fit-content; padding: 4px 7px; color: #a8bed1; background: #1d4167; border: 1px solid #41698f; border-radius: 99px; font-size: .6rem; font-style: normal; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.request-state--new { color: #07182c; background: #ffc17d; border-color: #e96f12; }
.request-state--review { color: #dcefff; background: #16446e; }
.request-state--customer { color: #ffe9ae; background: #5a481a; border-color: #8d742d; }
.request-state--offer, .request-state--booked, .request-state--delivered { color: #c6f4e5; background: #17513f; border-color: #3b8a72; }
.request-state--rejected { color: #ffd0d0; background: #58262d; border-color: #8b4951; }
.request-state--archived { color: #c0cad4; background: #2c3a47; border-color: #566879; }
.request-workspace { min-width: 0; padding: 28px; background: #0d2542; }
.request-empty { display: grid; min-height: 650px; place-content: center; justify-items: center; color: #7891a8; text-align: center; }
.request-empty[hidden] { display: none !important; }
.request-empty i { display: grid; width: 72px; height: 72px; place-items: center; color: var(--orange); border: 1px solid #395f84; border-radius: 50%; font-size: 1.5rem; font-style: normal; }
.request-empty h2 { margin: 18px 0 6px; color: #fff; }
.request-empty p { max-width: 460px; line-height: 1.6; }
.request-detail { display: grid; gap: 18px; }
.request-detail[hidden] { display: none; }
.request-detail__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 2px 0 18px; border-bottom: 1px solid #315579; }
.request-detail__head h2 { margin: 9px 0 5px; color: #fff; font-size: 2.15rem; letter-spacing: -.035em; }
.request-detail__head p { max-width: 980px; margin: 0; color: #829bb3; font-size: .85rem; line-height: 1.55; }
.request-detail__head-actions, .offer-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.request-route-overview {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
  gap: 18px;
  overflow: hidden;
  padding: 20px;
  background: linear-gradient(135deg, #102d4d, #0a223d);
  border: 1px solid #345a7e;
  border-radius: 8px;
}
.request-route-overview:before {
  position: absolute;
  right: -25px;
  bottom: -45px;
  color: rgba(121, 166, 201, .08);
  font-size: 10rem;
  line-height: 1;
  content: attr(data-mode-symbol);
  display: none;
}
.request-route-overview__journey { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .7fr) minmax(340px, 1.3fr); gap: 18px; align-items: stretch; }
.request-route-overview__map-card { position: relative; min-width: 0; overflow: hidden; background: #091d34; border: 1px solid #31587c; border-radius: 8px; }
.request-route-overview__leaflet { width: 100%; min-height: 250px; height: 100%; }
.request-route-overview__leaflet .leaflet-tile-pane { filter: saturate(.9) contrast(1.05); }
.request-route-overview__leaflet .leaflet-control-attribution { color: #617a90; background: rgba(255,255,255,.86); font-size: 9px; }
.request-route-overview__locations { display: grid; gap: 12px; align-content: center; }
.request-route-overview__place { display: grid; gap: 5px; min-width: 0; }
.request-route-overview__place span,
.request-route-overview__stat span { color: #7896b1; font-size: .75rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.request-route-overview__place strong { color: #f4f8fb; font-size: 1.12rem; line-height: 1.42; }
.request-route-overview__place small { overflow: hidden; color: #7896b1; font-size: .84rem; line-height: 1.55; text-overflow: ellipsis; }
.request-route-overview__connection { position: relative; display: grid; justify-items: center; gap: 5px; min-width: 0; }
.request-route-overview__connection > span { color: #8da9c0; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.request-route-overview__map { width: 180px; height: 82px; color: #ff8526; background: rgba(8, 30, 53, .58); border: 1px solid #31587c; border-radius: 8px; }
.request-route-overview__map circle { fill: #f4f8fb; stroke: #ff8526; stroke-width: 3; }
.request-route-overview__mode { position: absolute; top: 21px; display: grid; width: 38px; height: 38px; place-items: center; color: #0a223d; background: var(--orange); border-radius: 50%; font-size: 1.15rem; box-shadow: 0 0 0 6px rgba(255,133,38,.11); }
.request-route-overview__meta { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: center; border: 1px solid #31587c; }
.request-route-overview__stat { display: grid; gap: 5px; padding: 13px; border-right: 1px solid #31587c; border-bottom: 1px solid #31587c; }
.request-route-overview__stat:nth-child(even) { border-right: 0; }
.request-route-overview__stat:nth-last-child(-n+2) { border-bottom: 0; }
.request-route-overview__stat strong { color: #f4f8fb; font-size: .94rem; line-height: 1.45; }
.request-route-overview__stat--mode { grid-template-columns: minmax(0, 1fr) 42px; gap: 11px; align-items: center; }
.request-route-overview__stat--mode > div { display: grid; gap: 3px; min-width: 0; }
.request-route-overview__stat--mode small { color: #9cb0c3; font-size: .7rem; font-weight: 720; line-height: 1.35; }
.mode-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; color: #07182c; background: #ffb56b; border: 1px solid #ff8526; border-radius: 8px; font-style: normal; }
.mode-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.request-card b { font-size: 1.06rem; }
.request-card small { font-size: .88rem; }
.request-detail__head p { color: #9bb1c5; font-size: .94rem; }
.nexus-marker__code { z-index: 2; left: 28px; top: -14px; min-width: 48px; padding: 6px 8px; color: #fff; background: #07182c; border: 2px solid #fff; font-size: 12px; line-height: 1; text-shadow: 0 1px 2px rgba(0,0,0,.55); box-shadow: 0 6px 16px rgba(0,0,0,.42); }
.milestone-panel li strong { font-size: .86rem; }
.milestone-panel li span { font-size: .73rem; }
.trade-details small { font-size: .72rem; line-height: 1.55; }
.trade-details [data-incoterm-place-wrap][hidden] { display: none !important; }
.secondary-action, .danger-action { min-height: 40px; padding: 0 15px; font: inherit; font-size: .7rem; font-weight: 820; border-radius: 6px; cursor: pointer; }
.danger-action { color: #ffc7c7; background: transparent; border: 1px solid #864a52; }
.danger-action:hover { color: #fff; background: #6a3038; }
.reject-action { min-height: 40px; padding: 0 15px; color: #dce8f2; background: #173858; border: 1px solid #456887; border-radius: 6px; font: inherit; font-size: .7rem; font-weight: 820; cursor: pointer; }
.reject-action:hover { color: #fff; background: #244b70; border-color: #6f91ad; }
.review-overview, .review-findings, .carrier-workbench, .fulfilment-control, .request-history { padding: 18px; background: #102d4d; border: 1px solid #345a7e; border-radius: 8px; }
.review-overview { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 18px; align-items: center; }
.review-score { display: grid; gap: 3px; padding-right: 18px; border-right: 1px solid #365d81; }
.review-score span { color: #7993ab; font-size: .65rem; font-weight: 850; text-transform: uppercase; }
.review-score strong { color: #fff; font-size: 2rem; }
.review-score small { color: #84a0b9; font-size: .67rem; line-height: 1.45; }
.review-overview dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.review-overview dl div { min-width: 0; padding: 8px 12px; border-left: 1px solid #31587c; }
.review-overview dt { color: #6f8ca8; font-size: .66rem; font-weight: 850; text-transform: uppercase; }
.review-overview dd { overflow: hidden; margin: 4px 0 0; color: #ecf4fb; font-size: .84rem; line-height: 1.48; text-overflow: ellipsis; }
.board-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.board-head small { color: #728da7; font-size: .56rem; }
.review-findings > div:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.review-check { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 12px; background: #0b2440; border: 1px solid #2f5478; border-radius: 6px; }
.review-check i { display: grid; width: 24px; height: 24px; place-items: center; color: #09243d; background: var(--green); border-radius: 50%; font-style: normal; font-weight: 900; }
.review-check.is-attention { border-color: #80552e; }
.review-check.is-attention i { background: var(--orange); }
.review-check strong { color: #fff; font-size: .79rem; }
.review-check p { margin: 3px 0 0; color: #83a0ba; font-size: .68rem; line-height: 1.55; }
.carrier-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-bottom: 16px; }
.carrier-option { display: grid; gap: 5px; padding: 14px; color: inherit; text-align: left; background: #0b2440; border: 1px solid #315679; border-radius: 7px; cursor: pointer; }
.carrier-option:hover, .carrier-option.is-selected { background: #173c62; border-color: var(--orange); }
.carrier-option.is-customer-choice { box-shadow: inset 4px 0 0 var(--green); }
.carrier-option__mode { display: flex; align-items: center; gap: 9px; color: #b9cad9; font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.carrier-option__mode .mode-icon { width: 30px; height: 30px; flex-basis: 30px; border-radius: 6px; }
.carrier-option__mode .mode-icon svg { width: 19px; height: 19px; }
.carrier-option__mode b { color: inherit; font: inherit; }
.carrier-option strong { color: #fff; font-size: 1.05rem; }
.carrier-option small { color: #86a1bb; }
.carrier-option__badge { width: fit-content; margin-top: 5px; padding: 5px 9px; color: #07182c; background: #dce8f1; border: 1px solid #9db5c8; border-radius: 99px; font-size: .62rem; font-style: normal; font-weight: 900; letter-spacing: .025em; line-height: 1.1; text-transform: uppercase; }
.carrier-option__badge.is-customer { background: #8be0c3; border-color: #4dbf98; }
.carrier-option.is-selected .carrier-option__badge.is-alternative { background: #ffc17d; border-color: #ff8526; }
.offer-form { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; padding-top: 16px; border-top: 1px solid #315679; }
.offer-form label { grid-column: span 2; display: grid; gap: 6px; }
.offer-form label.wide, .offer-form .wide { grid-column: 1 / -1; }
.offer-form label span { color: #7f9ab3; font-size: .59rem; font-weight: 800; }
.offer-form input, .offer-form select, .offer-form textarea { width: 100%; color: #f2f7fb; background: #091f37; border: 1px solid #365e83; border-radius: 6px; }
.offer-form input, .offer-form select { min-height: 42px; padding: 0 11px; }
.offer-form textarea { padding: 11px; resize: vertical; }
.fulfilment-control > div:last-child { display: flex; gap: 8px; flex-wrap: wrap; }
.request-history ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.request-history li { display: grid; grid-template-columns: 18px 1fr; gap: 10px; min-height: 58px; }
.request-history li > i { position: relative; display: block; }
.request-history li > i:before { content: ""; position: absolute; left: 7px; top: 9px; bottom: -12px; width: 1px; background: #3b6387; }
.request-history li > i:after { content: ""; position: absolute; left: 3px; top: 6px; width: 9px; height: 9px; background: var(--orange); border-radius: 50%; }
.request-history li:last-child > i:before { display: none; }
.request-history strong { color: #fff; font-size: .7rem; }
.request-history p { margin: 3px 0; color: #84a0b8; font-size: .62rem; line-height: 1.45; }
.request-history time { color: #5e7d99; font-size: .53rem; }

html[data-theme="light"] .trade-details { background: #f5f9fc; border-color: #c6d6e2; }
html[data-theme="light"] .party-details,
html[data-theme="light"] .customs-goods { background: #f5f9fc; border-color: #c6d6e2; }
html[data-theme="light"] .party-details__head { border-color: #d2dee7; }
html[data-theme="light"] .party-details__head strong { color: #17344d; }
html[data-theme="light"] .party-details__head p,
html[data-theme="light"] .customs-goods > small { color: #607b91; }
html[data-theme="light"] .dangerous-details { border-color: #d2dee7; }
html[data-theme="light"] .amendment-guidance { color: #18344d; background: #fff8f1; }
html[data-theme="light"] .amendment-guidance h3 { color: #17344d; }
html[data-theme="light"] .amendment-guidance p { color: #607b91; }
html[data-theme="light"] .amendment-guidance li { color: #17344d; background: #fff; }
html[data-theme="light"] .shipment-response { background: linear-gradient(130deg, #fff7ef, #f3f8fb 75%); border-color: #c6d7e3; border-left-color: var(--orange); }
html[data-theme="light"] .shipment-response__copy strong,
html[data-theme="light"] .shipment-response__facts b { color: #18334b; }
html[data-theme="light"] .shipment-response__copy p,
html[data-theme="light"] .shipment-response__facts small { color: #607b91; }
html[data-theme="light"] .backoffice-page { color: #19344c; background: #eef3f7; }
html[data-theme="light"] .backoffice-intro h1 { color: #0b2139; }
html[data-theme="light"] .backoffice-intro p { color: #607990; }
html[data-theme="light"] .backoffice-metrics { background: #fff; border-color: #c8d7e3; }
html[data-theme="light"] .backoffice-metrics div { border-color: #c8d7e3; }
html[data-theme="light"] .backoffice-metrics dt { color: #6b8398; }
html[data-theme="light"] .backoffice-metrics dd { color: #17334c; }
html[data-theme="light"] .operations-shell { background: #fff; border-color: #bfd1df; box-shadow: 0 24px 70px rgba(35, 64, 90, .12); }
html[data-theme="light"] .request-queue { background: #f1f6fa; border-color: #c5d6e2; }
html[data-theme="light"] .request-queue__head,
html[data-theme="light"] .request-filters { border-color: #c5d6e2; }
html[data-theme="light"] .request-queue__head strong { color: #17344d; }
html[data-theme="light"] .request-queue__head button { color: #294961; background: #fff; border-color: #bfd0de; }
html[data-theme="light"] .request-filters button { color: #667f94; }
html[data-theme="light"] .request-filters button.is-active { color: #17344d; background: #fff; border-color: #b9cddd; }
html[data-theme="light"] .request-card { background: #fff; border-color: #c5d6e2; }
html[data-theme="light"] .request-card:hover,
html[data-theme="light"] .request-card.is-active { background: #fffaf5; border-color: var(--orange); }
html[data-theme="light"] .request-card b { color: #18344d; }
html[data-theme="light"] .request-card small { color: #657e94; }
html[data-theme="light"] .request-workspace { background: #f9fbfd; }
html[data-theme="light"] .request-empty h2,
html[data-theme="light"] .request-detail__head h2,
html[data-theme="light"] .review-score strong,
html[data-theme="light"] .review-check strong,
html[data-theme="light"] .carrier-option strong,
html[data-theme="light"] .request-history strong { color: #18344d; }
html[data-theme="light"] .request-detail__head { border-color: #cad8e3; }
html[data-theme="light"] .request-route-overview { background: linear-gradient(135deg, #fff, #f2f7fb); border-color: #c5d6e2; }
html[data-theme="light"] .request-route-overview__place strong,
html[data-theme="light"] .request-route-overview__stat strong { color: #18344d; }
html[data-theme="light"] .request-route-overview__stat--mode small { color: #536f86; }
html[data-theme="light"] .request-route-overview__meta,
html[data-theme="light"] .request-route-overview__stat { border-color: #cbd9e3; }
html[data-theme="light"] .request-route-overview__map { color: #d96100; background: #f5f9fc; border-color: #cbd9e3; }
html[data-theme="light"] .request-route-overview__map circle { fill: #fff; }
html[data-theme="light"] .review-overview,
html[data-theme="light"] .review-findings,
html[data-theme="light"] .carrier-workbench,
html[data-theme="light"] .fulfilment-control,
html[data-theme="light"] .request-history { background: #fff; border-color: #c5d6e2; }
html[data-theme="light"] .review-score,
html[data-theme="light"] .review-overview dl div { border-color: #d3dfe7; }
html[data-theme="light"] .review-overview dd { color: #27445d; }
html[data-theme="light"] .review-check,
html[data-theme="light"] .carrier-option { background: #f5f8fb; border-color: #ccd9e3; }
html[data-theme="light"] .carrier-option:hover,
html[data-theme="light"] .carrier-option.is-selected { background: #fff8f2; border-color: var(--orange); }
html[data-theme="light"] .carrier-option__mode { color: #49667e; }
html[data-theme="light"] .reject-action { color: #29465e; background: #f2f6f9; border-color: #aebfcb; }
html[data-theme="light"] .reject-action:hover { color: #713418; background: #fff3e9; border-color: #df884c; }
html[data-theme="light"] .review-check p,
html[data-theme="light"] .carrier-option small,
html[data-theme="light"] .request-history p { color: #607b92; }
html[data-theme="light"] .offer-form { border-color: #d1dde6; }
html[data-theme="light"] .offer-form input,
html[data-theme="light"] .offer-form select,
html[data-theme="light"] .offer-form textarea { color: #17334c; background: #fff; border-color: #bfd1df; }

@media (max-width: 1120px) {
  .app-header { grid-template-columns: 210px 1fr auto; }
  .site-header { grid-template-columns: 210px 1fr auto; }
  .network-state { display: none; }
  .product-intro { grid-template-columns: 1fr; }
  .quote-layout, .quote-layout.has-result, .document-layout, .route-board { grid-template-columns: 1fr; }
  .shipment-overview__toolbar { grid-template-columns: 1fr auto; }
  .shipment-filters { grid-column: 1 / -1; grid-row: 2; justify-self: start; }
  .shipment-table__head { display: none; }
  .shipment-row { grid-template-columns: 1fr 1.3fr .8fr 34px; }
  .shipment-row > span:nth-child(4), .shipment-row > span:nth-child(5) { display: none; }
  .quote-rail { display: block; }
  .quote-result { position: static; min-height: 0; }
  .result-placeholder { min-height: 290px; }
  .delivery-handoff { grid-template-columns: 1fr; }
  .delivery-handoff .primary-action { width: 100%; }
  .marketing-hero, .ai-hero { min-height: 0; grid-template-columns: 1fr; }
  .product-stage, .product-capture, .ai-example { width: min(860px, 100%); }
  .capability-grid { grid-template-columns: 1fr 1fr; }
  .capability-grid article:nth-child(2) { border-right: 0; }
  .capability-grid article:nth-child(-n+2) { border-bottom: 1px solid #c7d4e1; }
  .showcase-split { grid-template-columns: 1fr; }
  .intelligence-showcase { grid-template-columns: 1fr; }
  .map-showcase { min-height: 460px; }
  .backoffice-intro { grid-template-columns: 1fr; gap: 22px; }
  .operations-shell { grid-template-columns: 310px minmax(0, 1fr); }
  .review-overview { grid-template-columns: 120px 1fr; }
  .review-overview > .primary-action { grid-column: 1 / -1; }
  .review-overview dl { grid-template-columns: repeat(2, 1fr); }
  .request-route-overview { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .request-route-overview__journey { grid-template-columns: 1fr; }
  .request-route-overview__connection {
    width: 100%;
  }
  .request-route-overview__map { width: min(100%, 360px); }
  .request-route-overview__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intelligence-cards { grid-template-columns: 1fr; }
  .intelligence-cards article, .intelligence-cards article + article { padding: 20px 0; border-right: 0; border-bottom: 1px solid #c6d5e1; }
  .intelligence-cards article:last-child { border-bottom: 0; }
  .app-header { position: static; grid-template-columns: 1fr auto; gap: 10px; }
  .site-header { grid-template-columns: 1fr auto; }
  .app-header .site-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; overflow-x: auto; }
  .header-tools { grid-column: 2; grid-row: 1; }
  .site-header .site-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; overflow-x: auto; }
  .header-cta { grid-column: 2; grid-row: 1; }
  .brand { width: 190px; }
  .primary-nav { justify-content: flex-start; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; scroll-snap-type: x proximity; }
  .primary-nav::-webkit-scrollbar { display: none; }
  .primary-nav button { scroll-snap-align: start; }
  .primary-nav button { flex: 0 0 auto; }
  main { padding-top: 26px; }
  .intro-metrics { grid-template-columns: 1fr; }
  .intro-metrics div { border-right: 0; border-bottom: 1px solid #d6dfe9; }
  .intro-metrics div:last-child { border-bottom: 0; }
  .app-shell { grid-template-columns: 1fr; }
  .shipment-rail { display: grid; grid-template-columns: 1fr auto; gap: 14px; padding: 16px; border-right: 0; border-bottom: 1px solid #25486f; }
  .progress-steps { grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); margin: 0; }
  .progress-steps li { grid-template-columns: 1fr; text-align: center; justify-items: center; padding: 8px 4px; }
  .progress-steps small, .rail-summary { display: none; }
  .shipment-rail .secondary-action { margin: 0; }
  .view-heading { grid-template-columns: 1fr; gap: 12px; }
  .quote-form fieldset, .quote-form fieldset:nth-of-type(3) { grid-template-columns: 1fr 1fr; }
  .cargo-insight { grid-template-columns: 1fr; }
  .hs-candidates { grid-template-columns: 1fr; }
  .operations-grid { grid-template-columns: 1fr; }
  .shipment-detail-heading { grid-template-columns: 1fr auto; }
  .shipment-detail-heading > button { grid-column: 1 / -1; }
  .shipment-detail-grid { grid-template-columns: minmax(0, 1fr); }
  .shipment-detail-kpis { grid-template-columns: repeat(2, 1fr); }
  .shipment-detail-kpis div:nth-child(2) { border-right: 0; }
  .shipment-detail-kpis div:nth-child(-n+2) { border-bottom: 1px solid #31577e; }
  .incident-control { grid-column: auto; }
  .incident-summary { grid-template-columns: 1fr; }
  .playbook-steps { grid-template-columns: 1fr; }
  .playbook-steps li { min-height: 0; border-right: 0; border-bottom: 1px solid #294b6e; }
  .playbook-steps li:last-child { border-bottom: 0; }
  .incident-channels { grid-template-columns: 1fr; }
  .incident-actions { justify-content: flex-start; }
  .communication-log { grid-column: auto; }
  .communication-log ol { grid-template-columns: 1fr 1fr; }
  .document-next { grid-template-columns: 48px 1fr; }
  .document-next .primary-action { grid-column: 1 / -1; width: 100%; }
  footer { grid-template-columns: 1fr; gap: 8px; }
  .planner-intro { display: grid; }
  .planner-status { justify-self: start; }
  .module-nav { overflow-x: auto; }
  .module-nav:before { display: none; }
  .goods-ai-descriptions { grid-template-columns: 1fr; }
  .goods-ai-descriptions article { border-right: 0; border-bottom: 1px solid #31577d; }
  .goods-item__fields { grid-template-columns: 1fr 1fr; }
  .goods-description { grid-column: 1 / -1; }
  .insurance-option { grid-template-columns: 1fr; }
  .insurance-option__price { padding: 10px 0 0; border-top: 1px solid #31577d; border-left: 0; }
  .address-book-bar { grid-template-columns: 1fr; }
  .marketing-main { padding-top: 45px; }
  .marketing-hero__copy h1, .ai-hero h1 { font-size: clamp(3rem, 11vw, 5.2rem); }
  .section-heading { grid-template-columns: 1fr; gap: 16px; }
  .showcase-split { padding-bottom: 100px; }
  .marketing-cta, .ai-boundary { grid-template-columns: 1fr; }
  .ai-process { grid-template-columns: 1fr; }
  .proof-grid { grid-template-columns: 1fr 1fr; }
  .proof-grid article:nth-child(2) { border-right: 0; }
  .proof-grid article:nth-child(-n+2) { border-bottom: 1px solid #c5d3df; }
  .technology-section, .evidence-sources { grid-template-columns: 1fr; }
  .trade-details { grid-template-columns: 1fr; }
  .trade-details .flow-help { grid-column: auto; }
  .party-details, .customs-goods, .dangerous-details { grid-template-columns: 1fr; }
  .party-details__head, .customs-goods > small { grid-column: auto; }
  .dimensions-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 594px; }
  .dimension-count { grid-column: 1; grid-row: 1; }
  .dimension-weight { grid-column: 2; grid-row: 1; }
  .dimension-length { grid-column: 1; grid-row: 2; }
  .dimension-width { grid-column: 2; grid-row: 2; }
  .dimension-height { grid-column: 3; grid-row: 2; }
  .shipment-response { grid-template-columns: 1fr; }
  .shipment-response__actions { justify-content: flex-start; }
  .backoffice-main { width: min(100% - 32px, 1540px); padding-top: 28px; }
  .backoffice-metrics { grid-template-columns: repeat(2, 1fr); }
  .backoffice-metrics div:nth-child(2) { border-right: 0; }
  .backoffice-metrics div:nth-child(-n+2) { border-bottom: 1px solid #c8d7e3; }
  .operations-shell { grid-template-columns: 1fr; }
  .request-queue { max-height: 440px; border-right: 0; border-bottom: 1px solid #c5d6e2; }
  .request-workspace { padding: 20px; }
  .request-detail__head { display: grid; }
  .request-detail__head-actions { justify-content: flex-start; }
  .carrier-options { grid-template-columns: 1fr; }
  .review-findings > div:last-child { grid-template-columns: 1fr; }
  .offer-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .offer-form label { grid-column: auto; }
}
@media (max-width: 560px) {
  .request-route-overview__meta { grid-template-columns: 1fr; }
  .request-route-overview__stat,
  .request-route-overview__stat:nth-child(even),
  .request-route-overview__stat:nth-last-child(-n+2) {
    border-right: 0;
    border-bottom: 1px solid #31587c;
  }
  .request-route-overview__stat:last-child { border-bottom: 0; }
  .amendment-guidance { padding: 16px; }
  .planner-page { overflow-x: hidden; }
  .app-header { padding-inline: 16px; }
  .brand { width: 154px; }
  .app-header .site-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    overflow: visible;
    padding: 0;
  }
  .site-nav a {
    min-width: 0;
    justify-content: center;
    padding-inline: 7px;
    font-size: .7rem;
  }
  .product-intro h1 { font-size: 2.45rem; }
  .product-view { padding: 24px 16px; }
  .shipment-rail { grid-template-columns: 1fr; }
  .shipment-rail .secondary-action { display: none; }
  .progress-steps { grid-template-columns: repeat(2, 1fr); }
  .quote-form fieldset, .quote-form fieldset:nth-of-type(3) { grid-template-columns: 1fr; }
  label.wide { grid-column: auto; }
  .handling-field.wide { grid-column: auto; }
  .address-book-bar.wide, .goods-toolbar.wide, .goods-items.wide, .goods-add.wide, .goods-total.wide, .insurance-option.wide, .request-type-field.wide { grid-column: auto; }
  .goods-toolbar, .goods-total { grid-template-columns: 1fr; }
  .goods-toolbar .secondary-action { width: 100%; }
  .goods-total > div { border-top: 1px solid #31577d; border-left: 0; }
  .goods-item__fields { grid-template-columns: 1fr; }
  .goods-description { grid-column: auto; }
  .goods-item header { align-items: flex-start; }
  .goods-item header > .goods-item__actions { flex-direction: column; }
  .goods-item header strong { white-space: normal; }
  .address-book-bar label { grid-template-columns: 1fr; }
  .address-book-bar label > span { grid-column: auto; }
  .address-book-save { width: 100%; }
  .flow-step__action { align-items: stretch; flex-direction: column; }
  .flow-next { width: 100%; }
  .theme-toggle b { display: none; }
  .theme-toggle { width: 42px; padding: 0; }
  .handling-options { display: grid; grid-template-columns: 1fr; }
  .shipment-overview__toolbar { grid-template-columns: 1fr; }
  .shipment-filters { grid-column: auto; grid-row: auto; width: 100%; overflow-x: auto; }
  .shipment-overview__metrics { grid-template-columns: repeat(2, 1fr); }
  .shipment-overview__metrics article:nth-child(2) { border-right: 0; }
  .shipment-overview__metrics article:nth-child(-n+2) { border-bottom: 1px solid #294d74; }
  .shipment-row { grid-template-columns: 1fr auto; gap: 8px; }
  .shipment-row > span:nth-child(2), .shipment-row > span:nth-child(3), .shipment-row > span:nth-child(4) { display: none; }
  .shipment-detail-kpis, .shipment-detail-panel dl { grid-template-columns: 1fr; }
  .shipment-detail-kpis div { border-right: 0; border-bottom: 1px solid #31577e; }
  .shipment-detail-kpis div:last-child { border-bottom: 0; }
  .shipment-progress { overflow-x: visible; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .shipment-progress span { min-width: 0; font-size: .5rem; overflow-wrap: anywhere; }
  .review-modal { padding: 10px; }
  .review-modal__dialog { max-height: calc(100vh - 20px); padding: 20px 16px; }
  .review-summary article { grid-template-columns: 1fr; gap: 5px; }
  .review-modal__actions { display: grid; }
  .estimate-email-summary, .quote-actions { grid-template-columns: 1fr; }
  .estimate-email-summary div { border-right: 0; }
  .estimate-email-summary div:nth-last-child(2) { border-bottom: 1px solid #31577d; }
  html[data-theme="light"] .estimate-email-summary div:nth-last-child(2) { border-bottom-color: #cbd9e3; }
  .result-preference { align-items: stretch; flex-direction: column; }
  .result-preference .secondary-action { width: 100%; }
  .location-input { grid-template-columns: 18px minmax(0, 1fr); }
  .location-input b { display: none; }
  .location-suggestions button { grid-template-columns: 30px 1fr; }
  .location-suggestions button > small { display: none; }
  .input-composite { grid-template-columns: 104px minmax(0, 1fr); }
  .hs-input { grid-template-columns: 1fr; }
  .hs-assistant__head { display: grid; }
  .hs-assistant__head small { text-align: left; }
  .cargo-metrics dl, .delivery-handoff dl { grid-template-columns: 1fr; }
  .cargo-metrics dl div, .delivery-handoff dl div { border-right: 0; border-bottom: 1px solid #294d74; }
  .cargo-metrics dl div:last-child, .delivery-handoff dl div:last-child { border-bottom: 0; }
  .form-actions { align-items: stretch; flex-direction: column; }
  .primary-action { width: 100%; }
  .document-toolbar { align-items: stretch; flex-direction: column; gap: 12px; }
  .document-toolbar__actions { display: grid; width: 100%; }
  .document-toolbar__actions button { width: 100%; }
  .document-item { grid-template-columns: 36px 1fr; }
  .document-actions { grid-column: 1 / -1; }
  .route-map__top { grid-template-columns: 1fr; }
  .route-map__canvas { height: 390px; }
  .incident-launch { grid-template-columns: 1fr; }
  .incident-launch button { width: 100%; min-width: 0; }
  .incident-summary dl { grid-template-columns: 1fr; }
  .incident-summary dl div { border-right: 0; border-bottom: 1px solid #294b6e; }
  .incident-summary dl div:last-child { border-bottom: 0; }
  .incident-actions { display: grid; }
  .communication-log ol { grid-template-columns: 1fr; }
  .site-header { grid-template-columns: 1fr; }
  .site-header .site-nav { grid-column: 1; grid-row: auto; width: 100%; }
  .header-cta { grid-column: 1; grid-row: auto; justify-content: center; }
  .site-nav a { flex: 0 0 auto; }
  .planner-intro h1 { font-size: 2.5rem; }
  .planner-status { width: 100%; }
  .planner-status > span { min-width: 0; flex: 1; }
  .planner-module { margin-inline: -16px; border-radius: 0; }
  .module-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    padding-inline: 12px;
  }
  .module-nav button { min-width: 0; padding-inline: 7px; }
  .module-nav button:last-child { grid-column: 1 / -1; }
  .goods-description-input, .goods-ai-answer { grid-template-columns: 1fr; }
  .goods-description-input button, .goods-ai-answer button { min-height: 42px; }
  .info-tip:after { left: auto; right: -8px; transform: translateY(5px); }
  .info-tip:hover:after, .info-tip:focus-visible:after { transform: translateY(0); }
  .marketing-hero { gap: 45px; }
  .marketing-hero__copy h1, .ai-hero h1 { font-size: 3.35rem; }
  .marketing-actions { align-items: stretch; flex-direction: column; }
  .trust-strip { display: grid; grid-template-columns: 1fr 1fr; }
  .trust-strip div { min-width: 0; padding: 12px 14px; border-left: 1px solid #bfccda; border-bottom: 1px solid #bfccda; }
  .trust-strip div:first-child { padding-left: 14px; border-left: 1px solid #bfccda; }
  .stage-grid { grid-template-columns: 1fr; }
  .stage-request, .stage-quote { min-height: 0; padding: 24px; }
  .stage-request { border-right: 0; border-bottom: 1px solid #315174; }
  .stage-progress { grid-template-columns: repeat(4, 1fr); }
  .stage-progress span { grid-column: 1 / -1; margin: 8px 0; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-grid article { min-height: 280px; border-right: 0; border-bottom: 1px solid #c7d4e1; }
  .capability-grid article:last-child { border-bottom: 0; }
  .capability-grid article > span { margin-top: 24px; }
  .map-showcase { min-height: 360px; }
  .marketing-cta { margin-inline: -16px; border-radius: 0; }
  .ai-process li { grid-template-columns: 38px 1fr; padding: 24px 18px; }
  .proof-grid, .technology-stack { grid-template-columns: 1fr; }
  .proof-grid article, .technology-stack article { min-height: 0; border-right: 0; border-bottom: 1px solid #c5d3df; }
  .proof-grid article:last-child, .technology-stack article:last-child { border-bottom: 0; }
  .evidence-sources { margin-inline: -16px; padding: 34px 22px; border-radius: 0; }
  .evidence-sources a { grid-template-columns: 1fr; gap: 5px; }
  .evidence-sources a small { text-align: left; }
  .dimensions-grid { grid-template-columns: 1fr 1fr; }
  .dimension-count { grid-column: 1; grid-row: 1; }
  .dimension-weight { grid-column: 2; grid-row: 1; }
  .dimension-length { grid-column: 1; grid-row: 2; }
  .dimension-width { grid-column: 2; grid-row: 2; }
  .dimension-height { grid-column: 1 / -1; grid-row: 3; }
  .shipment-response__actions { display: grid; }
  .backoffice-main { width: 100%; padding-inline: 0; }
  .backoffice-intro { padding-inline: 16px; }
  .backoffice-intro h1 { font-size: 2.75rem; }
  .backoffice-metrics { grid-template-columns: 1fr 1fr; }
  .operations-shell { border-radius: 0; border-inline: 0; }
  .request-workspace { padding: 16px; }
  .review-overview { grid-template-columns: 1fr; }
  .review-score { padding: 0 0 12px; border-right: 0; border-bottom: 1px solid #d3dfe7; }
  .review-overview dl { grid-template-columns: 1fr; }
  .review-overview dl div { border-left: 0; border-top: 1px solid #d3dfe7; }
  .offer-form { grid-template-columns: 1fr; }
  .offer-form label, .offer-form label.wide, .offer-form .wide { grid-column: auto; }
  .offer-actions { display: grid; justify-content: stretch; }
}
@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
