:root{
  --ink:#172033;
  --ink-soft:#344054;
  --muted:#7b8798;
  --bg:#f3f6fa;
  --panel:#ffffff;
  --panel-soft:#f8fafc;
  --line:#e4e9f0;
  --line-strong:#d6dde7;
  --nav:#10293f;
  --nav-soft:#173750;
  --brand:#225ea8;
  --brand-dark:#174a89;
  --brand-soft:#eaf2fb;
  --passenger:#2f6fbd;
  --positioning:#c5ced9;
  --break:#e7b04d;
  --standby:#46a37c;
  --other:#8174b7;
  --success:#2d8a62;
  --warning:#b87814;
  --danger:#cf4e4e;
  --shadow:0 8px 30px rgba(25,42,70,.07);
}

*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:flex;font-size:14px}
a{color:inherit}
button,select,input{font:inherit}

.sidebar{width:248px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,#102b43 0%,#0d2438 100%);color:#fff;padding:24px 18px 20px;display:flex;flex-direction:column;z-index:40}
.brand{display:flex;align-items:center;gap:12px;padding:0 8px}
.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#ffffff,#dfeaf5);color:#153b5f;font-size:18px;font-weight:850;box-shadow:0 5px 15px rgba(0,0,0,.12)}
.brand strong{display:block;font-size:14px;letter-spacing:.01em}.brand small{display:block;margin-top:3px;color:#98afc1;font-size:11px}
.main-nav{display:grid;gap:5px;margin-top:34px}
.main-nav>a,.nav-disabled{height:43px;border-radius:10px;padding:0 11px;display:flex;align-items:center;gap:11px;text-decoration:none;color:#bfd0df;position:relative}
.main-nav>a:hover{background:rgba(255,255,255,.055);color:#fff}.main-nav>a.active{background:#1d4667;color:#fff;box-shadow:inset 3px 0 0 #7db1e7}
.nav-glyph{width:20px;text-align:center;font-size:16px;opacity:.9}.nav-disabled{color:#688398}.nav-disabled em{margin-left:auto;font-size:9px;text-transform:uppercase;font-style:normal;letter-spacing:.07em;color:#668095}
.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding:18px 8px 0;display:flex;gap:10px;align-items:center}.user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dbe8f3;color:#183d5e;font-weight:800}.user-copy strong{display:block;font-size:12px}.user-copy form{margin-top:2px}.user-copy button{padding:0;border:0;background:none;color:#8fa7ba;font-size:11px;cursor:pointer}.user-copy button:hover{color:#fff}

main{margin-left:248px;width:calc(100% - 248px);min-width:0}.topbar{height:64px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.topbar-event{display:flex;align-items:center;gap:9px;font-weight:700;color:var(--ink-soft);font-size:13px}.event-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(45,138,98,.1)}.topbar-status{font-size:12px;color:var(--muted)}
.environment-banner{height:28px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:850;letter-spacing:.1em;border-bottom:1px solid rgba(0,0,0,.06)}.environment-acceptance{background:#fff0bd;color:#765300}.environment-development{background:#e0efff;color:#24588e}.environment-production{background:#fee2e2;color:#991b1b}
.content{padding:31px 34px 42px;max-width:1800px;margin:0 auto}.flash-stack{position:fixed;right:26px;top:82px;z-index:70}.flash{padding:12px 15px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--success);border-radius:9px;box-shadow:var(--shadow);font-weight:650;font-size:12px}.flash-error{border-left-color:var(--danger)}

.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.page-head h1,.shift-detail-head h1{margin:3px 0 5px;font-size:31px;line-height:1.15;letter-spacing:-.025em}.page-head p,.shift-detail-head p{margin:0;color:var(--muted)}.kicker,.panel-eyebrow{margin:0!important;text-transform:uppercase;letter-spacing:.11em;font-size:10px!important;font-weight:850;color:var(--brand)!important}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;border-radius:9px;padding:0 15px;font-weight:750;font-size:12px;text-decoration:none;border:1px solid transparent;cursor:pointer}.button.primary{background:var(--brand);color:#fff;box-shadow:0 4px 12px rgba(34,94,168,.16)}.button.primary:hover{background:var(--brand-dark)}.button.secondary{background:#fff;border-color:var(--line-strong);color:var(--ink-soft)}.text-link{color:var(--brand);font-weight:750;text-decoration:none}.text-link:hover{text-decoration:underline}

.metric-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:15px;margin-bottom:18px}.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:19px 20px;box-shadow:0 1px 2px rgba(18,35,60,.025)}.metric-card.metric-main{background:linear-gradient(135deg,#173f66,#225e93);border-color:transparent;color:#fff}.metric-label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.metric-main .metric-label,.metric-main .metric-foot{color:#c7d9e7}.metric-value{font-size:31px;font-weight:820;letter-spacing:-.03em;margin:5px 0 4px}.metric-foot{font-size:10px;color:var(--muted)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;vertical-align:middle}.status-dot.open{background:#9aa6b5}.status-dot.assigned{background:#d49a33}.status-dot.ready{background:#2d8a62}
.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px rgba(18,35,60,.025)}.hero-panel{min-height:220px;padding:27px;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.hero-panel h2{font-size:22px;margin:7px 0 8px}.hero-panel p{max-width:600px;line-height:1.55;color:var(--muted);margin:0 0 18px}.hero-mini-timeline{width:270px;height:140px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;margin-left:35px;background-image:linear-gradient(to right,transparent 24%,#edf1f5 25%,transparent 26%,transparent 49%,#edf1f5 50%,transparent 51%,transparent 74%,#edf1f5 75%,transparent 76%)}.mini-line{position:absolute;height:15px;border-radius:4px;background:var(--passenger)}.line-a{left:10%;top:23%;width:46%}.line-b{left:34%;top:48%;width:50%}.line-c{left:16%;top:74%;width:33%}.mini-break{position:absolute;left:58%;top:23%;width:15%;height:15px;border-radius:4px;background:var(--break)}.compact-panel{padding:24px}.compact-panel h3{font-size:19px;margin:7px 0 17px}.facts,.detail-facts{margin:0}.facts>div,.detail-facts>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--line)}.facts dt,.detail-facts dt{color:var(--muted);font-size:11px}.facts dd,.detail-facts dd{margin:0;font-weight:750;font-size:12px;text-align:right}

.planning-head{margin-bottom:16px}.filters{display:flex;gap:10px}.filters label{display:grid;gap:5px}.filters label>span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.filters select,.form-select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23717d8e' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat right 11px center;border:1px solid var(--line-strong);border-radius:9px;color:var(--ink);padding:9px 32px 9px 11px;min-width:140px;outline:none}.filters select:focus,.form-select:focus{border-color:#8db4de;box-shadow:0 0 0 3px rgba(47,111,189,.1)}
.planning-summary{height:54px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;padding:0 15px;margin-bottom:12px;box-shadow:0 1px 2px rgba(18,35,60,.02)}.planning-summary>div{display:flex;align-items:center;gap:6px;padding:0 14px;border-right:1px solid var(--line);height:24px}.planning-summary>div:first-child{padding-left:2px}.planning-summary strong{font-size:16px}.planning-summary span{font-size:10px;color:var(--muted)}.planning-summary .summary-note{margin-left:auto;border:0;color:var(--muted);font-size:10px;padding-right:2px}.legend{display:flex;align-items:center;gap:17px;color:var(--muted);font-size:10px;padding:0 5px 10px 238px}.legend-swatch{display:inline-block;width:12px;height:7px;border-radius:3px;margin-right:4px}.legend-swatch.passenger{background:var(--passenger)}.legend-swatch.positioning{background:var(--positioning)}.legend-swatch.break{background:var(--break)}.legend-swatch.standby{background:var(--standby)}
.timeline-shell{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.timeline-scroll{overflow:auto;max-height:calc(100vh - 255px);position:relative}.timeline-header,.timeline-row{display:grid;grid-template-columns:230px minmax(1120px,1fr);min-width:1350px}.timeline-header{height:46px;background:#f9fafc;position:sticky;top:0;z-index:25;border-bottom:1px solid var(--line)}.header-meta{display:flex!important;align-items:center!important;color:var(--muted);font-size:9px!important;text-transform:uppercase;letter-spacing:.09em;font-weight:850!important}.shift-meta{position:sticky;left:0;z-index:18;background:#fff;border-right:1px solid var(--line);padding:8px 11px}.timeline-header .shift-meta{z-index:28;background:#f9fafc}.track{position:relative;min-width:1120px}.ticks{background:#f9fafc}.ticks:after{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,#e6ebf1 1px,transparent 1px);background-size:var(--hour-step,5.556%) 100%;pointer-events:none}.ticks span{position:absolute;top:15px;transform:translateX(-50%);font-size:9px;color:#9aa5b4;z-index:2}.ticks span.major{color:#697586;font-weight:750}.route-title{position:sticky;left:0;z-index:20;display:flex;justify-content:space-between;align-items:center;background:#edf3f9;border-top:1px solid #dfe7ef;border-bottom:1px solid #dfe7ef;padding:7px 12px;min-width:1350px;color:#34516a}.route-title>div{display:flex;align-items:center;gap:9px}.route-title strong{font-size:11px}.route-title span{font-size:9px;color:#70869a}.timeline-row{height:63px;border-bottom:1px solid #eef1f5;transition:background .12s}.timeline-row:hover{background:#fbfdff}.timeline-row:hover .shift-meta{background:#f8fbfe}.shift-meta-link{text-decoration:none;display:grid;grid-template-columns:39px 1fr 12px;gap:8px;align-items:center}.shift-code{width:34px;height:34px;border-radius:8px;background:#eef3f8;display:grid;place-items:center;font-size:11px;font-weight:850;color:#28465f}.status-ready .shift-code{background:#e8f4ef;color:#287151}.status-assigned .shift-code{background:#fff3dc;color:#8c631c}.shift-copy{min-width:0}.shift-topline{display:flex;align-items:center;gap:7px;margin-bottom:5px}.shift-topline>span:first-child{font-size:10px;font-weight:750}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;background:#eef1f4;color:#687586}.status-chip.open{background:#eef1f4;color:#687586}.status-chip.assigned{background:#fff1d6;color:#916416}.status-chip.ready{background:#e4f4ed;color:#287254}.status-chip.active{background:#e8f1ff;color:#225d9d}.status-chip.completed{background:#edf0f3;color:#5d6877}.status-chip.cancelled{background:#fdeaea;color:#a03f3f}.shift-assignment{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-assignment strong{font-weight:700;color:#4c596a}.separator{margin:0 2px}.empty-value{color:#9aa6b4}.row-arrow{color:#9eabb9;font-size:17px}.grid{height:63px;background-image:linear-gradient(to right,#eef2f6 1px,transparent 1px);background-size:var(--hour-step,5.556%) 100%}.bar{position:absolute;top:15px;height:32px;border-radius:5px;display:flex;align-items:center;padding:0 6px;overflow:hidden;text-decoration:none;font-size:8.5px;font-weight:750;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:filter .12s,transform .12s}.bar:hover{filter:brightness(.97);transform:translateY(-1px);z-index:9}.bar span{overflow:hidden;text-overflow:ellipsis}.bar.passenger{background:var(--passenger);color:#fff}.bar.positioning{background:var(--positioning);color:#435164}.bar.break{background:var(--break);color:#604710}.bar.standby{background:var(--standby);color:#fff}.bar.other{background:var(--other);color:#fff}.empty-state{padding:35px;text-align:center;color:var(--muted);display:grid;gap:5px}.empty-state strong{color:var(--ink-soft)}

.detail-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.back-link{text-decoration:none;color:var(--brand);font-size:11px;font-weight:750}.shift-detail-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.shift-id-card{min-width:120px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.shift-id-card span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.shift-id-card strong{display:block;margin-top:3px;font-size:11px}.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:17px;margin-bottom:17px}.assignment-panel,.shift-summary-card,.activity-panel{padding:23px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.panel-heading h2{font-size:18px;margin:5px 0 0}.muted-copy{font-size:10px;color:var(--muted)}.assignment-form{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.field-group{display:grid;align-content:start;gap:6px}.field-group label{font-size:10px;font-weight:800;color:#536173}.field-help{font-size:9px;color:var(--muted)}.field-error{font-size:9px;color:var(--danger);font-weight:700}.form-select{width:100%;min-width:0}.form-select:disabled{background-color:#f5f7f9;color:#9ba5b1;cursor:not-allowed}.form-actions{grid-column:1/-1;display:flex;gap:9px;margin-top:4px;padding-top:15px;border-top:1px solid var(--line)}.form-error{grid-column:1/-1;padding:10px;background:#fdecec;color:#963d3d;border-radius:8px;font-size:11px}.shift-summary-card .panel-eyebrow{display:block;margin-bottom:13px!important}.detail-facts>div:first-child{border-top:0}.activity-panel{margin-bottom:20px}.activity-list{position:relative;max-width:760px}.activity-list:before{content:"";position:absolute;left:91px;top:8px;bottom:8px;width:1px;background:var(--line)}.activity-item{display:grid;grid-template-columns:70px 19px 1fr;gap:12px;align-items:center;min-height:52px;position:relative}.activity-time{text-align:right;font-size:10px;font-weight:800;color:#475569}.activity-time span{display:block;color:#9aa5b3;font-size:9px;font-weight:600;margin-top:2px}.activity-marker{width:10px;height:10px;border-radius:50%;z-index:2;margin-left:5px;box-shadow:0 0 0 4px #fff}.activity-marker.passenger{background:var(--passenger)}.activity-marker.positioning{background:#aebac7}.activity-marker.break{background:var(--break)}.activity-marker.standby{background:var(--standby)}.activity-marker.other{background:var(--other)}.activity-copy{display:grid;gap:2px}.activity-copy strong{font-size:11px}.activity-copy span{font-size:9px;color:var(--muted)}

.login-page{display:grid;place-items:center;background:radial-gradient(circle at 25% 15%,#e6f0fa 0,#f2f5f8 42%,#edf1f5 100%)}.login-card{width:min(420px,90vw);background:#fff;padding:31px;border:1px solid var(--line);border-radius:17px;box-shadow:0 22px 70px rgba(22,44,74,.13)}.login-brand{margin-bottom:27px}.login-brand .brand-mark{background:#173d61;color:#fff}.login-card h1{font-size:26px;margin:0 0 5px}.login-card>p{margin:0 0 18px;color:var(--muted)}.login-card label{display:block;margin-top:12px;font-size:10px;font-weight:800;color:#536173}.login-card input{width:100%;padding:10px 11px;margin-top:5px;border:1px solid var(--line-strong);border-radius:9px;outline:none}.login-card input:focus{border-color:#8db4de;box-shadow:0 0 0 3px rgba(47,111,189,.1)}.login-card .primary{width:100%;margin-top:17px}.login-environment{position:fixed;top:0;left:0;right:0;z-index:10}

@media(max-width:1100px){.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.hero-mini-timeline{display:none}.detail-grid{grid-template-columns:1fr}.assignment-form{grid-template-columns:1fr}.form-actions{grid-column:auto}.content{padding:25px}.legend{padding-left:0}}
@media(max-width:780px){.sidebar{width:70px;padding:20px 10px}.brand{padding:0;justify-content:center}.brand>div,.main-nav a>span:not(.nav-glyph),.nav-disabled>span:not(.nav-glyph),.nav-disabled em,.sidebar-bottom{display:none}.main-nav>a,.nav-disabled{justify-content:center;padding:0}.nav-glyph{width:auto}.main-nav>a.active{box-shadow:none;background:#1d4667}main{margin-left:70px;width:calc(100% - 70px)}.topbar{padding:0 18px}.content{padding:20px 15px}.page-head,.shift-detail-head{align-items:flex-start;flex-direction:column}.filters{width:100%}.filters label{flex:1}.filters select{width:100%;min-width:0}.metric-grid{grid-template-columns:1fr 1fr}.planning-summary .summary-note{display:none}.timeline-header,.timeline-row{grid-template-columns:205px minmax(980px,1fr);min-width:1185px}.track{min-width:980px}.route-title{min-width:1185px}.detail-grid{display:block}.shift-summary-card{margin-top:15px}}
.flash-warning{border-left-color:var(--warning)}

/* v0.4 roles, carrier workflow and driver portal */
.user-role{display:block;margin-top:2px;color:#8fa0b0;font-size:8.5px;line-height:1.25}.button.compact{padding:7px 10px;font-size:9px;white-space:nowrap}.carrier-metrics{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}.carrier-service-panel{padding:22px}.carrier-panel-heading{align-items:center}.service-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px}.service-table{width:100%;border-collapse:collapse;min-width:990px;background:#fff}.service-table th{text-align:left;background:#f7f9fb;color:#7a8796;font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;padding:10px 12px;border-bottom:1px solid var(--line)}.service-table td{padding:11px 12px;border-bottom:1px solid #edf1f4;font-size:10px;vertical-align:middle;color:#465467}.service-table tr:last-child td{border-bottom:0}.service-table tbody tr:hover{background:#fafcfe}.service-table tbody tr.service-own{background:#f7fbff}.service-table tbody tr.service-own:hover{background:#f1f8ff}.service-table td>small{display:block;margin-top:3px;color:#8b97a5;font-size:8.5px;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-pill{display:inline-flex;align-items:center;background:#eaf1f8;color:#345c7c;border-radius:5px;padding:3px 6px;font-size:9px;font-weight:850}.service-actions{text-align:right}.service-actions form{margin:0}.locked-label{font-size:8.5px;color:#9aa5b2}.empty-table{text-align:center!important;padding:35px!important;color:var(--muted)!important}.carrier-assignment-form{grid-template-columns:repeat(2,minmax(0,1fr))}.release-form{border-top:1px solid var(--line);margin-top:15px;padding-top:13px}.text-danger-button{border:0;background:none;padding:0;color:#a34848;font:inherit;font-size:9px;font-weight:750;cursor:pointer}.text-danger-button:hover{text-decoration:underline}.access-denied{max-width:620px;padding:35px}.access-denied h1{margin:7px 0 8px}.access-denied p{color:var(--muted);margin-bottom:20px}

.driver-page{max-width:840px;margin:0 auto}.driver-head{margin-bottom:17px}.driver-date-filter{margin-left:auto}.driver-shift-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:20px}.driver-shift-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;background:linear-gradient(135deg,#173d61,#235a87);color:#fff}.driver-label{font-size:8px;font-weight:850;letter-spacing:.11em;color:#b8d4e9}.driver-shift-hero h2{font-size:30px;margin:4px 0 3px;color:#fff}.driver-shift-hero p{margin:0;color:#c8d9e7;font-size:11px}.driver-vehicle{min-width:155px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:11px;padding:11px 13px}.driver-vehicle span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#b8d4e9}.driver-vehicle strong{display:block;font-size:17px;margin-top:3px}.driver-vehicle small{display:block;color:#c8d9e7;margin-top:2px}.driver-timeline{position:relative;padding:13px 23px 18px}.driver-timeline:before{content:"";position:absolute;left:89px;top:28px;bottom:30px;width:2px;background:#e5eaf0}.driver-event{display:grid;grid-template-columns:54px 20px minmax(0,1fr);gap:11px;align-items:center;min-height:70px;position:relative}.driver-time{text-align:right;font-size:11px;font-weight:850;color:#455668}.driver-time small{display:block;margin-top:2px;color:#9aa6b3;font-size:8.5px;font-weight:650}.driver-event-marker{width:12px;height:12px;border-radius:50%;background:#a9b6c3;box-shadow:0 0 0 5px #fff;z-index:2;margin-left:3px}.driver-event-copy{border:1px solid #edf1f4;background:#fbfcfd;border-radius:10px;padding:10px 12px;display:grid;gap:2px}.driver-event-copy span{font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#8592a1}.driver-event-copy strong{font-size:11px;color:#2d3e4e}.driver-event-copy em{font-size:9px;color:#7c6427;font-style:normal;margin-top:2px}.driver-event.type-passenger .driver-event-marker{background:var(--passenger)}.driver-event.type-passenger .driver-event-copy{border-left:4px solid var(--passenger)}.driver-event.type-positioning .driver-event-marker{background:#aebac7}.driver-event.type-positioning .driver-event-copy{border-left:4px solid #aebac7}.driver-event.type-break .driver-event-marker{background:var(--break)}.driver-event.type-break .driver-event-copy{background:#fffaf0;border-color:#f0dfb9;border-left:4px solid var(--break)}.driver-event.type-standby .driver-event-marker{background:var(--standby)}.driver-event.type-standby .driver-event-copy{border-left:4px solid var(--standby)}.driver-event.type-other .driver-event-marker{background:var(--other)}.driver-start .driver-event-marker,.driver-end .driver-event-marker{background:#173d61}.driver-start .driver-event-copy,.driver-end .driver-event-copy{background:#f3f7fa}.driver-empty{padding:30px}.driver-empty h2{margin:6px 0 8px}.driver-empty p{color:var(--muted)}

@media(max-width:900px){.carrier-metrics{grid-template-columns:1fr 1fr 1fr}.carrier-service-panel{padding:15px}.carrier-panel-heading{align-items:flex-start;flex-direction:column}.carrier-assignment-form{grid-template-columns:1fr}.carrier-assignment-form .form-actions{grid-column:1}.driver-shift-hero{align-items:flex-start}}
@media(max-width:780px){.role-driver .sidebar{display:none}.role-driver main{margin-left:0;width:100%}.role-driver .topbar{height:52px}.role-driver .content{padding:14px 12px 30px}.role-driver .environment-banner{margin-left:0}.driver-head{gap:12px}.driver-date-filter{margin-left:0;width:100%}.driver-shift-hero{padding:18px;flex-direction:column}.driver-shift-hero h2{font-size:27px}.driver-vehicle{width:100%;min-width:0;display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:end}.driver-vehicle span{grid-column:1/-1}.driver-vehicle small{text-align:right}.driver-timeline{padding:11px 12px 15px}.driver-timeline:before{left:70px}.driver-event{grid-template-columns:43px 18px minmax(0,1fr);gap:8px;min-height:68px}.driver-time{font-size:10px}.carrier-metrics{grid-template-columns:1fr}.carrier-head .filters{width:auto}.carrier-head .filters label{min-width:140px}}
