/* ==========================================================================
   Start Trip — page bundle
   css/pages/start-trip.css  ·  hand-authored page chrome

   Above the marker: the Start Trip workspace. On /start-trip.php the trip
   preparation card is THE PAGE, not a popup — the same markup is reused as a
   real modal on Live Operations, so the page treatment is scoped to
   body[data-toc-page="start"].

   Below the marker tools/build_design.py compiles the shared workspace shell
   and the shared operational components — do not edit those here.

   Sections: P1 start workspace · P2 required-field highlighting
             P3 preparation card as a page · P4 trip identity & panels
             P5 second-trip actions & status · P6 start responsive
   ========================================================================== */

/* --------------------------- P1 Start workspace ------------------------- */
.toc-start-page{padding:18px;margin-bottom:16px;}
.toc-start-unified-intro{background:var(--panel);}
.toc-start-page-head,.trip-start-modal-header{display:flex;align-items:flex-start;justify-content:space-between;
gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.toc-start-page-head .modal-title{font-size:21px;}
.trip-start-kicker{font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--faint);margin-bottom:3px;}
.toc-start-page-grid,.trip-start-dimensions{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:13px;margin-bottom:14px;}

/* --------------------- P2 Required-field highlighting ------------------- */
/* Every field the operator must answer before the trip can be created reads
   the same way: a white card with an accent bar down its leading edge. */
.trip-ready-profile-panel,
.toc-start-page .trip-start-dimensions>.field{
padding:12px 14px;background:var(--panel);border:1px solid var(--border);
border-inline-start:4px solid var(--primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);}
.toc-start-page .trip-start-dimensions>.field{gap:7px;}
.trip-ready-profile-panel .field,.trip-start-position-field{gap:7px;}
.trip-ready-profile-panel .secondary{margin-top:5px;}
.trip-ready-profile-panel>.field>label,.trip-start-position-field>label{font-size:12.5px;font-weight:800;
letter-spacing:0;text-transform:none;color:var(--text);}
.toc-start-page .trip-start-dimensions>.field>label{font-size:12.5px;font-weight:800;letter-spacing:0;
text-transform:none;color:var(--text);}
.field:has(>.required-missing){border-inline-start-color:var(--warn);}
.trip-ready-profile-panel:has(.profile-required-pending),
.trip-ready-profile-panel:has(.required-missing),


/* ------------------- P3 Preparation card as a full page ----------------- */
/* modals/start.php ships the preparation card inside a .modal-backdrop so
   Live Operations can open it as a popup. On the Start Trip page the server
   renders it already shown, and there it is page content, not a dialog.
   The overlay properties are forced because .modal-backdrop.show carries a
   flex overlay contract that would otherwise shrink-wrap the card. */
body[data-toc-page="start"] #secondTripBackdrop{position:static!important;display:block!important;
inset:auto!important;overflow:visible!important;background:none!important;backdrop-filter:none!important;
z-index:auto!important;padding:0!important;}
body[data-toc-page="start"] #secondTripBackdrop .toc-start-detail-card{display:block!important;
width:100%!important;max-width:none!important;margin:0!important;min-height:0!important;max-height:none!important;
border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-1);overflow:visible;}
body[data-toc-page="start"] #secondTripBackdrop .modal-body{overflow:visible!important;max-height:none!important;
padding:18px 20px;}
body[data-toc-page="start"] #secondTripBackdrop .toc-start-detail-header{background:var(--panel);
border-bottom:1px solid var(--border);}
body[data-toc-page="start"] #stDetailCloseBtn,
body[data-toc-page="start"] #stBackButton{display:none!important;}
/* The three dimensions are already chosen in the card above; repeating them as
   chips here is noise. */
body[data-toc-page="start"] #stTripIdentity{display:none!important;}
/* "Start a Trip" repeats the page heading directly above it. */
body[data-toc-page="start"] .toc-start-page-head .modal-title{display:none;}
body[data-toc-page="start"] .toc-start-page-head .modal-sub{margin-top:5px;}
body[data-toc-page="start"] #secondTripBackdrop .modal-footer{background:var(--panel);
border-top:1px solid var(--border);justify-content:flex-end;}
body[data-toc-page="start"] #secondTripBackdrop .modal-footer .btn{min-width:190px;height:46px;}
/* The card is required after the footer in the markup, so on this page the
   body orders its own children: page content, preparation card, then footer. */
body[data-toc-page="start"]{display:flex;flex-direction:column;min-height:100vh;}
body[data-toc-page="start"]>.container{margin-bottom:0;}
body[data-toc-page="start"]>#secondTripBackdrop{order:80;
max-width:1560px;width:100%;margin:0 auto;padding:0 20px 34px!important;}
body[data-toc-page="start"]>.app-footer{order:90;margin-top:auto;}

/* ------------------ P3b Trip details form: fixed column counts ---------- */
/* auto-fit collapses to a single column whenever the container turns out
   narrower than expected. The start page always has the full page width, so
   the column count is declared outright. */
body[data-toc-page="start"] .second-trip-form-grid,
body[data-toc-page="start"] .trip-optional-grid,
body[data-toc-page="start"] .toc-start-page-grid,
body[data-toc-page="start"] .trip-start-dimensions{grid-template-columns:minmax(0,1fr);}
@media (min-width:820px){
  body[data-toc-page="start"] .second-trip-form-grid,
  body[data-toc-page="start"] .trip-optional-grid,
  body[data-toc-page="start"] .toc-start-page-grid,
  body[data-toc-page="start"] .trip-start-dimensions{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (min-width:1180px){
  body[data-toc-page="start"] .second-trip-form-grid,
  body[data-toc-page="start"] .trip-optional-grid,
  body[data-toc-page="start"] .toc-start-page-grid,
  body[data-toc-page="start"] .trip-start-dimensions{grid-template-columns:repeat(3,minmax(0,1fr));}
  body[data-toc-page="start"] .trip-ready-profile-panel{grid-column:1/-1;}
}
/* Field labels on this page read as sentence case, like the rest of the form. */
body[data-toc-page="start"] .second-trip-form-grid>.field>label,
body[data-toc-page="start"] .trip-optional-grid>.field>label{font-size:12.5px;font-weight:700;
letter-spacing:0;text-transform:none;color:var(--text2);}

/* ------------------- P3c Only what still needs filling is marked -------- */
/* Fields stay plain: marking every required field marks nothing. The amber
   state is set by js/second-trips.js (profile-required-pending) and by
   submit-time validation (required-missing), and it is the only highlight. */
body[data-toc-page="start"] .second-trip-form-grid>.field{padding:0;background:none;border:0;}
/* v.280: the trip form reads better in a measured column than edge to edge. */
body[data-toc-page="start"] .container{max-width:1240px;}
/* v.280: the e-mail targets block is a .field outside .trip-start-dimensions,
   so it never picked up the panel frame its siblings carry. */
/* v.287: the section shell now lives in 00-shell.css so the dispatch modal
   gets it too; this page-scoped copy is retired. */
.profile-required-pending,.required-missing{border:1.5px solid var(--warn)!important;
background:var(--warnbg)!important;box-shadow:0 0 0 3px rgba(181,71,8,.12)!important;}
.field:has(>.profile-required-pending)>label,.field:has(>.required-missing)>label{color:var(--warn);}
.field:has(.filter-input-wrap>.profile-required-pending)>label,
.field:has(.filter-input-wrap>.required-missing)>label{color:var(--warn);}

/* ------------------- P4 Trip identity & preparation panels -------------- */
.toc-start-detail-card,.second-trip-modal{max-width:1000px;}
.toc-start-detail-header{align-items:flex-start;}
.start-trip-edit-mode .toc-start-detail-header .modal-title::after{content:" · EDIT";font-size:11px;font-weight:800;
letter-spacing:.08em;color:var(--warn);}
.trip-optional-fields{margin-top:16px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel2);}
.trip-optional-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.toc-start-detail-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;margin-top:13px;}
.second-trip-form-grid{gap:12px;}
.st-multi-option{width:100%;}
.st-multi-select>summary{background:#fff;}

/* -------------------- P5 Second-trip actions & status ------------------- */
.second-trip-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.second-trip-actions-trigger{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--line);
border-radius:var(--radius-sm);background:#fff;font-size:12.5px;font-weight:700;color:var(--text2);}
.second-trip-actions-trigger:hover{background:var(--panel2);border-color:#bcc7d4;}
.second-trip-primary-action{background:var(--primary);border-color:var(--primary);color:#fff;}
.second-trip-primary-action:hover{background:var(--primary2);border-color:var(--primary2);}
.second-trip-status{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--radius-pill);
font-size:10.5px;font-weight:800;background:var(--panel2);color:var(--text2);white-space:nowrap;}
.second-trip-status.transit{background:var(--infobg);color:var(--info);}
.second-trip-status.await,.second-trip-status.arranged{background:var(--warnbg);color:var(--warn);}
.second-trip-status.done,.second-trip-status.arrival{background:var(--successbg);color:var(--success);}
.second-trip-status.cancelled{background:var(--dangerbg);color:var(--danger);}
.second-trip-scope{font-size:10.5px;font-weight:700;color:var(--muted);}
.second-trip-count-cell{text-align:center;font-weight:800;}
.second-trip-cancel-reason{min-height:110px;}
.second-action-arrival,.second-action-upcountry{flex:1 1 180px;}

/* --------------------------- P6 Start responsive ------------------------ */
@media (max-width:900px){
  .toc-start-page-grid,.trip-start-dimensions,.trip-optional-grid{grid-template-columns:minmax(0,1fr);}
  .toc-start-page{padding:14px;}
  body[data-toc-page="start"] #secondTripBackdrop .toc-start-detail-card{border-radius:var(--radius);min-height:0;}
}
@media (max-width:520px){
  .second-action-arrival,.second-action-upcountry{flex:1 1 100%;}
  .toc-start-detail-actions .btn{flex:1 1 100%;}
}

/* --------------- P7 One calm card: intro + trip details (v0.10.5.326) --------------- */
/* The classification card and the TRIP DETAILS card read as ONE form: no gap,
   no second frame, one soft violet-to-teal accent and quiet tinted panels. */
body[data-toc-page="start"]{--st-accent:#6a4fb8;--st-accent2:#255476;--st-teal:#0f8b8d;
--st-tint:#f7f5fd;--st-tint2:#f2f8f8;--st-line:#e4def3;--st-ring:rgba(106,79,184,.16);
background:linear-gradient(180deg,#f2f0f9 0,var(--bg) 520px);}
body[data-toc-page="start"]>.container{padding-bottom:0;}
body[data-toc-page="start"] #startTripPage{margin-bottom:0;border:1px solid var(--st-line);border-bottom:0;
border-radius:var(--radius) var(--radius) 0 0;box-shadow:none;position:relative;
background:linear-gradient(180deg,#faf8ff 0,#fff 170px);}
body[data-toc-page="start"] #startTripPage::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;
border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(90deg,var(--st-accent),var(--st-accent2) 55%,var(--st-teal));}
body[data-toc-page="start"]>#secondTripBackdrop{max-width:1240px;}
body[data-toc-page="start"] #secondTripBackdrop .toc-start-detail-card{border:1px solid var(--st-line);border-top:0;
border-radius:0 0 var(--radius) var(--radius);box-shadow:none;}
body[data-toc-page="start"] #secondTripBackdrop .toc-start-detail-header{background:#fff;border-bottom:0;
padding:6px 20px 0;}
body[data-toc-page="start"] #secondTripBackdrop .toc-start-detail-header>div{width:100%;padding-top:4px;border:0;}
body[data-toc-page="start"] #secondTripBackdrop .toc-start-detail-header{box-shadow:none!important;border:0!important;}
body[data-toc-page="start"] #startTripPage::after{content:none;}
body[data-toc-page="start"] .trip-start-kicker{color:var(--st-accent);}
body[data-toc-page="start"] #secondTripBackdrop .modal-title{font-size:18px;color:var(--text);}
/* Required choices: tinted cards with a soft violet edge. */
body[data-toc-page="start"] .trip-ready-profile-panel,
body[data-toc-page="start"] .toc-start-page .trip-start-dimensions>.field{background:var(--st-tint);
border-color:var(--st-line);border-inline-start-color:var(--st-accent);box-shadow:none;}
body[data-toc-page="start"] .trip-start-position-panel{background:var(--st-tint2);border-color:#d3e9e8;
border-inline-start-color:var(--st-teal);box-shadow:none;}
body[data-toc-page="start"] .trip-start-time-panel{background:#fff;border-color:#d3e9e8;}
/* Inputs: light, airy, violet focus. */
body[data-toc-page="start"] input,body[data-toc-page="start"] select,body[data-toc-page="start"] textarea{
border-color:#dcd7ea;background-color:#fdfcff;}
body[data-toc-page="start"] input:hover,body[data-toc-page="start"] select:hover{border-color:#c7bfe0;}
body[data-toc-page="start"] input:focus,body[data-toc-page="start"] select:focus,body[data-toc-page="start"] textarea:focus{
border-color:var(--st-accent);box-shadow:0 0 0 3px var(--st-ring);background-color:#fff;}
body[data-toc-page="start"] input[readonly]{background-color:#f4f3f8;border-color:#e6e2ef;color:#475467;}
body[data-toc-page="start"] .second-trip-form-grid>.field>label,
body[data-toc-page="start"] .trip-optional-grid>.field>label{color:#3f3a5a;}
/* Optional fields: a quiet dashed section. */
body[data-toc-page="start"] .trip-optional-fields{background:#fbfafe;border:1px dashed #d9d1ee;}
body[data-toc-page="start"] .trip-start-section-label{color:var(--st-accent);}
/* Footer and the main action. */
body[data-toc-page="start"] #secondTripBackdrop .modal-footer{background:linear-gradient(180deg,#fff,#f8f6fd);border-top-color:var(--st-line);
border-radius:0 0 var(--radius) var(--radius);}
body[data-toc-page="start"] #stCreateActionBtn{background:linear-gradient(135deg,var(--st-accent),var(--st-accent2));
border:0;color:#fff;box-shadow:0 6px 16px rgba(74,52,140,.22);letter-spacing:.03em;}
body[data-toc-page="start"] #stCreateActionBtn:hover{filter:brightness(1.07);}
@media (max-width:1024px){
  body[data-toc-page="start"]>#secondTripBackdrop{padding:0 14px 30px!important;}
}

/* TOC WORKSPACE DESIGN: generated by tools/build_design.py */
:root{
--bg:#eef2f7;--bg2:#e4eaf2;--panel:#fff;--panel2:#f7f9fc;
--text:#182230;--text2:#344054;--muted:#667085;--faint:#98a2b3;
--border:#e0e5ec;--border2:#eef1f5;--line:#d7dee7;
--primary:#255476;--primary2:#1a3f5a;--primary-soft:#eaf1f6;--primary-ring:rgba(37,84,118,.14);
--accent:#0d6e9b;
--success:#067647;--successbg:#ecfdf3;--successline:#abefc6;
--warn:#b54708;--warnbg:#fffaeb;--warnline:#fedf89;
--danger:#b42318;--dangerbg:#fef3f2;--dangerline:#fecdca;
--info:#1849a9;--infobg:#eff4ff;--infoline:#b2ccff;
--dark:#101828;
--shadow-1:0 1px 2px rgba(16,24,40,.06);
--shadow-2:0 4px 14px rgba(16,24,40,.08);
--shadow-3:0 14px 38px rgba(16,24,40,.16);
--radius:14px;--radius-sm:9px;--radius-xs:7px;--radius-pill:999px;
--ff:"Segoe UI",system-ui,-apple-system,Roboto,Arial,Helvetica,sans-serif;
--shadow:var(--shadow-2);
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--ff);font-size:14px;line-height:1.45;color:var(--text);background:var(--bg);}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-.01em;}
h1{font-size:19px;}h2{font-size:20px;}h3{font-size:16px;}
p{margin:0;}
a{color:var(--primary);text-decoration:none;}
img,svg{max-width:100%;}
b,strong{font-weight:700;}
small{font-size:12px;}
button,input,select,textarea{font:inherit;color:inherit;}
button{cursor:pointer;}
[hidden]{display:none!important;}
.hidden{display:none!important;}
.container{width:100%;max-width:1560px;margin:0 auto;padding:18px 20px 34px;}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;}
input,select{height:42px;padding:0 11px;}
textarea{padding:10px 11px;min-height:88px;resize:vertical;line-height:1.5;}
select{appearance:none;-webkit-appearance:none;padding-inline-end:30px;
background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
background-position:calc(100% - 16px) 19px,calc(100% - 11px) 19px;background-size:5px 5px;background-repeat:no-repeat;}
input:focus,select:focus,textarea:focus{border-color:#8fb4cc;box-shadow:0 0 0 3px var(--primary-ring);}
input[readonly],input:disabled,select:disabled,textarea:disabled{background:var(--panel2);color:var(--text2);cursor:default;}
input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;}
::placeholder{color:var(--faint);}
.field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.field>label{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.field.full{grid-column:1/-1;}
.form-grid,.auth-form-grid,.summary-grid,.trip-action-details-grid,.second-trip-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.form-grid>.trip-edit-destination-card{grid-column:1/-1;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:var(--radius-sm);
padding:9px 14px;font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap;background:var(--panel2);color:var(--text2);
transition:background .15s,color .15s,border-color .15s,box-shadow .15s;}
.btn:hover{background:#eef2f7;}
.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;}
.btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.btn-primary,.btn-main{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-1);}
.btn-primary:hover,.btn-main:hover{background:var(--primary2);border-color:var(--primary2);}
.btn-secondary{background:#fff;border-color:var(--line);color:var(--text2);}
.btn-secondary:hover{background:var(--panel2);border-color:#bcc7d4;}
.btn-secondary.active{background:var(--primary-soft);border-color:#9fc0d5;color:var(--primary);}
.btn-success{background:var(--success);border-color:var(--success);color:#fff;}
.btn-success:hover{background:#05603a;border-color:#05603a;color:#fff;filter:none;}
.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff;}
.btn-danger:hover{background:#912018;border-color:#912018;color:#fff;filter:none;}
.btn-sm{padding:6px 10px;font-size:12px;}
.panel,.card,.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);}
.panel{overflow:hidden;}
.card{padding:14px;}
.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;}
table{border-collapse:collapse;width:100%;}
th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);
background:var(--panel2);border-bottom:1px solid var(--border);padding:11px 12px;white-space:nowrap;}
td{border-bottom:1px solid var(--border2);padding:12px;vertical-align:middle;}
tbody tr:hover{background:#fafcfe;}
.secondary{display:block;color:var(--muted);font-size:12px;margin-top:3px;}
td.loading,td.empty,div.loading,div.empty{padding:26px 16px;text-align:center;color:var(--muted);}
.route{font-weight:700;white-space:nowrap;}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.heading{font-weight:800;}
.search{min-width:240px;flex:1 1 340px;}
.tabs{display:flex;gap:5px;flex-wrap:wrap;padding:4px;border-radius:var(--radius-sm);background:var(--panel2);}
.tab{border:0;background:transparent;color:var(--text2);padding:9px 13px;border-radius:var(--radius-xs);font-size:13px;font-weight:700;}
.tab:hover{background:#e8eef4;}
.tab.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-1);}
.status,.state{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--radius-pill);
font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap;background:var(--panel2);color:var(--text2);}
.status.transit,.state.transit,.status.live,.state.live{background:var(--infobg);color:var(--info);}
.status.await,.state.await,.status.pending,.state.pending,.status.warn,.state.warn,.status.preparing,.state.preparing{background:var(--warnbg);color:var(--warn);}
.status.done,.state.done,.status.arrived,.state.arrived,.status.completed,.state.completed,.status.success,.state.success,.status.ready,.state.ready,.status.green,.state.green,.status.resolved,.state.resolved,.status.sent,.state.sent{background:var(--successbg);color:var(--success);}
.status.deleted,.state.deleted,.status.danger,.state.danger,.status.failed,.state.failed,.status.expired,.state.expired{background:var(--dangerbg);color:var(--danger);}
.status.info,.state.info,.status.purple,.state.purple{background:var(--primary-soft);color:var(--primary);}
.notice:empty{display:none;}
.notice{border:1px solid var(--border);border-inline-start:4px solid var(--faint);border-radius:var(--radius-sm);
background:var(--panel2);padding:11px 13px;font-size:13px;margin-bottom:14px;}
.notice.info{background:var(--infobg);border-color:var(--infoline);border-inline-start-color:var(--info);color:#12376e;}
.notice.success{background:var(--successbg);border-color:var(--successline);border-inline-start-color:var(--success);color:#054f31;}
.notice.warn{background:var(--warnbg);border-color:var(--warnline);border-inline-start-color:var(--warn);color:#7a3908;}
.notice.danger,.notice.error{background:var(--dangerbg);border-color:var(--dangerline);border-inline-start-color:var(--danger);color:#8a1c13;}
.skip-to-content{position:absolute;left:-9999px;top:0;z-index:100;background:var(--primary);color:#fff;padding:10px 16px;border-radius:0 0 var(--radius-sm) 0;font-weight:700;}
.skip-to-content:focus{left:0;}
.app-footer{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
padding:20px;color:var(--muted);font-size:12px;border-top:1px solid var(--border);background:var(--panel);}
.footer-separator{color:var(--faint);}
body.auth-locked{overflow:hidden;}
.auth-gate{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:20px;
background:linear-gradient(160deg,#0b1a3d 0%,#162f61 55%,#1f3f82 100%);}
.auth-gate.show{display:flex;}
body:not(.auth-locked) .auth-gate{display:none;}
.auth-required-backdrop{position:fixed;inset:0;z-index:119;background:rgba(16,24,40,.55);}
.auth-card{width:100%;max-width:460px;background:var(--panel);border-radius:18px;box-shadow:var(--shadow-3);padding:26px;}
.auth-brand{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:800;color:var(--primary);margin-bottom:14px;}
.auth-brand img{width:38px;height:38px;border-radius:9px;}
.auth-kicker{font-size:11px;font-weight:800;letter-spacing:.13em;color:var(--muted);margin-bottom:6px;}
.auth-copy{color:var(--muted);font-size:13px;margin-bottom:16px;}
.auth-card .field{margin-bottom:13px;}
.auth-submit{width:100%;height:44px;margin-top:4px;}
.auth-message{margin-top:12px;font-size:13px;font-weight:600;color:var(--danger);min-height:18px;}
.auth-message.success{color:var(--success);}
.auth-security-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--border2);font-size:11.5px;color:var(--faint);text-align:center;}
.auth-loading-panel{text-align:center;}
.auth-loading-brand{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:800;color:var(--primary);font-size:16px;}
.auth-loading-brand img{width:42px;height:42px;border-radius:10px;}
.auth-loading-copy{margin-top:6px;}
.auth-loading-copy h2{font-size:17px;}
.auth-loading-status{margin-top:6px;font-size:12.5px;color:var(--muted);}
.auth-loading-footer{margin-top:16px;font-size:11.5px;color:var(--faint);}
.trip-route-loader{display:flex;align-items:center;justify-content:center;gap:8px;margin:22px 0 16px;}
.trip-route-point{width:9px;height:9px;border-radius:50%;background:var(--primary);flex:none;}
.trip-route-track{position:relative;flex:1;max-width:190px;height:3px;border-radius:3px;background:var(--bg2);overflow:hidden;}
.trip-route-truck{position:absolute;top:50%;left:0;font-size:17px;line-height:1;transform:translate(-50%,-62%);animation:tocRoute 2.1s cubic-bezier(.5,0,.5,1) infinite;}
@keyframes tocRoute{0%{left:0}100%{left:100%}}
.loader,.live-loading-spinner,.trip-timeline-loading-spinner{display:inline-block;width:18px;height:18px;flex:none;
border:2.5px solid var(--bg2);border-top-color:var(--primary);border-radius:50%;animation:tocSpin .8s linear infinite;}
@keyframes tocSpin{to{transform:rotate(360deg)}}
.live-loading{display:flex;align-items:center;justify-content:center;gap:13px;padding:22px 12px;text-align:start;}
.live-loading-title{font-weight:800;color:var(--text);}
.live-loading-sub{font-size:12.5px;color:var(--muted);margin-top:3px;max-width:520px;}
.topbar{position:relative;z-index:40;background:var(--panel);border-bottom:1px solid var(--border);}
.topbar-inner{max-width:1560px;margin:0 auto;padding:11px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;}
.brand{display:flex;align-items:center;gap:11px;min-width:0;}
.brand-icon{flex:none;display:inline-flex;}
.brand-icon-img{width:38px;height:38px;border-radius:10px;box-shadow:var(--shadow-1);}
.brand-copy{display:flex;flex-direction:column;min-width:0;}
.brand-copy h1{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.brand-subtitle{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;}
.refresh-meta{display:flex;flex-direction:column;align-items:flex-end;}
.refresh-label{font-size:11px;color:var(--muted);white-space:nowrap;}
.account-actions{display:flex;align-items:center;gap:7px;}
.top-refresh-btn{width:38px;height:38px;padding:0;border-radius:50%;}
.top-control-btn{display:inline-flex;align-items:center;gap:6px;}
.top-control-icon{font-size:15px;line-height:1;}
.user-account-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius-pill);
background:#fff;padding:4px 12px 4px 5px;text-align:start;transition:border-color .15s,background .15s;}
.user-account-btn:hover{background:var(--panel2);border-color:#bcc7d4;}
.user-account-avatar{width:30px;height:30px;flex:none;border-radius:50%;background:var(--primary-soft);display:inline-flex;align-items:center;justify-content:center;}
.user-account-avatar svg{width:19px;height:19px;fill:none;stroke:var(--primary);stroke-width:1.7;stroke-linecap:round;}
.user-account-copy{display:flex;flex-direction:column;line-height:1.2;}
.user-account-copy strong{font-size:12.5px;}
.user-account-copy small{font-size:10.5px;color:var(--muted);}
.workspace-navigation{margin-bottom:16px;}
.workspace-main-tabs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:9px 12px;
background:linear-gradient(120deg,#0f2350,#162f61 70%);border-radius:var(--radius);box-shadow:var(--shadow-2);color:#fff;}
.workspace-wordmark{display:inline-flex;align-items:center;gap:7px;font-weight:800;letter-spacing:.08em;font-size:13px;color:#fff;padding-inline-end:10px;}
.workspace-truck-logo{display:none;}
.workspace-nav-label{font-size:10px;font-weight:800;letter-spacing:.16em;color:rgba(255,255,255,.55);padding-inline-end:6px;}
.workspace-main-tab,.workspace-start-trip-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:var(--radius-sm);
font-size:13px;font-weight:700;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);transition:background .15s,color .15s;}
.workspace-main-tab:hover,.workspace-start-trip-btn:hover{background:rgba(255,255,255,.18);color:#fff;}
.workspace-main-tab.active{background:#fff;color:var(--primary);border-color:#fff;box-shadow:var(--shadow-1);}
.workspace-main-tab-copy strong{font-weight:700;}
.workspace-nav-icon{width:17px;height:17px;flex:none;}
.workspace-reports-arrow{opacity:.7;}
#mainNavReports{margin-inline-start:auto;}
.workspace-live-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#12b76a;box-shadow:0 0 0 0 rgba(18,183,106,.6);animation:tocPulse 1.9s infinite;}
@keyframes tocPulse{70%{box-shadow:0 0 0 7px rgba(18,183,106,0)}100%{box-shadow:0 0 0 0 rgba(18,183,106,0)}}
.workspace-start-trip-btn{background:#12b76a;border-color:#12b76a;color:#fff;}
.workspace-start-trip-btn:hover{background:#0e9f5b;border-color:#0e9f5b;}
.workspace-start-trip-btn.active{background:#fff;color:#067647;border-color:#fff;}
.workspace-start-trip-plus{font-size:17px;line-height:1;font-weight:800;}
.workspace-subnav-shell{margin-top:11px;}
.workspace-subnav{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-1);}
.workspace-subnav .tab:hover{background:#f1ecfb;color:#4b1e75;}
.workspace-subnav .tab.active{background:linear-gradient(135deg,#6a4fb8,#4b1e75);color:#fff;box-shadow:0 2px 8px rgba(75,30,117,.28);}
.workspace-page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:16px 0 14px;}
.workspace-page-intro h2{font-size:22px;}
.workspace-page-intro h2:focus{outline:none;}
.workspace-page-intro p{color:var(--muted);font-size:13px;margin-top:3px;max-width:70ch;}
.modal-backdrop,.overlay{position:fixed;inset:0;z-index:80;display:none;align-items:flex-start;justify-content:center;
padding:24px 16px;overflow:auto;background:rgba(16,24,40,.55);backdrop-filter:blur(2px);}
.modal-backdrop.show,.overlay.show{display:flex;}
.overlay-card{margin:auto;display:flex;align-items:center;gap:12px;max-width:min(420px,100%);
padding:15px 20px;border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-3);}
.overlay-text{font-size:13.5px;font-weight:700;color:var(--text);line-height:1.35;}
.modal{width:100%;max-width:620px;margin:auto;background:var(--panel);border-radius:16px;box-shadow:var(--shadow-3);
display:flex;flex-direction:column;max-height:calc(100vh - 48px);overflow:hidden;}
.modal.wide{max-width:900px;}
#tripBackdrop .modal{max-width:820px;}
.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
padding:16px 18px;border-bottom:1px solid var(--border);background:var(--panel2);}
.modal-title{font-size:17px;}
.modal-sub{margin-top:3px;font-size:12.5px;color:var(--muted);}
.modal-header .close{flex:none;width:32px;height:32px;border:1px solid transparent;border-radius:var(--radius-xs);
background:transparent;font-size:19px;line-height:1;color:var(--muted);}
.modal-header .close:hover{background:#e8eef4;color:var(--text);}
.modal-body{padding:18px;overflow:auto;flex:1;}
.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;
padding:14px 18px;border-top:1px solid var(--border);background:var(--panel2);}
.trip-modal-header-combined .modal-sub{margin-top:6px;}
.trip-modal-identity{display:inline-flex;align-items:center;gap:7px;}
.trip-modal-identity strong{font-weight:800;color:var(--text);}
.trip-modal-header-chips{display:inline-flex;flex-wrap:wrap;gap:5px;margin-inline-start:8px;}
.trip-class-chip{background:var(--primary-soft);border-color:#c7dcea;color:var(--primary2);}
.trip-class-delivery-line{flex-basis:100%;display:flex;}
.trip-class-delivery-chip{background:#fff;border-color:var(--border);color:var(--text2);}
.trip-summary-action-first-hidden{display:none!important;}
.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;}
.summary-item{padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel2);min-width:0;}
.summary-label{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);}
.summary-value{font-size:13px;font-weight:700;margin-top:2px;word-break:break-word;}
.action-box{border:1px solid var(--border);border-radius:var(--radius);padding:15px;background:var(--panel);box-shadow:var(--shadow-1);}
.action-box h3{font-size:15px;margin-bottom:11px;}
.trip-action-first-box{border-color:#c7dcea;box-shadow:0 0 0 3px var(--primary-ring);}
.trip-action-first-context{margin-bottom:12px;padding:11px 13px;border-radius:var(--radius-sm);background:var(--primary-soft);border:1px solid #c7dcea;}
.trip-action-first-route{font-size:15px;font-weight:800;color:var(--primary2);}
.trip-action-first-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;}
.trip-action-next{display:flex;flex-direction:column;gap:2px;padding:9px 11px;margin-bottom:11px;
border-radius:var(--radius-sm);background:var(--panel2);border:1px dashed var(--line);}
.trip-action-next strong{font-size:13px;}
.trip-action-next span{font-size:11.5px;color:var(--muted);}
.trip-action-details{margin-top:13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel2);}
.trip-action-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;
padding:10px 13px;font-size:13px;font-weight:700;}
.trip-action-details>summary::-webkit-details-marker{display:none;}
.trip-action-details>summary::after{content:"⌄";color:var(--muted);}
.trip-action-details[open]>summary{border-bottom:1px solid var(--border);}
.trip-action-details-hint{font-size:11.5px;font-weight:600;color:var(--muted);}
.trip-action-details-grid{padding:13px;margin-bottom:0;background:#fff;}
.manual-time-field{margin-bottom:11px;}
.manual-time-field>label{display:block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.manual-time-hint{font-size:11.5px;color:var(--muted);margin-top:5px;}
.manual-action-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px;}
.manual-action-row .btn-main{flex:1 1 200px;height:44px;}
.action-validation-footer{margin-top:10px;}
.action-inline-notice{font-size:12.5px;font-weight:600;color:var(--danger);}
.action-inline-notice:empty{display:none;}
.action-inline-notice.success{color:var(--success);}
.stage-bridge-card{padding:15px;border:1px solid var(--successline);border-radius:var(--radius);background:var(--successbg);}
.stage-bridge-status{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--success);}
.stage-bridge-check{width:22px;height:22px;border-radius:50%;background:var(--success);color:#fff;
display:inline-flex;align-items:center;justify-content:center;font-size:12px;}
.stage-bridge-question{font-size:16px;font-weight:800;margin-top:9px;}
.stage-bridge-sub{font-size:12.5px;color:var(--text2);margin-top:3px;}
.stage-bridge-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px;}
.stage-bridge-actions .btn{flex:1 1 180px;height:42px;}
.dispatch-details-panel{margin-top:13px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel2);}
.dispatch-movement-field{grid-column:1/-1;margin-bottom:2px;}
.dispatch-movement-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:0;}
.dispatch-movement-option{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:11px 12px;cursor:pointer;
text-align:start;min-width:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;
transition:border-color .15s,box-shadow .15s,background .15s;}
.dispatch-movement-option:hover{border-color:#a9bccd;background:var(--panel2);}
.dispatch-movement-option strong{font-size:12.5px;font-weight:800;line-height:1.3;}
.dispatch-movement-option span{font-size:11px;color:var(--muted);line-height:1.35;}
.dispatch-movement-option input{margin-top:2px;flex:none;}
.dispatch-movement-option[aria-pressed=true],.dispatch-movement-option.selected,.dispatch-movement-option:has(input:checked){
border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);background:var(--primary-soft);}
.dispatch-movement-option[aria-pressed=true] strong{color:var(--primary2);}
.dispatch-details-panel .form-grid{align-items:start;}
@media (max-width:900px){.dispatch-movement-options{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:520px){.dispatch-movement-options{grid-template-columns:minmax(0,1fr);}}
.dispatch-choice-required{border:1.5px solid var(--warn)!important;border-radius:var(--radius-sm)!important;
padding:9px!important;background:var(--warnbg)!important;box-shadow:0 0 0 3px rgba(181,71,8,.10)!important;}
.dispatch-choice-required>label,.dispatch-choice-required>.field>label{color:var(--warn);}
.required-missing{border-color:var(--danger)!important;}
.movement-line{font-weight:700;}
.movement-arrow{color:var(--muted);}
.leg-order{font-size:11.5px;}
.filter-input-wrap{position:relative;}
.filter-input-wrap input{padding-inline-end:34px;}
.filter-clear{position:absolute;inset-inline-end:5px;top:50%;transform:translateY(-50%);width:26px;height:26px;
border:0;border-radius:var(--radius-xs);background:transparent;color:var(--muted);font-size:15px;line-height:1;}
.filter-clear:hover{background:var(--panel2);color:var(--text);}
.master-locked-field input,.master-locked-field select{background:var(--panel2);}
.master-locked-hint{font-size:11px;color:var(--faint);}
.trip-edit-destination-card{border:1px solid #c7dcea;border-radius:var(--radius-sm);background:var(--primary-soft);padding:13px;}
.trip-edit-destination-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px;}
.trip-edit-destination-head strong{display:block;font-size:14px;}
.trip-edit-destination-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:11px;}
.trip-edit-destination-actions{display:flex;justify-content:flex-end;margin-top:12px;}
.trip-cancel-modal .modal-body textarea{min-height:120px;}
.email-warehouse-targets{gap:5px;margin-top:16px;padding:14px;
border:1px solid #c7d4ee;border-radius:var(--radius);background:#eef3ff;}
.email-warehouse-targets>.filter-input-wrap,.email-warehouse-targets input{background:var(--panel);}
.email-warehouse-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.email-warehouse-heading label{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.email-warehouse-optional{font-size:9.5px;font-weight:800;letter-spacing:.08em;padding:2px 7px;border-radius:var(--radius-pill);
background:var(--panel2);color:var(--faint);border:1px solid var(--border);}
.email-warehouse-hint{margin-top:0;margin-bottom:6px;}
.email-warehouse-picker{position:relative;}
.email-warehouse-search-wrap{position:relative;}
.email-warehouse-search{padding-inline-end:34px;}
.email-warehouse-clear{position:absolute;inset-inline-end:5px;top:50%;transform:translateY(-50%);width:26px;height:26px;
border:0;border-radius:var(--radius-xs);background:transparent;color:var(--muted);font-size:15px;}
.email-warehouse-clear:hover{background:var(--panel2);}
.email-warehouse-menu{margin-top:6px;max-height:230px;overflow:auto;padding:6px;
background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);}
.email-warehouse-option{display:flex;align-items:baseline;gap:8px;width:100%;padding:8px 10px;border:0;
border-radius:var(--radius-xs);background:transparent;text-align:start;cursor:pointer;font-size:13px;color:var(--text2);}
.email-warehouse-option strong{flex:none;min-width:44px;font-weight:800;color:var(--text);}
.email-warehouse-option span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.email-warehouse-option small{flex:none;font-size:10.5px;color:var(--faint);}
.email-warehouse-option:hover,.email-warehouse-option.matched{background:var(--panel2);}
.email-warehouse-option.is-selected{background:var(--primary-soft);color:var(--primary2);}
.email-warehouse-option.is-selected strong{color:var(--primary);}
.email-warehouse-empty{padding:10px;font-size:12.5px;color:var(--muted);}
.account-modal .modal-body{display:flex;flex-direction:column;gap:14px;}
.account-section-title{font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);}
.account-password-notice{font-size:12.5px;color:var(--muted);}
.push-settings-btn{display:inline-flex;align-items:center;gap:6px;}
.push-settings-icon{font-size:14px;line-height:1;}
.push-settings-modal .modal-body{display:flex;flex-direction:column;gap:14px;}
.push-settings-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px;}
.push-status-card{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel2);}
.push-status-card span{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);}
.push-status-card strong{font-size:13px;}
.push-status-card strong.checking{color:var(--warn);}
.push-settings-notice{font-size:12.5px;font-weight:600;color:var(--text2);}
.push-settings-notice:empty{display:none;}
.push-preference-card{border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:var(--panel2);}
.push-preference-title{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;}
.push-pref-row{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;margin-bottom:7px;cursor:pointer;
border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;}
.push-pref-row:hover{border-color:#bcc7d4;}
.push-pref-row input{margin-top:2px;flex:none;}
.push-pref-row strong{display:block;font-size:13px;}
.push-pref-row small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;}
.push-all-ownerships{background:var(--primary-soft);border-color:#c7dcea;}
.push-scope-divider{height:1px;background:var(--border);margin:13px 0;}
.push-ownership-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;}
.push-ownership-row{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;
border:1px solid var(--border);border-radius:var(--radius-xs);background:#fff;font-size:12.5px;}
.push-ownership-row:hover{border-color:#bcc7d4;}
.push-ownership-empty{padding:10px;font-size:12.5px;color:var(--muted);}
.push-scope-hint,.push-privacy-note{font-size:11.5px;color:var(--muted);}
.push-scope-hint{margin-top:10px;}
.push-settings-actions{display:flex;gap:9px;flex-wrap:wrap;}
.pwa-install-btn{display:inline-flex;align-items:center;gap:6px;
background:linear-gradient(180deg,#f6f0fd,#eee3fa);border-color:#d9c7f0;color:#4b1e75;font-weight:700;}
.pwa-install-btn:hover{background:linear-gradient(180deg,#efe5fb,#e3d3f6);border-color:#c3a9e6;color:#3b1560;}
.pwa-install-btn:focus-visible{outline:2px solid #7a4fb0;outline-offset:1px;}
.pwa-install-icon svg{width:16px;height:16px;}
.pwa-install-btn .pwa-install-icon{color:#6b3a9e;}
.pwa-ios-install-modal .modal-body{display:flex;flex-direction:column;gap:14px;}
.pwa-ios-install-steps{display:flex;flex-direction:column;gap:10px;}
.pwa-ios-install-step{display:flex;align-items:flex-start;gap:11px;padding:11px 13px;
border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel2);}
.pwa-ios-step-number{width:24px;height:24px;flex:none;border-radius:50%;background:var(--primary);color:#fff;
display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;}
.pwa-ios-install-step strong{display:block;font-size:13px;}
.pwa-ios-install-step small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;}
.pwa-ios-share-icon{font-weight:800;color:var(--primary);}
.pwa-ios-install-note{padding:11px 13px;border-radius:var(--radius-sm);background:var(--infobg);border:1px solid var(--infoline);
font-size:12px;color:#12376e;}
.toast{position:fixed;z-index:130;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(520px,92vw);
padding:12px 17px;border-radius:var(--radius-sm);background:var(--dark);color:#fff;font-size:13px;font-weight:600;
box-shadow:var(--shadow-3);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(-4px);}
.toast-success{background:var(--success);}
.toast-error{background:var(--danger);}
.checkbox{display:inline-flex;align-items:center;gap:7px;font-size:13px;cursor:pointer;}
.checkbox input{flex:none;}
.is-locked{opacity:.55;pointer-events:none;}
@media (max-width:1024px){
  .container{padding:16px 14px 30px;}
  .topbar-inner{padding:10px 14px;}
  .summary-grid,.trip-action-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .workspace-page-intro h2{font-size:20px;}
}
@media (max-width:900px){
  .brand-subtitle{display:none;}
  .workspace-nav-label,.workspace-wordmark{display:none;}
  .workspace-main-tabs{gap:7px;padding:8px;}
  .workspace-main-tab,.workspace-start-trip-btn{flex:1 1 0;justify-content:center;}
  #mainNavReports{margin-inline-start:0;flex:1 1 100%;justify-content:center;}
  .form-grid,.auth-form-grid{grid-template-columns:minmax(0,1fr);}
  .modal{max-width:none;}
  #tripBackdrop .modal{max-width:none;}
}
@media (max-width:760px){
  .topbar-inner{flex-wrap:wrap;gap:9px;}
  .refresh-meta{order:3;width:100%;align-items:flex-start;}
  .actions{gap:7px;}
  .user-account-copy{display:none;}
  .user-account-btn{padding:4px;}
  .top-control-text,.push-settings-text,.pwa-install-label{display:none;}
  .summary-grid,.trip-action-details-grid{grid-template-columns:minmax(0,1fr);}
  .modal-backdrop,.overlay{padding:0;}
  .modal{max-height:100vh;border-radius:0;min-height:100vh;}
  .toast{left:12px;right:12px;bottom:12px;transform:none;max-width:none;}
  .toast.show{transform:translateY(-2px);}
}
@media (max-width:520px){
  .auth-card{padding:20px;}
  .manual-action-row .btn-main{flex:1 1 100%;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
@media print{
  .topbar,.workspace-navigation,.app-footer,.skip-to-content,.modal-backdrop,.overlay{display:none!important;}
  .container{max-width:none;padding:0;}
  .panel,.card,.stat{box-shadow:none;border-color:#ccc;}
}
.manager-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
padding:11px 14px;border-top:1px solid var(--border);background:var(--panel2);}
.manager-pagination-bottom{border-top:1px solid var(--border);}
.manager-page-summary{font-size:12px;color:var(--muted);}
.manager-page-summary span{color:var(--faint);}
.manager-page-buttons{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.manager-page-btn{min-width:32px;height:32px;padding:0 9px;border:1px solid var(--line);border-radius:var(--radius-xs);
background:#fff;font-size:12px;font-weight:700;color:var(--text2);}
.manager-page-btn:hover:not(:disabled){background:var(--panel2);border-color:#bcc7d4;}
.manager-page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;}
.manager-page-btn.nav{font-size:10.5px;letter-spacing:.05em;}
.manager-page-btn:disabled{opacity:.45;cursor:not-allowed;}
.manager-page-gap{padding:0 4px;color:var(--faint);}
.form-bottom-notice{margin-top:12px;font-size:12.5px;font-weight:600;color:var(--danger);}
.form-bottom-notice:empty{display:none;}
.ops-view-filter{display:flex;flex-direction:column;gap:5px;flex:0 1 165px;min-width:140px;}
.ops-view-filter>label{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.ops-multi-select,.st-multi-select,.local-multi-select,.history-multi-select,.manager-multi-select{position:relative;}
.ops-multi-select>summary,.st-multi-select>summary,.local-multi-select>summary,.history-multi-select>summary,.manager-multi-select>summary{
list-style:none;cursor:pointer;height:40px;display:flex;align-items:center;justify-content:space-between;gap:6px;
padding:0 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;font-size:13px;font-weight:600;
white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ops-multi-select>summary::-webkit-details-marker,.st-multi-select>summary::-webkit-details-marker,
.local-multi-select>summary::-webkit-details-marker,.history-multi-select>summary::-webkit-details-marker,
.manager-multi-select>summary::-webkit-details-marker{display:none;}
.ops-multi-select>summary::after,.st-multi-select>summary::after,.local-multi-select>summary::after,
.history-multi-select>summary::after{content:"⌄";flex:none;color:var(--muted);font-size:13px;line-height:1;}
.ops-multi-select>summary:hover,.st-multi-select>summary:hover,.local-multi-select>summary:hover,
.history-multi-select>summary:hover,.manager-multi-select>summary:hover{border-color:#bcc7d4;}
.ops-multi-select[open]>summary,.st-multi-select[open]>summary,.local-multi-select[open]>summary,
.history-multi-select[open]>summary{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);}
.ops-multi-select.has-active>summary,.ops-multi-select>summary.has-active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);}
.ops-multi-options,.local-multi-options,.manager-access-menu{position:absolute;z-index:35;top:calc(100% + 5px);
inset-inline-start:0;min-width:100%;max-width:320px;max-height:290px;overflow:auto;padding:6px;
background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-3);}
.ops-multi-option,.st-multi-option,.local-multi-option{display:flex;align-items:center;gap:8px;padding:7px 9px;
border-radius:var(--radius-xs);font-size:13px;cursor:pointer;}
.ops-multi-option:hover,.st-multi-option:hover,.local-multi-option:hover{background:var(--panel2);}
.ops-multi-option input,.st-multi-option input,.local-multi-option input{width:15px;height:15px;flex:none;}
.ops-multi-option span,.st-multi-option span,.local-multi-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ops-multi-empty,.st-multi-empty,.local-multi-empty{padding:10px;font-size:12.5px;color:var(--muted);}
.ops-more-filters{position:relative;flex:none;align-self:flex-end;}
.ops-more-filters>summary{list-style:none;cursor:pointer;height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;
border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;font-size:13px;font-weight:700;}
.ops-more-filters>summary::-webkit-details-marker{display:none;}
.ops-more-filters[open]>summary{border-color:var(--primary);color:var(--primary);}
.ops-more-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;
border-radius:var(--radius-pill);background:var(--primary);color:#fff;font-size:11px;font-weight:800;}
.ops-more-filter-caret{color:var(--muted);font-size:13px;line-height:1;}
.ops-more-filters-popover{position:absolute;z-index:36;top:calc(100% + 6px);inset-inline-end:0;width:min(620px,86vw);
display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:13px;
background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-3);}
.ops-more-filters-popover .ops-view-filter{flex:1 1 auto;min-width:0;}
.ops-filter-chip{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--radius-pill);
background:var(--primary-soft);color:var(--primary);font-size:11.5px;font-weight:700;}
.ops-filter-status-prefix{font-weight:800;color:var(--text2);letter-spacing:.03em;text-transform:uppercase;font-size:10.5px;}
.status.normal,.state.normal,.status.total,.state.total,.status.dock,.state.dock,.status.nav,.state.nav,
.status.leg,.state.leg,.status.trip,.state.trip,.status.audit,.state.audit,.status.second,.state.second,
.status.compact,.state.compact,.status.setup,.state.setup,.status.configured,.state.configured{background:var(--panel2);color:var(--text2);}
.status.arranged,.state.arranged,.status.handoff,.state.handoff,.status.processing,.state.processing,
.status.updating,.state.updating,.status.movement,.state.movement{background:var(--infobg);color:var(--info);}
.status.cancelled,.state.cancelled,.status.critical,.state.critical,.status.affected,.state.affected{background:var(--dangerbg);color:var(--danger);}
.status.inactive,.state.inactive{background:var(--panel2);color:var(--faint);}
.status.warning,.state.warning{background:var(--warnbg);color:var(--warn);}
.status.positive,.state.positive,.status.yes,.state.yes,.status.credit,.state.credit,.status.loaded,.state.loaded,
.status.core,.state.core{background:var(--successbg);color:var(--success);}
.has-delay,.has-overdue{color:var(--warn);}
.error-text{color:var(--danger);font-size:12.5px;font-weight:600;}
.btn-warn{background:var(--warn);border-color:var(--warn);color:#fff;}
.btn-warn:hover{filter:brightness(.93);}
.unified-workspace-tabs,.workspace-action-tabs,.workspace-command-bar-v38{position:relative;}
.workspace-control-subnav .tab{font-size:12.5px;}
body.mobile-ui .container{padding-inline:12px;}
body.mobile-ui .table-wrap{-webkit-overflow-scrolling:touch;}
.delay-selected,.overdue-selected{border-color:#9f1239!important;box-shadow:0 0 0 3px rgba(159,18,57,.17)!important;}
.status.open,.state.open,.status.no,.state.no{background:var(--panel2);color:var(--muted);}
.leg-level,.trip-level{min-width:0;}
.manager-head>div:first-child,.report-panel-head>div:first-child,
.driver-link-card-head>div:first-child,.trip-edit-destination-head>div:first-child{
display:flex;flex-direction:column;gap:2px;min-width:0;}
.manager-head>div:first-child>span,.report-panel-head>div:first-child>span,
.driver-link-card-head>div:first-child>span{font-size:12px;color:var(--muted);}
.manager-head>div:not(:first-child),.report-panel-head>div:not(:first-child){
display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end;}
@media (min-width:1101px){
  :root{--sidebar:236px;}
  body{padding-inline-start:var(--sidebar);}
  .workspace-navigation{margin:0;}
  .workspace-navigation:has(.workspace-subnav-shell){margin-bottom:16px;}
  #workspaceCommandBar{position:fixed;z-index:45;inset-block:0;inset-inline-start:0;
  width:var(--sidebar);flex-direction:column;align-items:stretch;justify-content:flex-start;
  flex-wrap:nowrap;gap:9px;padding:20px 14px;border-radius:0;
  background:linear-gradient(180deg,#0f2350,#162f61 62%);
  box-shadow:2px 0 14px rgba(16,24,40,.10);overflow:auto;}
  .workspace-wordmark{gap:12px;padding:2px 4px 10px;font-size:22px;letter-spacing:.10em;}
  .workspace-truck-logo{display:block;width:50px;height:50px;padding:0;flex:none;
  border-radius:9px;background:none;}
  .workspace-nav-label{display:none;}
  .topbar .brand-icon{display:none;}
  .topbar .brand{gap:0;}
  .workspace-main-tab,.workspace-start-trip-btn{position:relative;width:100%;
  justify-content:flex-start;padding:11px 13px;font-size:13.5px;}
  .workspace-start-trip-btn{background:var(--primary);border-color:var(--primary);}
  .workspace-start-trip-btn:hover{background:var(--primary2);border-color:var(--primary2);}
  .workspace-main-tab{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);}
  .workspace-main-tab:hover{background:rgba(255,255,255,.14);}
  .workspace-main-tab.active{background:rgba(255,255,255,.12);color:#fff;
  border-color:rgba(255,255,255,.20);box-shadow:none;}
  .workspace-main-tab.active::before,.workspace-start-trip-btn.active::before{content:"";
  position:absolute;inset-block:8px;inset-inline-start:-14px;width:3px;
  border-radius:0 3px 3px 0;background:#22b8cf;}
  .workspace-reports-arrow{margin-inline-start:auto;}
}
@media (min-width:1101px){
  #newTripBtn{--nav-accent:#7fb2ff;--nav-rgb:127,178,255;}
  #mainNavLive{--nav-accent:#5fd4a6;--nav-rgb:95,212,166;}
  #mainNavNetwork{--nav-accent:#5cc8d8;--nav-rgb:92,200,216;}
  #mainNavMessages{--nav-accent:#a3a0ff;--nav-rgb:163,160,255;}
  #mainNavReports{--nav-accent:#c7a4f5;--nav-rgb:199,164,245;}
  #mainNavSupport{--nav-accent:#f0a8c8;--nav-rgb:240,168,200;}
  .workspace-main-tab,.workspace-start-trip-btn{background:rgba(var(--nav-rgb,255,255,255),.12);
  border-color:rgba(var(--nav-rgb,255,255,255),.28);}
  .workspace-main-tab:hover,.workspace-start-trip-btn:hover{background:rgba(var(--nav-rgb,255,255,255),.16);
  border-color:rgba(var(--nav-rgb,255,255,255),.34);}
  .workspace-main-tab.active,.workspace-start-trip-btn.active{background:rgba(var(--nav-rgb,255,255,255),.20);
  border-color:rgba(var(--nav-rgb,255,255,255),.45);}
  .workspace-start-trip-btn.active{color:#fff;}
  .workspace-main-tab.active::before,.workspace-start-trip-btn.active::before{background:var(--nav-accent,#22b8cf);}
  .workspace-nav-icon,.workspace-start-trip-plus,.workspace-reports-arrow{color:var(--nav-accent,#fff);}
  .workspace-live-dot{background:var(--nav-accent,#12b76a);}
  .workspace-wordmark>span{font-size:34px;line-height:1;font-weight:900;letter-spacing:.07em;
  background:linear-gradient(180deg,#f6f1ff,#d8cbfb);-webkit-background-clip:text;background-clip:text;color:transparent;}
}
@media (max-width:1100px){
  #newTripBtn{--nav-accent:#7fb2ff;--nav-rgb:127,178,255;}
  #mainNavLive{--nav-accent:#5fd4a6;--nav-rgb:95,212,166;}
  #mainNavNetwork{--nav-accent:#5cc8d8;--nav-rgb:92,200,216;}
  #mainNavMessages{--nav-accent:#a3a0ff;--nav-rgb:163,160,255;}
  #mainNavReports{--nav-accent:#c7a4f5;--nav-rgb:199,164,245;}
  #mainNavSupport{--nav-accent:#f0a8c8;--nav-rgb:240,168,200;}
  #workspaceCommandBar{background:linear-gradient(120deg,#0f2350,#162f61 70%);}
  .workspace-main-tab,.workspace-start-trip-btn{color:#fff;background:rgba(var(--nav-rgb,255,255,255),.12);
  border-color:rgba(var(--nav-rgb,255,255,255),.28);box-shadow:none;}
  .workspace-main-tab:hover,.workspace-start-trip-btn:hover{color:#fff;background:rgba(var(--nav-rgb,255,255,255),.18);
  border-color:rgba(var(--nav-rgb,255,255,255),.36);}
  .workspace-main-tab.active,.workspace-start-trip-btn.active{color:#fff;background:rgba(var(--nav-rgb,255,255,255),.24);
  border-color:rgba(var(--nav-rgb,255,255,255),.55);box-shadow:inset 0 -3px 0 var(--nav-accent,#22b8cf);}
  .workspace-nav-icon,.workspace-start-trip-plus,.workspace-reports-arrow{color:var(--nav-accent,#fff);}
  .workspace-live-dot{background:var(--nav-accent,#12b76a);}
  .workspace-wordmark>span{background:linear-gradient(180deg,#f6f1ff,#d8cbfb);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .workspace-main-tab,.workspace-start-trip-btn{min-height:46px;height:46px;white-space:nowrap;justify-content:center;
  font-size:12.5px;padding:0 10px;}
  .workspace-main-tab-copy{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
}
@media (max-width:900px){
  #mainNavReports,#mainNavSupport{flex:1 1 0;}
}
@media (max-width:620px){
  .workspace-main-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));}
  .workspace-main-tab,.workspace-start-trip-btn{width:100%;}
  #mainNavSupport{grid-column:1/-1;}
}
.scroll-top-btn{position:fixed;z-index:60;inset-block-end:22px;inset-inline-end:22px;
width:46px;height:46px;padding:0;display:grid;place-items:center;
border:1px solid #3a1760;border-radius:50%;background:#4b1e75;color:#fff;
box-shadow:0 6px 18px rgba(16,24,40,.16);cursor:pointer;
opacity:0;visibility:hidden;transform:translateY(10px);
transition:opacity .18s ease,transform .18s ease,visibility .18s,background .15s,border-color .15s;}
.scroll-top-btn.show{opacity:1;visibility:visible;transform:none;}
.scroll-top-btn:hover{background:#331451;border-color:#24103a;color:#fff;}
.scroll-top-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.scroll-top-btn svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;
stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
body:has(.modal-backdrop.show,.overlay.show) .scroll-top-btn{opacity:0;visibility:hidden;}
@media print{.scroll-top-btn{display:none!important;}}
.toc-picker-menu{position:fixed;z-index:125;overflow-y:auto;overscroll-behavior:contain;
background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);
box-shadow:var(--shadow-3);padding:4px;}
.toc-picker-menu[hidden]{display:none;}
.toc-picker-item{padding:8px 10px;border-radius:var(--radius-xs);cursor:pointer;
color:var(--text);font-size:14px;line-height:1.3;}
.toc-picker-item small{display:block;color:var(--muted);font-size:12px;}
.toc-picker-item:hover,.toc-picker-item.active{background:var(--primary-soft);color:var(--primary2);}
.toc-picker-empty{padding:8px 10px;color:var(--muted);font-size:13px;}
.filter-input-wrap input[data-picker-list]{padding-inline-end:52px;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23667085' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat:no-repeat;background-position:right 34px center;background-size:10px 6px;}
.filter-input-wrap input[data-picker-list][readonly]{background-image:none;padding-inline-end:34px;}
button.workspace-main-tab{font:inherit;cursor:pointer;}
.workspace-messages-tab{position:relative;}
.team-msg-nav-badge{min-width:19px;height:19px;padding:0 5px;border-radius:999px;
background:#e5484d;color:#fff;border:2px solid #fff;font-size:11px;font-weight:800;line-height:15px;text-align:center;}
.team-msg-nav-badge[hidden]{display:none;}
@media (min-width:1101px){.team-msg-nav-badge{margin-inline-start:auto;border-color:#162f61;}}
.live-status-activity{font-weight:700;color:var(--text);}
.live-status-time{font-size:11.5px;color:var(--muted);}
.live-plate-stack{display:flex;flex-direction:column;gap:3px;min-width:0;}
.live-plate-head{display:flex;align-items:center;gap:6px;}
.live-plate-number{font-weight:800;letter-spacing:.02em;}
.live-plate-meta{font-size:11px;color:var(--muted);}
.live-plate-ownership{font-weight:700;color:var(--text2);}
.compact-live-plate-stack{gap:2px;}
.exception-list{display:flex;flex-wrap:wrap;gap:4px;}
.exception-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);
font-size:10.5px;font-weight:800;background:var(--panel2);color:var(--text2);border:1px solid var(--border);}
.exception-badge.warn{background:var(--warnbg);color:var(--warn);border-color:var(--warnline);}
.exception-badge.danger,.exception-badge.attention{background:var(--dangerbg);color:var(--danger);border-color:var(--dangerline);}
.exception-badge.green,.exception-badge.success{background:var(--successbg);color:var(--success);border-color:var(--successline);}
.exception-badge.purple{background:#f4f3ff;color:#5925dc;border-color:#d9d6fe;}
.exception-badge.info,.exception-badge.notes{background:var(--infobg);color:var(--info);border-color:var(--infoline);}
.trip-context-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);
background:var(--panel2);border:1px solid var(--border);font-size:10.5px;font-weight:700;color:var(--text2);}
.transit-status-check-row-alert{display:flex;align-items:center;gap:6px;padding:5px 9px;border-radius:var(--radius-xs);
background:var(--warnbg);border:1px solid var(--warnline);font-size:11.5px;color:var(--warn);}
.transit-status-check-row-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--warn);}
.transit-status-check-row-title{font-weight:800;}
.driver-quick-tools{display:inline-flex;align-items:center;gap:6px;flex:none;}
.driver-tool-icon,.driver-arrival-report-btn{position:relative;flex:none;
width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;
border:1px solid #b6c4d8;border-radius:var(--radius-xs);background:#fff;color:var(--muted);
box-shadow:0 1px 1px rgba(16,24,40,.05);
transition:background .15s,border-color .15s,color .15s,box-shadow .15s;}
.driver-tool-icon svg,.driver-arrival-report-btn svg,
.driver-connection-vector svg,.driver-app-link-icon,.driver-map-pin-icon{
width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;
stroke-linecap:round;stroke-linejoin:round;}
.driver-connection-vector{display:inline-flex;align-items:center;justify-content:center;color:inherit;}
.driver-tool-icon:hover,.driver-arrival-report-btn:not(:disabled):hover{
background:var(--panel2);border-color:#a9bccd;color:var(--text2);}
.driver-tool-icon:focus-visible,.driver-arrival-report-btn:focus-visible{
outline:2px solid var(--primary);outline-offset:1px;}
.driver-tool-icon.link.connected{color:var(--success);border-color:var(--successline);background:var(--successbg);}
.driver-tool-icon.link.connected:hover{background:#d5f5e3;}
.driver-tool-icon.link.not-connected{color:var(--faint);}
.driver-tool-icon.unavailable{opacity:.45;cursor:default;background:var(--panel2);}
.driver-tool-icon:disabled{cursor:default;}
.driver-tool-icon.chat.has-unread{color:var(--primary);border-color:#9fc0d5;background:var(--primary-soft);}
.driver-tool-icon.has-unread:not(:has(.driver-chat-tool-unread))::after{content:"";position:absolute;
top:-3px;inset-inline-end:-3px;width:9px;height:9px;border-radius:50%;
background:var(--danger);border:2px solid #fff;}
.driver-tool-icon .driver-chat-tool-unread{position:absolute;top:-7px;inset-inline-end:-7px;z-index:2;
min-width:17px;height:17px;padding:0 4px;border:2px solid #fff;border-radius:var(--radius-pill);
background:var(--danger);color:#fff;font-size:9.5px;font-weight:800;line-height:1;
box-shadow:0 1px 3px rgba(16,24,40,.22);pointer-events:none;}
.driver-tool-icon .driver-chat-tool-unread::after{content:none;}
.driver-tool-icon.map.live{color:var(--info);border-color:var(--infoline);background:var(--infobg);}
.driver-tool-icon.map.manual-sent,.driver-tool-icon.manual-sent,.manual-sent{border-color:var(--warnline);color:var(--warn);background:var(--warnbg);}
.driver-map-manual-badge{position:absolute;bottom:-4px;inset-inline-end:-4px;width:13px;height:13px;
border-radius:50%;background:var(--warn);color:#fff;border:1.5px solid #fff;
display:inline-flex;align-items:center;justify-content:center;}
.driver-map-manual-badge svg{width:8px;height:8px;stroke-width:2.4;}
.driver-arrival-report-btn.reported{background:#fdf2fa;border-color:#f6d0e7;color:#c11574;}
.driver-arrival-report-btn.reported:hover{background:#fce7f6;}
.driver-arrival-report-btn.idle{opacity:.35;cursor:default;}
.vehicle-msg-tool{color:var(--primary);}
.vehicle-msg-tool.unread{color:#b42318;border-color:#f3c3c0;background:#fdecec;}
.vehicle-note-badge[hidden]{display:none;}
.vehicle-note-badge{position:absolute;top:-3px;inset-inline-end:-3px;width:9px;height:9px;
border-radius:50%;background:var(--danger);border:1.5px solid #fff;}
.active-driver-contact-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.trip-table-action-pair{display:inline-flex;gap:5px;}
.trip-actions-trigger{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--line);
border-radius:var(--radius-sm);background:#f8fafe;font-size:12.5px;font-weight:700;color:var(--text2);}
.trip-actions-trigger:hover{background:var(--panel2);border-color:#bcc7d4;}
.trip-actions-trigger[aria-expanded=true]{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);}
.trip-actions-dots{font-size:15px;line-height:1;}
.trip-actions-caret{font-size:11px;color:var(--muted);}
.compact-trip-action-trigger{padding:6px 10px;}
.trip-actions-popover{position:fixed;z-index:90;min-width:205px;max-width:290px;padding:6px;
background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-3);}
.trip-actions-menu-item{display:flex;align-items:flex-start;gap:9px;width:100%;padding:9px 10px;border:0;border-radius:var(--radius-xs);
background:transparent;text-align:start;color:var(--text2);}
.trip-actions-menu-item:hover{background:var(--panel2);}
.trip-actions-menu-item strong{display:block;font-size:13px;color:var(--text);}
.trip-actions-menu-item small{display:block;font-size:11px;color:var(--muted);margin-top:1px;}
.trip-actions-menu-item.primary strong{color:var(--primary);}
.trip-actions-menu-item.status-action strong{color:var(--success);}
.trip-actions-menu-item.danger strong{color:var(--danger);}
.trip-actions-menu-item.danger:hover{background:var(--dangerbg);}
.trip-action-icon{width:22px;height:22px;flex:none;display:inline-flex;align-items:center;justify-content:center;
border-radius:var(--radius-xs);background:var(--panel2);font-size:13px;color:inherit;}
.trip-actions-menu-divider{height:1px;margin:5px 2px;background:var(--border);}
.trip-start-kicker{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);}
.trip-preparation-identity{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.trip-preparation-identity span{display:inline-flex;align-items:center;padding:4px 11px;border-radius:var(--radius-pill);
background:var(--primary-soft);border:1px solid #c7dcea;font-size:12px;font-weight:700;color:var(--primary2);}
.trip-preparation-identity:empty{display:none;}
.trip-start-section-label{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;}
.trip-start-position-panel{padding:12px 14px;margin-bottom:13px;background:var(--panel);border:1px solid var(--border);
border-inline-start:4px solid var(--primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);}
.trip-start-position-field{display:flex;flex-direction:column;gap:7px;}
.trip-start-position-field>label{font-size:12.5px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--text);}
.trip-start-time-panel{margin-top:11px;padding:12px 13px;border:1px solid var(--border);
border-radius:var(--radius-sm);background:var(--panel2);}
.trip-start-time-copy{font-size:11.5px;color:var(--muted);margin-top:6px;}
.trip-start-position-choice{display:flex;align-items:center;gap:9px;padding:10px 12px;cursor:pointer;
border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;font-size:13px;}
.trip-start-position-choice.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px var(--primary-ring);}
.toc-start-detail-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;margin-top:13px;}
.second-trip-form-grid{gap:12px;}
.required-missing,.profile-required-pending{border:1.5px solid var(--warn)!important;
background:var(--warnbg)!important;box-shadow:0 0 0 3px rgba(181,71,8,.12)!important;}
.trip-start-position-panel:has(.required-missing){border-inline-start-color:var(--warn);}
@media (max-width:900px){
  .second-trip-form-grid{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:760px){
  .trip-chat-panel{max-width:none;max-height:92vh;}
}
@media (max-width:520px){
  .stage-bridge-actions .btn{flex:1 1 100%;}
}
@media print{
  .trip-actions-popover{display:none!important;}
}
.trip-actions-label{font-weight:700;}
.trip-chat-message.read .trip-chat-bubble{opacity:.92;}
.summary-item.origin .summary-value,.summary-item.arrival .summary-value{font-weight:800;}
.driver-link-status-mobile.phone a{color:var(--primary);font-weight:700;}
.warehouse-status-waiting_for_loading{background:var(--warnbg);color:var(--warn);}
.warehouse-status-heading_to_loading{background:var(--infobg);color:var(--info);}
.email-warehouse-picker.open>.email-warehouse-menu,.ops-multi-select.open>.ops-multi-options{display:block;}
