    :root{--bg:#e8eff8;--surface:#fff;--sidebar:#0f1b30;--sidebar2:#1b2e4d;--line:#d6e0ee;--muted:#62718a;--text:#17243a;--accent:#2767df;--accent-strong:#1e54ba;--accent-soft:#edf4ff;--ok:#087a55;--warn:#b65f16;--danger:#b42318;--shadow:0 8px 24px rgba(27,57,104,.1)}
    *{box-sizing:border-box}
    html,body{height:100%}
    body{margin:0;background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);font-size:14px}
    #appShell{display:grid;grid-template-columns:248px minmax(0,1fr);grid-template-rows:68px minmax(0,1fr);height:100dvh;min-height:100dvh}
    #brand{display:flex;align-items:center;gap:10px;background:var(--surface);color:var(--text);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 18px;font-weight:800}
    #brand:before{content:"FT";display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:var(--accent);color:#fff;font-size:12px}
    .topbar{grid-column:2;grid-row:1;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:0 18px;z-index:1000}
    #nav{grid-column:1;grid-row:2;background:var(--sidebar);padding:14px 10px;border-right:1px solid var(--line);overflow:auto}
    .tab{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:10px 12px;border-radius:7px;cursor:pointer;color:#43516a;margin-bottom:4px;font-weight:650}
    .tab.active{background:#fff;color:var(--accent);box-shadow:0 1px 0 rgba(28,42,68,.04),0 6px 18px rgba(28,42,68,.06)}
    .nav-section{color:#8a96a8;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:16px 10px 7px}
    #workspace{grid-column:2;grid-row:2;position:relative;min-width:0;overflow:hidden}
    #map{height:100%;width:100%;z-index:1}
    .panel{position:absolute;inset:0;overflow:auto;background:var(--bg);padding:22px;z-index:5}
    #panel-map{pointer-events:none;background:transparent;padding:0;z-index:10}
    #panel-map .row{pointer-events:auto;position:absolute;right:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:10px;border-radius:8px;margin:0}
    #panel-map .row:first-child{display:none}
    #panel-map .row:nth-child(2){top:18px}
    #panel-map .row:nth-child(3){top:82px}
    #panel-map .row:nth-child(4){top:146px}
    .row{display:flex;gap:10px;margin-bottom:12px;align-items:center;flex-wrap:wrap}
    input,select,button{background:#fff;color:var(--text);border:1px solid var(--line);border-radius:7px;padding:9px 10px;min-height:38px}
    input,select{min-width:0}
    button{cursor:pointer;background:#fff;font-weight:600}
    button:hover{border-color:#aab7cf}
.row button:last-child,#loginBtn,#createTripBtn,#orgCreateBtn,#uCreateBtn,#createRouteBtn,#createDriverBtn{background:var(--accent);border-color:var(--accent);color:#fff}
    .list{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px;max-height:340px;overflow:auto;font-size:13px;line-height:1.65;box-shadow:0 1px 0 rgba(28,42,68,.03)}
    .item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border-bottom:1px solid #edf1f6;padding:10px 2px}
    .item:last-child{border-bottom:0}
    .item-title{font-weight:700}
    .item-meta{color:var(--muted);font-size:12px}
    .status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;background:#f2f4f7;color:#344054}
    .status.active,.status.online,.status.driving,.status.received{background:#eaf8f2;color:var(--ok)}.status.problem,.status.tech_problem,.status.tracking_off,.status.partially_received{background:#fff1ef;color:var(--danger)}.status.completed,.status.in_transit,.status.created{background:#edf4ff;color:#175cd3}.status.planned,.status.cancelled{background:#f4f6f8;color:#475467}.status.archived{background:#eef2f6;color:#475467}.status.offline,.status.stopped,.status.sleeping,.status.meal,.status.fueling,.status.unloading,.status.ready{background:#fff7ed;color:var(--warn)}
    .driver-div-icon{background:transparent;border:0}
    .driver-marker{position:relative;width:58px;height:58px;filter:drop-shadow(0 10px 16px rgba(16,24,40,.24))}
    .driver-marker svg{display:block;width:58px;height:58px;overflow:visible}
    .driver-marker.danger{animation:driverPulse 1.4s ease-in-out infinite}
    .map-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
    .legend-item{display:inline-flex;align-items:center;gap:5px;color:#344054;font-size:12px;font-weight:650}
    .legend-dot{width:11px;height:11px;border-radius:50%;background:var(--ok)}
    .legend-dot.warning{background:var(--warn)}
    .legend-dot.danger{background:var(--danger)}
    .legend-dot.offline{background:#667085}
    @keyframes driverPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
    .actions{display:flex;gap:6px;align-items:center}
    .actions button{min-height:30px;padding:5px 8px}
    .meta-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
    .meta-chip{display:inline-flex;gap:5px;align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:12px}
    .meta-chip b{color:#344054}
    .cargo-list{display:grid;gap:10px;width:100%}
    .cargo-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px}
    .cargo-card-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}
    .cargo-subtitle{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 7px}
    .cargo-fields{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}
    @media (max-width:1100px){.cargo-fields{grid-template-columns:repeat(2,minmax(120px,1fr))}}
    textarea{background:#fff;color:var(--text);border:1px solid var(--line);border-radius:6px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;min-height:120px;width:100%}
    .pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:6px;background:#f8fafc;border:1px solid var(--line);color:#344054;font-weight:600}
    .login{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f7faff,#eef4fb);z-index:2000}
    .login-card{background:var(--surface);padding:24px;border-radius:8px;border:1px solid var(--line);box-shadow:var(--shadow);width:390px}
    .page-title{font-size:22px;font-weight:800;margin:0 0 14px}
    .page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
    .page-subtitle{margin:4px 0 0;color:var(--muted);line-height:1.45}
    .metric-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:16px}
    .metric{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px;box-shadow:0 1px 0 rgba(28,42,68,.03)}
    .metric span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}
    .metric b{font-size:24px;letter-spacing:0}
    .department-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;margin:16px 0}
    .department{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:15px;display:flex;flex-direction:column;gap:10px;min-height:142px;box-shadow:0 1px 0 rgba(28,42,68,.03)}
    .department strong{font-size:16px}
    .department p{margin:0;color:var(--muted);line-height:1.45}
    .department .actions{margin-top:auto}
    .section-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);gap:14px;align-items:start}
    .empty{color:var(--muted);padding:12px}
    .loading{color:var(--muted);padding:12px}
    .toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
    .field-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;margin-bottom:12px}
    .field-grid input,.field-grid select{width:100%}
    .code-block{background:#0f172a;color:#e5edf7;border-radius:8px;padding:12px;overflow:auto;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap}
    .check-grid{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
    .check-grid label{background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-weight:650;color:#344054}
    .setup-list{display:grid;gap:8px}
    .setup-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #edf1f6}
    .setup-item:last-child{border-bottom:0}
    .timelapse-panel{position:absolute;left:18px;right:18px;bottom:18px;z-index:1200;pointer-events:auto;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:12px;display:grid;grid-template-columns:minmax(360px,30%) minmax(420px,1fr) max-content;gap:10px;align-items:center}
    .timelapse-panel.hidden{display:none}
    .timelapse-panel>div:first-child,.timelapse-controls{min-width:0}
    .timelapse-title{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .timelapse-meta{min-height:18px;color:var(--muted);font-size:12px;line-height:18px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
    .timelapse-panel>.actions{min-width:286px;flex-wrap:nowrap;justify-content:flex-end}
    .timelapse-panel input[type=range]{width:100%;padding:0}
    .timelapse-point-icon{z-index:10000!important;background:transparent;border:0;pointer-events:auto;visibility:visible!important;opacity:1!important}
    .timelapse-vehicle{filter:drop-shadow(0 12px 18px rgba(16,24,40,.32))}
    .timelapse-vehicle:after{content:"";position:absolute;left:25px;bottom:1px;width:8px;height:8px;border-radius:50%;background:#2f6fed;border:2px solid #fff;box-shadow:0 0 0 4px rgba(47,111,237,.18)}
    hr{border:0;border-top:1px solid var(--line);width:100%;margin:14px 0}
    a{color:var(--accent);font-weight:600}
    #orgSwitch{margin-left:auto;min-width:220px}
    #who{max-width:260px;white-space:normal}
    #logoutBtn{background:#fff;color:var(--text);border-color:var(--line)}
    .hidden{display:none}
    .hidden.tab{display:none}
    @media (max-width:1100px){.section-grid{grid-template-columns:1fr}}
    @media (max-width:900px){#appShell{grid-template-columns:1fr;grid-template-rows:56px 54px minmax(0,1fr)}#brand{grid-column:1;grid-row:1}.topbar{grid-column:1;grid-row:1;justify-content:flex-end;background:transparent;border:0}#nav{grid-column:1;grid-row:2;display:flex;overflow:auto;padding:7px 8px}.nav-section{display:none}.tab{width:auto;white-space:nowrap;margin:0 4px 0 0}#workspace{grid-column:1;grid-row:3}.metric-grid,.department-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}
    @media (max-width:900px){.field-grid{grid-template-columns:1fr}}
    @media (max-width:620px){.metric-grid,.department-grid{grid-template-columns:1fr}.panel{padding:12px}.department .actions{flex-direction:column;align-items:stretch}.department .actions button{width:100%}.page-head{display:block}}

/* login-fix */
.login-card .row{align-items:center}
.login-card .row input{box-sizing:border-box}
.login-card .row input#loginUser{flex:1 1 auto;min-width:0}
.login-card .row input#loginPass{flex:0 0 140px;max-width:140px}

/* CRM interface */
body{font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
#appShell{grid-template-columns:248px minmax(0,1fr);grid-template-rows:68px minmax(0,1fr)}
#brand{position:relative;min-width:0;overflow:visible;background:var(--sidebar);color:#fff;border:0;padding:0 20px;font-size:16px;letter-spacing:0}
#brand:before{width:34px;height:34px;border-radius:7px;background:#fff;color:var(--accent);font-weight:900;box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.brand-copy{display:flex;min-width:0;flex-direction:column;line-height:1.1}
.brand-copy small{margin-top:4px;color:#98a2b3;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.topbar{padding:0 24px;gap:10px;background:rgba(255,255,255,.96);box-shadow:0 1px 0 rgba(16,24,40,.02)}
#nav{background:var(--sidebar);border:0;padding:14px 12px 24px;scrollbar-color:#344054 transparent}
.nav-section{color:#667085;margin:20px 11px 8px;font-size:10px;letter-spacing:.12em}
.nav-section:first-child{margin-top:7px}
.tab{position:relative;min-height:42px;margin:0 0 3px;padding:10px 12px;border-radius:7px;color:#cbd5e1;font-size:13px;font-weight:650;transition:background .15s,color .15s}
.tab:hover{background:#1d2939;color:#fff}
.tab.active{background:#263b63;color:#fff;box-shadow:none}
.tab.active:before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;background:#60a5fa;border-radius:0 4px 4px 0}
.nav-icon{width:18px;height:18px;display:grid;place-items:center;color:#98a2b3;flex:0 0 18px}
.nav-icon svg{width:17px;height:17px;stroke-width:2}
.tab.active .nav-icon,.tab:hover .nav-icon{color:#fff}
#workspace{background:var(--bg)}
.panel{padding:28px 30px 40px;background:var(--bg)}
.page-head{align-items:center;margin:0 auto 22px;max-width:1440px}
.page-title{font-size:24px;line-height:1.2;margin:0;font-weight:760;letter-spacing:0}
.page-subtitle{max-width:760px;margin-top:6px;font-size:13px}
.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
input,select,button,textarea{font:inherit;outline:none;transition:border-color .15s,box-shadow .15s,background .15s,transform .05s}
input,select,button{border-color:#d0d5dd;border-radius:7px;min-height:40px;padding:9px 12px}
input:focus,select:focus,textarea:focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
input::placeholder,textarea::placeholder{color:#98a2b3}
button{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#344054;white-space:nowrap}
button:hover{border-color:#98a2b3;background:#f9fafb}
button:active{transform:translateY(1px)}
button:disabled{opacity:.5;cursor:not-allowed}
.btn-primary,.row button:last-child,#loginBtn,#createTripBtn,#orgCreateBtn,#uCreateBtn,#createRouteBtn,#createDriverBtn{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:hover,.row button:last-child:hover,#loginBtn:hover,#createTripBtn:hover{background:var(--accent-strong);border-color:var(--accent-strong)}
.btn-danger{color:var(--danger);border-color:#fecdca;background:#fff}
.btn-danger:hover{background:#fff5f4;border-color:#fda29b}
.btn-danger.armed{background:var(--danger);border-color:var(--danger);color:#fff}
.btn-ghost{border-color:transparent;background:transparent}
.btn-icon{width:40px;padding:0}
.btn-icon svg,button svg{width:17px;height:17px;stroke-width:2}
.surface{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.surface-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.surface-title h2,.surface-title h3{margin:0;font-size:15px;letter-spacing:0}
.surface-subtitle{margin:3px 0 0;color:var(--muted);font-size:12px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field>span,.field>label{color:#344054;font-size:12px;font-weight:650}
.field>input,.field>select,.field>textarea{width:100%}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-grid .span-2{grid-column:1/-1}
.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px}
.toolbar{margin-bottom:14px}
.list{padding:0;max-height:none;border-color:var(--line);box-shadow:none;line-height:1.5}
.item{padding:13px 14px;gap:14px;min-height:64px}
.item:hover{background:#fafbfc}
.item-title{font-size:13px;color:#182230}
.item-meta{margin-top:3px;line-height:1.45}
.actions{flex-wrap:wrap;justify-content:flex-end}
.actions button{min-height:34px;padding:6px 10px}
.status{position:relative;padding:4px 9px 4px 22px;border-radius:999px;font-size:11px;text-transform:none}
.status:before{content:"";position:absolute;left:9px;width:6px;height:6px;border-radius:50%;background:currentColor}
.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}
.metric{position:relative;min-height:108px;padding:17px 18px;border-color:var(--line);box-shadow:0 1px 2px rgba(16,24,40,.03);overflow:hidden}
.metric:after{content:"";position:absolute;right:16px;top:16px;width:8px;height:8px;border-radius:50%;background:#98a2b3}
.metric[data-tone="ok"]:after{background:#12b76a}.metric[data-tone="warn"]:after{background:#f79009}.metric[data-tone="danger"]:after{background:#f04438}.metric[data-tone="info"]:after{background:#2e90fa}
.metric span{margin-bottom:12px;font-weight:600}
.metric b{font-size:28px;font-weight:760;letter-spacing:0}
.department-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;margin:0 0 18px}
.department{min-height:134px;padding:16px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.department strong{display:flex;align-items:center;gap:9px;font-size:14px}
.department strong svg{width:18px;height:18px;color:var(--accent)}
.department p{font-size:12px}
.department .actions button{background:#fff;color:#344054;border-color:#d0d5dd}
.section-grid{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:16px}
.dashboard-content,.content-wrap{max-width:1440px;margin:0 auto}
.dashboard-section-title{font-size:12px;font-weight:800;color:#667085;text-transform:uppercase;letter-spacing:.08em;margin:22px 0 10px}
.pill{border-radius:7px;background:#f9fafb;padding:8px 10px;font-size:12px}
#systemStatus{color:var(--ok);background:#ecfdf3;border-color:#abefc6}
#orgSwitch{margin-left:auto;min-width:240px;background-color:#fff}
#who{position:relative;padding:8px 12px 8px 34px;border:0;background:#f2f4f7;max-width:300px}
#who:before{content:"";position:absolute;left:12px;width:8px;height:8px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 3px #d1fadf}
#logoutBtn{width:40px;padding:0;background:#fff}
#logoutBtn>span:last-child{display:none}
#logoutBtn:after{display:none}
.login{background:#f4f7fb;padding:20px}
.login-card{width:min(420px,100%);padding:30px;border-radius:10px;box-shadow:0 24px 64px rgba(16,24,40,.14)}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.login-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:var(--accent);color:#fff;font-weight:900}
.login-card h1{font-size:22px;margin:0}.login-card p{margin:5px 0 0;color:var(--muted)}
.login-fields{display:grid;gap:14px}
.login-card .row{margin:18px 0 0}
.login-card .row input#loginUser,.login-card .row input#loginPass{flex:1 1 auto;max-width:none}
#loginError{margin-top:12px;color:var(--danger)!important;font-size:12px;min-height:18px}
.trip-layout{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(460px,1.05fr);gap:16px;align-items:start}
.trip-create{margin-bottom:16px}
.trip-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.trip-list-head .field{min-width:180px}
.trip-detail-empty{display:grid;place-items:center;min-height:160px;text-align:center;color:var(--muted)}
.trip-code{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:7px 9px;border-radius:6px;background:#eff6ff;color:#1d4ed8;font:700 13px ui-monospace,SFMono-Regular,Menlo,monospace}
.trip-record{align-items:start}
.trip-record>.actions{max-width:290px}
.trip-record.selected{background:#f5f8ff;box-shadow:inset 3px 0 0 var(--accent)}
.dispatcher-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,.4fr) minmax(160px,.3fr) auto;gap:10px;margin-bottom:14px}
.trip-workspace{display:grid;gap:16px}
.trip-board{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px;background:transparent;border:0;overflow:visible}
.trip-column{min-width:0;background:#f7f8fa;border:1px solid var(--line);border-radius:8px;padding:10px}
.trip-column-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 10px;font-size:12px;font-weight:800;color:#475467;text-transform:uppercase;letter-spacing:.06em}
.trip-column-count{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:#fff;border:1px solid var(--line);color:#344054;letter-spacing:0}
.trip-column-body{display:grid;gap:8px;max-height:530px;overflow:auto}
.trip-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:12px;box-shadow:0 1px 2px rgba(16,24,40,.03);cursor:pointer}
.trip-card:hover{border-color:#b2c5ef;box-shadow:0 4px 12px rgba(16,24,40,.06)}
.trip-card.selected{border-color:#84adff;box-shadow:0 0 0 2px rgba(37,99,235,.1)}
.trip-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.trip-card-title{font-weight:750;line-height:1.35}
.trip-card-meta{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.45}
.trip-card-actions{display:flex;gap:6px;margin-top:11px;padding-top:10px;border-top:1px solid #f0f2f5}
.trip-card-actions button{min-height:32px;padding:5px 8px;font-size:12px}
.issues-strip{margin-bottom:16px;border-color:#fedf89;background:#fffcf5}
.issues-list{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:8px}
.issue-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;background:#fff;border:1px solid #fecd89;border-radius:7px;cursor:pointer}
.issue-item:hover{border-color:#f79009}.issue-item strong{font-size:12px}.issue-item span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.metadata-tree{display:grid;gap:7px;padding:12px 14px}
.metadata-node{border-left:2px solid #dbe7ff;padding-left:10px}
.metadata-node-head{display:flex;align-items:baseline;gap:8px;min-height:24px}
.metadata-key{color:#475467;font-size:12px;font-weight:750}.metadata-value{color:#182230;font-size:13px;overflow-wrap:anywhere}
.metadata-children{display:grid;gap:5px;margin-top:5px}.metadata-array-item{padding:8px 10px;background:#f8fafc;border:1px solid var(--line);border-radius:6px}
.timeline{position:relative;display:grid;gap:0;padding:4px 0}
.timeline-item{position:relative;display:grid;grid-template-columns:118px 18px minmax(0,1fr);gap:10px;min-height:58px}
.timeline-time{color:#667085;font-size:11px;text-align:right;padding-top:2px}.timeline-rail{position:relative}.timeline-rail:after{content:"";position:absolute;top:14px;bottom:-10px;left:8px;width:1px;background:#d0d5dd}.timeline-item:last-child .timeline-rail:after{display:none}
.timeline-dot{position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:#2e90fa;border:3px solid #eaf2ff;box-sizing:content-box}.timeline-item.problem .timeline-dot{background:#f04438;border-color:#fee4e2}.timeline-item.stop .timeline-dot{background:#f79009;border-color:#fef0c7}.timeline-item.comment .timeline-dot{background:#7f56d9;border-color:#f4ebff}
.timeline-title{font-size:12px;font-weight:750}.timeline-detail{color:var(--muted);font-size:12px;margin-top:3px}
.map-drawer{pointer-events:auto;position:absolute;top:18px;left:18px;width:min(370px,calc(100vw - 36px));max-height:calc(100% - 36px);overflow:auto;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);z-index:1210;padding:16px}
.map-drawer.hidden{display:none}.map-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.map-drawer-head h2{font-size:16px;margin:0}.map-drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.map-drawer-stat{padding:9px;background:#f8fafc;border:1px solid var(--line);border-radius:7px}.map-drawer-stat span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:750}.map-drawer-stat b{display:block;margin-top:4px;font-size:12px;overflow-wrap:anywhere}
.stop-marker{display:grid;place-items:center;width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#fff;border:2px solid var(--accent);color:var(--accent);box-shadow:0 4px 12px rgba(16,24,40,.2);font-weight:800}.stop-marker span{transform:rotate(45deg);font-size:11px}
.timelapse-controls{display:grid;grid-template-columns:minmax(180px,1fr) 110px;gap:10px;align-items:center}.timelapse-window{display:grid;grid-template-columns:auto minmax(80px,1fr) auto minmax(80px,1fr);align-items:center;gap:6px;color:var(--muted);font-size:11px}.timelapse-window input{min-height:auto;padding:0}
.driver-directory{display:grid;grid-template-columns:minmax(320px,.7fr) minmax(480px,1.3fr);gap:16px;align-items:start}.driver-cards{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:10px}.driver-card{border:1px solid var(--line);border-radius:7px;padding:14px;background:#fff}.driver-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.driver-card h3{margin:0;font-size:14px}.driver-card dl{display:grid;grid-template-columns:100px 1fr;gap:6px 10px;margin:12px 0;color:#344054;font-size:12px}.driver-card dt{color:var(--muted)}.driver-card dd{margin:0;overflow-wrap:anywhere}
details{border:1px solid var(--line);border-radius:7px;background:#fff}
details>summary{padding:11px 13px;cursor:pointer;color:#344054}
details>textarea,details>.details-body{margin:0 12px 12px;width:calc(100% - 24px)}
textarea{border-color:#d0d5dd;border-radius:7px;resize:vertical}
#panel-map .map-tools{pointer-events:auto;position:absolute;right:18px;top:18px;width:min(430px,calc(100vw - 36px));background:rgba(255,255,255,.97);border:1px solid var(--line);box-shadow:var(--shadow);padding:14px;border-radius:8px}
#panel-map .row{position:static!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
.map-tools-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.map-tools-head strong{font-size:15px}
.map-options{display:flex;gap:7px;flex-wrap:wrap}
.map-options label{cursor:pointer}
.map-options input{min-height:auto}
.map-settings{margin-top:10px;background:#f9fafb}
.map-settings .details-body{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}
.map-legend{padding-top:12px!important;margin-top:12px!important;border-top:1px solid var(--line)!important}
.timelapse-panel{left:24px;right:24px;bottom:24px;padding:14px 16px;border-radius:8px}
.toast-stack{position:fixed;right:22px;bottom:22px;z-index:4000;display:grid;gap:8px;width:min(380px,calc(100vw - 32px));pointer-events:none}
.toast{display:grid;grid-template-columns:22px 1fr auto;align-items:start;gap:10px;padding:13px 14px;background:#101828;color:#fff;border-radius:8px;box-shadow:0 16px 40px rgba(16,24,40,.22);animation:toast-in .2s ease-out;pointer-events:none}
.toast-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#12b76a;font-size:12px;font-weight:900}
.toast.error .toast-icon{background:#f04438}.toast-message{line-height:1.45}.toast-close{padding:0;border:0;background:transparent!important;color:#98a2b3;min-height:20px;pointer-events:auto}
@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.panel:not(#panel-map)>*:not(.page-head){max-width:1440px;margin-left:auto;margin-right:auto}
.row button:last-child{background:#fff;border-color:#d0d5dd;color:#344054}
#loginBtn,#createTripBtn,#orgCreateBtn,#uCreateBtn,#createRouteBtn,#createDriverBtn,#saveOfflineBtn{background:var(--accent);border-color:var(--accent);color:#fff}
#loginBtn:hover,#createTripBtn:hover,#orgCreateBtn:hover,#uCreateBtn:hover,#createRouteBtn:hover,#createDriverBtn:hover,#saveOfflineBtn:hover{background:var(--accent-strong);border-color:var(--accent-strong)}
@media (max-width:1180px){.trip-layout,.driver-directory{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-board{grid-template-columns:repeat(2,minmax(240px,1fr));overflow-x:auto}.issues-list{grid-template-columns:1fr 1fr}.dispatcher-toolbar{grid-template-columns:1fr 1fr}.timelapse-panel{grid-template-columns:1fr}.timelapse-panel>.actions{min-width:0;justify-content:flex-start}}
@media (max-width:900px){
  #appShell{grid-template-columns:1fr;grid-template-rows:58px minmax(0,1fr) 66px}
  #brand{grid-column:1;grid-row:1;padding:0 14px}.brand-copy small{display:none}
  .topbar{grid-column:1;grid-row:1;padding:0 10px;background:transparent}.topbar #who{display:none}#orgSwitch{min-width:0;max-width:170px}
  #nav{grid-column:1;grid-row:3;display:flex;align-items:stretch;gap:2px;padding:6px 8px;border-top:1px solid #344054;overflow-x:auto;overflow-y:hidden;z-index:1500}
  .nav-section{display:none}.tab{flex:1 0 66px;min-height:52px;justify-content:center;flex-direction:column;gap:3px;padding:5px 6px;margin:0;font-size:10px}.tab.active:before{display:none}.nav-icon{height:18px}
  #workspace{grid-column:1;grid-row:2}.panel{padding:20px 16px 28px}.department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-head{align-items:flex-start}.section-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .metric-grid,.department-grid,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.metric{min-height:92px}
  .page-head{display:flex;flex-direction:column}.page-actions{width:100%}.page-actions button{flex:1}
  .trip-layout{display:block}.surface{padding:14px}.item{grid-template-columns:1fr}.item>.actions{justify-content:flex-start;max-width:none}.actions{justify-content:flex-start}
  .dispatcher-toolbar,.issues-list,.driver-cards{grid-template-columns:1fr}.trip-board{grid-template-columns:1fr;overflow:visible}.trip-column-body{max-height:360px}
  #panel-map .map-tools{left:10px;right:10px;top:10px;width:auto}.map-settings .details-body{grid-template-columns:1fr}.map-drawer{left:10px;right:10px;top:10px;width:auto;max-height:calc(100% - 20px)}.map-tools:has(+ .map-drawer:not(.hidden)){display:none}.timelapse-panel{left:10px;right:10px;bottom:10px;grid-template-columns:1fr}.timelapse-panel .actions{justify-content:stretch}.timelapse-panel button{flex:1}.timelapse-controls{grid-template-columns:1fr}.timeline-item{grid-template-columns:76px 18px minmax(0,1fr)}
}

/* CRM workspace v6 */
body{letter-spacing:0}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:7px;background:#fff;color:var(--accent);font-size:12px;font-weight:900}
#brand:before{display:none}
.nav-collapse{margin-left:auto;width:32px;min-height:32px;border-color:transparent;background:transparent;color:#98a2b3}
.nav-collapse:hover{background:#1d2939;color:#fff;border-color:#344054}
#appShell.nav-collapsed{grid-template-columns:72px minmax(0,1fr)}
#appShell.nav-collapsed .brand-copy{display:none}
#appShell.nav-collapsed .nav-section{display:none}
#appShell.nav-collapsed .tab{font-size:0}
#appShell.nav-collapsed #brand{justify-content:center;gap:0;padding:0}
#appShell.nav-collapsed .nav-collapse{position:absolute;right:-12px;top:22px;z-index:1600;display:grid;width:24px;min-height:24px;padding:0;border:1px solid #d0d5dd;border-radius:6px;background:#fff;color:#475467;box-shadow:0 2px 8px rgba(16,24,40,.12)}
#appShell.nav-collapsed .nav-collapse:hover{border-color:#98a2b3;background:#f8fafc;color:#101828}
#appShell.nav-collapsed .nav-collapse svg{width:14px;height:14px}
#appShell.nav-collapsed #nav{padding:12px 10px 24px}
#appShell.nav-collapsed .tab{justify-content:center;padding:10px}
#appShell.nav-collapsed .tab.active:before{left:-10px}
.global-search{position:relative;display:flex;align-items:center;gap:8px;width:min(460px,38vw);height:40px;padding:0 10px;background:#f8fafc;border:1px solid #e4e7ec;border-radius:7px}
.global-search>svg{width:17px;color:#667085}.global-search input{flex:1;border:0;background:transparent;box-shadow:none!important;padding:0;min-height:34px}.global-search kbd{display:grid;place-items:center;min-width:22px;height:22px;border:1px solid #d0d5dd;border-bottom-width:2px;border-radius:5px;background:#fff;color:#667085;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}
.search-results{position:absolute;left:0;right:0;top:46px;z-index:2200;max-height:420px;overflow:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 48px rgba(16,24,40,.16)}
.search-result{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px;border:0;text-align:left}.search-result:hover{background:#f5f8ff}.search-result>svg{width:18px;color:var(--accent)}.search-result strong,.search-result span{display:block;overflow:hidden;text-overflow:ellipsis}.search-result small{color:var(--muted)}
.trip-create.hidden{display:none}.trip-create{margin-bottom:14px}
.trip-workspace{grid-template-columns:minmax(620px,1.18fr) minmax(420px,.82fr);align-items:start}
.trip-master{min-width:0}.trip-inspector{position:sticky;top:0;min-width:0;max-height:calc(100vh - 136px);overflow:auto}
.trip-list-head h2{margin:0;font-size:15px}
.view-switch{display:inline-grid;grid-template-columns:38px 38px;padding:3px;border:1px solid #d0d5dd;border-radius:7px;background:#f8fafc}.view-switch button{width:38px;min-height:32px;padding:0;border:0;background:transparent}.view-switch button.active{background:#fff;color:var(--accent);box-shadow:0 1px 3px rgba(16,24,40,.12)}
.trip-table{width:100%;border-collapse:collapse;table-layout:fixed}.trip-table th{padding:9px 10px;border-bottom:1px solid var(--line);color:#667085;font-size:11px;text-align:left;font-weight:750}.trip-table td{padding:11px 10px;border-bottom:1px solid #edf1f6;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.trip-table tr{cursor:pointer}.trip-table tbody tr:hover{background:#f8fafc}.trip-table tbody tr.selected{background:#eff6ff;box-shadow:inset 3px 0 0 var(--accent)}.trip-table .trip-name{font-weight:700}.trip-table .trip-sub{display:block;color:var(--muted);font-size:11px;margin-top:2px}.trip-table-actions{display:flex;justify-content:flex-end;gap:4px}.trip-table-actions button{width:32px;min-height:32px;padding:0}
.trip-client-line{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;margin-top:10px;padding:9px 10px;border:1px solid #e4e7ec;border-radius:7px;background:#f8fafc}.trip-client-line>svg{width:16px;margin-top:1px;color:#2563eb}.trip-client-line b,.trip-client-line small{display:block}.trip-client-line b{font-size:11px}.trip-client-line small{margin-top:2px;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detail-tabs{position:sticky;top:-18px;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin:0 -4px 14px;padding:4px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.detail-tabs button{min-height:34px;padding:6px 4px;border:0;background:transparent;color:#667085;font-size:11px}.detail-tabs button.active{background:#eff6ff;color:#175cd3}
.trip-inspector[data-detail-view="overview"] .detail-cargo,.trip-inspector[data-detail-view="overview"] .detail-shipments,.trip-inspector[data-detail-view="overview"] .detail-timeline{display:none!important}.trip-inspector[data-detail-view="cargo"] .detail-overview,.trip-inspector[data-detail-view="cargo"] .detail-shipments,.trip-inspector[data-detail-view="cargo"] .detail-timeline{display:none!important}.trip-inspector[data-detail-view="shipments"] .detail-overview,.trip-inspector[data-detail-view="shipments"] .detail-cargo,.trip-inspector[data-detail-view="shipments"] .detail-timeline{display:none!important}.trip-inspector[data-detail-view="timeline"] .detail-overview,.trip-inspector[data-detail-view="timeline"] .detail-cargo,.trip-inspector[data-detail-view="timeline"] .detail-shipments{display:none!important}
.section-title{margin-top:18px}.scroll-list{max-height:230px;overflow:auto}.compact-form{margin-top:14px}.compact-form summary{display:flex;align-items:center;gap:8px}.compact-form summary svg{width:16px}.danger-zone{display:flex;justify-content:flex-end;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.cargo-editor{display:grid;gap:9px;margin-bottom:12px}.cargo-product{border:1px solid var(--line);border-radius:7px;background:#fff}.cargo-product>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px}.cargo-product-title{min-width:0}.cargo-product-title strong,.cargo-product-title span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cargo-product-title span{color:var(--muted);font-size:11px;margin-top:2px}.cargo-product-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px 12px}.cargo-product-body .span-2{grid-column:1/-1}.cargo-product-body textarea{min-height:86px}.cargo-remove{color:var(--danger);border-color:transparent;background:transparent}.cargo-empty{padding:18px;text-align:center;color:var(--muted);border:1px dashed #d0d5dd;border-radius:7px}.sticky-actions{position:sticky;bottom:-18px;padding:12px 0 0;background:#fff}
.shipment-list{display:grid;gap:10px}.shipment-card{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.shipment-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px}.shipment-card-head h4{margin:0;font-size:14px}.shipment-card-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.shipment-card-meta{display:flex;flex-wrap:wrap;gap:6px;padding:0 13px 12px}.shipment-card-meta span{padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:#f8fafc;color:#475467;font-size:10px}.shipment-card-actions{display:flex;align-items:center;gap:5px;padding:10px 13px;border-top:1px solid #edf1f6;background:#fafbfc;flex-wrap:wrap}.shipment-card-actions button,.shipment-card-actions a{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:5px 8px}.shipment-card-actions a,.shipment-package-row .actions a{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text);text-decoration:none}.shipment-card-actions a:hover,.shipment-package-row .actions a:hover{border-color:#98a2b3;background:#f8fafc}.shipment-card-actions svg{width:14px}.shipment-packages{border-top:1px solid #edf1f6;padding:0 13px 10px}.shipment-packages summary{padding:9px 0;color:#475467;font-size:11px}.shipment-package-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid #edf1f6}.shipment-package-row strong,.shipment-package-row small{display:block}.shipment-package-row strong{font-size:11px}.shipment-package-row small{margin-top:2px;color:var(--muted);font-size:9px}.shipment-package-row .actions button,.shipment-package-row .actions a{width:30px;min-height:30px;padding:0;justify-content:center}.shipment-create{margin:0 0 12px;padding:13px;border:1px solid #b2ccff;border-radius:8px;background:#f8fbff}.shipment-create.hidden{display:none}.shipment-create textarea{min-height:72px;font-family:inherit}.shipment-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 8px}.shipment-item-editor{display:grid;gap:8px}.shipment-item-row{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(150px,1.3fr) 90px 90px 90px 34px;gap:7px;align-items:end;padding:9px;border:1px solid var(--line);border-radius:7px;background:#fff}.shipment-item-row label{display:grid;gap:4px}.shipment-item-row label span{color:var(--muted);font-size:9px;font-weight:700}.shipment-item-row input{width:100%;min-height:34px;padding:6px 7px}.shipment-item-row button{width:34px;min-height:34px;padding:0;color:var(--danger)}.shipment-packages-input{margin-top:10px}.shipment-credential{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:12px;padding:13px;border:1px solid #a6f4c5;border-radius:8px;background:#f2fbf7}.shipment-credential.hidden{display:none}.shipment-credential img{width:112px;height:112px;padding:5px;border:1px solid var(--line);border-radius:7px;background:#fff}.shipment-credential>div>span,.shipment-credential strong,.shipment-credential small{display:block}.shipment-credential>div>span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.shipment-credential strong{margin-top:4px;font-size:15px}.shipment-credential small{margin:7px 0 10px;color:#475467}.shipment-credential small b{font:800 17px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text)}.shipment-credential .actions{flex-wrap:wrap}.shipment-empty{padding:22px;border:1px dashed #d0d5dd;border-radius:8px;text-align:center;color:var(--muted);font-size:12px}
.shipment-item-extra{grid-column:1/-1;border-top:1px solid #edf1f6}.shipment-item-extra summary{padding:8px 0 2px;color:#475467;font-size:10px;font-weight:750}.shipment-item-extra-body{display:grid;grid-template-columns:180px minmax(0,1fr);gap:8px;padding-top:7px}.shipment-item-extra textarea{width:100%;min-height:62px;padding:7px;font:10px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}
.shipment-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 10px}.shipment-overview>div{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.shipment-overview span,.shipment-overview b{display:block}.shipment-overview span{color:var(--muted);font-size:9px;font-weight:750;text-transform:uppercase}.shipment-overview b{margin-top:3px;font-size:17px;font-variant-numeric:tabular-nums}.shipment-toolbar{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(130px,.8fr);gap:8px;align-items:end;margin-bottom:12px}.shipment-card-kicker{display:block;margin-bottom:3px;color:#667085;font-size:9px;font-weight:800;text-transform:uppercase}.shipment-card-meta span b{color:var(--text)}.shipment-note{margin:0 13px 12px;padding:8px 9px;border-left:3px solid #84adff;background:#f5f8ff;color:#344054;font-size:11px;line-height:1.45}.shipment-goods{border-top:1px solid #edf1f6}.shipment-goods>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 13px;color:#344054;font-size:11px;font-weight:750}.shipment-goods>summary b{display:grid;place-items:center;min-width:22px;height:22px;border:1px solid var(--line);border-radius:6px;background:#f8fafc;font-size:10px}.shipment-goods>div{padding:0 13px 9px}.shipment-goods-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #edf1f6}.shipment-goods-name{min-width:0}.shipment-goods-name strong,.shipment-goods-name small{display:block;overflow:hidden;text-overflow:ellipsis}.shipment-goods-name strong{font-size:11px}.shipment-goods-name small{margin-top:2px;color:var(--muted);font-size:9px;white-space:normal}.shipment-goods-values{display:grid;gap:2px;text-align:right}.shipment-goods-values b,.shipment-goods-values span{font-size:10px;white-space:nowrap}.shipment-item-status{padding:4px 6px;border-radius:5px;background:#f2f4f7;color:#475467;font-size:9px;font-weight:750;white-space:nowrap}.shipment-item-status.received{background:#ecfdf3;color:#027a48}.shipment-item-status.partial{background:#fff7ed;color:#b54708}.shipment-item-status.problem{background:#fff1ef;color:#b42318}
@media(max-width:620px){.shipment-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.shipment-toolbar{grid-template-columns:1fr}.shipment-goods-row{grid-template-columns:minmax(0,1fr) auto}.shipment-item-status{grid-column:1/-1;justify-self:start}}
.driver-workspace{display:block}.driver-directory-list{min-width:0}.driver-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 210px 40px;gap:10px;align-items:end;margin-bottom:12px}.driver-table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.driver-table-head,.driver-table-row{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(150px,1fr) minmax(120px,.8fr) minmax(130px,.9fr) 120px 176px;gap:12px;align-items:center;padding:10px 12px}.driver-table-head{min-height:40px;background:#f8fafc;color:#667085;font-size:11px;font-weight:750;border-bottom:1px solid var(--line)}.driver-table-row{min-height:66px;border-bottom:1px solid #edf1f6}.driver-table-row:last-child{border-bottom:0}.driver-table-row:hover{background:#fafbfc}.driver-cell{min-width:0;overflow:hidden;text-overflow:ellipsis}.driver-cell strong,.driver-cell small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-cell small{margin-top:3px;color:var(--muted)}.driver-row-actions{display:flex;justify-content:flex-end;gap:4px}.driver-row-actions button{width:34px;min-height:34px;padding:0}.driver-mobile-label{display:none}
.entity-drawer{position:fixed;z-index:2100;right:0;top:68px;bottom:0;width:min(470px,100vw);background:#fff;border-left:1px solid var(--line);box-shadow:-20px 0 56px rgba(16,24,40,.16);overflow:auto}.entity-drawer.hidden{display:none}.entity-drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.entity-drawer-head h2{margin:0;font-size:18px}.entity-drawer-body{padding:20px}.drawer-note{margin-top:14px}
.map-tools{width:280px!important;padding:10px!important}.map-tools-head{margin-bottom:8px!important}.map-tools-head>div{display:flex;align-items:center;gap:8px}.live-indicator{display:inline-flex;align-items:center;gap:5px;color:var(--ok);font-size:10px;font-weight:750}.live-indicator i{width:6px;height:6px;border-radius:50%;background:#12b76a}.map-layer-menu,.map-settings{margin-top:7px;background:#fff}.map-layer-menu summary,.map-settings summary{display:flex;align-items:center;gap:7px;padding:8px 9px;font-size:12px;font-weight:700}.map-layer-menu summary svg,.map-settings summary svg{width:15px}.map-options{display:grid!important;gap:2px!important;padding:4px 7px 8px}.map-options label{display:flex;align-items:center;gap:8px;padding:7px;border-radius:6px}.map-options label:hover{background:#f8fafc}.map-options label svg{width:15px}.map-options input{width:16px;height:16px}.map-legend{display:none!important}.timelapse-counter{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.confirm-backdrop{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:20px;background:rgba(16,24,40,.48)}.confirm-backdrop.hidden{display:none}.confirm-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;width:min(440px,100%);padding:20px;background:#fff;border-radius:8px;box-shadow:0 24px 64px rgba(16,24,40,.26)}.confirm-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff1ef;color:var(--danger)}.confirm-icon svg{width:20px}.confirm-card h2{margin:0;font-size:17px}.confirm-card p{margin:6px 0 0;color:var(--muted);line-height:1.5}.confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.confirm-actions .btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}
.skeleton{position:relative;overflow:hidden;background:#eef1f5;border-radius:6px;min-height:16px}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:skeleton 1.2s infinite}@keyframes skeleton{to{transform:translateX(100%)}}
.ops-action{width:100%;border:0;border-bottom:1px solid #edf1f6;border-radius:0;background:#fff;text-align:left}.ops-action:last-child{border-bottom:0}.ops-action:hover{background:#f8fafc}
.org-onboarding-grid{grid-template-columns:minmax(520px,1.15fr) minmax(360px,.85fr)}
.org-create-result{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:16px;padding:11px 12px;border:1px solid #abefc6;border-radius:7px;background:#ecfdf3}
.org-create-result.hidden{display:none}.org-create-result-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d1fadf;color:var(--ok)}.org-create-result-icon svg{width:18px}.org-create-result b,.org-create-result small{display:block}.org-create-result small{margin-top:2px;color:#475467}.org-access-missing{color:var(--warn)}
@media(max-width:1320px){.trip-workspace{grid-template-columns:1fr}.trip-inspector{position:static;max-height:none}.driver-table-head,.driver-table-row{grid-template-columns:minmax(150px,1.1fr) minmax(150px,1fr) 120px 120px 160px}.driver-table-head>:nth-child(4),.driver-table-row>:nth-child(4){display:none}}
@media(max-width:1000px){.global-search{width:min(320px,34vw)}.org-onboarding-grid{grid-template-columns:1fr}.driver-table-head,.driver-table-row{grid-template-columns:minmax(150px,1.1fr) minmax(140px,1fr) 110px 150px}.driver-table-head>:nth-child(3),.driver-table-row>:nth-child(3){display:none}}
@media(max-width:900px){.global-search{display:none}.nav-collapse{display:none}.entity-drawer{top:58px;bottom:66px}.trip-workspace{display:block}.trip-inspector{margin-top:14px}}
@media(max-width:620px){.driver-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px}.driver-toolbar .btn-icon{align-self:end}.driver-table{border:0;display:grid;gap:10px;overflow:visible}.driver-table-head{display:none}.driver-table-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.driver-table-row>*{display:block!important}.driver-table-row .driver-cell:nth-child(n+2){grid-column:1/-1}.driver-mobile-label{display:inline;color:var(--muted);font-size:11px;margin-right:8px}.driver-row-actions{grid-column:1/-1;justify-content:flex-start}.entity-drawer{left:0;width:auto}.trip-table-wrap{overflow:auto}.trip-table{min-width:720px}.trip-board{grid-template-columns:1fr}.cargo-product-body{grid-template-columns:1fr}.cargo-product-body .span-2{grid-column:auto}.confirm-card{grid-template-columns:34px minmax(0,1fr);padding:16px}.confirm-icon{width:34px;height:34px}.shipment-item-row{grid-template-columns:1fr 1fr}.shipment-item-row label:nth-child(n+3){grid-column:auto}.shipment-item-extra{grid-column:1/-1}.shipment-item-extra-body{grid-template-columns:1fr}.shipment-credential{grid-template-columns:82px minmax(0,1fr)}.shipment-credential img{width:82px;height:82px}.detail-tabs{overflow:auto;grid-template-columns:repeat(4,minmax(90px,1fr))}}

.metric-action{cursor:pointer;transition:border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}.metric-action:hover,.metric-action:focus-visible{border-color:#9dbcf7;box-shadow:0 10px 28px rgba(47,111,237,.12);transform:translateY(-1px);outline:0}
.archive-workspace{display:grid;gap:16px}.archive-metrics{margin:0}.archive-surface{min-width:0}.archive-toolbar{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(2,minmax(150px,.72fr)) minmax(150px,.72fr) minmax(190px,.9fr) 42px;gap:10px;align-items:end;margin-bottom:14px}.archive-reset{margin-bottom:1px}.archive-table-wrap{min-height:260px;overflow:auto;border:1px solid var(--line);border-radius:8px}.archive-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0;table-layout:fixed}.archive-table th{position:sticky;top:0;z-index:1;padding:10px 12px;background:#f8fafc;border-bottom:1px solid var(--line);color:#667085;font-size:11px;font-weight:800;text-align:left}.archive-table th:nth-child(1){width:170px}.archive-table th:nth-child(2){width:230px}.archive-table th:nth-child(3){width:130px}.archive-table th:nth-child(4){width:110px}.archive-table th:nth-child(5){width:160px}.archive-table th:nth-child(6){width:110px}.archive-table th:nth-child(7){width:112px}.archive-table th:last-child{width:126px}.archive-table td{padding:13px 12px;border-bottom:1px solid #edf1f6;vertical-align:middle;color:#344054;overflow:hidden;text-overflow:ellipsis}.archive-table tbody tr{cursor:pointer;background:#fff;transition:background 140ms ease,box-shadow 140ms ease}.archive-table tbody tr:hover{background:#f8fbff}.archive-table tbody tr.selected{background:#eff6ff;box-shadow:inset 3px 0 0 var(--accent)}.archive-table tbody tr:last-child td{border-bottom:0}.archive-table td strong,.archive-table td span{display:block;overflow:hidden;text-overflow:ellipsis}.archive-table td small{display:block;margin-top:4px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.archive-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.archive-row-actions button,.archive-row-actions .btn-icon{width:34px;min-width:34px;min-height:34px;padding:0}.archive-detail-actions{display:flex;gap:8px;margin-bottom:16px}.archive-detail-actions>*{flex:1;justify-content:center}.archive-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.archive-detail-grid>div{min-width:0;padding:11px 12px;background:#f8fafc;border:1px solid var(--line);border-radius:8px}.archive-detail-grid span{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.archive-detail-grid b{display:block;overflow-wrap:anywhere;font-size:13px}.archive-detail-section{margin-top:20px}.archive-detail-section h3{margin:0 0 10px;font-size:14px}.archive-stop{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid #edf1f6}.archive-stop span{color:var(--muted);font-size:12px}.archive-events{display:grid;gap:0}.archive-event{display:grid;grid-template-columns:112px minmax(0,1fr);gap:4px 10px;padding:10px 0;border-bottom:1px solid #edf1f6}.archive-event>span{grid-row:1/3;color:var(--muted);font-size:11px}.archive-event>b{font-size:12px}.archive-event>small{color:var(--muted)}
.archive-clients{display:grid;gap:7px}.archive-client{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:#fff}.archive-client>div{min-width:0}.archive-client b,.archive-client div span{display:block;overflow:hidden;text-overflow:ellipsis}.archive-client b{font-size:12px}.archive-client div span{margin-top:3px;color:var(--muted);font-size:10px}.archive-client>.status{flex:0 0 auto}
@media(max-width:1220px){.archive-toolbar{grid-template-columns:minmax(240px,1.5fr) repeat(2,minmax(140px,.7fr)) 42px}.archive-toolbar .field:nth-child(4),.archive-toolbar .field:nth-child(5){grid-row:2}.archive-toolbar .field:nth-child(4){grid-column:1}.archive-toolbar .field:nth-child(5){grid-column:2/5}.archive-reset{grid-row:1;grid-column:4}}
@media(max-width:700px){.archive-toolbar{grid-template-columns:1fr 1fr}.archive-search{grid-column:1/-1}.archive-toolbar .field:nth-child(4),.archive-toolbar .field:nth-child(5),.archive-reset{grid-row:auto;grid-column:auto}.archive-toolbar .field:nth-child(5){grid-column:1/-1}.archive-reset{align-self:end}.archive-detail-grid{grid-template-columns:1fr}.archive-detail-actions{display:grid}.archive-table-wrap{margin-left:-14px;margin-right:-14px;border-left:0;border-right:0;border-radius:0}}

/* Motion system v7 */
:root{
  --motion-fast:140ms;
  --motion-base:220ms;
  --motion-slow:320ms;
  --motion-ease:cubic-bezier(.2,.8,.2,1);
  --motion-spring:cubic-bezier(.16,1,.3,1);
}
html{scroll-behavior:smooth}
#appShell{transition:grid-template-columns var(--motion-base) var(--motion-ease)}
.tab,.nav-icon,.metric,.trip-card,.driver-table-row,.search-result,.ops-action,.surface,details>summary{
  transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-base) ease,transform var(--motion-fast) var(--motion-ease);
}
.tab .nav-icon{transition:transform var(--motion-base) var(--motion-spring),color var(--motion-fast) ease}
.tab.active .nav-icon{transform:scale(1.08)}
.tab.active:before{transform-origin:center;animation:nav-indicator-in var(--motion-base) var(--motion-spring) both}
input,select,textarea,button{transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background-color var(--motion-fast) ease,color var(--motion-fast) ease,transform 90ms ease,opacity var(--motion-fast) ease}
input:focus,select:focus,textarea:focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(47,111,237,.12)}
button:active:not(:disabled){transform:translateY(1px) scale(.985)}
button:disabled{cursor:not-allowed;opacity:.55}
.view-switch button.active,.detail-tabs button.active{animation:segmented-in var(--motion-base) var(--motion-spring) both}
.metric b{font-variant-numeric:tabular-nums}
.trip-card.selected,.trip-table tbody tr.selected{animation:selected-flash 420ms ease-out}
.driver-marker svg{animation:map-marker-in var(--motion-slow) var(--motion-spring) both}
.timelapse-point-icon{transition:transform 180ms linear!important}
.timelapse-vehicle:after{animation:timelapse-pulse 1.8s ease-in-out infinite}
.live-indicator i{position:relative;animation:live-pulse 2s ease-out infinite}
.maplibregl-canvas{outline:0}
details[open]>summary{background:#f8fafc}
details[open]>:not(summary){animation:details-in var(--motion-base) var(--motion-ease) both}

.motion-panel-enter{animation:panel-in var(--motion-base) var(--motion-ease) both}
#panel-map.motion-panel-enter{animation:panel-fade-in var(--motion-base) ease both}
#panel-map.motion-panel-enter .map-tools{animation:popover-in var(--motion-slow) var(--motion-spring) both}
.motion-item{animation:list-item-in var(--motion-base) var(--motion-ease) both;animation-delay:var(--motion-delay,0ms)}
.motion-popover{animation:popover-in var(--motion-base) var(--motion-spring) both}
.motion-content-enter{animation:content-in var(--motion-base) var(--motion-ease) both}
.motion-drawer-content{animation:drawer-content-in var(--motion-slow) var(--motion-ease) both}
.motion-map-drawer{animation:map-drawer-in var(--motion-slow) var(--motion-spring) both}

.entity-drawer{display:block;visibility:visible;opacity:1;transform:translateX(0);transition:opacity var(--motion-base) ease,transform var(--motion-slow) var(--motion-spring),visibility 0s}
.entity-drawer.hidden{display:block;visibility:hidden;opacity:0;transform:translateX(26px);pointer-events:none;transition:opacity var(--motion-fast) ease,transform var(--motion-base) ease,visibility 0s var(--motion-base)}
.map-drawer{display:block;visibility:visible;opacity:1;transform:translateX(0);transition:opacity var(--motion-base) ease,transform var(--motion-slow) var(--motion-spring),visibility 0s}
.map-drawer.hidden{display:block;visibility:hidden;opacity:0;transform:translateX(-18px);pointer-events:none;transition:opacity var(--motion-fast) ease,transform var(--motion-base) ease,visibility 0s var(--motion-base)}
.timelapse-panel{display:grid;visibility:visible;opacity:1;transform:translateY(0);transition:opacity var(--motion-base) ease,transform var(--motion-slow) var(--motion-spring),visibility 0s}
.timelapse-panel.hidden{display:grid;visibility:hidden;opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity var(--motion-fast) ease,transform var(--motion-base) ease,visibility 0s var(--motion-base)}
.confirm-backdrop{display:grid;visibility:visible;opacity:1;transition:opacity var(--motion-fast) ease,visibility 0s}
.confirm-backdrop .confirm-card{transform:translateY(0) scale(1);transition:transform var(--motion-base) var(--motion-spring),opacity var(--motion-fast) ease}
.confirm-backdrop.hidden{display:grid;visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--motion-fast) ease,visibility 0s var(--motion-fast)}
.confirm-backdrop.hidden .confirm-card{opacity:0;transform:translateY(8px) scale(.98)}
.search-results{display:block;visibility:visible;opacity:1;transform:translateY(0);transition:opacity var(--motion-fast) ease,transform var(--motion-base) var(--motion-spring),visibility 0s}
.search-results.hidden{display:block;visibility:hidden;opacity:0;transform:translateY(-7px);pointer-events:none;transition:opacity var(--motion-fast) ease,transform var(--motion-fast) ease,visibility 0s var(--motion-fast)}
.toast.leaving{animation:toast-out var(--motion-fast) ease-in both}

@media(hover:hover){
  button:hover:not(:disabled){transform:translateY(-1px)}
  .metric:hover{border-color:#c6d4e7;box-shadow:0 8px 22px rgba(16,24,40,.055);transform:translateY(-1px)}
  .trip-card:hover{transform:translateY(-2px)}
  .driver-table-row:hover{transform:translateX(2px)}
  .search-result:hover .lucide-arrow-up-right{transform:translate(2px,-2px)}
  .tab:hover .nav-icon{transform:translateX(2px)}
}

@keyframes nav-indicator-in{from{opacity:0;transform:scaleY(.25)}to{opacity:1;transform:scaleY(1)}}
@keyframes segmented-in{from{opacity:.7;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes panel-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes panel-fade-in{from{opacity:0}to{opacity:1}}
@keyframes list-item-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes popover-in{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}
@keyframes content-in{from{opacity:.35;transform:translateX(6px)}to{opacity:1;transform:none}}
@keyframes drawer-content-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
@keyframes map-drawer-in{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@keyframes details-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes map-marker-in{from{opacity:0;transform:translateY(8px) scale(.8)}to{opacity:1;transform:none}}
@keyframes selected-flash{0%{box-shadow:0 0 0 0 rgba(47,111,237,.24)}100%{box-shadow:0 0 0 5px rgba(47,111,237,0)}}
@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(18,183,106,.4)}70%,100%{box-shadow:0 0 0 7px rgba(18,183,106,0)}}
@keyframes timelapse-pulse{0%,100%{box-shadow:0 6px 18px rgba(47,111,237,.35)}50%{box-shadow:0 6px 24px rgba(47,111,237,.62)}}
@keyframes route-flow{to{stroke-dashoffset:-30}}
@keyframes toast-out{to{opacity:0;transform:translateY(7px) scale(.98)}}

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

/* Platform owner workspace */
.button-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 12px;border:1px solid #d0d5dd;border-radius:7px;background:#fff;color:#344054;font-weight:650;text-decoration:none}.button-link:hover{border-color:#98a2b3;background:#f9fafb}.button-link svg{width:17px;height:17px}
.platform-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.platform-owner-grid{display:grid;grid-template-columns:minmax(620px,1.35fr) minmax(330px,.65fr);gap:16px;align-items:start;max-width:1440px;margin:0 auto}
.platform-site-editor{min-width:0}.platform-site-editor .sticky-actions{display:flex;justify-content:flex-end;bottom:-18px;margin:8px -2px -2px;padding:14px 2px 2px}
.platform-form textarea{min-height:78px;font-family:inherit;font-size:13px}.platform-form .field>span{font-size:11px;color:#667085}
.platform-companies{position:sticky;top:0}.platform-company-list{display:grid}.platform-company{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:10px;width:100%;padding:12px 4px;border:0;border-bottom:1px solid #edf1f6;border-radius:0;background:#fff;text-align:left}.platform-company:last-child{border-bottom:0}.platform-company:hover{background:#f8fafc;transform:translateX(2px)}.platform-company-main{min-width:0}.platform-company-main strong,.platform-company-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-company-main small{margin-top:3px;color:var(--muted);font-size:11px}.platform-company-stats{color:#667085;font-size:11px;white-space:nowrap}.platform-company-stats b{color:#344054}.platform-company>svg{width:16px;color:#98a2b3}
.platform-leads-section{max-width:1440px;margin:16px auto 0}.platform-leads-table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.platform-lead-head,.platform-lead-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(180px,1fr) 130px 120px 150px;gap:12px;align-items:center;padding:10px 12px}.platform-lead-head{min-height:38px;background:#f8fafc;border-bottom:1px solid var(--line);color:#667085;font-size:10px;font-weight:800;text-transform:uppercase}.platform-lead-row{min-height:66px;border-bottom:1px solid #edf1f6}.platform-lead-row:last-child{border-bottom:0}.platform-lead-row:hover{background:#fafbfc}.platform-lead-row strong,.platform-lead-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-lead-row small{margin-top:3px;color:var(--muted);font-size:11px}.platform-lead-row a{display:block;overflow:hidden;text-overflow:ellipsis;color:#175cd3}.platform-lead-row select{width:100%;min-height:34px;padding:6px 8px;font-size:12px}
.platform-ops-section{max-width:1440px;margin:16px auto 0}.platform-ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden}.platform-ops-item{display:flex;align-items:center;gap:11px;min-width:0;padding:14px;border-right:1px solid #edf1f6;border-bottom:1px solid #edf1f6}.platform-ops-item:nth-child(3n){border-right:0}.platform-ops-item:nth-last-child(-n+3){border-bottom:0}.platform-ops-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:7px;background:#eaf8f2;color:#087a55}.platform-ops-icon.warn{background:#fff1ef;color:#b42318}.platform-ops-icon svg{width:17px}.platform-ops-item span:last-child{min-width:0}.platform-ops-item b,.platform-ops-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-ops-item b{font-size:12px}.platform-ops-item small{margin-top:4px;color:var(--muted);font-size:11px}
.driver-diagnostics{margin:14px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.driver-diagnostics.hidden{display:none}.driver-diagnostics-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.driver-diagnostics-head b,.driver-diagnostics-head span{display:block}.driver-diagnostics-head span{margin-top:3px;color:var(--muted);font-size:10px}.diagnostic-score{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.diagnostic-score>span:first-child{display:flex;align-items:baseline;gap:3px}.diagnostic-score>span:first-child b{font-size:30px}.diagnostic-score>span:first-child small{color:var(--muted)}.diagnostic-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.diagnostic-metrics>span{padding:9px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.diagnostic-metrics small,.diagnostic-metrics b{display:block}.diagnostic-metrics small{color:var(--muted);font-size:9px;text-transform:uppercase}.diagnostic-metrics b{margin-top:4px;font-size:11px}.diagnostic-checks{display:grid;margin-top:10px}.diagnostic-checks>div{display:grid;grid-template-columns:8px minmax(0,1fr);gap:9px;align-items:center;padding:7px 1px;border-bottom:1px solid #edf1f6}.diagnostic-checks>div:last-child{border-bottom:0}.diagnostic-checks i{width:7px;height:7px;border-radius:50%;background:#98a2b3}.diagnostic-checks i.ok{background:#12b76a}.diagnostic-checks i.warning{background:#f79009}.diagnostic-checks i.critical{background:#f04438}.diagnostic-checks b,.diagnostic-checks small{display:block}.diagnostic-checks b{font-size:11px}.diagnostic-checks small{margin-top:2px;color:var(--muted);font-size:10px}
@media(max-width:1150px){.platform-owner-grid{grid-template-columns:1fr}.platform-companies{position:static}.platform-lead-head,.platform-lead-row{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) 110px 140px}.platform-lead-head>:nth-child(4),.platform-lead-row>:nth-child(4){display:none}}
@media(max-width:760px){.platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-form{grid-template-columns:1fr}.platform-form .span-2{grid-column:auto}.platform-ops-grid{grid-template-columns:1fr}.platform-ops-item,.platform-ops-item:nth-child(3n),.platform-ops-item:nth-last-child(-n+3){border-right:0;border-bottom:1px solid #edf1f6}.platform-ops-item:last-child{border-bottom:0}.platform-leads-table{border:0;display:grid;gap:10px;overflow:visible}.platform-lead-head{display:none}.platform-lead-row{display:grid;grid-template-columns:1fr;gap:8px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.platform-lead-row>*{display:block!important}.platform-company{grid-template-columns:minmax(0,1fr) 20px}.platform-company-stats{grid-column:1/-1;grid-row:2}.platform-company>svg{grid-column:2;grid-row:1}.platform-leads-section .surface-title{align-items:flex-start;flex-direction:column}.platform-leads-section .surface-title select{width:100%}}

/* Unified workspace system */
.hidden{display:none!important}
:where(button,a,input,select,textarea,[role="button"]):focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}
:where(button,a,[role="button"]):focus-visible{border-color:#84adff}
.workspace-mode{display:inline-flex;min-height:36px;padding:7px 10px;border-color:#b2ccff;background:#eff6ff;color:#175cd3;font-size:12px}
.workspace-mode svg{width:15px;height:15px}.workspace-mode.hidden{display:none}
.mobile-more-tab{display:none}
.mobile-more-menu{display:none}

.operations-dashboard{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:16px}
.attention-command{min-height:300px}.attention-command .surface-title{align-items:flex-start}
.attention-count{display:grid;min-width:92px;padding:9px 12px;border-color:#fecdca;background:#fff5f4;color:var(--danger);text-align:center}
.attention-count b,.attention-count span{display:block}.attention-count b{font-size:25px;line-height:1}.attention-count span{margin-top:4px;font-size:9px;font-weight:750;text-transform:uppercase}
.attention-list{border:0}.attention-list .item{min-height:72px;padding:14px 2px}.attention-list .empty{display:grid;place-items:center;min-height:180px;text-align:center}
.attention-list .status{justify-self:start}
.fleet-command{min-height:260px}.fleet-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden}
.fleet-kpis button{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:12px 14px;border:0;border-radius:0;text-align:left}
.fleet-kpis button:nth-child(odd){border-right:1px solid var(--line)}.fleet-kpis button:nth-child(-n+2){border-bottom:1px solid var(--line)}
.fleet-kpis span,.fleet-secondary span{color:var(--muted);font-size:11px;font-weight:650}.fleet-kpis b{font-size:23px;font-variant-numeric:tabular-nums}
.fleet-secondary{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px;border-top:1px solid var(--line)}
.fleet-secondary button{display:grid;gap:3px;min-height:54px;padding:10px 8px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;text-align:left}.fleet-secondary button:last-child{border-right:0}.fleet-secondary b{font-size:16px}
.dashboard-activity{grid-column:1/-1;min-height:200px}.activity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:0;max-height:230px;overflow:auto}.activity-list .item{padding-left:2px;padding-right:14px}.activity-list .item:nth-child(odd){border-right:1px solid var(--line)}

.directory-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.directory-editor{position:sticky;top:0}.directory-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto 40px;gap:8px;align-items:end;margin-bottom:12px}.directory-list{max-height:calc(100dvh - 260px);overflow:auto}.editor-form{display:grid;gap:12px}.editor-form>.btn-primary{width:100%;margin-top:2px}.surface-title>svg{width:20px;color:var(--accent)}
.route-workspace{display:grid;grid-template-columns:minmax(560px,1.25fr) minmax(320px,.75fr);gap:16px;align-items:start}.route-side-stack{display:grid;gap:16px;position:sticky;top:0}.route-directory>.field{margin-bottom:14px}.route-builder{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:10px;align-items:center}.route-builder>div:not(.route-transfer){display:grid;gap:6px}.route-builder label{color:#344054;font-size:11px;font-weight:700}.route-builder select{width:100%;min-height:310px;padding:5px}.route-transfer{display:grid;gap:7px}.route-order-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.color-field input{width:100%;height:44px;padding:5px}.inline-zone-editor{padding:0}.inline-zone-editor>summary{display:flex;align-items:center;gap:8px}.inline-zone-editor>summary svg{width:17px}.inline-zone-editor .details-body{padding-top:4px}
.report-workspace{display:grid;gap:16px}.report-metrics{margin:0}.report-status-grid{grid-template-columns:1fr 1fr}.report-audit{min-height:240px}.report-audit .list{max-height:320px;overflow:auto}
.team-workspace{display:grid;grid-template-columns:minmax(360px,.75fr) minmax(440px,1.25fr);gap:16px;align-items:start}.team-create{position:sticky;top:0}.team-list .list{max-height:calc(100dvh - 210px);overflow:auto}
.integration-workspace{display:grid;gap:16px}.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.integration-scroll{max-height:360px;overflow:auto}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-bottom:12px}.api-key-create{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,.5fr) auto;gap:10px;align-items:end}.token-output{margin:12px 0}.token-output input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f8fafc}.api-example{margin-top:14px}.api-example summary{display:flex;align-items:center;gap:8px}.api-example summary svg{width:16px}.api-example .code-block{margin:0 12px 12px}.webhook-list{max-height:220px;overflow:auto}.subsection-title{margin:16px 0 8px;color:#475467;font-size:11px;font-weight:800;text-transform:uppercase}
.saby-integration{border-color:#bed0ea;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}.saby-flow{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr);gap:8px;align-items:center;margin:4px 0 18px;padding:12px;border:1px solid #d9e4f2;border-radius:8px;background:#f2f7fd}.saby-flow>div{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:8px;align-items:center;min-width:0}.saby-flow>div>span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#dbeafe;color:#175cd3;font-weight:800}.saby-flow b,.saby-flow small{min-width:0}.saby-flow b{font-size:11px}.saby-flow small{color:var(--muted);font-size:9px}.saby-flow>svg{width:16px;color:#8fa4c3}.saby-settings{grid-template-columns:2fr 1fr 1fr}.saby-control-row{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:14px;align-items:center;margin-top:12px}.switch-field{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.switch-field input{position:absolute;opacity:0;pointer-events:none}.switch-field>span{position:relative;width:36px;height:20px;border-radius:999px;background:#b7c2d2;transition:background .18s ease}.switch-field>span:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(16,24,40,.22);transition:transform .18s ease}.switch-field input:checked+span{background:var(--accent)}.switch-field input:checked+span:after{transform:translateX(16px)}.switch-field b{font-size:11px}.saby-credential-state{color:var(--muted);font-size:11px}.saby-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.saby-summary>div{padding:10px;border:1px solid #d9e4f2;border-radius:7px;background:#fff}.saby-summary span,.saby-summary b{display:block}.saby-summary span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.saby-summary b{margin-top:4px;font-size:11px}.inline-alert{margin-top:10px;padding:10px;border:1px solid #fecdca;border-radius:7px;background:#fff5f4;color:var(--danger);font-size:11px}.saby-documents{max-height:280px}.saby-document-item .item-title{display:flex;align-items:center;gap:7px}.saby-document-item .item-title svg{width:15px;color:var(--accent)}.saby-document-item .status{white-space:nowrap}.shipment-saby{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:0 13px 11px;padding:10px;border:1px solid #c9d8ed;border-radius:7px;background:#f4f8fe}.shipment-saby b,.shipment-saby small{display:block}.shipment-saby b{font-size:11px}.shipment-saby small{margin-top:3px;color:var(--muted);font-size:9px}.shipment-saby .actions{flex-wrap:wrap}.shipment-saby-empty{border-style:dashed;background:#fafcff}.shipment-saby-link-form{grid-column:1/-1;display:grid;grid-template-columns:minmax(150px,1fr) minmax(110px,.5fr) auto;gap:7px;margin-top:3px}.shipment-saby-link-form input{min-height:34px;padding:6px 8px}

@media(hover:hover){
  .metric:not(.metric-action):hover,.driver-table-row:hover{transform:none}
  .fleet-kpis button:hover,.fleet-secondary button:hover{background:#f8fafc;transform:none}
}
@media(max-width:1180px){.operations-dashboard{grid-template-columns:1fr}.attention-command{min-height:auto}.attention-list .empty{min-height:180px}.directory-workspace,.route-workspace,.team-workspace{grid-template-columns:1fr}.directory-editor,.route-side-stack,.team-create{position:static}.directory-list,.team-list .list{max-height:520px}.integration-grid{grid-template-columns:1fr}}
@media(max-width:980px){.saby-flow{grid-template-columns:1fr 18px 1fr}.saby-flow>svg:nth-of-type(2){display:none}.saby-flow>div:nth-of-type(3){grid-column:1}.saby-flow>div:nth-of-type(4){grid-column:3}.saby-control-row{grid-template-columns:1fr}.saby-control-row .actions{justify-content:flex-start}.saby-summary{grid-template-columns:1fr 1fr}.saby-settings{grid-template-columns:1fr 1fr}.saby-settings .span-2{grid-column:1/-1}}
@media(max-width:900px){
  #appShell.nav-collapsed{grid-template-columns:1fr;grid-template-rows:58px minmax(0,1fr) 66px}
  #appShell.nav-collapsed .brand-copy{display:flex}#appShell.nav-collapsed #brand{justify-content:flex-start;padding:0 14px}#appShell.nav-collapsed #nav{padding:6px 8px}
  #nav .tab:not([data-mobile-primary]){display:none}#nav #mobileMoreBtn{display:flex}
  .workspace-mode{margin-left:auto}.workspace-mode span:last-child{display:none}#orgSwitch{margin-left:0}
  .mobile-more-menu{position:fixed;left:10px;right:10px;bottom:76px;z-index:3200;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 20px 56px rgba(16,24,40,.22)}
  .mobile-more-menu.hidden{display:none}.mobile-more-menu button{justify-content:flex-start;min-width:0}.mobile-more-menu button svg{color:var(--accent)}
  .operations-dashboard{display:block}.operations-dashboard>.surface{margin-bottom:14px}.attention-command{min-height:0}.activity-list{grid-template-columns:1fr}.activity-list .item:nth-child(odd){border-right:0}
}
@media(max-width:700px){.route-builder{grid-template-columns:1fr}.route-transfer{grid-template-columns:1fr 1fr}.route-transfer button{width:100%}.route-transfer button:first-child svg{transform:rotate(90deg)}.route-transfer button:last-child svg{transform:rotate(90deg)}.route-order-actions{display:grid;grid-template-columns:1fr 1fr}.route-order-actions .btn-primary{grid-column:1/-1}.api-key-create{grid-template-columns:1fr}.report-status-grid{grid-template-columns:1fr}}
@media(max-width:620px){.fleet-kpis{grid-template-columns:1fr}.fleet-kpis button:nth-child(odd){border-right:0}.fleet-kpis button:nth-child(-n+3){border-bottom:1px solid var(--line)}.fleet-secondary{grid-template-columns:1fr}.fleet-secondary button{grid-template-columns:1fr auto;border-right:0;border-bottom:1px solid var(--line)}.fleet-secondary button:last-child{border-bottom:0}.directory-toolbar{grid-template-columns:minmax(0,1fr) 40px}.directory-toolbar #searchCityBtn{width:40px;padding:0;font-size:0}.directory-toolbar #searchCityBtn svg{width:17px}.inline-form{grid-template-columns:1fr}.integration-grid{display:block}.integration-grid>.surface{margin-bottom:14px}.saby-flow{display:grid;grid-template-columns:1fr}.saby-flow>svg{display:none}.saby-flow>div:nth-of-type(n){grid-column:auto}.saby-settings,.saby-summary{grid-template-columns:1fr}.saby-settings .span-2{grid-column:auto}.shipment-saby{grid-template-columns:1fr}.shipment-saby-link-form{grid-template-columns:1fr}}
@media(max-width:420px){#brand{width:72px;padding:0 14px}.brand-copy{display:none}.topbar{padding-left:72px}#orgSwitch{max-width:128px}}

/* VEZILINK blue theme */
body{background:var(--bg)}
#brand,#nav{background:var(--sidebar)}
.brand-copy small{color:#8fa1be}
.nav-section{color:#7184a4}
.tab:hover{background:#1a2e4e}
.tab.active{background:#294876;color:#fff}
.tab.active:before{background:#70a8ff}
.tab.active .nav-icon,.tab:hover .nav-icon{color:#deebff}
.nav-collapse:hover{border-color:#38537b;background:#1a2e4e}
#workspace{background:var(--bg)}
.panel:not(#panel-map){background:linear-gradient(180deg,#f3f7fd 0%,#e5edf8 100%)}
.topbar{border-color:var(--line);background:rgba(249,251,255,.96);box-shadow:0 1px 0 rgba(27,57,104,.05)}
.global-search{border-color:var(--line);background:#f1f5fb}
.surface,.metric,.department,.driver-card,.trip-card{border-color:var(--line);box-shadow:0 1px 2px rgba(27,57,104,.055)}
.workspace-mode{border-color:#b9cdf0;background:#edf4ff;color:#1e54ba}
:where(button,a,input,select,textarea,[role="button"]):focus-visible{outline-color:rgba(39,103,223,.28)}
input:focus,select:focus,textarea:focus{border-color:#7da6ec;box-shadow:0 0 0 3px rgba(39,103,223,.13)}
.btn-primary,.row button:last-child,#loginBtn,#createTripBtn,#orgCreateBtn,#uCreateBtn,#createRouteBtn,#createDriverBtn,#saveOfflineBtn{border-color:var(--accent);background:var(--accent);color:#fff}
.btn-primary:hover,.row button:last-child:hover,#loginBtn:hover,#createTripBtn:hover,#orgCreateBtn:hover,#uCreateBtn:hover,#createRouteBtn:hover,#createDriverBtn:hover,#saveOfflineBtn:hover{border-color:var(--accent-strong);background:var(--accent-strong)}
.login{background:linear-gradient(135deg,#dfeafb 0%,#eef3fb 55%,#d8e5f7 100%)}
.login-logo{background:linear-gradient(135deg,#2767df,#164d9f)}
.metric-action:hover,.metric-action:focus-visible{border-color:#9dbcf2;box-shadow:0 10px 28px rgba(39,103,223,.12)}
.fleet-kpis button:hover,.fleet-secondary button:hover{background:#f0f5fd}
.search-result:hover{background:#edf4ff}
.trip-table tbody tr.selected,.archive-table tbody tr.selected{background:#e8f1ff;box-shadow:inset 3px 0 0 var(--accent)}
.view-switch button.active,.detail-tabs button.active{background:#e8f1ff;color:var(--accent)}
.shipment-create{border-color:#a9c3f1;background:#f1f6ff}
