/* NTC workspace. Shared presentation layer, following the ntclogistics brand.
   Navigation: graphite. Content: neutral canvas. Brand red: actions and selection.
   Radius: 12px surfaces, 6px controls. No changes to data or form contracts. */
:root {
  --ntc-red:#d71920;
  --ntc-red-dark:#b8050f;
  --ntc-red-soft:#fdf0f0;
  --portal-focus:#d71920;
  --portal-ink:#1f1f1f;
  --portal-night:#191919;
  --portal-dark-elevated:#303030;
  --portal-text:#252525;
  --portal-muted:#656565;
  --portal-soft:#f5f5f5;
  --portal-subtle:#fafafa;
  --portal-line:#e5e5e5;
  --portal-line-subtle:#eeeeee;
  --portal-control-border:#d8d8d8;
  --portal-secondary-strong:#767676;
  --radius-card:.75rem;
  --radius-inner:.4rem;
}
.portal-body { background:var(--portal-soft);font-size:.9375rem;line-height:1.55; }
.portal-body h2,.portal-body h3,.portal-body h4 { letter-spacing:-.025em;text-wrap:balance; }
.portal-body p { text-wrap:pretty; }
.portal-body strong,.portal-body td,.portal-body dd { font-variant-numeric:tabular-nums; }
.portal-body .portal-content { padding-top:2rem;padding-bottom:2.5rem; }
.portal-body .portal-card { border:1px solid var(--portal-line);border-radius:.75rem;box-shadow:none; }
.portal-body .card-topline { padding:1.1rem 1.5rem;border-bottom:1px solid var(--portal-line-subtle); }
.portal-body .card-topline h2 { font-size:1.05rem; }
.portal-body .btn { border-radius:.4rem;font-size:.875rem;font-weight:600;min-height:2.75rem;padding:.65rem 1rem;letter-spacing:0;box-shadow:none;transition:background-color .18s,transform .18s; }
.portal-body .btn-primary { --bs-btn-bg:var(--ntc-red);--bs-btn-border-color:var(--ntc-red);--bs-btn-hover-bg:var(--ntc-red-dark);--bs-btn-hover-border-color:var(--ntc-red-dark);background:var(--ntc-red);border-color:var(--ntc-red);color:var(--portal-on-dark); }
.portal-body .btn-primary:hover { background:var(--ntc-red-dark);border-color:var(--ntc-red-dark); }
.portal-body .btn-outline-secondary { background:var(--portal-surface);border-color:var(--portal-control-border);color:var(--portal-text); }
.portal-body .btn-outline-secondary:hover { background:var(--portal-soft);border-color:var(--portal-muted); }
.portal-body .btn:active { transform:translateY(1px); }
.portal-body .form-control,.portal-body .form-select { min-height:2.8rem;border-radius:.4rem;border-color:var(--portal-control-border);font-size:.9375rem;padding-block:.65rem;background-color:var(--portal-surface);box-shadow:none; }
.portal-body .form-control:focus,.portal-body .form-select:focus { border-color:var(--ntc-red);box-shadow:0 0 0 3px var(--ntc-red-soft); }
.portal-body label { font-size:.875rem;font-weight:600; }
.portal-body .input-group-text { border-color:var(--portal-control-border);background:var(--portal-subtle); }
.portal-body .alert { border-radius:.5rem;font-size:.875rem;line-height:1.6; }
.portal-body .empty-state { padding:3rem 1.5rem; }
.portal-body .empty-state h3 { font-size:1.15rem; }
.portal-body :is(a,button,summary):focus-visible { outline:2px solid var(--portal-focus);outline-offset:3px; }
@media(min-width:1200px) {
  .portal-body:has(.portal-sidebar) { padding-left:14.5rem; }
  .portal-body .portal-sidebar { width:14.5rem;padding:1.7rem .85rem 1rem;gap:2.2rem;background:var(--portal-ink);border:0; }
  .portal-sidebar .sidebar-brand { padding:.5rem .85rem; }
  .portal-sidebar .sidebar-brand img { width:8.8rem; }
  .portal-sidebar .sidebar-link { min-height:2.9rem;border-radius:.4rem;font-size:.875rem;padding:.65rem .85rem;border-left:3px solid transparent; }
  .portal-sidebar .sidebar-link.is-active { background:var(--portal-dark-elevated);border-left-color:var(--ntc-red); }
  .portal-sidebar .sidebar-link.is-active>i { color:var(--portal-on-dark); }
  .portal-sidebar .sidebar-footer .navigation-contacts { padding:1rem .5rem; }
  .portal-sidebar .navigation-contacts a { font-size:.875rem;min-height:2.3rem; }
  .portal-sidebar .sidebar-account { padding:1rem .5rem 0;gap:.4rem; }
  .portal-body:has(.portal-sidebar) .portal-container { max-width:86rem;padding-inline:2.25rem; }
}
/* Home: one data overview and one separate actionable return summary. */
.home-workspace { gap:1.5rem; }
.home-workspace .home-overview { overflow:hidden; }
.home-overview .home-overview-heading { padding:1.3rem 1.5rem;margin:0;border-bottom:1px solid var(--portal-line-subtle); }
.home-overview-heading h2 { font-size:1.15rem; }
.home-overview .shipment-overview-grid { grid-template-columns:minmax(0,1fr) 12rem;gap:2rem;padding:1.6rem 1.75rem; }
.home-overview .home-donut { grid-column:2;grid-row:1;width:12rem; }
.home-overview .shipment-phase-copy { grid-column:1;grid-row:1; }
.shipment-phase-copy h3 { font-weight:500;color:var(--portal-muted);font-size:.875rem; }
.shipment-phase-link { padding:.85rem 0; }
.shipment-phase-link strong { font-size:1.6rem; }
.shipment-total strong { font-size:2.4rem; }
.shipment-phase-copy>p { max-width:none; }
.home-overview .shipment-action-panel { border-radius:0;border-top:1px solid var(--portal-line);padding:1.25rem 1.75rem;background:var(--ntc-red-soft); }
.home-overview .shipment-action-panel.is-clear { background:var(--portal-subtle); }
.shipment-action-content { margin-top:.8rem; }
.shipment-action-content>strong { font-size:2rem; }
.shipment-action-content a { border-radius:.4rem; }
/* Isolated guide component: legacy home-guide/card-topline rules do not apply. */
.portal-usage { min-width:0; }
.portal-usage>h2 { margin:0 0 1rem;font-size:1.05rem;font-weight:600; }
.portal-usage-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;background:var(--portal-line);border-radius:.75rem;overflow:hidden; }
.portal-usage-grid article { min-width:0;padding:1.25rem 1.5rem;background:var(--portal-surface);display:flex;flex-direction:column;align-items:flex-start;gap:.5rem; }
.portal-usage-grid h3 { margin:0;font-size:1rem;font-weight:600;line-height:1.4; }
.portal-usage-grid p { margin:0;color:var(--portal-muted);font-size:.875rem;line-height:1.6; }
.portal-usage-grid a { display:inline-flex;align-items:center;gap:.6rem;min-height:2.75rem;margin-top:auto;padding-block:.4rem;color:var(--ntc-red-dark);font-size:.875rem;font-weight:600;text-decoration:none; }
.portal-usage-grid a:hover { text-decoration:underline; }
.portal-usage-grid a:focus-visible { outline:2px solid var(--portal-focus);outline-offset:3px; }
.home-workspace .home-api-disclosure { margin:0; }
.home-api-disclosure>summary { padding:1rem 1.5rem; }
/* Search and reports: one toolbar, neutral column headings, compact readable rows. */
.home-flow-summary { display:grid;grid-template-columns:11rem minmax(0,1fr);gap:2rem;align-items:center;padding:2rem 1.5rem; }
.home-flow-total { display:grid;gap:.4rem; }
.home-flow-total>strong { font-size:3.25rem;line-height:1;letter-spacing:-.06em;font-weight:700; }
.home-flow-total>span,.home-flow-empty { font-size:.875rem;color:var(--portal-muted);margin:0; }
.home-flow-bar { display:block;width:100%;height:.875rem;border-radius:.25rem;overflow:hidden; }
.home-flow-metrics { display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:1rem;margin:1.25rem 0 0; }
.home-flow-metrics dt { display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--portal-muted); }
.home-flow-metrics dd { display:flex;align-items:baseline;gap:.65rem;margin:.4rem 0 0; }
.home-flow-metrics dd strong { font-size:1.65rem;letter-spacing:-.035em; }
.home-flow-metrics dd small { font-size:.875rem;color:var(--portal-muted); }
.home-flow-bar .phase-unknown { fill:var(--portal-line); }
.home-flow-metrics .phase-unknown { background:var(--portal-line); }
.home-return-link { display:flex;align-items:center;gap:1rem;min-height:4.5rem;padding:1rem 1.5rem;border-top:1px solid var(--portal-line);background:var(--portal-subtle);color:var(--portal-text);text-decoration:none; }
.home-return-link.has-returns { background:var(--ntc-red-soft); }
.home-return-link strong { font-size:2rem;line-height:1;font-variant-numeric:tabular-nums; }
.home-return-link span { flex:1;font-size:.9375rem;font-weight:600; }
.home-return-link i { color:var(--ntc-red-dark);font-size:1.25rem; }
.home-return-link:hover { color:var(--ntc-red-dark); }
.home-return-link:hover span { text-decoration:underline; }
.home-return-link:focus-visible { outline:2px solid var(--portal-focus);outline-offset:-4px; }
@media(max-width:767.98px) {
 .home-flow-summary { grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 1rem; }
 .home-flow-total { display:flex;align-items:baseline;gap:1rem; }
 .home-flow-total>strong { font-size:2.75rem; }
 .home-flow-metrics { grid-template-columns:1fr;gap:.75rem; }
 .home-flow-metrics>div { display:flex;align-items:center;justify-content:space-between;gap:.5rem; }
 .home-flow-metrics dd { margin:0; }
 .home-return-link { padding:1rem; }
}
.portal-body .shipment-workspace { overflow:hidden; }
.shipment-workspace .shipment-list-toolbar { padding:1rem 1.25rem;border-bottom:1px solid var(--portal-line-subtle);background:var(--portal-surface); }
.shipment-workspace .shipment-view-switch { background:transparent;border:0;padding:0;gap:1rem; }
.shipment-workspace .shipment-view-switch a { padding:.6rem .1rem;border-radius:0;border-bottom:2px solid transparent;box-shadow:none;background:transparent;color:var(--portal-muted); }
.shipment-workspace .shipment-view-switch a.is-active { border-bottom-color:var(--ntc-red);color:var(--portal-text);background:transparent; }
.search-return-alert { display:flex;align-items:center;gap:1rem;margin:0 1.5rem 1rem;padding:1rem;background:var(--ntc-red-soft);border:1px solid var(--portal-line);border-radius:.5rem; }
.search-return-alert>i { color:var(--ntc-red);font-size:1.25rem; }
.search-return-alert>div { flex:1;min-width:0; }
.search-return-alert strong { font-size:.9375rem; }
.search-return-alert p { margin:.3rem 0 0;font-size:.875rem;line-height:1.5;color:var(--portal-muted); }
.search-return-alert>a { display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;color:var(--ntc-red-dark);font-size:.875rem;font-weight:600; }
.shipment-workspace .shipment-filter-card { padding:1.25rem;border:0;border-radius:0;background:var(--portal-subtle);gap:1rem; }
.shipment-workspace .search-boundary { padding:.8rem 1.25rem;margin:0;font-size:.875rem;border-bottom:1px solid var(--portal-line-subtle); }
.shipment-workspace .shipment-list-card { border:0;border-radius:0; }
.portal-body .table thead th { background:var(--portal-subtle);color:var(--portal-muted);font-size:.875rem;font-weight:600;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--portal-line);padding:.8rem 1rem;white-space:nowrap; }
.portal-body .table tbody td,.portal-body .table tbody th { padding:.7rem 1rem;border-color:var(--portal-line-subtle);font-size:.875rem; }
.portal-body .table-action { width:2.75rem;height:2.75rem;min-height:2.75rem;background:transparent; }
.portal-body .table tbody tr:hover>* { background-color:var(--portal-subtle); }
.portal-body .status-badge { border-radius:.35rem;font-size:.875rem;font-weight:500; }
.portal-body .pagination-bar { padding:1rem 1.25rem;background:var(--portal-surface); }
/* Forms: connected sections with a stable label column on wider displays. */
.portal-body .shipment-form-flow { max-width:none;gap:0;border:1px solid var(--portal-line);border-radius:.75rem;overflow:hidden;background:var(--portal-surface); }
.portal-body .shipment-form-flow>.form-section { padding:1.5rem;border:0;border-bottom:1px solid var(--portal-line);border-radius:0;box-shadow:none; }
.portal-body .form-section-header { border:0;margin:0 0 1.15rem;padding:0; }
.portal-body .form-section-header h2 { font-size:1.05rem; }
.portal-body .shipment-mode-bar { max-width:none;margin:0 0 1.25rem; }
.portal-body .shipment-mode-bar .shipment-mode-switch { border:0;border-radius:0;background:transparent;padding:0;gap:1.5rem; }
.portal-body .shipment-mode-bar .shipment-mode-switch a { border-radius:0;border:0;border-bottom:2px solid transparent;background:transparent;box-shadow:none;padding:.65rem 0;color:var(--portal-muted); }
.portal-body .shipment-mode-bar .shipment-mode-switch a.active { border-bottom-color:var(--ntc-red);color:var(--portal-text); }
.portal-body .variant-grid { gap:.65rem; }
.portal-body .variant-grid>label { border-radius:.5rem;min-height:5rem;padding:.8rem;box-shadow:none; }
.portal-body .variant-grid>label>span { width:2rem;height:2rem; }
.portal-body .variant-grid>label small { font-size:.875rem;line-height:1.4; }
.portal-body .package-row { border-radius:.4rem;background:var(--portal-subtle);padding:.8rem; }
.portal-body .option-switch-card { border-radius:.4rem; }
.portal-body .import-dropzone { border-radius:.5rem;background:var(--portal-subtle);border-color:var(--portal-control-border); }
.portal-body .import-upload-card,.portal-body .import-guide { padding:1.5rem; }
.portal-body .import-section-heading h2 { font-size:1.15rem; }
.portal-body .import-step { background:var(--portal-soft);color:var(--portal-muted);border-radius:.35rem; }
@media(min-width:1280px) {
  .shipment-form-flow>.form-section { display:grid;grid-template-columns:10rem minmax(0,1fr);gap:1rem 1.5rem;align-items:start; }
  .shipment-form-flow>.form-section>* { grid-column:2; }
  .shipment-form-flow>.form-section>.form-section-header { grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:1rem; }
}
/* Analytics: hierarchy comes from numbers, consistent plot sizes and whitespace. */
.route-analytics .report-controls { padding:1.15rem 1.5rem;gap:1rem;align-items:end; }
.route-analytics>.portal-main .search-boundary { margin:1rem 0 1.25rem;line-height:1.6; }
.analytics-outcomes { padding:1.5rem;margin-bottom:1.25rem; }
.analytics-outcomes-heading h2 { font-size:1.15rem; }
.analytics-outcomes-layout { grid-template-columns:12rem minmax(0,1fr);margin-top:1rem;gap:2.5rem; }
.analytics-outcomes-ring { width:12rem; }
.analytics-outcome-list>div { padding:.75rem 0; }
.analytics-trend-chart { max-height:20rem; }
.analytics-finance-metrics { padding-top:1rem;border-top:1px solid var(--portal-line-subtle);gap:2rem; }
.analytics-finance-metrics dd { font-size:2rem;letter-spacing:-.035em; }
.analytics-report .table-responsive { border-top:1px solid var(--portal-line-subtle); }
.analytics-summary-grid { display:grid;grid-template-columns:minmax(0,1.8fr) minmax(16rem,1fr);gap:1.25rem;margin-bottom:1.25rem; }
.analytics-summary-grid .analytics-outcomes { margin:0; }
.analytics-summary-grid .analytics-outcomes-layout { grid-template-columns:10rem minmax(0,1fr);gap:1.5rem; }
.analytics-summary-grid .analytics-outcomes-ring { width:10rem; }
.analytics-summary-grid .analytics-outcomes-rate strong { font-size:1.8rem; }
.analytics-summary-grid .analytics-outcomes-rate.is-empty strong { font-size:1rem;line-height:1.4;letter-spacing:0;max-width:7ch;color:var(--portal-muted); }
.analytics-finance-card .analytics-finance-metrics { grid-template-columns:1fr;gap:1.5rem; }
.analytics-finance-card .analytics-finance-metrics>div+div { padding-top:1.25rem;border-top:1px solid var(--portal-line-subtle); }
@media(max-width:1399.98px) { .analytics-summary-grid { grid-template-columns:1fr; }.analytics-finance-card .analytics-finance-metrics { grid-template-columns:1fr 1fr; }.analytics-finance-card .analytics-finance-metrics>div+div { padding:0;border:0; } }
/* Detail and barcode surfaces retain their actions and state semantics. */
.portal-body .search-card-compact { padding:1.5rem; }
.portal-body .detail-hero { background:var(--portal-surface);color:var(--portal-text);border:1px solid var(--portal-line);box-shadow:none; }
.route-track .portal-container { max-width:58rem; }
.route-login .login-screen { background:var(--portal-soft);background-image:none;align-items:center; }
.route-login .login-form-shell { max-width:30rem;padding:2.5rem;border-radius:.75rem;box-shadow:none;border:1px solid var(--portal-line);border-top:4px solid var(--ntc-red); }
.route-login .login-brand { border-bottom:0;margin:0 0 1.5rem;padding:0;gap:.8rem; }
.route-login .login-brand img { background:var(--portal-ink);border-radius:.35rem;padding:.65rem .9rem;height:4rem; }
.route-login .login-title { font-size:1.85rem;letter-spacing:-.04em; }
.route-login .login-form { gap:1.2rem; }
@media(max-width:1199.98px) {
  .portal-body:has(.mobile-tab-bar) .portal-content { padding-top:1.25rem; }
  .portal-body .portal-container { padding-inline:1.5rem; }
  .portal-body .mobile-tab-bar { background:var(--portal-ink);padding-top:.35rem; }
  .portal-body .mobile-tab-icon { background:transparent; }
  .portal-body .mobile-tab.is-active .mobile-tab-icon { color:var(--portal-on-dark);background:var(--portal-dark-hover); }
  .portal-body .mobile-tab.is-active { color:var(--portal-on-dark); }
  .portal-body .mobile-profile-panel { border-radius:.75rem; }
}
@media(max-width:767.98px) {
  .search-return-alert { margin-inline:1rem;flex-wrap:wrap;align-items:flex-start;gap:.75rem; }
  .search-return-alert>a { width:100%; }
  .shipment-workspace .shipment-view-switch { width:100%;gap:.75rem; }
  .shipment-workspace .shipment-view-switch a { flex:1;font-size:.875rem;justify-content:center; }
  .portal-body .portal-container { padding-inline:1rem; }
  .portal-body .portal-content { padding-bottom:1.5rem; }
  .portal-body .card-topline { padding:1rem; }
  .home-overview .home-overview-heading { padding:1rem;gap:.75rem; }
  .home-overview-heading h2 { font-size:1.05rem; }
  .home-overview-heading a { font-size:.875rem;white-space:nowrap; }
  .home-overview .shipment-overview-grid { display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1rem; }
  .home-overview .home-donut { width:10rem; }
  .home-overview .shipment-phase-copy { width:100%; }
  .home-overview .shipment-action-panel { padding:1rem; }
  .shipment-action-content { grid-template-columns:auto 1fr; }
  .shipment-action-content a { grid-column:1 / -1;width:100%;justify-content:center; }
  .portal-usage-grid { grid-template-columns:1fr; }
  .portal-usage-grid article { padding:1rem; }
  .home-api-disclosure>summary { padding:1rem; }
  .shipment-workspace .shipment-list-toolbar,.shipment-workspace .shipment-filter-card { padding:1rem; }
  .shipment-lookup-actions { width:100%; }
  .shipment-lookup-actions .btn { flex:1; }
  .portal-body .shipment-form-flow>.form-section { padding:1.15rem 1rem; }
  .portal-body .variant-grid>label { padding:.7rem;min-height:0; }
  .portal-body .variant-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .portal-body .variant-grid>label { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem; }
  .portal-body .variant-grid>label small,.portal-body .variant-grid .variant-check { display:none; }
  .portal-body .form-section-header h2 { font-size:1rem; }
  .portal-body .shipment-mode-bar .shipment-mode-switch { gap:1rem; }
  .analytics-outcomes { padding:1rem; }
  .analytics-outcomes-layout { grid-template-columns:1fr;gap:1rem; }
  .analytics-outcomes-ring { width:11rem; }
  .analytics-finance-metrics { grid-template-columns:1fr;gap:1.25rem; }
  .analytics-summary-grid .analytics-outcomes-layout { grid-template-columns:1fr; }
  .analytics-finance-card .analytics-finance-metrics { grid-template-columns:1fr; }
  .route-analytics .report-controls { padding:1rem; }
  .route-login .login-form-shell { padding:1.5rem; }
}
@media(prefers-reduced-motion:reduce) { .portal-body .btn { transition:none; } }
