:root {
  --font-primary:"Manrope",Arial,sans-serif;
  --ntc-red:#bf3037;
  --ntc-red-dark:#a1262d;
  --ntc-red-soft:#fbe8e9;
  --ntc-red-light:#ff7378;
  --portal-night:#070b10;
  --portal-ink:#0b1118;
  --portal-dark-elevated:#1b2631;
  --portal-surface:#fff;
  --portal-soft:#f4f6f8;
  --portal-subtle:#f8f9fa;
  --portal-disabled:#edf0f2;
  --portal-line:#e1e5e8;
  --portal-line-subtle:#edf0f2;
  --portal-muted:#626d77;
  --portal-text:#1f1f1f;
  --portal-on-dark:#fff;
  --portal-on-dark-muted:rgba(255,255,255,.62);
  --portal-focus:#d71920;
  --status-success-bg:#e4f5ea;
  --status-success-text:#257a45;
  --status-danger-bg:#fae8e9;
  --status-danger-text:#b32128;
  --status-info-bg:#e6f2f8;
  --status-info-text:#226d91;
  --status-warning-bg:#fff3dc;
  --status-warning-text:#8b641a;
  --status-neutral-bg:#edf0f2;
  --status-neutral-text:#59636e;
  --portal-label:#323b45;
  --portal-secondary-strong:#64707b;
  --portal-control-copy:#59636e;
  --portal-control-border:#dce1e6;
  --portal-control-addon:#eef1f3;
  --portal-table-heading:var(--portal-control-copy);
  --portal-icon-muted:#9099a2;
  --portal-icon-faint:#aeb5bc;
  --portal-icon-empty:#b8bfc5;
  --portal-mobile-chevron:#a7afb6;
  --portal-variant-border:#dfe4e8;
  --portal-variant-icon-bg:#f1f3f5;
  --portal-variant-icon:#606b75;
  --portal-variant-check:#cbd1d6;
  --portal-variant-hover-border:#c8d0d6;
  --portal-variant-selected:#fff7f7;
  --portal-package-border:#e1e5e8;
  --portal-danger-border:#e1d4d5;
  --portal-danger-action:#bc3238;
  --portal-footer-text:#aab3bc;
  --portal-dark-line:rgba(255,255,255,.08);
  --portal-dark-line-soft:rgba(255,255,255,.09);
  --portal-dark-line-medium:rgba(255,255,255,.1);
  --portal-dark-line-strong:rgba(255,255,255,.16);
  --portal-dark-control-line:rgba(255,255,255,.13);
  --portal-dark-nav:rgba(255,255,255,.66);
  --portal-dark-copy:rgba(255,255,255,.7);
  --portal-dark-control:rgba(4,9,14,.6);
  --portal-dark-hover:rgba(255,255,255,.06);
  --portal-dark-header:rgba(9,14,20,.98);
  --portal-dark-icon:rgba(255,255,255,.55);
  --portal-dark-secondary:rgba(255,255,255,.6);
  --portal-brand-active:rgba(215,25,32,.15);
  --portal-brand-icon:rgba(215,25,32,.16);
  --portal-brand-line:rgba(255,100,106,.12);
  --portal-brand-line-soft:rgba(255,105,111,.15);
  --portal-brand-login-line:rgba(255,115,120,.15);
  --portal-brand-outline:rgba(215,25,32,.4);
  --portal-brand-focus-soft:rgba(215,25,32,.15);
  --portal-brand-bright:#ff7b80;
  --portal-brand-brighter:#ff8589;
  --portal-login-accent:#ff747a;
  --portal-login-focus:#f45d63;
  --portal-metric-start:#202d38;
  --portal-metric-end:#111922;
  --portal-detail-end:#101820;
  --success-surface:#e8f6ec;
  --success-border:#cfe9d6;
  --success-icon:#2f9654;
  --success-copy:#48775a;
  --field-invalid:#b32128;
  --field-error:#8f1d23;
  --target-min:2.75rem;
  --measure-compact:36rem;
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-5:1.25rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-10:2.5rem;
  --space-12:3rem;
  --space-16:4rem;
  --radius-control:.5rem;
  --radius-inner:.75rem;
  --radius-card:1rem;
  --shadow-card:none;
  --shadow-tab:0 1px 3px rgba(20,31,43,.08);
  --shadow-card-hover:0 1rem 2.4rem rgba(20,31,43,.09);
  --shadow-primary:0 .65rem 1.4rem rgba(215,25,32,.16);
  --shadow-primary-hover:0 .85rem 1.8rem rgba(215,25,32,.24);
  --shadow-header:none;
  --shadow-soft:var(--shadow-tab);
  --shipment-success-backdrop:rgba(0,0,0,.5);
  --shadow-strong:0 16px 60px rgba(37,43,50,.06);
  --shadow-logo:0 .25rem .7rem rgba(0,0,0,.25);
  --shadow-selected:0 .7rem 1.5rem rgba(215,25,32,.08);
  --focus-ring:0 0 0 .2rem rgba(215,25,32,.18);
  --gradient-metric:linear-gradient(145deg,#202d38,#111922);
  --gradient-detail:linear-gradient(145deg,#1b2631,#101820);
  --gradient-login-panel:radial-gradient(circle at 85% 8%,rgba(215,25,32,.13),transparent 20rem),#0b1118;
  --bs-primary:#d71920;
  --bs-primary-rgb:215,25,32;
  --bs-body-color:var(--portal-text);
  --bs-body-bg:var(--portal-soft);
  --bs-emphasis-color:var(--portal-text);
  --bs-secondary-color:var(--portal-muted);
  --bs-tertiary-bg:var(--portal-subtle);
  --bs-border-color:var(--portal-line);
  --bs-body-font-family:var(--font-primary);
}

* { box-sizing:border-box; }
html { min-height:100%; scroll-behavior:smooth; }
body,button,input,select,textarea { font-family:var(--font-primary); }
body { background:var(--portal-soft); color:var(--portal-text); margin:0; min-height:100dvh; }
a { color:inherit; }
h1,h2,h3,h4,h5,h6 { color:var(--portal-text); font-weight:700; letter-spacing:-.035em; text-wrap:balance; }
:focus-visible { outline:2px solid var(--portal-focus); outline-offset:3px; }
.skip-link { background:var(--portal-surface); left:-9999px; padding:.65rem 1rem; position:fixed; top:1rem; z-index:2000; }
.skip-link:focus { left:1rem; }
.portal-body { display:flex; flex-direction:column; }
.portal-main { flex:1 0 auto; min-height:calc(100dvh - 5rem); }
.portal-container { max-width:1440px; }
.portal-content { padding:3.25rem 0 5rem; }
.portal-global-alert { padding-top:1.25rem; }
.alert { align-items:flex-start; border:0; border-radius:0; display:flex; gap:var(--space-3); line-height:1.55; padding:var(--space-4) 1.15rem; }
.alert ul { margin:.45rem 0 0; padding-left:1.2rem; }
.alert strong { display:block; }

.btn { align-items:center; border-radius:0; display:inline-flex; font-size:.875rem; font-weight:700; gap:.55rem; justify-content:center; letter-spacing:.01em; min-height:2.75rem; padding:.7rem 1.1rem; transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .12s ease; }
.btn-primary { background:var(--ntc-red); border-color:var(--ntc-red); box-shadow:var(--shadow-primary); }
.btn-primary:hover { background:var(--ntc-red-dark); border-color:var(--ntc-red-dark); box-shadow:var(--shadow-primary-hover); transform:translateY(-2px); }
.btn:active { transform:translateY(1px); }
.btn:focus-visible { box-shadow:var(--focus-ring); outline:0; }
.btn-outline-primary { --bs-btn-color:var(--ntc-red); --bs-btn-border-color:var(--portal-brand-outline); --bs-btn-hover-bg:var(--ntc-red); --bs-btn-hover-border-color:var(--ntc-red); }
.form-control,.form-select { background-color:var(--portal-subtle); border:1px solid var(--portal-control-border); border-radius:0; color:var(--portal-text); font-size:.875rem; min-height:3.2rem; padding:.72rem .9rem; }
.form-control:focus,.form-select:focus { background-color:var(--portal-surface); border-color:var(--portal-focus); box-shadow:var(--focus-ring); }
textarea.form-control { min-height:auto; }
label { color:var(--portal-label); display:block; font-size:.875rem; font-weight:700; margin-bottom:.45rem; }
.field-help { color:var(--portal-muted); display:block; font-size:.875rem; line-height:1.5; margin-top:.35rem; }
.field-error { color:var(--field-error); display:block; font-size:.875rem; font-weight:700; line-height:1.5; margin-top:.35rem; }
.form-control[aria-invalid="true"],.form-select[aria-invalid="true"] { border-color:var(--field-invalid); }
.form-control[aria-invalid="true"]:focus,.form-select[aria-invalid="true"]:focus { border-color:var(--field-invalid); box-shadow:var(--focus-ring); }
.btn-check[aria-invalid="true"] + label { border-color:var(--field-invalid); }
.readonly-field { background:var(--portal-disabled); color:var(--portal-control-copy); }
.input-group-text { background:var(--portal-control-addon); border-color:var(--portal-control-border); color:var(--portal-control-copy); font-size:.78rem; font-weight:700; }
.form-check-input:checked { background-color:var(--ntc-red); border-color:var(--ntc-red); }
.form-check-input:focus { border-color:var(--portal-focus); box-shadow:var(--focus-ring); }

.portal-header { background:var(--portal-night); border-bottom:1px solid var(--portal-dark-line); box-shadow:var(--shadow-header); position:sticky; top:0; z-index:1030; }
.portal-header .navbar { background:var(--portal-dark-header); min-height:5rem; padding:.65rem 0; }
.portal-nav-shell { max-width:1400px; }
.navbar-brand { align-items:center; display:flex; gap:.85rem; margin:0; padding:0; }
.portal-logo { filter:drop-shadow(var(--shadow-logo)); height:2.75rem; object-fit:contain; width:auto; }
.portal-brand-divider { background:var(--portal-dark-line-strong); height:1.7rem; width:1px; }
.portal-brand-label { color:var(--portal-on-dark-muted); font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.portal-header .navbar-nav { gap:.18rem; }
.portal-header .nav-link { align-items:center; border-radius:0; color:var(--portal-dark-nav); display:flex; font-size:.875rem; font-weight:600; gap:.48rem; min-height:var(--target-min); padding:.62rem .8rem !important; transition:background-color .2s ease,color .2s ease; }
.portal-header .nav-link:hover,.portal-header .nav-link:focus-visible { background:var(--portal-dark-hover); color:var(--portal-on-dark); }
.portal-header .nav-link.active { background:var(--portal-brand-active); box-shadow:inset 0 0 0 1px var(--portal-brand-line); color:var(--portal-on-dark); }
.portal-header .nav-link i { color:var(--ntc-red-light); font-size:.9rem; }
.portal-account { align-items:center; border-left:1px solid var(--portal-dark-line-medium); display:flex; gap:.65rem; margin-left:.75rem; padding-left:1rem; }
.portal-account-icon { align-items:center; background:var(--portal-brand-active); border:1px solid var(--portal-brand-line-soft); border-radius:0; color:var(--portal-brand-bright); display:flex; height:2.5rem; justify-content:center; width:2.5rem; }
.portal-account-copy { display:grid; line-height:1.2; max-width:10rem; }
.portal-account-copy small { color:var(--portal-on-dark-muted); font-size:.75rem; }
.portal-account-copy strong { color:var(--portal-on-dark); font-size:.875rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.portal-account form { margin:0; }
.portal-logout { align-items:center; background:transparent; border:0; border-radius:0; color:var(--portal-dark-icon); display:flex; height:var(--target-min); justify-content:center; transition:background-color .2s ease,color .2s ease; width:var(--target-min); }
.portal-logout:hover,.portal-logout:focus-visible { background:var(--portal-brand-active); color:var(--portal-brand-brighter); }
.navbar-toggler { border-color:var(--portal-brand-login-line); border-radius:0; }
.navbar-toggler { min-height:2.75rem; min-width:2.75rem; }

.portal-page-heading { align-items:center; display:flex; gap:1rem; justify-content:space-between; margin-bottom:1.25rem; }
.portal-page-heading > div { max-width:48rem; }
.portal-eyebrow { color:var(--portal-accent-text); display:block; font-size:.75rem; font-weight:800; letter-spacing:.11em; margin-bottom:.55rem; text-transform:uppercase; }
.portal-page-heading h1 { font-size:clamp(1.6rem,2.5vw,2.25rem); letter-spacing:-.05em; line-height:1.06; margin:0; }
.portal-page-heading p { color:var(--portal-muted); font-size:.94rem; line-height:1.65; margin:.7rem 0 0; }
.portal-card { background:var(--portal-surface); border:1px solid var(--portal-line); border-radius:0; box-shadow:var(--shadow-card); }
.table { --bs-table-bg:transparent; --bs-table-color:var(--portal-text); --bs-table-border-color:var(--portal-line-subtle); --bs-table-hover-bg:var(--portal-subtle); --bs-table-hover-color:var(--portal-text); }
.btn-outline-secondary { --bs-btn-color:var(--portal-control-copy); --bs-btn-border-color:var(--portal-control-border); --bs-btn-hover-color:var(--portal-text); --bs-btn-hover-bg:var(--portal-subtle); --bs-btn-hover-border-color:var(--portal-secondary-strong); --bs-btn-disabled-color:var(--portal-muted); --bs-btn-disabled-border-color:var(--portal-control-border); }
.alert-danger { background:var(--status-danger-bg); color:var(--status-danger-text); }
.alert-warning { background:var(--status-warning-bg); color:var(--status-warning-text); }
.alert-success { background:var(--status-success-bg); color:var(--status-success-text); }
.alert-info { background:var(--status-info-bg); color:var(--status-info-text); }
.alert .alert-link { color:inherit; }
.card-topline { align-items:center; border-bottom:1px solid var(--portal-line); display:flex; justify-content:space-between; padding:1.35rem 1.5rem; }
.card-topline h2 { font-size:1.2rem; margin:0; }
.card-topline .portal-eyebrow { margin-bottom:.25rem; }
.card-topline > a { color:var(--portal-text); font-size:.875rem; font-weight:700; min-height:2.75rem; align-items:center; display:inline-flex; text-decoration:none; }
.card-topline > a i { color:var(--portal-accent-text); margin-left:.35rem; }
.card-topline-actions { align-items:center; display:flex; gap:var(--space-3); }
.card-topline-actions .btn { min-height:var(--target-min); }

.attention-summary { display:grid; gap:var(--space-3); grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:var(--space-4); }
.attention-summary article { align-items:center; display:flex; gap:var(--space-3); min-height:5.5rem; padding:var(--space-4); }
.attention-summary article > span { align-items:center; background:var(--status-danger-bg); border-radius:0; color:var(--status-danger-text); display:flex; flex:0 0 auto; font-size:1.05rem; height:2.75rem; justify-content:center; width:2.75rem; }
.attention-summary article:nth-child(2) > span { background:var(--status-neutral-bg); color:var(--status-neutral-text); }
.attention-summary article:nth-child(3) > span { background:var(--status-warning-bg); color:var(--status-warning-text); }
.attention-summary article div { display:grid; }
.attention-summary small { color:var(--portal-muted); font-size:.75rem; font-weight:700; }
.attention-summary strong { font-size:1.7rem; font-variant-numeric:tabular-nums; line-height:1.1; }

.route-dashboard .portal-page-heading { margin-bottom:var(--space-5); }
.route-dashboard .portal-page-heading h1 { font-size:clamp(1.9rem,3vw,2.8rem); }
.metric-grid { display:grid; gap:var(--space-3); grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:var(--space-4); }
.metric-card { align-items:center; background:var(--portal-surface); border:1px solid var(--portal-line); border-radius:0; box-shadow:var(--shadow-card); color:var(--portal-text); display:flex; gap:var(--space-3); min-height:5.75rem; padding:var(--space-4); text-decoration:none; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.metric-card:hover { border-color:var(--portal-variant-hover-border); box-shadow:var(--shadow-card-hover); color:var(--portal-text); transform:translateY(-1px); }
.metric-card:focus-visible { outline:3px solid color-mix(in srgb,var(--ntc-red) 28%,transparent); outline-offset:2px; }
.city-picker { display:grid; gap:var(--space-2); }
.city-search { background-color:var(--portal-subtle); font-size:.875rem; }
.metric-icon { align-items:center; background:var(--ntc-red-soft); border-radius:0; color:var(--portal-accent-text); display:flex; flex:0 0 auto; font-size:1.05rem; height:2.75rem; justify-content:center; width:2.75rem; }
.metric-card div { display:grid; }
.metric-card small { color:var(--portal-muted); font-size:.875rem; font-weight:700; }
.metric-card strong { font-size:1.7rem; font-variant-numeric:tabular-nums; font-weight:800; letter-spacing:-.06em; line-height:1.05; }
.metric-card div > span { color:var(--portal-muted); font-size:.75rem; margin-top:var(--space-1); }
.dashboard-grid { display:grid; gap:1.25rem; grid-template-columns:minmax(0,1fr); }
.dashboard-recent .card-topline { padding:var(--space-4) var(--space-5); }
.recent-list { padding:var(--space-1) var(--space-4); }
.recent-item { align-items:center; border-bottom:1px solid var(--portal-line-subtle); display:grid; gap:var(--space-3); grid-template-columns:minmax(0,.95fr) minmax(0,.7fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.75fr) 8.5rem 1rem; padding:var(--space-3) var(--space-1); text-decoration:none; transition:background-color .2s ease,transform .12s ease; }
.recent-item:last-child { border-bottom:0; }
.recent-item:hover { background:var(--portal-subtle); }
.recent-item:active { transform:translateY(1px); }
.recent-item > span:not(.status-badge) { display:grid; min-width:0; }
.recent-item small { color:var(--portal-muted); font-size:.75rem; font-weight:700; }
.recent-item strong { color:var(--portal-text); font-size:.875rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.recent-item > span > span { color:var(--portal-muted); font-size:.75rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.recent-item-date strong,.recent-item-measure strong { font-variant-numeric:tabular-nums; }
.recent-item > .bi-chevron-right { color:var(--portal-icon-faint); font-size:.875rem; }
.status-badge { border-radius:0; display:inline-block; font-size:.75rem; font-weight:800; line-height:1.25; padding:.42rem .65rem; text-align:center; white-space:nowrap; }
.status-success { background:var(--status-success-bg); color:var(--status-success-text); }
.status-danger { background:var(--status-danger-bg); color:var(--status-danger-text); }
.status-info { background:var(--status-info-bg); color:var(--status-info-text); }
.status-warning { background:var(--status-warning-bg); color:var(--status-warning-text); }
.status-neutral { background:var(--status-neutral-bg); color:var(--status-neutral-text); }

.dashboard-command-bar { align-items:center; background:var(--portal-surface); border:1px solid var(--portal-line); border-radius:0; display:flex; justify-content:space-between; margin-bottom:var(--space-4); min-height:var(--target-min); padding:var(--space-3) var(--space-4); }
.dashboard-command-bar > div { align-items:baseline; display:flex; gap:var(--space-2); }
.dashboard-command-bar span { color:var(--portal-muted); font-size:.875rem; font-weight:600; }
.dashboard-command-bar strong { font-size:.875rem; font-variant-numeric:tabular-nums; }
.dashboard-command-bar > a { align-items:center; color:var(--portal-accent-text); display:inline-flex; font-size:.875rem; font-weight:800; gap:var(--space-2); min-height:var(--target-min); text-decoration:none; }
.metric-grid-five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.metric-attention .metric-icon { background:var(--status-danger-bg); color:var(--status-danger-text); }
.metric-waiting .metric-icon { background:var(--status-warning-bg); color:var(--status-warning-text); }
.metric-delivery .metric-icon { background:var(--status-info-bg); color:var(--status-info-text); }
.metric-completed .metric-icon { background:var(--status-success-bg); color:var(--status-success-text); }
.dashboard-insight-grid { display:grid; gap:var(--space-4); grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.success-overview { align-items:center; display:grid; gap:var(--space-5); grid-template-columns:minmax(0,1fr) auto; overflow:hidden; padding:var(--space-5); position:relative; }
.success-overview-copy,.success-overview-facts,.success-ring { position:relative; z-index:1; }
.success-overview .portal-eyebrow { margin-bottom:var(--space-2); }
.success-overview h2 { font-size:2.5rem; line-height:1; margin:0; }
.success-overview p { color:var(--portal-muted); font-size:.875rem; line-height:1.5; margin:var(--space-2) 0 0; }
.success-ring { align-items:center; background:conic-gradient(var(--status-success-text) calc(var(--success-rate) * 1%),var(--portal-disabled) 0); border-radius:50%; display:flex; height:6.5rem; justify-content:center; width:6.5rem; }
.success-ring::before { background:var(--portal-surface); border-radius:50%; content:""; inset:.55rem; position:absolute; }
.success-ring.is-empty { background:var(--portal-disabled); }
.success-ring span { color:var(--portal-text); font-size:1.1rem; font-variant-numeric:tabular-nums; font-weight:800; position:relative; }
.success-overview-facts { border-top:1px solid var(--portal-line); display:grid; gap:var(--space-3); grid-column:1 / -1; grid-template-columns:repeat(2,minmax(0,1fr)); padding-top:var(--space-4); }
.success-overview-facts div { display:grid; }
.success-overview-facts small { color:var(--portal-muted); font-size:.75rem; font-weight:700; }
.success-overview-facts strong { font-size:1rem; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.shipment-trend { min-width:0; overflow:hidden; }
.daily-chart { align-items:end; display:grid; gap:var(--space-1); grid-auto-columns:minmax(1rem,1fr); grid-auto-flow:column; height:12.5rem; min-width:36rem; overflow:hidden; padding:var(--space-5) var(--space-5) var(--space-3); }
.daily-column { align-items:center; display:grid; grid-template-rows:1.25rem minmax(0,1fr) 1.25rem; height:100%; text-align:center; }
.daily-column strong { color:var(--portal-muted); font-size:.75rem; font-variant-numeric:tabular-nums; }
.daily-column > span { align-self:end; background:var(--status-info-text); border-radius:0; height:var(--bar-height); min-height:2px; opacity:.84; }
.daily-column:nth-child(5n) > span { background:var(--ntc-red); }
.daily-column small { color:var(--portal-muted); font-size:.75rem; font-variant-numeric:tabular-nums; padding-top:var(--space-1); }
.dashboard-overview-grid { display:grid; gap:var(--space-4); grid-template-columns:minmax(0,1.2fr) minmax(19rem,.8fr); margin-bottom:var(--space-4); }
.dashboard-side-stack { display:grid; gap:var(--space-4); }
.status-distribution,.dashboard-quick-search { min-width:0; overflow:hidden; }
.distribution-list { display:grid; gap:var(--space-3); padding:var(--space-5); }
.distribution-row { --distribution-color:var(--status-neutral-text); display:grid; gap:var(--space-2); }
.distribution-row > div { align-items:center; display:flex; font-size:.875rem; justify-content:space-between; }
.distribution-row span { color:var(--portal-muted); font-weight:700; }
.distribution-row strong { font-variant-numeric:tabular-nums; }
.distribution-row strong small { color:var(--portal-muted); font-size:.75rem; font-weight:700; margin-left:var(--space-1); }
.distribution-before_process { --distribution-color:var(--status-warning-text); }
.distribution-in_process { --distribution-color:var(--status-info-text); }
.distribution-after_process { --distribution-color:var(--status-danger-text); }
.distribution-ended { --distribution-color:var(--status-success-text); }
.distribution-row progress { accent-color:var(--distribution-color); appearance:none; background:var(--portal-disabled); border:0; border-radius:0; height:.5rem; overflow:hidden; width:100%; }
.distribution-row progress::-webkit-progress-bar { background:var(--portal-disabled); }
.distribution-row progress::-webkit-progress-value { background:var(--distribution-color); border-radius:0; }
.distribution-row progress::-moz-progress-bar { background:var(--distribution-color); border-radius:0; }
.dashboard-quick-search form { display:grid; gap:var(--space-4); padding:var(--space-5); }
.dashboard-quick-search .btn { width:100%; }
.destination-overview { min-width:0; overflow:hidden; }
.destination-list { display:grid; list-style:none; margin:0; padding:var(--space-2) var(--space-5); }
.destination-list li { align-items:center; border-bottom:1px solid var(--portal-line-subtle); display:grid; gap:var(--space-3); grid-template-columns:2rem minmax(0,1fr) auto; min-height:3.25rem; }
.destination-list li:last-child { border-bottom:0; }
.destination-list li > span { align-items:center; background:var(--portal-subtle); border-radius:0; color:var(--portal-accent-text); display:flex; font-size:.75rem; font-weight:800; height:2rem; justify-content:center; width:2rem; }
.destination-list strong { font-size:.875rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.destination-list small { color:var(--portal-muted); font-size:.75rem; font-variant-numeric:tabular-nums; }
.empty-actions { display:flex; flex-wrap:wrap; gap:var(--space-2); justify-content:center; }

.filter-card,.search-card { align-items:end; display:grid; gap:1rem; margin-bottom:1.25rem; padding:1.25rem; }
.filter-card { grid-template-columns:repeat(2,minmax(10rem,.7fr)) minmax(12rem,1fr) auto; }
.search-card { grid-template-columns:minmax(12rem,.65fr) minmax(18rem,1.35fr) auto; }
.search-card-compact { margin-inline:auto; max-width:64rem; }
.shipment-filter-card { grid-template-columns:minmax(18rem,1.4fr) minmax(12rem,.8fr) auto; }
.period-toolbar { display:grid; gap:var(--space-3); margin-bottom:var(--space-4); padding:var(--space-4); }
.period-toolbar-main { align-items:center; display:flex; flex-wrap:wrap; gap:var(--space-4); justify-content:space-between; }
.period-current { align-items:center; background:var(--portal-subtle); border:1px solid var(--portal-line); border-radius:0; display:grid; flex:0 0 auto; grid-template-columns:var(--target-min) minmax(10rem,auto) var(--target-min); padding:var(--space-1); }
.period-current > div { display:grid; padding:0 var(--space-3); text-align:center; }
.period-current small { color:var(--portal-muted); font-size:.875rem; font-weight:800; letter-spacing:.04em; }
.period-current strong { align-items:center; display:flex; font-size:.875rem; gap:var(--space-2); justify-content:center; white-space:nowrap; }
.period-current strong i { color:var(--portal-accent-text); }
.period-arrow { align-items:center; background:var(--portal-surface); border:1px solid var(--portal-line); border-radius:0; color:var(--portal-text); display:flex; height:var(--target-min); justify-content:center; text-decoration:none; width:var(--target-min); }
.period-arrow:hover { border-color:var(--ntc-red); color:var(--portal-accent-text); }
.period-arrow.is-disabled { color:var(--portal-icon-faint); cursor:not-allowed; }
.period-presets { align-items:center; background:var(--portal-subtle); border:1px solid var(--portal-line); border-radius:0; display:flex; flex-wrap:wrap; gap:var(--space-1); padding:var(--space-1); }
.period-presets a { border-radius:0; color:var(--portal-muted); font-size:.875rem; font-weight:800; min-height:2.35rem; padding:.55rem .75rem; text-decoration:none; }
.period-presets a:hover { background:var(--portal-surface); color:var(--portal-text); }
.period-presets a.is-active { background:var(--ntc-red); box-shadow:var(--shadow-soft); color:var(--portal-on-dark); }
.custom-period { border-top:1px solid var(--portal-line-subtle); padding-top:var(--space-3); }
.custom-period summary { align-items:center; color:var(--portal-muted); cursor:pointer; display:inline-flex; font-size:.875rem; font-weight:800; gap:var(--space-2); list-style:none; }
.custom-period summary::-webkit-details-marker { display:none; }
.custom-period summary:hover { color:var(--portal-accent-text); }
.custom-period form { align-items:end; display:grid; gap:var(--space-3); grid-template-columns:repeat(2,minmax(10rem,1fr)) auto; margin-top:var(--space-3); max-width:46rem; }
.custom-period .btn { min-height:3.2rem; }
.shipment-list-toolbar { align-items:center; display:flex; gap:var(--space-4); justify-content:space-between; margin-bottom:var(--space-4); }
.shipment-view-switch { background:var(--portal-disabled); border-radius:0; display:inline-flex; gap:var(--space-1); padding:var(--space-1); }
.shipment-view-switch a { align-items:center; border-radius:0; color:var(--portal-muted); display:flex; font-size:.875rem; font-weight:800; gap:var(--space-2); min-height:var(--target-min); padding:.55rem .8rem; text-decoration:none; }
.shipment-view-switch a.is-active { background:var(--portal-surface); box-shadow:var(--shadow-soft); color:var(--portal-text); }
.shipment-view-switch a span { align-items:center; background:var(--status-danger-bg); border-radius:0; color:var(--status-danger-text); display:inline-flex; font-size:.75rem; justify-content:center; min-width:1.35rem; padding:.12rem .35rem; }
.shipment-lookup-actions { align-items:center; display:flex; gap:var(--space-3); }
.shipment-lookup-actions > a:not(.btn) { color:var(--portal-muted); font-size:.75rem; font-weight:700; text-decoration:none; }
.shipment-lookup-actions > a:not(.btn):hover { color:var(--portal-accent-text); }
.search-boundary { align-items:center; color:var(--portal-muted); display:flex; font-size:.875rem; gap:var(--space-2); margin:calc(var(--space-2) * -1) 0 var(--space-4); }
.search-boundary i { color:var(--status-info-text); }
.filter-card .btn,.search-card .btn { min-height:3.2rem; }
.period-label { background:var(--portal-subtle); border-radius:0; color:var(--portal-muted); font-size:.75rem; font-weight:700; padding:.5rem .75rem; }
.shipment-list-card { overflow:hidden; }
.pagination-bar .btn-outline-secondary:not(.disabled) { --bs-btn-color:var(--portal-text); --bs-btn-border-color:var(--portal-secondary-strong); }
.desktop-shipment-table table { margin:0; }
.desktop-shipment-table thead th { background:var(--portal-subtle); border-bottom:1px solid var(--portal-line); color:var(--portal-table-heading); font-size:.75rem; font-weight:800; letter-spacing:.07em; padding:.8rem 1rem; text-transform:uppercase; white-space:nowrap; }
.desktop-shipment-table tbody td { border-bottom-color:var(--portal-line-subtle); font-size:.875rem; padding:.9rem 1rem; vertical-align:middle; }
.desktop-shipment-table tbody tr:last-child td { border-bottom:0; }
.desktop-shipment-table tbody td strong,.desktop-shipment-table tbody td small { display:block; }
.desktop-shipment-table tbody td small { color:var(--portal-muted); font-size:.75rem; margin-top:.15rem; max-width:15rem; }
.table-action { align-items:center; border:1px solid var(--portal-control-border); border-radius:0; color:var(--portal-accent-text); display:flex; height:var(--target-min); justify-content:center; text-decoration:none; width:var(--target-min); }
.table-action:hover { background:var(--ntc-red); border-color:var(--ntc-red); color:var(--portal-on-dark); }
.mobile-shipment-list { display:none; }
.pagination-bar { align-items:center; background:var(--portal-subtle); border-top:1px solid var(--portal-line); display:flex; justify-content:space-between; padding:1rem 1.25rem; }
.pagination-bar > span { color:var(--portal-muted); font-size:.875rem; font-weight:600; }
.pagination-bar > div { display:flex; gap:.5rem; }
.pagination-bar .btn { font-size:.875rem; min-height:2.75rem; padding:.45rem .75rem; }

.input-with-icon { position:relative; }
.input-with-icon > i { color:var(--portal-icon-muted); left:.9rem; position:absolute; top:50%; transform:translateY(-50%); z-index:3; }
.input-with-icon .form-control { padding-left:2.65rem; }
.search-query { min-width:0; }
.search-empty > div { display:flex; flex-wrap:wrap; gap:.65rem; justify-content:center; margin-top:.75rem; }
.search-empty > div span { background:var(--portal-subtle); border-radius:0; color:var(--portal-secondary-strong); font-size:.875rem; font-weight:700; padding:.5rem .7rem; }
.search-empty > div i { color:var(--portal-accent-text); margin-right:.3rem; }

.shipment-status { display:inline-flex; flex-direction:column; align-items:flex-start; gap:.3rem; min-width:0; }
.shipment-status .shipment-cod { display:block; margin:0; font-size:.875rem; line-height:1.35; color:var(--portal-muted); white-space:normal; overflow-wrap:anywhere; }
.shipment-status .shipment-cod-success { color:var(--status-success-text); }
.shipment-status .shipment-cod-warning { color:var(--status-warning-text); }
.shipment-status .shipment-cod-danger { color:var(--status-danger-text); }

.shipment-operational-card { border-bottom:1px solid var(--portal-line); padding:1.25rem; }
.operational-heading { align-items:flex-start; display:flex; justify-content:space-between; gap:1rem; }
.operational-heading h3 { font-size:1.05rem; margin:.15rem 0 0; }
.operational-stage-list { display:grid; gap:.5rem; grid-template-columns:repeat(6,minmax(0,1fr)); margin-top:1rem; }
.operational-stage-list span { align-items:center; background:var(--portal-subtle); border:1px solid var(--portal-line); border-radius:0; color:var(--portal-muted); display:flex; font-size:.75rem; font-weight:700; justify-content:center; min-height:2.75rem; padding:.45rem; text-align:center; }
.operational-stage-list span.is-current { background:var(--status-info-bg); border-color:var(--status-info-text); color:var(--status-info-text); box-shadow:inset 0 0 0 1px var(--status-info-text); }
.status-source-note { color:var(--portal-muted); font-size:.75rem; margin:.65rem 0 1rem; }
.operational-status-grid { display:grid; gap:.75rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.operational-status-grid article { background:var(--portal-subtle); border-radius:0; min-width:0; padding:.9rem; }
.operational-status-grid small { color:var(--portal-muted); display:block; font-size:.72rem; font-weight:800; letter-spacing:.05em; margin-bottom:.3rem; text-transform:uppercase; }
.operational-status-grid strong,.operational-status-grid p { font-size:.875rem; margin:0; overflow-wrap:anywhere; }
.operational-outcome-note { align-items:flex-start; background:var(--status-warning-bg); border-radius:0; color:var(--status-warning-text); display:flex; font-size:.875rem; gap:.6rem; margin-top:.75rem; padding:.8rem .9rem; }
.operational-outcome-note i { margin-top:.1rem; }
.attention-action-copy { line-height:1.35; max-width:22rem; min-width:14rem; }
.attention-action-copy small { max-width:22rem !important; }
.attention-mobile-action { color:var(--portal-text) !important; margin-top:.45rem; white-space:normal; }
.detail-page-shell { max-width:72rem; }
.shipment-page-actions { align-items:center; display:flex; gap:var(--space-4); margin:calc(var(--space-4) * -1) 0 var(--space-4); }
.shipment-page-actions a { align-items:center; color:var(--portal-muted); display:inline-flex; font-size:.875rem; font-weight:700; gap:var(--space-2); min-height:var(--target-min); text-decoration:none; }
.shipment-page-actions a:hover { color:var(--portal-accent-text); }

.empty-state { align-items:center; display:flex; flex-direction:column; padding:var(--space-8) var(--space-5); text-align:center; }
.empty-state > i { color:var(--portal-icon-empty); font-size:2.4rem; margin-bottom:.9rem; }
.empty-state h1,.empty-state h2,.empty-state h3 { font-size:1.05rem; margin:0 0 .4rem; }
.empty-state p { color:var(--portal-muted); font-size:.875rem; margin:0 0 var(--space-3); }
.empty-state.compact { padding:var(--space-6) var(--space-4); }
.not-found-state { max-width:var(--measure-compact); margin-inline:auto; }

.shipment-form-main { display:grid; gap:1rem; }
.shipment-form-flow { margin-inline:auto; max-width:72rem; width:100%; }
.form-section { overflow:hidden; padding:1.35rem; }
.form-section-header { align-items:center; border-bottom:1px solid var(--portal-line); display:flex; gap:.75rem; margin:-1.35rem -1.35rem 1.25rem; min-height:5rem; padding:1rem 1.35rem; position:relative; }
.section-number { color:var(--portal-muted); font-size:.75rem; font-weight:800; letter-spacing:.1em; position:absolute; right:1rem; top:.7rem; }
.section-icon { align-items:center; background:var(--ntc-red-soft); border-radius:0; color:var(--portal-accent-text); display:flex; flex:0 0 auto; height:2.75rem; justify-content:center; width:2.75rem; }
.form-section-header > div { display:grid; }
.form-section-header small { color:var(--portal-muted); font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.form-section-header h2 { font-size:1rem; margin:.1rem 0 0; }
.form-section-header .btn { margin-left:auto; margin-right:2rem; }
.conditional-label { background:var(--ntc-red-soft); border-radius:0; color:var(--portal-accent-text); font-size:.75rem; font-weight:800; margin-left:auto; margin-right:1.8rem; padding:.35rem .55rem; text-transform:uppercase; }
.variant-grid { display:grid; gap:.75rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.variant-grid > label { align-items:center; border:1px solid var(--portal-variant-border); border-radius:0; cursor:pointer; display:grid; gap:.5rem; grid-template-columns:auto minmax(0,1fr) auto; margin:0; min-height:5rem; padding:.85rem; transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease; }
.variant-grid > label > span { align-items:center; background:var(--portal-variant-icon-bg); border-radius:0; color:var(--portal-variant-icon); display:flex; grid-row:1 / 3; height:2.6rem; justify-content:center; width:2.6rem; }
.variant-grid > label strong { font-size:.875rem; }
.variant-grid > label small { color:var(--portal-muted); font-size:.875rem; grid-column:2 / 4; line-height:1.5; }
.variant-check { color:var(--portal-variant-check); font-size:.85rem; }
.variant-grid > label:hover { background:var(--portal-subtle); border-color:var(--portal-variant-hover-border); }
.btn-check:focus-visible + label { box-shadow:var(--focus-ring); outline:2px solid var(--portal-focus); outline-offset:2px; }
.btn-check:checked + label { background:var(--portal-variant-selected); border-color:var(--ntc-red); box-shadow:var(--shadow-selected); }
.btn-check:checked + label > span { background:var(--ntc-red); color:var(--portal-on-dark); }
.btn-check:checked + label .variant-check { color:var(--portal-accent-text); }
#senderSection.is-disabled { display:none; }
.package-list { display:grid; gap:.65rem; }
.package-row { align-items:end; background:var(--portal-subtle); border:1px solid var(--portal-package-border); border-radius:0; display:grid; gap:.65rem; grid-template-columns:auto minmax(9rem,1.25fr) minmax(7rem,.7fr) auto; padding:.75rem; }
.package-index { align-self:center; color:var(--portal-muted); font-size:.75rem; font-weight:800; letter-spacing:.08em; }
.package-row label { font-size:.875rem; }
.package-row .form-control,.package-row .form-select { min-height:2.75rem; }
.remove-package { align-items:center; background:var(--portal-surface); border:1px solid var(--portal-danger-border); border-radius:0; color:var(--portal-danger-action); display:flex; height:var(--target-min); justify-content:center; width:var(--target-min); }
.remove-package:hover:not(:disabled) { background:var(--status-danger-bg); }
.remove-package:focus-visible { box-shadow:var(--focus-ring); outline:0; }
.remove-package:disabled { cursor:not-allowed; opacity:.35; }
.extra-fields { border:1px solid var(--portal-variant-border); border-radius:0; overflow:hidden; }
.extra-fields summary { align-items:center; cursor:pointer; display:flex; font-size:.875rem; font-weight:700; justify-content:space-between; list-style:none; min-height:2.75rem; padding:.9rem 1rem; }
.extra-fields summary::-webkit-details-marker { display:none; }
.extra-fields summary i { color:var(--portal-accent-text); margin-right:.45rem; }
.extra-fields summary small { color:var(--portal-muted); font-size:.75rem; font-weight:600; }
.extra-fields[open] summary { border-bottom:1px solid var(--portal-line); }
.extra-fields > .row { padding:1rem; }
.option-switch { align-items:center; border-top:1px solid var(--portal-line-subtle); cursor:pointer; display:flex; justify-content:space-between; margin:0; min-height:var(--target-min); padding:.9rem 0; }
.option-switch > span:first-child { display:grid; padding-right:.65rem; }
.option-switch strong { font-size:.875rem; }
.option-switch small { color:var(--portal-muted); font-size:.875rem; line-height:1.5; }
.option-switch .form-check { margin:0; padding-left:2.5rem; }
.option-switch-card { background:var(--portal-subtle); border:1px solid var(--portal-control-border); border-radius:0; padding:var(--space-4); }
.option-switch-card:hover { border-color:var(--portal-variant-hover-border); }
.form-submit-bar { align-items:center; background:var(--portal-surface); border:1px solid var(--portal-line); border-radius:0; box-shadow:var(--shadow-card); display:flex; gap:var(--space-5); justify-content:space-between; padding:var(--space-4) var(--space-5); }
.form-submit-bar > div { display:grid; }
.form-submit-bar strong { font-size:.875rem; }
.form-submit-bar small { color:var(--portal-muted); font-size:.875rem; line-height:1.5; }
.submit-shipment { flex:0 0 auto; min-width:13rem; }
.created-shipment-alert { align-items:center; background:var(--success-surface); border:1px solid var(--success-border); border-radius:0; display:grid; gap:1rem; grid-template-columns:auto minmax(0,1fr) auto; margin-bottom:1.25rem; padding:1rem 1.15rem; }
.created-shipment-alert > span { align-items:center; background:var(--success-icon); border-radius:0; color:var(--portal-on-dark); display:flex; font-size:1.1rem; height:2.8rem; justify-content:center; width:2.8rem; }
.created-shipment-alert > div { display:grid; }
.created-shipment-alert > .created-shipment-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.created-shipment-alert small { color:var(--success-copy); font-size:.875rem; }
.created-shipment-alert strong { font-size:1rem; }
.created-shipment-alert p { color:var(--success-copy); font-size:.875rem; margin:0; }
.shipment-mode-switch { display:grid; gap:var(--space-3); grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:var(--space-5); max-width:52rem; }
.shipment-mode-switch a { align-items:center; background:var(--portal-surface); border:1px solid var(--portal-line); border-radius:0; color:var(--portal-text); display:flex; gap:var(--space-3); min-height:5rem; padding:var(--space-4); text-decoration:none; transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease; }
.shipment-mode-switch a > i { align-items:center; background:var(--portal-subtle); border-radius:0; color:var(--portal-muted); display:flex; flex:0 0 auto; font-size:1.1rem; height:2.75rem; justify-content:center; width:2.75rem; }
.shipment-mode-switch a span,.shipment-mode-switch a strong,.shipment-mode-switch a small { display:block; }
.shipment-mode-switch a small { color:var(--portal-muted); font-size:.75rem; margin-top:var(--space-1); }
.shipment-mode-switch a:hover { border-color:var(--portal-variant-hover-border); box-shadow:var(--shadow-card-hover); }
.shipment-mode-switch a.active { background:var(--portal-variant-selected); border-color:var(--ntc-red); box-shadow:var(--shadow-selected); }
.shipment-mode-switch a.active > i { background:var(--ntc-red); color:var(--portal-on-dark); }
.shipment-direct-search { margin-bottom:var(--space-3); }

.import-shell { max-width:78rem; }
.import-intro-grid { align-items:stretch; display:grid; gap:var(--space-4); grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr); margin-bottom:var(--space-4); }
.import-upload-card,.import-guide { padding:var(--space-5); }
.import-section-heading { align-items:flex-start; display:flex; gap:var(--space-3); margin-bottom:var(--space-4); }
.import-section-heading h2,.import-guide h2 { font-size:1.125rem; margin:0; }
.import-section-heading p,.import-guide p { color:var(--portal-muted); font-size:.875rem; line-height:1.55; margin:var(--space-1) 0 0; }
.import-step { align-items:center; background:var(--portal-night); border-radius:0; color:var(--portal-on-dark); display:flex; flex:0 0 auto; font-size:.75rem; font-weight:800; height:2.5rem; justify-content:center; letter-spacing:.08em; width:2.5rem; }
.import-dropzone { align-items:center; background:var(--portal-subtle); border:1px dashed var(--portal-variant-hover-border); border-radius:0; cursor:pointer; display:flex; flex-direction:column; justify-content:center; margin:0; min-height:12rem; padding:var(--space-6); text-align:center; transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease; }
.import-dropzone:hover,.import-dropzone:focus-within { background:var(--portal-surface); border-color:var(--ntc-red); box-shadow:var(--focus-ring); }
.import-dropzone.has-file { background:var(--status-success-bg); border-color:var(--status-success-text); }
.import-dropzone.has-file small { color:var(--portal-text); }
.import-dropzone > span { align-items:center; background:var(--ntc-red-soft); border-radius:0; color:var(--portal-accent-text); display:flex; font-size:1.35rem; height:3.25rem; justify-content:center; margin-bottom:var(--space-3); width:3.25rem; }
.import-dropzone strong { font-size:1rem; }
.import-dropzone small { color:var(--portal-muted); font-size:.875rem; margin-top:var(--space-1); }
.import-dropzone input { height:1px; opacity:0; position:absolute; width:1px; }
.import-file-summary { align-items:center; background:var(--portal-subtle); border-radius:0; display:flex; justify-content:space-between; margin-top:var(--space-3); padding:var(--space-3); }
.import-file-summary strong { font-size:.875rem; overflow-wrap:anywhere; }
.import-file-summary span { color:var(--portal-muted); font-size:.875rem; text-align:right; }
.import-blocking-error { background:var(--status-danger-bg); border-radius:0; color:var(--status-danger-text); font-size:.875rem; font-weight:700; margin-top:var(--space-3); padding:var(--space-3); }
.import-guide { display:flex; flex-direction:column; }
.import-guide ol { color:var(--portal-muted); display:grid; font-size:.875rem; gap:var(--space-3); line-height:1.55; margin:var(--space-4) 0; padding-left:1.2rem; }
.import-guide .btn { margin-top:auto; }
.import-preview-card,.import-results { margin-top:var(--space-4); overflow:hidden; }
.import-summary,.import-outcome-grid { display:grid; gap:var(--space-3); padding:var(--space-4) var(--space-5); }
.import-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
.import-outcome-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.import-summary > div,.import-outcome-grid > div { background:var(--portal-subtle); border-radius:0; display:grid; min-height:4.5rem; padding:var(--space-3); }
.import-summary small,.import-outcome-grid small { color:var(--portal-muted); font-size:.75rem; font-weight:700; }
.import-summary strong,.import-outcome-grid strong { font-size:1.45rem; font-variant-numeric:tabular-nums; }
.outcome-created { box-shadow:inset 3px 0 0 var(--status-success-text); }
.outcome-existing { box-shadow:inset 3px 0 0 var(--status-info-text); }
.outcome-invalid,.outcome-failed { box-shadow:inset 3px 0 0 var(--status-danger-text); }
.outcome-uncertain { box-shadow:inset 3px 0 0 var(--status-warning-text); }
.import-progress,.import-partial-note { background:var(--portal-subtle); border-top:1px solid var(--portal-line); color:var(--portal-muted); font-size:.875rem; font-weight:600; padding:var(--space-3) var(--space-5); }
.import-table-wrap { border-top:1px solid var(--portal-line); max-height:34rem; overflow:auto; }
.import-table-wrap:focus-visible { box-shadow:inset var(--focus-ring); outline:0; }
.import-table { margin:0; min-width:58rem; }
.import-table thead { position:sticky; top:0; z-index:2; }
.import-table th { background:var(--portal-subtle); color:var(--portal-table-heading); font-size:.75rem; letter-spacing:.06em; padding:.75rem; text-transform:uppercase; }
.import-table td { border-color:var(--portal-line-subtle); font-size:.875rem; padding:.75rem; vertical-align:top; }
.import-table td small { color:var(--portal-muted); display:block; line-height:1.45; margin-top:var(--space-1); max-width:22rem; }
.import-row-number { color:var(--portal-muted); font-variant-numeric:tabular-nums; width:4rem; }
.import-code { font-weight:800; }
.import-row-actions { min-width:13rem; }
.import-preview-actions { align-items:center; border-top:1px solid var(--portal-line); display:flex; gap:var(--space-2); justify-content:flex-end; padding:var(--space-4) var(--space-5); }
.uncertain-copy { color:var(--status-warning-text); font-size:.875rem; line-height:1.5; margin:0 0 var(--space-2); max-width:24rem; }
.row-actions { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.row-actions .btn { min-height:var(--target-min); }
.attempt-history { margin-top:var(--space-2); }
.attempt-history summary { color:var(--portal-muted); cursor:pointer; font-size:.875rem; font-weight:700; min-height:var(--target-min); padding-top:var(--space-2); }
.attempt-history ol { display:grid; gap:var(--space-2); margin:0; padding-left:1.25rem; }
.attempt-history li strong,.attempt-history li span { display:block; font-size:.875rem; line-height:1.45; }
.attempt-history li span { color:var(--portal-muted); }

.portal-footer { background:var(--portal-night); border-top:1px solid var(--portal-dark-line); color:var(--portal-footer-text); font-size:.875rem; padding:1.15rem 0; }

.route-login { background:var(--portal-night); }
.route-login .portal-main { min-height:100dvh; }
.route-login .portal-global-alert { left:50%; position:fixed; top:1rem; transform:translateX(-50%); width:min(42rem,calc(100% - 2rem)); z-index:10; }
.login-screen { align-items:center; background:var(--gradient-login-panel); display:flex; justify-content:center; min-height:100dvh; padding:clamp(1rem,4vw,3rem); }
.login-panel { display:flex; justify-content:center; width:100%; }
.login-form-shell { background:var(--portal-ink); border:1px solid var(--portal-dark-control-line); border-radius:0; box-shadow:var(--shadow-strong); max-width:30rem; padding:clamp(1.5rem,4vw,2.5rem); width:100%; }
.login-brand { align-items:center; border-bottom:1px solid var(--portal-dark-control-line); display:flex; justify-content:space-between; margin-bottom:var(--space-6); padding-bottom:var(--space-5); }
.login-brand img { display:block; height:2.7rem; object-fit:contain; width:auto; }
.login-brand small { color:var(--portal-dark-secondary); font-size:.75rem; font-weight:700; }
.login-form { display:grid; gap:1.15rem; }
.login-form label { color:var(--portal-dark-copy); }
.login-form .form-control { background:var(--portal-dark-control); border-color:var(--portal-dark-control-line); color:var(--portal-on-dark); min-height:3.45rem; }
.login-form .form-control:focus { border-color:var(--portal-login-focus); box-shadow:0 0 0 .2rem var(--portal-brand-focus-soft); }
.login-form .input-with-icon > i { color:var(--portal-login-accent); }
.login-form .btn { margin-top:.35rem; min-height:3.35rem; width:100%; }
.password-toggle { align-items:center; background:transparent; border:0; color:var(--portal-dark-secondary); display:flex; height:var(--target-min); justify-content:center; position:absolute; right:.3rem; top:50%; transform:translateY(-50%); width:var(--target-min); }
.route-login .alert { font-size:.875rem; }

@media (max-width:1199.98px) {
  .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric-grid-five { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric-grid-five .metric-total { grid-column:1 / 3; }
}

@media (max-width:991.98px) {
  .portal-account { border-left:0; border-top:1px solid var(--portal-dark-line-soft); margin:1rem 0 0; padding:1rem 0 .25rem; }
  .portal-header .navbar-collapse { background:var(--portal-ink); border:1px solid var(--portal-dark-line-soft); border-radius:0; margin-top:.7rem; padding:.7rem; }
  .portal-content { padding-top:2.5rem; }
  .dashboard-grid { grid-template-columns:1fr; }
  .dashboard-insight-grid,.dashboard-overview-grid,.import-intro-grid { grid-template-columns:1fr; }
  .success-overview { grid-template-columns:minmax(0,1fr) auto; }
  .daily-chart { overflow-x:auto; }
  .recent-item { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; }
  .recent-item-identity { grid-column:1; grid-row:1; }
  .recent-item-date { grid-column:2; grid-row:1; }
  .recent-item-recipient { grid-column:1; grid-row:2; }
  .recent-item-destination { grid-column:2; grid-row:2; }
  .recent-item-measure { grid-column:1; grid-row:3; }
  .recent-item .status-badge { grid-column:2; grid-row:3; justify-self:start; }
  .recent-item > .bi-chevron-right { grid-column:3; grid-row:1 / 4; }
  .filter-card { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shipment-filter-card .filter-receiver { grid-column:1 / 3; }
  .shipment-filter-card .btn { grid-column:auto; }
  .filter-card > div:nth-child(3) { grid-column:1 / 2; }
  .period-toolbar-main { align-items:stretch; flex-direction:column; }
  .period-presets { justify-content:center; }
  .variant-grid { grid-template-columns:1fr; }
}

@media (max-width:767.98px) {
  .portal-container { padding-left:1rem; padding-right:1rem; }
  .portal-header .navbar { min-height:4.5rem; }
  .portal-logo { height:2.35rem; }
  .portal-brand-label,.portal-brand-divider { display:none; }
  .portal-content { padding:2rem 0 3.5rem; }
  .portal-page-heading { align-items:flex-start; flex-direction:column; gap:1.25rem; margin-bottom:1.5rem; }
  .portal-page-heading .btn { width:100%; }
  .metric-grid { grid-template-columns:1fr 1fr; }
  .metric-grid-five .metric-total { grid-column:1 / 3; }
  .metric-card { min-height:5.75rem; }
  .dashboard-grid { gap:1rem; }
  .filter-card,.search-card { grid-template-columns:1fr; }
  .filter-card > div:nth-child(3) { grid-column:auto; }
  .shipment-filter-card .filter-receiver,.shipment-filter-card .btn { grid-column:auto; }
  .period-current { grid-template-columns:var(--target-min) minmax(0,1fr) var(--target-min); width:100%; }
  .period-current > div { min-width:0; padding:0 var(--space-1); }
  .period-current strong { white-space:normal; overflow-wrap:anywhere; }
  .period-current strong i { display:none; }
  .period-presets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .period-presets a { text-align:center; }
  .custom-period form { grid-template-columns:1fr; }
  .shipment-list-toolbar { align-items:stretch; flex-direction:column; }
  .shipment-view-switch { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .shipment-view-switch a { justify-content:center; }
  .shipment-lookup-actions { align-items:stretch; flex-direction:column; }
  .shipment-lookup-actions .btn { width:100%; }
  .attention-summary { grid-template-columns:1fr; }
  .desktop-shipment-table { display:none; }
  .mobile-shipment-list { display:block; }
  .mobile-shipment-list > a { align-items:center; border-bottom:1px solid var(--portal-line); display:grid; gap:.7rem; grid-template-columns:minmax(0,1fr) auto; padding:1rem; text-decoration:none; }
  .mobile-shipment-list > a:last-child { border-bottom:0; }
  .mobile-shipment-list > a > div { display:grid; min-width:0; }
  .mobile-shipment-list small { color:var(--portal-muted); font-size:.75rem; }
  .mobile-shipment-list strong { font-size:.875rem; }
  .mobile-shipment-list div span { color:var(--portal-muted); font-size:.875rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .mobile-shipment-list .shipment-status { grid-column:1; justify-self:start; }
  .mobile-shipment-list > a > i { color:var(--portal-mobile-chevron); font-size:.875rem; grid-column:2; grid-row:1 / 3; }
  .pagination-bar { align-items:stretch; flex-direction:column; gap:.75rem; }
  .pagination-bar > div { display:grid; grid-template-columns:1fr 1fr; }
  .operational-heading { flex-direction:column; }
  .operational-stage-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .operational-status-grid { grid-template-columns:1fr; }
  .form-section { padding:1rem; }
  .form-section-header { margin:-1rem -1rem 1rem; padding:1rem; }
  .form-section-header .btn { margin-right:1.5rem; }
  .conditional-label { display:none; }
  .package-row { grid-template-columns:auto minmax(0,1fr) auto; }
  .package-row > div { grid-column:2 / 3; }
  .package-row .remove-package { align-self:center; grid-column:3; grid-row:1 / 4; }
  .package-index { grid-row:1 / 4; }
  .created-shipment-alert { grid-template-columns:auto minmax(0,1fr); }
  .created-shipment-alert .created-shipment-actions { grid-column:1 / 3; }
  .dashboard-command-bar { align-items:flex-start; flex-direction:column; }
  .success-overview { grid-template-columns:1fr; }
  .success-ring { grid-row:1; height:5.5rem; justify-self:end; position:absolute; right:var(--space-5); top:var(--space-5); width:5.5rem; }
  .success-overview-copy { padding-right:6.5rem; }
  .import-outcome-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .import-summary { grid-template-columns:1fr; }
  .import-preview-actions { align-items:stretch; flex-direction:column; }
  .import-preview-actions .btn { width:100%; }
  .import-table-wrap { overflow-x:hidden; }
  .import-table { min-width:0; width:100%; }
  .import-table thead { clip:rect(0 0 0 0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
  .import-table tbody { display:grid; gap:var(--space-3); padding:var(--space-3); }
  .import-table tbody tr { display:grid; background:var(--portal-surface); border:1px solid var(--portal-line); border-radius:0; overflow:hidden; }
  .import-table td { align-items:start; border-bottom:1px solid var(--portal-line-subtle); display:grid; gap:var(--space-1); grid-template-columns:minmax(6.5rem,.45fr) minmax(0,1fr); overflow-wrap:anywhere; width:100%; }
  .import-table td::before { color:var(--portal-muted); content:attr(data-label); font-size:.75rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
  .import-table td:last-child { border-bottom:0; }
  .import-row-number,.import-row-actions { min-width:0; width:auto; }
  .import-row-actions:empty { display:none; }
  .import-row-actions .row-actions { grid-column:1 / -1; }
  .shipment-mode-switch { grid-template-columns:1fr; }
  .form-submit-bar { align-items:stretch; flex-direction:column; padding:var(--space-4); }
  .submit-shipment { width:100%; }
  .portal-footer .portal-container { flex-direction:column; }
}

@media (max-width:575.98px) {
  .metric-grid { gap:.75rem; }
  .metric-card { gap:var(--space-2); min-height:5.5rem; padding:var(--space-3); }
  .metric-icon { height:2.5rem; width:2.5rem; }
  .metric-card strong { font-size:1.5rem; }
  .metric-grid-five { grid-template-columns:1fr 1fr; }
  .card-topline { align-items:flex-start; padding:1rem; }
  .card-topline-actions { align-items:flex-end; flex-direction:column; }
  .period-label { display:none; }
  .recent-list { padding:var(--space-1) var(--space-3); }
  .recent-item { column-gap:var(--space-3); row-gap:var(--space-2); padding:var(--space-3) 0; }
  .quick-action { padding:1rem; }
  .search-empty > div { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .login-screen { align-items:flex-start; padding:1rem; }
  .login-form-shell { padding:1.35rem; }
  .distribution-list,.dashboard-quick-search form,.import-upload-card,.import-guide { padding:var(--space-4); }
  .daily-chart { padding-inline:var(--space-4); }
  .destination-list { padding-inline:var(--space-4); }
  .import-file-summary { align-items:flex-start; flex-direction:column; gap:var(--space-1); }
  .import-file-summary span { text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

.clear-filters { color:var(--portal-muted); display:inline-flex; align-items:center; font-size:.875rem; min-height:var(--target-min); margin-bottom:var(--space-3); }
.clear-filters:hover { color:var(--portal-accent-text); }
.shipment-mode-switch a { min-height:var(--target-min); }
.operational-status-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); }

/* Unified client workspace */
.portal-footer { background:transparent; border-color:var(--portal-line); color:var(--portal-muted); font-size:.75rem; }
.import-preview-card { scroll-margin-top:6rem; }
.portal-content { padding:2rem 0 3rem; }
.portal-container { padding-inline:1.5rem; max-width:1360px; }
.portal-page-heading h1,.route-dashboard .portal-page-heading h1 { font-size:1.75rem; letter-spacing:-.04em; }
.btn-primary { box-shadow:none; }
.btn-primary:hover { transform:none; }
.form-control,.form-select { background-color:var(--portal-surface); }
.period-toolbar { padding:1rem; gap:.75rem; }
.period-toolbar-main { gap:.75rem; }
.period-current { background:transparent; border:0; padding:0; }
.period-current small { font-size:.75rem; font-weight:600; text-align:left; margin-bottom:.2rem; }
.period-current strong { font-weight:700; }
.period-presets { background:transparent; border:0; padding:0; gap:.25rem; }
.period-presets a { color:var(--portal-control-copy); font-weight:600; }
.period-presets a.is-active { background:var(--ntc-red-soft); color:var(--portal-accent-text); box-shadow:none; }
.custom-period { padding-top:.5rem; }
.custom-period summary { min-height:2rem; font-weight:600; }
.custom-period summary::after { content:'+'; margin-left:.5rem; }
.custom-period[open] summary::after { content:'−'; }
.period-mobile-label { display:none; }
.shipment-workspace { overflow:hidden; margin-bottom:1.25rem; }
.shipment-workspace .shipment-list-toolbar { padding:1rem 1.25rem; margin:0; border-bottom:1px solid var(--portal-line); }
.shipment-workspace .period-toolbar { border:0; border-radius:0; box-shadow:none; margin:0; padding:1rem 1.25rem; }
.shipment-workspace .filter-card { border:0; border-radius:0; box-shadow:none; margin:0; padding:1rem 1.25rem; border-top:1px solid var(--portal-line-subtle); }
.shipment-workspace .attention-summary { margin:0 1.25rem 1rem; }
.shipment-workspace .attention-summary article { box-shadow:none; background:var(--portal-subtle); min-height:4.5rem; }
.shipment-workspace .attention-summary strong { font-size:1.25rem; }
.shipment-workspace .search-boundary { margin:0; padding:0 1.25rem 1rem; font-size:.75rem; }
.shipment-workspace .clear-filters { margin:0 1.25rem .5rem; }
.card-topline { padding:1rem 1.25rem; }
.desktop-shipment-table tbody tr:hover { background:var(--portal-subtle); }
.desktop-shipment-table tbody td { padding:1rem; }
.shipment-mode-switch { display:inline-flex; background:var(--portal-disabled); border-radius:0; padding:.25rem; gap:.25rem; width:auto; max-width:100%; }
.shipment-mode-switch a { background:transparent; border:0; border-radius:0; padding:.55rem 1rem; min-height:2.75rem; font-size:.875rem; gap:.5rem; }
.shipment-mode-switch a > i { background:transparent; width:auto; height:auto; font-size:1rem; }
.shipment-mode-switch a.active { background:var(--portal-surface); box-shadow:var(--shadow-tab); }
.shipment-mode-switch a.active > i { background:transparent; color:var(--portal-accent-text); }
.shipment-form-flow { max-width:none; }
.form-section-header { min-height:3.5rem; padding:1rem 1.35rem; }
.form-section-header .btn { margin-right:0; }
.form-section-header .conditional-label { margin-right:0; }
.variant-grid > label { position:relative; padding-right:2rem; min-height:5rem; }
.variant-grid > label .variant-check { position:absolute; right:.75rem; top:.9rem; }
.variant-grid > label small { font-weight:400; }
.form-submit-bar { justify-content:space-between; box-shadow:none; }
.success-overview { align-content:start; padding:1.5rem; }
.success-overview-copy { padding-top:.5rem; }
.success-overview-facts { margin-top:1rem; }
.success-overview-facts strong { font-size:1.75rem; margin-top:.5rem; }
.distribution-list { padding:1.25rem; }
.shipment-operational-card { background:var(--portal-subtle); }

@media (max-width:767.98px) {
  .portal-content { padding:1.25rem 0 2rem; }
  .portal-container { padding-inline:1rem; }
  .portal-page-heading { gap:.75rem; flex-direction:row; align-items:center; }
  .portal-page-heading .btn { width:auto; font-size:.75rem; padding:.65rem .8rem; }
  .portal-page-heading h1,.route-dashboard .portal-page-heading h1 { font-size:1.5rem; }
  .shipment-workspace .shipment-list-toolbar,.shipment-workspace .period-toolbar,.shipment-workspace .filter-card { padding:1rem; }
  .shipment-workspace .attention-summary { margin-inline:1rem; }
  .shipment-workspace .search-boundary { padding-inline:1rem; }
  .period-presets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }
  .period-presets a { font-size:.75rem; padding:.6rem .3rem; min-height:2.75rem; display:flex; align-items:center; justify-content:center; }
  .period-toolbar-main { display:none; }
  .period-toolbar:has(.custom-period[open]) .period-toolbar-main { display:flex; }
  .period-toolbar .custom-period { border-top:0; padding-top:0; }
  .period-toolbar .custom-period summary { min-height:2.75rem; width:100%; }
  .period-custom-label { display:none; }
  .period-mobile-label { display:inline; font-variant-numeric:tabular-nums; }
  .custom-period summary::after { margin-left:auto; }
  .shipment-filter-card { grid-template-columns:minmax(0,1fr) auto; }
  .shipment-filter-card .filter-receiver { grid-column:1 / -1; }
  .shipment-filter-card .btn { padding-inline:.8rem; }
  .shipment-mode-switch { display:flex; width:100%; }
  .shipment-mode-switch a { flex:1; padding:.55rem .7rem; justify-content:center; }
  .shipment-mode-switch a > i { display:none; }
  .form-section { padding:1rem; }
  .form-section-header { margin:-1rem -1rem 1rem; padding:.8rem 1rem; }
  .variant-grid { grid-template-columns:1fr; gap:.5rem; }
  .variant-grid > label { min-height:3.5rem; padding:.7rem; }
  .success-overview { padding:1.25rem; }
  .metric-card { padding:1rem; }
  .metric-grid-five { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric-card,.metric-card div { min-width:0; }
}
@media (max-width:380px) {
  .metric-card { align-items:flex-start; flex-direction:column; gap:.75rem; }
  .metric-total { flex-direction:row; align-items:center; }
  .success-ring { width:5rem; height:5rem; }
  .portal-page-heading { flex-wrap:wrap; }
}

/* Refined workspace: dark navigation and a consistent operational hierarchy. */
.portal-header { background:var(--portal-ink); border-bottom:1px solid var(--portal-dark-line); box-shadow:none; }
.portal-header .navbar { background:var(--portal-ink); padding:.8rem 0; }
.portal-nav-shell { max-width:1360px; padding-inline:1.5rem; gap:1.5rem; }
.portal-header .navbar-brand { gap:1rem; margin:0; }
.portal-logo { background:var(--portal-ink); border-radius:0; filter:none; height:3.2rem; padding:.55rem .7rem; width:auto; }
.portal-brand-label { color:var(--portal-on-dark-muted); font-size:.875rem; font-weight:500; letter-spacing:0; text-transform:none; }
.portal-header .navbar-nav { gap:.3rem; }
.portal-header .nav-link { color:var(--portal-dark-nav); border-radius:0; }
.portal-header .nav-link i { color:inherit; font-size:1.05rem; }
.portal-header .nav-link:hover,.portal-header .nav-link:focus-visible { background:var(--portal-dark-hover); color:var(--portal-on-dark); }
.portal-header .nav-link.active { background:var(--portal-brand-active); box-shadow:inset 0 0 0 1px var(--portal-brand-line); color:var(--ntc-red-light); }
.portal-account { border-color:var(--portal-dark-line-strong); }
.portal-account-icon { background:var(--portal-dark-hover); border-color:var(--portal-dark-line-strong); color:var(--portal-on-dark-muted); }
.portal-account-copy strong,.portal-logout { color:var(--portal-on-dark); }
.portal-logout:hover,.portal-logout:focus-visible { background:var(--portal-brand-active); color:var(--ntc-red-light); }
.navbar-toggler { border-color:var(--portal-dark-line-strong); }
.portal-header .navbar-toggler-icon { background-image:none; display:flex; align-items:center; justify-content:center; }
.portal-header .navbar-toggler-icon::before { content:'☰'; color:var(--portal-on-dark); font-size:1.4rem; }
.portal-content { padding:2.75rem 0 4rem; }
.portal-main { min-height:calc(100dvh - 9rem); }
.portal-page-heading,.route-dashboard .portal-page-heading { margin-bottom:1.75rem; }
.portal-page-heading h1,.route-dashboard .portal-page-heading h1 { font-size:clamp(1.8rem,3vw,2.4rem); font-weight:700; letter-spacing:-.055em; line-height:1.18; }
.portal-page-heading p { max-width:65ch; text-wrap:pretty; }
.portal-eyebrow { color:var(--portal-muted); font-size:.875rem; font-weight:600; letter-spacing:0; text-transform:none; }
.btn { font-weight:600; letter-spacing:0; }
.btn-primary:hover { box-shadow:none; }
.btn-primary:active,.btn-primary:focus-visible { background:var(--ntc-red-dark); border-color:var(--ntc-red-dark); }
.btn-primary:disabled { background:var(--ntc-red); border-color:var(--ntc-red); }
.form-control,.form-select { transition:border-color .2s,box-shadow .2s; }
.form-control:disabled { background:var(--portal-disabled); }
.form-control::placeholder { color:var(--portal-muted); opacity:1; }
label { font-weight:600; }
.period-toolbar { padding:1.15rem 1.25rem; }
.period-current small { font-size:.875rem; }
.period-presets a { min-height:2.75rem; display:inline-flex; align-items:center; }
.custom-period summary { min-height:2.75rem; }
.metric-grid-five { gap:0; background:var(--portal-surface); border:1px solid var(--portal-line); border-radius:0; overflow:hidden; margin-bottom:1.5rem; }
.metric-grid-five .metric-card { border:0; border-right:1px solid var(--portal-line); border-radius:0; box-shadow:none; display:flex; align-items:flex-start; flex-direction:column; gap:1rem; padding:1.5rem; min-height:12rem; position:relative; }
.metric-grid-five .metric-card:last-child { border-right:0; }
.metric-grid-five .metric-card:hover { background:var(--portal-subtle); transform:none; box-shadow:inset 0 -3px var(--ntc-red); }
.metric-grid-five .metric-card:focus-visible { outline-offset:-4px; }
.metric-grid-five .metric-total { background:var(--portal-subtle); }
.metric-grid-five .metric-icon { height:2rem; width:2rem; border-radius:0; font-size:1rem; }
.metric-card div { display:flex; flex-direction:column; gap:.45rem; min-width:0; }
.metric-card small { font-size:.875rem; font-weight:500; color:var(--portal-muted); }
.metric-card strong { font-size:2.65rem; font-weight:600; line-height:1.1; letter-spacing:-.06em; }
.metric-card div > span { font-size:.875rem; color:var(--portal-muted); }
.metric-card strong,.success-overview h2,.table { font-variant-numeric:tabular-nums; }
.dashboard-insight-grid { gap:1.5rem; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.success-overview { padding:2rem; gap:1.5rem; }
.success-overview h2 { font-size:3.25rem; font-weight:600; }
.success-overview-facts { margin-top:1rem; padding-top:1.5rem; }
.success-overview-facts small { font-size:.875rem; font-weight:500; }
.success-ring { width:7.5rem; height:7.5rem; }
.success-ring span { font-weight:600; }
.card-topline { padding:1.5rem; }
.card-topline h2 { font-size:1.125rem; font-weight:600; }
.distribution-list { padding:1.5rem; gap:1.15rem; }
.distribution-row progress { height:.35rem; }
.desktop-shipment-table thead th,.import-table th { font-size:.875rem; font-weight:600; text-transform:none; letter-spacing:0; padding:1rem; }
.desktop-shipment-table tbody td { padding:1.15rem 1rem; }
.desktop-shipment-table tbody td strong { font-weight:600; }
.desktop-shipment-table tbody td small { font-size:.875rem; }
.status-badge { border-radius:0; font-weight:600; font-size:.875rem; white-space:normal; }
.table-action { border-color:transparent; color:var(--portal-muted); background:var(--portal-subtle); }
.shipment-mode-switch { background:transparent; border-bottom:1px solid var(--portal-line); border-radius:0; padding:0; gap:1rem; }
.shipment-mode-switch a { border-radius:0; border-bottom:2px solid transparent; padding:.8rem .25rem; color:var(--portal-muted); }
.shipment-mode-switch a.active { background:transparent; border-bottom-color:var(--ntc-red); color:var(--portal-text); box-shadow:none; }
.shipment-mode-switch a:hover { box-shadow:none; color:var(--portal-text); }
.form-section-header { background:var(--portal-subtle); }
.section-icon { background:transparent; color:var(--portal-muted); width:1.75rem; height:2rem; }
.section-number { color:var(--portal-muted); }
.variant-grid > label { border-radius:0; }
.btn-check:checked + label { box-shadow:none; }
.operational-status-grid { grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr)); }
.operational-status-grid small { font-size:.875rem; font-weight:600; letter-spacing:0; text-transform:none; }
.import-upload-card,.import-guide { padding:1.75rem; }
.import-dropzone { background:var(--portal-subtle); border-radius:0; min-height:15rem; }
.import-step { background:var(--portal-subtle); color:var(--portal-muted); }
.empty-state,.empty-state.compact { padding:3rem 1.5rem; }
.empty-state > i { background:var(--portal-subtle); border-radius:0; color:var(--portal-muted); width:4.5rem; height:4.5rem; display:grid; place-items:center; font-size:2rem; }
.empty-state h1,.empty-state h2,.empty-state h3 { font-size:1.25rem; }
.empty-state p { max-width:48ch; line-height:1.6; }
.portal-footer { font-size:.875rem; padding:1.25rem 0; }
.portal-footer .portal-container { display:flex; justify-content:space-between; gap:1rem; }
.portal-footer a { text-decoration:none; }
.portal-footer a:hover { color:var(--portal-accent-text); }
.route-login,.login-screen { background:var(--portal-soft); }
.login-screen { background-image:radial-gradient(var(--portal-line) .8px,transparent .8px); background-size:20px 20px; }
.login-form-shell { background:var(--portal-surface); border-color:var(--portal-line); box-shadow:var(--shadow-strong); padding:2.5rem; max-width:29rem; }
.login-brand { border-color:var(--portal-line); flex-direction:column; align-items:flex-start; gap:1rem; padding-bottom:1.5rem; }
.login-brand img { background:var(--portal-ink); border-radius:0; height:3.7rem; padding:.6rem .8rem; }
.login-brand small { color:var(--portal-muted); font-size:.875rem; font-weight:500; }
.login-title { font-size:1.7rem; margin:0 0 1.5rem; }
.login-form label { color:var(--portal-label); }
.login-form .form-control { background:var(--portal-surface); border-color:var(--portal-control-border); color:var(--portal-text); }
.login-form .input-with-icon > i,.password-toggle { color:var(--portal-muted); }
.login-form #password { padding-right:3.2rem; }
.btn[aria-busy="true"] { cursor:wait; opacity:.75; }
@media (min-width:1200px) {
  .metric-grid-five { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width:1199.98px) {
  .portal-brand-label { display:none; }
  .metric-grid-five .metric-total { grid-column:1 / -1; flex-direction:row; min-height:7rem; }
  .metric-grid-five .metric-card { min-height:10rem; border-bottom:1px solid var(--portal-line); }
}
@media (max-width:991.98px) {
  .portal-header .navbar-collapse { background:var(--portal-ink); border-color:var(--portal-dark-line-strong); }
  .portal-account { border-color:var(--portal-dark-line-strong); }
  .portal-account-copy { max-width:none; flex:1; }
  .dashboard-insight-grid { grid-template-columns:1fr; }
}
@media (max-width:767.98px) {
  .portal-nav-shell { padding-inline:1rem; }
  .portal-content { padding:1.5rem 0 2.5rem; }
  .portal-page-heading { flex-wrap:wrap; gap:1rem; }
  .portal-page-heading h1,.route-dashboard .portal-page-heading h1 { font-size:1.75rem; }
  .portal-page-heading .btn { font-size:.875rem; }
  .metric-grid-five .metric-card { padding:1.15rem; min-height:10rem; }
  .metric-card strong { font-size:2.25rem; }
  .success-overview { padding:1.5rem; }
  .success-ring { width:5.5rem; height:5.5rem; }
  .success-overview h2 { font-size:2.5rem; }
  .card-topline { padding:1.15rem; }
  .login-form-shell { padding:1.75rem; }
  .import-upload-card,.import-guide { padding:1.25rem; }
  .portal-footer .portal-container { flex-wrap:wrap; }
}

/* Thumb-accessible navigation on phones; desktop keeps the top navbar. */
.mobile-tab-bar { display:none; }
@media (max-width:767.98px) {
  .portal-body:has(.mobile-tab-bar) { padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px)); }
  .portal-body:has(.mobile-tab-bar) .portal-main { min-height:calc(100dvh - 14rem); }
  html:has(.mobile-tab-bar) { scroll-padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px)); }
  .portal-header .navbar { padding:.5rem 0; min-height:4rem; }
  .portal-header .portal-nav-shell { flex-wrap:nowrap; gap:.75rem; }
  .portal-header .navbar-toggler,.portal-header .navbar-nav { display:none; }
  .portal-header .navbar-collapse { display:flex !important; flex-basis:auto; flex-grow:1; justify-content:flex-end; min-width:0; margin:0; padding:0; border:0; background:transparent; }
  .portal-header .portal-logo { height:2.8rem; padding:.4rem 0; }
  .portal-header .portal-account { border:0; padding:0; margin:0; gap:.25rem; min-width:0; }
  .portal-header .portal-account-icon { display:none; }
  .portal-header .portal-account-copy { min-width:0; max-width:8rem; }
  .portal-header .portal-account-copy strong { font-weight:500; }
  .mobile-tab-bar { position:fixed; inset:auto 0 0; z-index:1030; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.25rem; background:var(--portal-ink); border-top:1px solid var(--portal-dark-line-strong); padding:.45rem max(.5rem,env(safe-area-inset-right,0px)) calc(.45rem + env(safe-area-inset-bottom,0px)) max(.5rem,env(safe-area-inset-left,0px)); }
  .mobile-tab { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2rem; min-height:4rem; padding:.2rem; border-radius:0; color:var(--portal-on-dark-muted); text-decoration:none; font-size:.875rem; font-weight:500; line-height:1.3; transition:color .2s,background-color .2s,transform .12s; }
  .mobile-tab-icon { display:grid; place-items:center; width:3rem; height:2rem; border-radius:0; font-size:1.35rem; }
  .mobile-tab.is-active { color:var(--portal-on-dark); font-weight:700; }
  .mobile-tab.is-active .mobile-tab-icon { color:var(--ntc-red-light); background:var(--portal-brand-active); }
  .mobile-tab:hover,.mobile-tab:focus-visible { color:var(--portal-on-dark); background:var(--portal-dark-hover); }
  .mobile-tab:focus-visible { outline-color:var(--ntc-red-light); outline-offset:-2px; }
  .mobile-tab:active { transform:scale(.96); }
}

/* Page identity remains available to assistive technology without a title row. */
.shipment-page-actions { margin:0 0 var(--space-4); }

/* Compact search results retain readable text and full-size row touch targets. */
.shipment-list-card .card-topline { padding:.8rem 1rem; }
.desktop-shipment-table thead th { padding:.65rem .8rem; }
.desktop-shipment-table tbody td { padding:.6rem .8rem; line-height:1.35; }
.shipment-lookup-actions form { margin:0; }
.shipment-workspace .search-boundary { flex-wrap:wrap; line-height:1.5; }
@media (max-width:767.98px) {
  .shipment-lookup-actions { flex-wrap:wrap; }
  .mobile-shipment-list > a { grid-template-columns:minmax(0,1fr) minmax(5rem,35%); padding:.65rem .85rem; gap:.35rem .6rem; }
  .mobile-shipment-list > a > div { gap:.1rem; }
  .mobile-shipment-list .shipment-status { grid-column:2; grid-row:1; justify-self:end; max-width:100%; padding:.3rem .4rem; font-size:.875rem; line-height:1.3; }
  .mobile-shipment-list > a > i { display:none; }
  .mobile-shipment-list small { font-size:.875rem; line-height:1.3; }
  .mobile-shipment-list .attention-mobile-action { margin-top:.2rem; }
}

.home-workspace { display:grid; gap:1.5rem; }
.home-intro { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:.5rem 0; }
.home-intro h2 { font-size:clamp(1.7rem,3vw,2.5rem); margin:0 0 .6rem; }
.home-intro p,.home-help p { color:var(--portal-muted); max-width:60ch; margin:0; line-height:1.6; }
.home-text-link { display:inline-flex; align-items:center; gap:.6rem; min-height:2.75rem; color:var(--portal-accent-text); font-size:.875rem; font-weight:600; text-decoration:none; }
.home-period { font-size:.875rem; color:var(--portal-muted); margin:0 0 .75rem; }
.home-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--portal-surface); border:1px solid var(--portal-line); border-radius:0; overflow:hidden; }
.home-kpis a { display:grid; gap:.6rem; padding:1.25rem; text-decoration:none; border-right:1px solid var(--portal-line); }
.home-kpis a:last-child { border:0; }
.home-kpis span { min-height:2.6em; color:var(--portal-muted); font-size:.875rem; }
.home-kpis strong { font-size:2rem; font-variant-numeric:tabular-nums; }
.home-kpis a:hover { background:var(--portal-subtle); }
.home-step { font-size:.875rem; color:var(--portal-muted); margin-bottom:.75rem; }
.home-help { display:flex; align-items:center; gap:1.5rem; padding:1.5rem; background:var(--portal-subtle); border-radius:0; }
.home-help > i { font-size:1.5rem; color:var(--portal-muted); }
.home-help h2 { font-size:1.125rem; }
.home-help p { font-size:.875rem; }
.home-help .btn { flex-shrink:0; }
@media(max-width:767.98px) {
 .mobile-tab-bar { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
 .mobile-tab { font-size:.875rem; padding-inline:0; }
 .mobile-tab > span:last-child { text-align:center; }
 .home-intro,.home-help { flex-direction:column; align-items:flex-start; gap:.75rem; }
 .home-kpis a { padding:1rem .65rem; }
 .home-kpis strong { font-size:1.7rem; }
}

.home-period-controls { padding:1rem; }
.home-period-presets { display:flex; gap:.5rem; flex-wrap:wrap; }
.home-period-presets a,.home-custom-period summary { display:inline-flex; align-items:center; gap:.6rem; padding:.65rem .8rem; min-height:2.75rem; font-size:.875rem; font-weight:600; text-decoration:none; border-radius:0; }
.home-period-presets a[aria-current] { background:var(--ntc-red-soft); color:var(--portal-accent-text); }
.home-period-presets a:hover { background:var(--portal-subtle); }
.home-custom-period summary { cursor:pointer; list-style:none; }
.home-custom-period summary::-webkit-details-marker { display:none; }
.home-custom-period form { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:1rem; padding-top:.75rem; }
.home-contact { padding:1.5rem; }
.home-contact h2 { font-size:1.125rem; }
.home-contact-links { display:flex; flex-wrap:wrap; gap:1rem 2rem; }
.home-contact-links a { display:inline-flex; align-items:center; gap:.75rem; min-height:2.75rem; color:var(--portal-accent-text); text-decoration:none; overflow-wrap:anywhere; }
@media(max-width:575.98px) { .home-custom-period form { grid-template-columns:1fr; } }

/* Home: one overview surface, concise task guide and dedicated support column. */
.home-workspace { gap:1.5rem; }
.home-overview { overflow:hidden; }
.home-overview-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.25rem 1.5rem .5rem; }
.home-overview-heading h2 { margin:0; font-size:1.25rem; font-weight:600; }
.home-overview .home-period-controls { display:flex; align-items:flex-start; flex-wrap:wrap; gap:.5rem; padding:.5rem 1.5rem 1rem; border-bottom:1px solid var(--portal-line); }
.home-overview .home-period-presets { background:var(--portal-subtle); padding:.2rem; border-radius:0; gap:.2rem; }
.home-custom-period { flex:1; min-width:12rem; }
.home-custom-period summary { min-height:3.15rem; color:var(--portal-muted); }
.home-custom-period[open] { flex-basis:100%; }
.home-overview .home-period { padding:1rem 1.5rem 0; margin:0; }
.home-overview .home-kpis { border:0; border-radius:0; margin:.75rem 0 1rem; }
.home-overview .home-kpis a { padding:.5rem 1.5rem; gap:.4rem; }
.home-overview .home-kpis span { min-height:0; }
.home-overview .home-kpis strong { font-size:2.6rem; font-weight:600; letter-spacing:-.05em; line-height:1.2; }
.home-overview .alert { margin:1.25rem; }
.home-bottom-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(18rem,1fr); align-items:start; gap:1.5rem; }
.home-step { display:grid; place-items:center; width:2rem; height:2rem; border-radius:0; background:var(--portal-subtle); margin-bottom:1rem; font-weight:600; }
.home-support-column { display:grid; gap:1rem; }
.home-contact { background:var(--portal-surface); padding:1.5rem; }
.home-contact-icon { display:grid; place-items:center; width:2.75rem; height:2.75rem; border-radius:0; background:var(--ntc-red-soft); color:var(--portal-accent-text); font-size:1.3rem; margin-bottom:1rem; }
.home-contact h2 { font-size:1.3rem; }
.home-contact p { font-size:.875rem; color:var(--portal-muted); line-height:1.6; margin:0 0 1.25rem; max-width:42ch; }
.home-contact-links { display:grid; gap:0; }
.home-contact-links a { display:flex; gap:.75rem; padding:.85rem 0; border-top:1px solid var(--portal-line); font-size:.875rem; color:var(--portal-text); }
.home-contact-links a > span { min-width:0; flex:1; font-weight:600; }
.home-contact-links small { display:block; font-size:.875rem; color:var(--portal-muted); font-weight:400; margin-bottom:.2rem; }
.home-contact-links a > i { color:var(--portal-muted); }
.home-contact-links a:hover { color:var(--portal-accent-text); }
.home-help { display:block; padding:1.25rem 1.5rem; background:transparent; }
.home-help > i { display:none; }
.home-help h2 { font-size:1rem; }
.home-help .btn { border:0; padding:.5rem 0; color:var(--portal-accent-text); justify-content:flex-start; }
@media(max-width:991.98px) {
 .home-bottom-grid { grid-template-columns:1fr; }
 .home-support-column { grid-template-columns:1fr 1fr; align-items:start; }
}
@media(max-width:575.98px) {
 .home-overview-heading { padding:1rem 1rem .25rem; }
 .home-overview .home-period-controls { padding:.25rem 1rem .75rem; gap:0; }
 .home-period-presets { width:100%; }
 .home-period-presets a { flex:1; justify-content:center; padding-inline:.5rem; }
 .home-custom-period { min-width:0; width:100%; }
 .home-custom-period summary { padding-left:.5rem; }
 .home-overview .home-period { padding:.75rem 1rem 0; font-size:.875rem; }
 .home-overview .home-kpis a { padding:.5rem .75rem; }
 .home-overview .home-kpis span { min-height:2.6em; }
 .home-overview .home-kpis strong { font-size:2rem; }
 .home-support-column { grid-template-columns:1fr; }
}

@media (max-width:575.98px) {
 .home-overview .home-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-overview .home-kpis a { padding:1rem; }
 .home-overview .home-kpis a:nth-child(2n) { border-right:0; }
 .home-overview .home-kpis a:nth-child(-n+2) { border-bottom:1px solid var(--portal-line); }
}

/* One consistent reading order across all delivery variants. */
.shipment-form-flow { max-width:62rem; grid-template-columns:minmax(0,1fr); gap:1.25rem; }
.shipment-form-flow .form-section { padding:1.5rem; }
.shipment-form-flow .form-section-header { background:transparent; margin:0 0 1.25rem; padding:0 0 1rem; min-height:0; }
.shipment-form-flow .form-section-header h2 { font-size:1.1rem; }
.shipment-form-flow .form-section.is-disabled { display:none; }
.shipment-form-flow .form-submit-bar { position:static; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.shipment-form-flow #recipientHint,.shipment-form-flow #senderHint { display:block; margin-top:.45rem; font-size:.8rem; }
@media (max-width:575.98px) {
 .shipment-form-flow .form-section { padding:1rem; }
}

.shipment-mode-switch { max-width:62rem; margin-inline:auto; }

/* Shared compact entry switch, aligned with the shipment form. */
.shipment-mode-bar { width:100%; max-width:62rem; margin:0 auto 1.25rem; }
.shipment-mode-bar .shipment-mode-switch { display:inline-flex; width:auto; max-width:100%; margin:0; padding:.3rem; gap:.25rem; border:1px solid var(--portal-line); border-radius:0; background:var(--portal-disabled); }
.shipment-mode-bar .shipment-mode-switch a { flex:initial; justify-content:center; min-height:2.75rem; padding:.55rem 1.15rem; border:0; border-radius:0; gap:.5rem; font-size:.875rem; }
.shipment-mode-bar .shipment-mode-switch a strong { font-weight:600; }
.shipment-mode-bar .shipment-mode-switch a.active { background:var(--portal-surface); color:var(--portal-text); box-shadow:var(--shadow-tab); }
.shipment-mode-bar .shipment-mode-switch a > i { display:block; }
@media (max-width:575.98px) {
 .shipment-mode-bar .shipment-mode-switch { display:flex; width:100%; }
 .shipment-mode-bar .shipment-mode-switch a { flex:1; padding:.55rem .65rem; }
}

.barcode-search-card { grid-template-columns:minmax(0,1fr) auto; }
@media (max-width:575.98px) { .barcode-search-card { grid-template-columns:1fr; } }

.home-api { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); overflow:hidden; }
.home-api-content,.home-api-start { padding:1.75rem; }
.home-api-label { display:flex; align-items:center; gap:.5rem; color:var(--portal-accent-text); font-size:.8rem; font-weight:600; margin-bottom:1rem; }
.home-api h2 { font-size:1.5rem; letter-spacing:-.035em; margin:0 0 1rem; }
.home-api p,.home-api dd,.home-api li { color:var(--portal-muted); font-size:.9rem; line-height:1.65; }
.home-api-features { display:grid; gap:1rem; margin:1.5rem 0 0; }
.home-api dt { font-size:.9rem; font-weight:600; margin-bottom:.25rem; }
.home-api dd { margin:0; }
.home-api-start { background:var(--portal-subtle); border-left:1px solid var(--portal-line); }
.home-api h3 { font-size:1.05rem; margin:0 0 1rem; }
.home-api ol { padding-left:1.25rem; margin-bottom:1.5rem; }
.home-api li { padding-left:.25rem; margin-bottom:.75rem; }
.home-api-start .btn { display:flex; gap:.5rem; justify-content:center; white-space:normal; }
.home-api-file { display:block; color:var(--portal-muted); font-size:.75rem; margin-top:.6rem; }
.home-api-phone { display:flex; align-items:center; gap:.8rem; margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--portal-line); text-decoration:none; color:var(--portal-text); }
.home-api-phone span { display:grid; gap:.25rem; }
.home-api-phone small { color:var(--portal-muted); font-size:.8rem; }
@media (max-width:767.98px) {
 .home-api { grid-template-columns:minmax(0,1fr); }
 .home-api-content,.home-api-start { padding:1.25rem; }
 .home-api-start { border-left:0; border-top:1px solid var(--portal-line); }
}

.home-api-phone span { min-width:0; }
.home-api-phone strong { overflow-wrap:anywhere; }

.home-period-caption { padding:1.25rem 1.5rem 0; color:var(--portal-muted); font-size:.85rem; }
.home-period-caption p { margin:0 0 .3rem; }
.home-period-caption > span { font-size:.8rem; }
.home-overview .home-kpis { gap:.85rem; padding:1.25rem 1.5rem 1.5rem; margin:0; background:transparent; }
.home-overview .home-kpis a.home-kpi-tile { position:relative; display:flex; flex-direction:column; align-items:flex-start; padding:1.1rem; border:1px solid var(--portal-line); border-radius:0; gap:.75rem; background:var(--portal-surface); transition:border-color .2s,background .2s; }
.home-overview .home-kpis a.home-kpi-tile:hover { border-color:var(--ntc-red); background:var(--portal-subtle); }
.home-kpi-icon { color:var(--portal-muted); font-size:1.2rem; }
.home-overview .home-kpis a.home-kpi-tile > span { min-height:0; font-size:.85rem; font-weight:500; color:var(--portal-text); }
.home-overview .home-kpis a.home-kpi-tile > strong { font-size:2.5rem; line-height:1; letter-spacing:-.04em; }
.home-kpi-tile > small { width:100%; display:flex; justify-content:space-between; gap:.5rem; margin-top:.25rem; font-size:.72rem; color:var(--portal-muted); }
@media (max-width:991.98px) { .home-overview .home-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:575.98px) {
 .home-period-caption { padding:1rem 1rem 0; }
 .home-overview .home-kpis { padding:1rem; gap:.65rem; }
 .home-overview .home-kpis a.home-kpi-tile { padding:.85rem; }
 .home-overview .home-kpis a.home-kpi-tile > span { min-height:2.5em; }
 .home-overview .home-kpis a.home-kpi-tile > strong { font-size:2rem; }
}

.home-attention { display:flex; align-items:center; gap:1rem; padding:1.1rem 1.5rem; background:var(--portal-surface); border:1px solid var(--portal-line); border-left:3px solid var(--ntc-red); border-radius:0; }
.home-attention > i { color:var(--portal-accent-text); font-size:1.3rem; }
.home-attention strong { font-size:.95rem; }
.home-attention p { margin:.25rem 0 0; font-size:.85rem; color:var(--portal-muted); }
.home-attention a { margin-left:auto; flex-shrink:0; color:var(--portal-accent-text); font-size:.85rem; text-decoration:none; }
.home-api-details > summary::-webkit-details-marker { display:none; }
.disclosure-state { display:flex; align-items:center; gap:.5rem; color:var(--portal-muted); font-size:.8rem; font-weight:500; }
.home-api-details[open] > summary > i { transform:rotate(180deg); }
.home-api-details > summary { display:flex; width:fit-content; align-items:center; gap:.65rem; list-style:none; cursor:pointer; color:var(--portal-accent-text); font-size:.9rem; font-weight:600; padding:.6rem 0; }
.home-api-details h3 { margin-top:1.5rem; }
.home-api-details ol { margin-bottom:0; }
@media (max-width:575.98px) {
 .home-attention { align-items:flex-start; flex-wrap:wrap; padding:1rem; gap:.7rem; }
 .home-attention > div { flex:1; }
 .home-attention a { margin-left:2rem; }
}

.home-api-disclosure { overflow:hidden; }
.home-api-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.5rem; cursor:pointer; list-style:none; }
.home-api-disclosure > summary::-webkit-details-marker { display:none; }
.home-api-summary-copy { display:grid; gap:.25rem; }
.home-api-summary-copy strong { font-size:.95rem; }
.home-api-summary-copy > span { color:var(--portal-muted); font-size:.85rem; }
.home-api-summary-action { display:flex; align-items:center; gap:.5rem; flex-shrink:0; font-size:.85rem; color:var(--portal-accent-text); font-weight:600; }
.home-api-disclosure[open] > summary { border-bottom:1px solid var(--portal-line); }
.home-api-disclosure[open] .home-api-summary-action i { transform:rotate(180deg); }
.home-api-disclosure .home-api h3 { margin-top:1.5rem; }
@media (max-width:575.98px) {
 .home-api-disclosure > summary { padding:1rem; flex-wrap:wrap; }
}

.home-contact .home-api-disclosure { margin-top:1.25rem; border:0; border-top:1px solid var(--portal-line); border-radius:0; box-shadow:none; background:transparent; }
.home-contact .home-api-disclosure > summary { padding:1.15rem 0 0; flex-wrap:wrap; }
.home-contact .home-api-disclosure[open] > summary { padding-bottom:1rem; }
.home-contact .home-api { grid-template-columns:minmax(0,1fr); }
.home-contact .home-api-content { padding:1.25rem 0; }
.home-contact .home-api-start { padding:1.25rem 0 0; border-left:0; border-top:1px solid var(--portal-line); background:transparent; }
.home-contact .home-api h2 { font-size:1.15rem; }

/* Desktop sidebar; one bottom navigation on tablets and phones. */
.portal-sidebar { display:none; }
.profile-workspace { max-width:48rem; display:grid; gap:1.25rem; }
.profile-account { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.5rem; }
.profile-account > div { display:grid; gap:.35rem; min-width:0; }
.profile-account strong { overflow-wrap:anywhere; }
.profile-account-label { color:var(--portal-muted); font-size:.8rem; }
@media (min-width:1200px) {
 .portal-body:has(.portal-sidebar) { padding-left:15rem; padding-bottom:0; }
 .portal-sidebar { position:fixed; inset:0 auto 0 0; width:15rem; display:flex; flex-direction:column; gap:2rem; padding:2rem 1rem 1rem; background:var(--portal-ink); color:var(--portal-on-dark); border-right:1px solid var(--portal-dark-line); overflow-y:auto; z-index:1030; }
 .sidebar-brand { display:block; padding:.25rem 1rem; }
 .sidebar-brand img { width:8rem; height:auto; }
 .portal-sidebar nav { display:grid; gap:.4rem; }
 .sidebar-link { display:flex; align-items:center; gap:.85rem; min-height:3.2rem; padding:.75rem 1rem; color:var(--portal-on-dark-muted); border-radius:0; text-decoration:none; font-size:.9rem; }
 .sidebar-link > i { font-size:1.2rem; }
 .sidebar-link:hover,.sidebar-link:focus-visible { color:var(--portal-on-dark); background:var(--portal-dark-hover); }
 .sidebar-link.is-active { color:var(--portal-on-dark); background:var(--portal-brand-active); }
 .sidebar-link.is-active > i { color:var(--ntc-red-light); }
 .sidebar-account { margin-top:auto; padding:1rem; border-top:1px solid var(--portal-dark-line); display:grid; gap:1rem; }
 .sidebar-account > a { display:flex; gap:.7rem; align-items:center; color:var(--portal-on-dark); text-decoration:none; overflow-wrap:anywhere; min-width:0; }
 .sidebar-account > a span { min-width:0; }
 .sidebar-logout { display:flex; align-items:center; gap:.7rem; min-height:2.75rem; border:0; background:transparent; color:var(--portal-on-dark-muted); padding:0; }
 .sidebar-logout:hover { color:var(--portal-on-dark); }
 .mobile-tab-bar { display:none; }
 .portal-body:has(.portal-sidebar) .portal-container { max-width:100%; padding-inline:2rem; }
 .portal-body:has(.portal-sidebar) .profile-workspace { max-width:48rem; }
}
@media (max-width:1199.98px) {
 .portal-body:has(.mobile-tab-bar) { padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px)); }
 .portal-body:has(.mobile-tab-bar) .portal-main { min-height:calc(100dvh - 5rem); }
 html:has(.mobile-tab-bar) { scroll-padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px)); }
 .mobile-tab-bar { position:fixed; inset:auto 0 0; z-index:1030; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; background:var(--portal-ink); border-top:1px solid var(--portal-dark-line-strong); padding:.4rem max(.3rem,env(safe-area-inset-right,0px)) calc(.4rem + env(safe-area-inset-bottom,0px)) max(.3rem,env(safe-area-inset-left,0px)); }
 .mobile-tab { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.25rem; min-height:3.8rem; padding:.2rem; border-radius:0; color:var(--portal-on-dark-muted); text-decoration:none; font-size:.875rem; font-weight:500; line-height:1.3; }
 .mobile-tab-icon { display:grid; place-items:center; width:2.6rem; height:2rem; border-radius:0; font-size:1.35rem; }
 .mobile-tab.is-active { color:var(--portal-on-dark); font-weight:700; }
 .mobile-tab.is-active .mobile-tab-icon { color:var(--ntc-red-light); background:var(--portal-brand-active); }
 .mobile-tab:hover,.mobile-tab:focus-visible { color:var(--portal-on-dark); background:var(--portal-dark-hover); }
 .portal-body:has(.mobile-tab-bar) .portal-content { padding-top:calc(1.25rem + env(safe-area-inset-top,0px)); }
}

.sidebar-footer { margin-top:auto; }
.navigation-contacts { display:grid; gap:.3rem; }
.navigation-contacts > strong { font-size:.875rem; font-weight:600; margin-bottom:.5rem; }
.navigation-contacts a { display:flex; align-items:center; gap:.6rem; min-height:2.75rem; font-size:.875rem; text-decoration:none; color:inherit; }
.navigation-contacts a span { min-width:0; overflow-wrap:anywhere; }
.sidebar-footer .navigation-contacts { padding:1rem .5rem; color:var(--portal-on-dark-muted); }
.sidebar-footer .navigation-contacts a:hover { color:var(--portal-on-dark); }
.sidebar-user { display:flex; align-items:center; gap:.65rem; min-width:0; overflow-wrap:anywhere; }
.sidebar-user span { min-width:0; }
.mobile-profile-trigger { border:0; background:transparent; font-family:inherit; }
.mobile-profile-panel { z-index:1080; position:fixed; inset:auto .75rem calc(5.3rem + env(safe-area-inset-bottom,0px)) auto; width:min(24rem,calc(100vw - 1.5rem)); max-height:calc(100dvh - 7rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); margin:0; overflow-y:auto; padding:1.25rem; border:1px solid var(--portal-line); border-radius:0; background:var(--portal-surface); color:var(--portal-text); box-shadow:var(--shadow-card-hover); }
.mobile-profile-panel[hidden] { display:none; }
.mobile-profile-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.mobile-profile-heading h2 { font-size:1.1rem; margin:0; }
.mobile-profile-heading .btn-close { min-width:2rem; min-height:2rem; }
.mobile-profile-account { display:grid; gap:.4rem; margin-top:1rem; border-top:1px solid var(--portal-line); padding-top:1rem; }
.mobile-profile-account > span { font-size:.875rem; color:var(--portal-muted); }
.mobile-profile-account strong { overflow-wrap:anywhere; }
.mobile-profile-account form { margin-top:.5rem; }
.mobile-profile-account .btn { width:100%; }
@media (min-width:1200px) { .mobile-profile-panel { display:none; } }

@media (min-width:1400px) { .home-overview .home-kpis { grid-template-columns:repeat(5,minmax(0,1fr)); } }


/* Homepage overview owns its layout; legacy KPI card styles do not apply. */
.shipment-overview-grid { display:grid;grid-template-columns:15rem minmax(0,1fr);align-items:center;gap:3rem;padding:1rem 0 2rem; }
.home-donut { position:relative;width:15rem;aspect-ratio:1; }
.home-phase-chart { display:block;width:100%;height:100%; }
.phase-empty { fill:var(--portal-disabled); }
.phase-hole { fill:var(--portal-surface); }
.phase-before_process { fill:var(--portal-secondary-strong);background:var(--portal-secondary-strong); }
.phase-in_process { fill:var(--ntc-red);background:var(--ntc-red); }
.phase-after_process { fill:var(--portal-ink);background:var(--portal-ink); }
.shipment-total { position:absolute;inset:26% 13%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-decoration:none;color:var(--portal-text);gap:.35rem;border-radius:0; }
.shipment-total strong { font-size:2.75rem;letter-spacing:-.06em;line-height:1.1;font-variant-numeric:tabular-nums; }
.shipment-total span { font-size:.875rem;color:var(--portal-muted); }
.shipment-phase-copy h3 { font-size:1rem;margin:0 0 .5rem;font-weight:600; }
.shipment-phase-copy>p { font-size:.875rem;line-height:1.6;color:var(--portal-muted);margin:1rem 0 0;max-width:48ch; }
.shipment-phase-list { display:grid; }
.shipment-phase-link { display:grid;grid-template-columns:.6rem minmax(0,1fr) auto 3.5rem;align-items:center;gap:.85rem;padding:1.1rem .5rem;color:var(--portal-text);border-bottom:1px solid var(--portal-line-subtle); }
.shipment-phase-link strong { font-size:1.65rem;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.04em; }
.shipment-phase-link small { font-size:.875rem;text-align:right;color:var(--portal-muted); }
.phase-dot { width:.6rem;height:.6rem;border-radius:50%; }
.shipment-action-panel { border-radius:0;background:var(--ntc-red-soft);padding:1.25rem 1.5rem; }
.shipment-action-heading { display:flex;gap:.6rem;align-items:center;color:var(--portal-accent-text); }
.shipment-action-heading h3 { margin:0;font-size:.9rem;font-weight:700; }
.shipment-action-content { display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:center;margin-top:1rem; }
.shipment-action-content>strong { font-size:2.25rem;letter-spacing:-.05em;line-height:1; }
.shipment-action-content h4 { font-size:1rem;margin:0 0 .3rem; }
.shipment-action-content p { font-size:.875rem;margin:0;line-height:1.5;color:var(--portal-text); }
.shipment-action-content a { display:inline-flex;gap:.75rem;align-items:center;background:var(--ntc-red);color:var(--portal-on-dark);padding:.75rem 1rem;border-radius:0;font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap; }
.shipment-action-content a:hover { background:var(--ntc-red-dark); }
.shipment-return-note { font-size:.875rem;color:var(--portal-muted);margin:1rem 0 0; }
.shipment-action-content a:focus-visible { outline:2px solid var(--portal-focus);outline-offset:3px; }
.shipment-action-content a:active { transform:translateY(1px); }
@media(max-width:991.98px) {
 .shipment-overview-grid { gap:1.5rem;grid-template-columns:12rem minmax(0,1fr); }
 .home-donut { width:12rem; }
 .shipment-action-content { grid-template-columns:auto 1fr; }
 .shipment-action-content a { grid-column:2;justify-self:start; }
}
@media(max-width:767.98px) {
 .shipment-overview-grid { grid-template-columns:1fr;gap:1.5rem;padding-top:0; }
 .home-donut { justify-self:center; }
 .shipment-phase-link { gap:.6rem; }
 .shipment-action-panel { padding:1rem; }
 .shipment-action-content { gap:.75rem; }
}

.home-overview .shipment-overview-grid { padding-inline:1.5rem; }
.shipment-action-panel.is-clear { background:var(--portal-subtle); }
.shipment-action-panel.is-clear .shipment-action-heading { color:var(--portal-muted); }
.shipment-action-panel.is-clear .shipment-action-content a { background:var(--portal-surface);color:var(--portal-accent-text);border:1px solid var(--portal-line); }
@media(max-width:767.98px) { .home-overview .shipment-overview-grid { padding-inline:1rem; } }

/* Creation confirmation: hidden by default, independent of native popover support. */
.shipment-success { display:none; position:fixed; top:0; right:0; bottom:0; left:0; z-index:1090; overflow:auto; padding:32px 16px; background:var(--shipment-success-backdrop); }
.shipment-success.is-open { display:flex; align-items:center; justify-content:center; }
.shipment-success[hidden] { display:none; }
/* Keep the confirmation compact and the recipient link easy to share. */
.shipment-success-card { position:relative; width:100%; max-width:440px; margin:auto; padding:32px; border-top:3px solid var(--ntc-red); border-radius:0; background:var(--portal-surface); color:var(--portal-text); box-shadow:var(--shadow-strong); text-align:left; }
.shipment-success-close { position:absolute; top:12px; right:12px; width:40px; height:40px; border:0; background:transparent; color:var(--portal-muted); font-size:26px; cursor:pointer; }
.shipment-success-close:hover { background:var(--portal-subtle); color:var(--portal-text); }
.shipment-success-check { display:grid; place-items:center; width:36px; height:36px; margin:0 0 18px; background:var(--success-surface); color:var(--status-success-text); font-size:24px; }
.shipment-success-card h2 { margin:0 0 8px; font-size:26px; font-weight:800; letter-spacing:-.035em; line-height:1.2; }
.shipment-success-card p { margin:0 0 24px; max-width:35ch; color:var(--portal-muted); font-size:14px; line-height:1.6; }
.shipment-success-code { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; padding:14px 16px; margin-bottom:20px; background:var(--portal-subtle); overflow-wrap:anywhere; }
.shipment-success-code span { font-size:12px; color:var(--portal-muted); }
.shipment-success-code strong { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:20px; font-weight:700; letter-spacing:.025em; }
.shipment-success-print { display:flex; width:100%; min-height:44px; margin-top:24px; padding:10px 16px; font-size:14px; font-weight:600; }
.shipment-success-next { display:block; width:100%; margin-top:8px; padding:12px 8px; border:0; background:transparent; color:var(--portal-muted); font-size:13px; cursor:pointer; }
.shipment-success-next:hover { color:var(--portal-text); }
.home-tracking-notice { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.4rem 1.5rem; background:var(--ntc-red-soft); border-left:3px solid var(--ntc-red); }
.home-tracking-notice-copy { min-width:0; }
.home-tracking-notice-badge { display:inline-block; margin-bottom:.5rem; padding:.15rem .5rem; background:var(--ntc-red); color:var(--portal-accent-text); font-size:.75rem; font-weight:800; }
.home-tracking-notice h2 { margin:0 0 .4rem; font-size:1.05rem; font-weight:800; }
.home-tracking-notice p { margin:0 0 .25rem; font-size:.875rem; }
.home-tracking-notice small { display:block; color:var(--portal-muted); font-size:.8rem; }
.home-tracking-notice-action { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; flex-shrink:0; min-height:44px; padding:.6rem .9rem; border:1px solid var(--portal-control-border); color:var(--portal-text); font-size:.8rem; font-weight:700; text-decoration:none; }
.home-tracking-notice-action:hover { background:var(--ntc-red); border-color:var(--ntc-red); color:var(--portal-accent-text); }
.home-tracking-notice-action:focus-visible { outline:2px solid var(--portal-focus); outline-offset:3px; }
@media(max-width:767.98px) {
  .home-tracking-notice { align-items:stretch; flex-direction:column; gap:1rem; padding:1.1rem; }
  .home-tracking-notice-action { align-self:flex-start; }
}
.shipment-tracking-link { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 24px; min-width:0; margin:0 0 20px; padding:20px; border:1px solid var(--portal-line); background:var(--portal-surface); }
.shipment-tracking-heading { display:flex; align-items:center; gap:8px; font-size:14px; }
.shipment-tracking-heading i { color:var(--portal-muted); font-size:20px; line-height:1; }
.shipment-tracking-heading strong { font-weight:700; }
.shipment-tracking-description { grid-column:1; color:var(--portal-muted); font-size:13px; line-height:1.6; }
.shipment-tracking-link > .btn { grid-column:2; grid-row:1 / 3; align-self:center; min-height:46px; font-size:13px; box-shadow:none; }
.shipment-tracking-link > .btn:hover { transform:none; }
.shipment-tracking-link small { grid-column:1 / -1; color:var(--status-success-text); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.shipment-tracking-link small:empty { display:none; }
.shipment-tracking-address { grid-column:1 / -1; min-width:0; }
.shipment-tracking-address summary { width:fit-content; padding:6px 0; color:var(--portal-muted); font-size:12px; cursor:pointer; }
.shipment-tracking-address summary:hover { color:var(--portal-text); }
.shipment-tracking-address input { width:100%; min-width:0; margin-top:8px; min-height:44px; background:var(--portal-subtle); border-color:var(--portal-line); font-size:12px; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.shipment-success-card .shipment-tracking-link { display:flex; flex-direction:column; gap:10px; margin:0; padding:0; border:0; background:transparent; }
.shipment-success-card .shipment-tracking-link > .btn { width:100%; margin-top:4px; }
.shipment-success-card .shipment-tracking-description { max-width:34ch; }
.shipment-success-card .shipment-tracking-address { width:100%; }
.shipment-success button:focus-visible,.shipment-success a:focus-visible { outline:2px solid var(--portal-focus); outline-offset:3px; }
@media(max-width:575.98px) {
  .shipment-success { padding:20px 16px; }
  .shipment-success-card { padding:28px 24px 20px; }
  .shipment-success-card h2 { font-size:24px; }
  .shipment-tracking-link { padding:16px; }
  .shipment-tracking-link { grid-template-columns:minmax(0,1fr); }
  .shipment-tracking-link > .btn { grid-column:1; grid-row:auto; width:100%; margin-top:4px; }
}

.home-money-stages { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-money-stage { display:grid; gap:1.25rem; padding:1.25rem 1.5rem; text-decoration:none; color:var(--portal-text); border-top:1px solid var(--portal-line); }
.home-money-stage + .home-money-stage { border-left:1px solid var(--portal-line); }
.home-money-stage:hover { background:var(--portal-subtle); }
.home-money-heading,.home-money-values > span { display:grid; gap:.3rem; }
.home-money-stage small { color:var(--portal-muted); font-size:.875rem; }
.home-money-values { display:flex; flex-wrap:wrap; gap:1rem 2rem; }
.home-money-values strong { font-size:1.25rem; }
.shipment-money-summary { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; padding:1rem 1.25rem; border-bottom:1px solid var(--portal-line); }
.shipment-money-summary small { font-size:.875rem; color:var(--portal-muted); }
@media (max-width:575.98px) { .home-money-stages { grid-template-columns:1fr; } .home-money-stage + .home-money-stage { border-left:0; } }
