/* ==========================================================================
   Control (Manager) — page bundle
   css/pages/manager.css  ·  hand-authored page chrome

   Above the marker: the Control console — Vehicles, Drivers, Driver Link,
   Trip Profiles, Activity Log, Trips Database, Users & Access, Email Queue,
   System Health, Data Quality, Reference Data and Locations setup.
   Below the marker tools/build_design.py compiles the shared workspace shell,
   the shared operational components and the trip audit timeline.

   Sections: P1 console shell · P2 section furniture · P3 tables & bulk actions
             P4 inline editors · P5 Driver Link · P6 Email Queue
             P7 System Health · P8 Data Quality · P9 Activity Log
             P10 Users & Access · P11 Reference & Locations · P12 responsive
   ========================================================================== */

/* ---------------------------- P1 Console shell -------------------------- */
/* The console is a fixed side menu plus one stacked column of sections: the
   menu spans every row, every section is placed in column two. */
.manager-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;align-items:start;}
.manager-menu{grid-column:1;grid-row:1/-1;position:sticky;top:14px;display:flex;flex-direction:column;gap:6px;padding:11px;}
.manager-menu .btn{width:100%;justify-content:flex-start;text-align:start;}
.manager-shell>*:not(.manager-menu){grid-column:2;min-width:0;}
.manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;
padding:13px 15px;border-bottom:1px solid var(--border);background:var(--panel2);}
.manager-head h3,.manager-head strong{font-size:15px;font-weight:800;}
.manager-head .secondary{margin-top:0;}
/* Control renders many "<strong>label</strong><span>value</span>" pairs. */
.driver-app-summary>span,.manager-config-sub>span{display:block;}
.driver-link-vehicle-hint{display:block;margin-top:4px;}
.manager-section-head{margin-bottom:12px;}

/* -------------------------- P2 Section furniture ------------------------ */
.manager-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:11px;
padding:13px 15px;border-bottom:1px solid var(--border);background:var(--panel);}
.manager-search-field,.activity-search-field{grid-column:span 2;min-width:0;}
.manager-trip-filter,.manager-deleted-filter{min-width:0;}
.manager-apply-btn{align-self:end;height:42px;}
.manager-config-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--radius-pill);
background:var(--primary-soft);border:1px solid #c7dcea;font-size:11px;font-weight:700;color:var(--primary2);}
.manager-config-sub{font-size:11.5px;color:var(--muted);margin-top:3px;}
.manager-multi-select>summary{position:relative;padding-inline-end:30px;}
.manager-multi-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.manager-multi-select-caret{position:absolute;inset-inline-end:11px;color:var(--muted);font-size:12px;}
.manager-access-multi{min-width:0;}
.manager-access-menu{max-height:250px;}

/* --------------------- P3 Tables & bulk selection ----------------------- */
.vehicle-table-wrap,.driver-link-table-wrap{overflow:auto;}
.vehicles-table,.driver-link-table,.user-sessions-table,.warehouse-routing-table{width:100%;font-size:12.5px;}
.vehicles-table td,.driver-link-table td,.user-sessions-table td{padding:10px 11px;vertical-align:middle;}
.vehicle-select-col,.email-queue-select-col,.activity-select-col,.vehicle-action-col{width:42px;}
.vehicle-select-cell,.email-queue-select-cell,.manager-trip-select-cell,.activity-row-select{text-align:center;}
.vehicle-action-cell,.vehicle-row-actions{display:flex;align-items:center;gap:5px;justify-content:flex-end;}
.vehicle-editor-action{padding:5px 9px;font-size:11.5px;}
.manager-bulk-actions,.vehicle-bulk-actions,.email-queue-bulk-actions{display:flex;align-items:center;gap:9px;
flex-wrap:wrap;padding:11px 15px;border-bottom:1px solid var(--border);background:var(--warnbg);}
.manager-selected-count{font-size:12px;font-weight:800;color:var(--warn);}
.manager-select-all{display:inline-flex;align-items:center;gap:7px;font-size:12px;}
.manager-bulk-note{font-size:11.5px;color:var(--muted);flex:1 1 220px;}

/* --------------------------- P4 Inline editors -------------------------- */
/* Release-gate contract: the editor opens beside the row it belongs to. */
/* Release-gate contract: the editor opens beside the row it belongs to. */
.manager-inline-editor-row>td,
#mgrUsersSection tr.manager-inline-editor-row>td,
#mgrMasterSection tr.manager-inline-editor-row>td,
#mgrVehiclesSection tr.manager-inline-editor-row>td{padding:0!important;background:var(--panel2)!important;}
/* Every inline editor is a field grid: a column of full-width inputs is a wall. */
.vehicle-editor,.user-editor,.master-editor,.option-editor,.location-editor,.warehouse-profile-editor{
display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:13px;align-items:start;
padding:15px;border-top:1px solid var(--border);}
.vehicle-editor>.field,.user-editor>.field,.master-editor>.field,.option-editor>.field,
.location-editor>.field,.warehouse-profile-editor>.field{min-width:0;}
.vehicle-editor .manual-time-hint,.user-editor .manual-time-hint{margin-top:4px;}
.manager-edit-target-row>td{background:var(--primary-soft)!important;}
.manager-editor-actions{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;
margin-top:2px;padding-top:12px;border-top:1px solid var(--border);}
.manager-editor-home-anchor{scroll-margin-top:80px;}
.warehouse-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px;}

/* ------------------------------ P5 Driver Link -------------------------- */
.driver-link-filter-grid,.driver-link-enroll-grid,.driver-app-enroll-grid{display:grid;
grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11px;}
.driver-link-search-row{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;margin-top:11px;}
.driver-link-filter-count{font-size:11.5px;font-weight:700;color:var(--muted);}
.driver-link-card{padding:14px;margin-bottom:13px;}
.driver-link-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:11px;}
.driver-link-card-head strong{font-size:14px;}
.driver-link-create-btn{flex:none;}
.driver-link-vehicle-hint{font-size:11.5px;color:var(--muted);}
.driver-app-enroll-grid{align-items:end;}
.driver-app-code{display:inline-flex;align-items:center;padding:5px 12px;border-radius:var(--radius-sm);
background:var(--dark);color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
font-size:17px;font-weight:700;letter-spacing:.22em;}
.driver-app-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:11px;}
.driver-app-summary>div{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel2);}
.driver-app-summary span{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);}
.driver-app-summary strong{display:block;font-size:18px;font-weight:800;margin-top:2px;}

/* ------------------------------ P6 Email Queue -------------------------- */
.email-queue-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;
padding:13px 15px;border-bottom:1px solid var(--border);background:var(--panel2);}
.email-queue-stat{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;}
.email-queue-stat span{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);}
.email-queue-stat strong{display:block;font-size:19px;font-weight:800;margin-top:2px;}
.email-queue-stat.email-pending strong{color:var(--warn);}
.email-queue-stat.email-processing strong{color:var(--info);}
.email-queue-stat.email-sent strong{color:var(--success);}
.email-queue-stat.email-failed strong{color:var(--danger);}
.email-queue-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:11px;
padding:13px 15px;border-bottom:1px solid var(--border);}
.email-queue-error{font-size:11.5px;color:var(--danger);word-break:break-word;max-width:40ch;}
.email-queue-worker-note{padding:11px 15px;font-size:11.5px;color:var(--muted);border-top:1px solid var(--border);}

/* ----------------------------- P7 System Health ------------------------- */
.system-health-overview{margin-bottom:14px;}
.system-health-overall{display:flex;align-items:center;gap:11px;padding:13px 15px;
border:1px solid var(--border);border-radius:var(--radius);background:var(--panel2);}
.system-health-overall>div{display:flex;flex-direction:column;gap:2px;min-width:0;}
.system-health-overall strong{font-size:15px;}
.system-health-overall span{font-size:12px;color:var(--muted);}
.system-health-overall-dot{width:13px;height:13px;flex:none;border-radius:50%;background:var(--faint);}
.system-health-overall.ok{border-color:var(--successline);background:var(--successbg);}
.system-health-overall.ok .system-health-overall-dot{background:var(--success);}
.system-health-overall.warn{border-color:var(--warnline);background:var(--warnbg);}
.system-health-overall.warn .system-health-overall-dot{background:var(--warn);}
.system-health-overall.critical,.system-health-overall.error{border-color:var(--dangerline);background:var(--dangerbg);}
.system-health-overall.critical .system-health-overall-dot,.system-health-overall.error .system-health-overall-dot{background:var(--danger);}
/* systemHealthStatusClass_() returns "check" for every non-OK/WARN status. */
.system-health-overall.check{border-color:var(--warnline);background:var(--warnbg);}
.system-health-overall.check .system-health-overall-dot{background:var(--warn);}
.system-health-section-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:16px 0 10px;}
.system-health-section-head strong{font-size:12px;font-weight:800;letter-spacing:.05em;
text-transform:uppercase;color:var(--text2);}
.system-health-section-head span{font-size:11.5px;color:var(--muted);}
.system-health-grid,.system-health-metrics,.system-security-metrics,.security-grid{display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:11px;}
.system-health-card{padding:12px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);}
.system-health-card-head{display:flex;align-items:center;justify-content:space-between;gap:9px;}
.system-health-card-head strong{font-size:13px;}
.system-health-detail{font-size:11.5px;color:var(--muted);margin-top:5px;word-break:break-word;}
.system-health-badge{display:inline-flex;padding:2px 8px;border-radius:var(--radius-pill);font-size:10px;
font-weight:800;letter-spacing:.03em;background:var(--panel2);color:var(--text2);white-space:nowrap;}
.system-health-badge.ok{background:var(--successbg);color:var(--success);}
.system-health-badge.warn{background:var(--warnbg);color:var(--warn);}
.system-health-badge.critical,.system-health-badge.error{background:var(--dangerbg);color:var(--danger);}
.system-health-badge.check{background:var(--warnbg);color:var(--warn);}
.system-health-card.check{border-color:var(--warnline);}
.system-health-card.warn{border-color:var(--warnline);}
.system-health-card.critical,.system-health-card.error{border-color:var(--dangerline);}
.system-health-metric{padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel2);}
.system-health-metric span{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);}
.system-health-metric strong{display:block;font-size:15px;font-weight:800;margin-top:2px;word-break:break-word;}
.system-health-empty{padding:18px;text-align:center;font-size:12.5px;color:var(--muted);}
.system-health-footer{padding:11px 15px;border-top:1px solid var(--border);font-size:11.5px;color:var(--muted);}
.backup-time{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;}

/* ----------------------------- P8 Data Quality -------------------------- */
.data-quality-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:13px;}
.data-quality-stat{padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel2);}
.data-quality-stat span{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);}
.data-quality-stat strong{display:block;font-size:19px;font-weight:800;margin-top:2px;}
.data-quality-stat.critical strong{color:var(--danger);}
.data-quality-stat.warning strong{color:var(--warn);}
.data-quality-stat.advisory strong,.data-quality-advisory strong{color:var(--info);}
.data-quality-filter{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;margin-bottom:13px;}
.data-quality-rules{display:flex;flex-direction:column;gap:9px;}
.data-quality-rule{padding:12px 13px;border:1px solid var(--border);border-inline-start-width:4px;
border-radius:var(--radius-sm);background:var(--panel);}
.data-quality-rule.critical{border-inline-start-color:var(--danger);}
.data-quality-rule.warning{border-inline-start-color:var(--warn);}
.data-quality-rule.advisory{border-inline-start-color:var(--info);}
.data-quality-rule-badge{display:inline-flex;padding:2px 8px;border-radius:var(--radius-pill);
font-size:10px;font-weight:800;background:var(--panel2);color:var(--text2);}
.data-quality-rule-badge.critical{background:var(--dangerbg);color:var(--danger);}
.data-quality-rule-badge.warning{background:var(--warnbg);color:var(--warn);}
.data-quality-severity{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;}
.data-quality-detail{font-size:12px;color:var(--text2);margin-top:6px;word-break:break-word;}
.data-quality-empty{padding:18px;text-align:center;font-size:12.5px;color:var(--muted);}

/* ----------------------------- P9 Activity Log -------------------------- */
.activity-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:11px;
padding:13px 15px;border-bottom:1px solid var(--border);}
.activity-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.audit-row.affected td{background:var(--dangerbg);}

/* --------------------------- P10 Users & Access ------------------------- */
.role-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:11px;margin-bottom:13px;}
.role-guide>div{padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel2);}
.role-guide strong{display:block;font-size:13px;}
.role-guide span,.role-guide small{display:block;font-size:11.5px;color:var(--muted);margin-top:3px;}
.user-access-warning{padding:11px 13px;margin-bottom:12px;border:1px solid var(--warnline);
border-radius:var(--radius-sm);background:var(--warnbg);font-size:12.5px;color:var(--warn);}
.user-sessions-modal .modal-body{padding-top:16px;}
.user-sessions-table td{font-size:12px;}
.has-value{font-weight:700;color:var(--text);}

/* ----------------- P11 Reference data & Locations setup ----------------- */
/* .reference-block wraps a whole sub-section (head, notice, editor, table),
   so it stays a block: laying it out as a row scrambles the section. */
.reference-block{display:block;padding:0;border-bottom:1px solid var(--border);}
.reference-block:last-child{border-bottom:0;}
.reference-options{display:block;}
.reference-block>.notice{margin:12px 15px 0;}
.reference-block>.table-wrap{margin-top:12px;}
.manager-config-chip{white-space:nowrap;}
.warehouse-routing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:9px;}
.warehouse-routing-head-actions{display:flex;gap:8px;flex-wrap:wrap;}
.warehouse-routing-subhead{font-size:11.5px;color:var(--muted);}
.warehouse-routing-rule{padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);
background:var(--panel2);margin-bottom:9px;}
.warehouse-routing-table td{font-size:12px;}
.leg-card{padding:12px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel2);margin-bottom:9px;}
.leg-head{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;
font-size:12.5px;font-weight:800;margin-bottom:6px;}

/* --------------------------- P12 Control responsive --------------------- */
@media (max-width:1100px){
  .manager-shell{grid-template-columns:minmax(0,1fr);}
  .manager-menu{grid-column:1;grid-row:auto;position:static;flex-direction:row;flex-wrap:wrap;}
  .manager-menu .btn{width:auto;}
  .manager-shell>*:not(.manager-menu){grid-column:1;}
}
@media (max-width:900px){
  .manager-filter,.activity-filter-grid,.email-queue-filter{grid-template-columns:repeat(2,minmax(0,1fr));}
  .manager-search-field,.activity-search-field{grid-column:1/-1;}
}
@media (max-width:700px){
  .manager-filter,.activity-filter-grid,.email-queue-filter,.driver-link-filter-grid,
  .warehouse-profile-grid,.role-guide{grid-template-columns:minmax(0,1fr);}
  .email-queue-summary,.data-quality-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
  .system-health-grid,.system-health-metrics,.system-security-metrics,.security-grid{grid-template-columns:minmax(0,1fr);}
  .manager-editor-actions .btn{flex:1 1 100%;}
}
@media (max-width:520px){
  .email-queue-summary,.data-quality-summary{grid-template-columns:minmax(0,1fr);}
}

/* 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;}
.audit-timeline-modal .modal-body{padding-top:14px;}
.audit-timeline{display:flex;flex-direction:column;gap:0;}
.audit-timeline-item{display:flex;gap:11px;padding-bottom:12px;}
.audit-timeline-item:last-child{padding-bottom:0;}
.audit-timeline-rail{position:relative;flex:none;width:14px;display:flex;justify-content:center;padding-top:5px;}
.audit-timeline-dot{width:10px;height:10px;flex:none;border-radius:50%;background:var(--primary);
box-shadow:0 0 0 3px var(--primary-soft);}
.audit-timeline-line{position:absolute;top:18px;bottom:-12px;width:2px;background:var(--border);}
.audit-timeline-card{flex:1;min-width:0;padding:10px 13px;border:1px solid var(--border);
border-radius:var(--radius-sm);background:var(--panel);}
.audit-timeline-top{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;}
.audit-timeline-top strong{font-size:13.5px;}
.audit-timeline-top span{font-size:11.5px;color:var(--muted);}
.audit-timeline-user{font-size:11.5px;color:var(--muted);margin-top:2px;}
.audit-timeline-field{display:inline-flex;margin-top:6px;padding:2px 8px;border-radius:var(--radius-pill);
background:var(--panel2);border:1px solid var(--border);font-size:10.5px;font-weight:800;
letter-spacing:.03em;text-transform:uppercase;color:var(--text2);}
.audit-timeline-change{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:12.5px;}
.audit-timeline-change span{padding:3px 9px;border-radius:var(--radius-xs);background:var(--panel2);
border:1px solid var(--border);word-break:break-word;}
.audit-timeline-change span:first-child{color:var(--muted);text-decoration:line-through;}
.audit-timeline-change span:last-child{background:var(--successbg);border-color:var(--successline);color:var(--success);text-decoration:none;}
.audit-timeline-change b{color:var(--faint);}
.audit-timeline-details{margin-top:6px;font-size:12px;color:var(--text2);white-space:pre-wrap;word-break:break-word;}
.audit-trip-link{font-weight:700;color:var(--primary);}
.audit-trip-link:hover{text-decoration:underline;}
.audit-action-pill{display:inline-flex;padding:2px 8px;border-radius:var(--radius-pill);background:var(--panel2);
border:1px solid var(--border);font-size:10.5px;font-weight:800;color:var(--text2);white-space:nowrap;}
.audit-row.affected{background:var(--dangerbg);}
