:root{--bg:#f4f6f8;--surface:#fff;--surface-2:#f8fafb;--text:#18212b;--muted:#6c7886;--border:#dfe5ea;--nav:#101820;--nav-2:#17232e;--brand:#e2b14c;--brand-dark:#b98118;--blue:#2e6f95;--green:#198754;--red:#c73b4b;--shadow:0 10px 28px rgba(20,31,42,.08);--radius:14px;--sidebar:264px;color-scheme:light;font-family:Inter,"Segoe UI",Arial,sans-serif}html[data-theme=dark]{--bg:#0d1319;--surface:#151d25;--surface-2:#1b2630;--text:#eef2f5;--muted:#98a5b2;--border:#2a3742;--nav:#090e13;--nav-2:#131d26;--shadow:0 10px 28px rgba(0,0,0,.3);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,var(--nav),var(--nav-2));color:#ecf2f6;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:25px 22px;color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:10px;background:var(--brand);color:#18212b;font-weight:900;letter-spacing:-1px}.brand-mark.large{width:54px;height:54px;font-size:19px}.brand strong,.brand small,.login-brand strong,.login-brand small,.sidebar-user strong,.sidebar-user small{display:block}.brand strong,.login-brand strong{font-size:14px;letter-spacing:.08em}.brand small,.login-brand small{color:#9cadba;margin-top:3px;font-size:11px}.nav{padding:16px 12px;overflow-y:auto;flex:1}.nav-label{font-size:10px;letter-spacing:.12em;color:#748594;padding:10px 12px 4px;margin:4px 0}.nav-link{display:flex;align-items:center;gap:11px;color:#c7d1d9;padding:10px 12px;border-radius:9px;text-decoration:none;margin:2px 0}.nav-link:hover{background:rgba(255,255,255,.07);color:#fff}.nav-link span{width:18px;text-align:center}.nav-link em{font-size:9px;font-style:normal;color:#758694;margin-left:auto}.nav-link.disabled{opacity:.55;cursor:not-allowed}.sidebar-user{padding:17px 18px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;min-width:0}.sidebar-user>span:last-child{min-width:0}.sidebar-user strong,.sidebar-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user small{color:#8394a1;font-size:11px;margin-top:3px}.avatar{display:grid;place-items:center;flex:0 0 35px;height:35px;border-radius:50%;background:#2b3d4d;color:var(--brand);font-weight:700}.main-column{margin-left:var(--sidebar);min-height:100vh}.topbar{height:70px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.global-search{height:40px;max-width:610px;flex:1;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);display:flex;align-items:center;padding:0 12px;gap:9px}.global-search input{border:0;outline:0;background:transparent;flex:1;color:var(--text)}.global-search kbd{font:10px inherit;color:var(--muted);border:1px solid var(--border);padding:3px 6px;border-radius:5px}.top-actions{display:flex;align-items:center;gap:8px}.icon-button,.sign-out{border:1px solid var(--border);background:var(--surface);color:var(--text);height:38px;border-radius:9px;cursor:pointer}.icon-button{width:38px}.sign-out{padding:0 14px}.content{padding:28px;max-width:1600px;margin:0 auto}.alert{padding:12px 15px;border-radius:9px;margin-bottom:18px;border:1px solid}.alert.success{background:rgba(25,135,84,.1);border-color:rgba(25,135,84,.35);color:var(--green)}.alert.error{background:rgba(199,59,75,.1);border-color:rgba(199,59,75,.35);color:var(--red)}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--brand-dark);margin:0 0 7px}.page-heading h1{font-size:27px;margin:0 0 5px;letter-spacing:-.025em}.page-heading p{color:var(--muted);margin:0}.status-pill{background:rgba(25,135,84,.1);color:var(--green);padding:8px 11px;border-radius:20px;font-size:12px;font-weight:700}.status-pill i{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:0 3px 12px rgba(20,31,42,.03);position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#8795a1}.metric-card.accent:before{background:var(--brand)}.metric-card.money:before{background:var(--green)}.metric-card.warning:before{background:#d87f2a}.metric-card span,.metric-card small{display:block;color:var(--muted)}.metric-card strong{display:block;font-size:24px;margin:9px 0 7px;letter-spacing:-.03em}.metric-card small{font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;margin-top:16px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 3px 12px rgba(20,31,42,.03)}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 15px}.panel-heading h2{font-size:16px;margin:0 0 4px}.panel-heading p{font-size:12px;color:var(--muted);margin:0}.panel-heading select{border:1px solid var(--border);border-radius:8px;padding:7px;background:var(--surface)}.empty-chart{height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px}.chart-bars{height:115px;width:min(90%,500px);display:flex;align-items:flex-end;gap:9px;border-bottom:1px solid var(--border)}.chart-bars i{flex:1;background:linear-gradient(var(--brand),rgba(226,177,76,.18));border-radius:5px 5px 0 0;opacity:.7}.empty-chart p{color:var(--muted);font-size:12px}.month-summary dl{margin:0;padding:0 20px 20px}.month-summary dl div{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--border)}.month-summary dt{color:var(--muted)}.month-summary dd{font-weight:800}.good{color:var(--green)}.form-panel{overflow:hidden}.form-section{display:grid;grid-template-columns:230px 1fr;gap:28px;padding:26px;border-bottom:1px solid var(--border)}.form-section h2{font-size:16px;margin:0 0 5px}.form-section>div>p{font-size:12px;color:var(--muted);margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid label,.login-card>label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700}.form-grid .full{grid-column:1/-1}input,textarea,select{border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);padding:10px 11px;outline:0}input:focus,textarea:focus{border-color:var(--brand-dark);box-shadow:0 0 0 3px rgba(226,177,76,.15)}textarea{resize:vertical}.form-actions{padding:20px 26px;text-align:right}.primary-button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:9px;background:var(--brand);color:#17202a;text-decoration:none;font-weight:800;padding:11px 18px;cursor:pointer}.table-panel{overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:12px 18px;border-top:1px solid var(--border)}th{background:var(--surface-2);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}td{font-size:12px}.tag{padding:4px 7px;border-radius:6px;background:var(--surface-2);font-weight:700}.empty-cell{text-align:center;color:var(--muted);padding:35px}.error-page{max-width:520px;text-align:center;margin:18vh auto;padding:25px}.error-page>strong{font-size:70px;color:var(--brand);letter-spacing:-.08em}.error-page h1{font-size:28px}.error-page p{color:var(--muted);margin-bottom:25px}.auth-body{background:#101820}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(380px,1.05fr) minmax(430px,.95fr)}.login-brand-panel{padding:48px clamp(38px,6vw,92px);background:radial-gradient(circle at 15% 80%,rgba(226,177,76,.12),transparent 40%),linear-gradient(145deg,#0b1218,#172631);color:white;display:flex;flex-direction:column;justify-content:space-between}.login-brand{display:flex;align-items:center;gap:14px}.login-message{max-width:600px}.login-message h1{font-size:clamp(38px,5vw,68px);line-height:1.03;letter-spacing:-.045em;margin:14px 0 22px}.login-message>p:last-child{font-size:17px;line-height:1.7;color:#aab7c1;max-width:540px}.secure-note{font-size:11px;color:#7f909d;letter-spacing:.06em}.login-form-panel{background:var(--surface);display:grid;place-items:center;padding:35px}.login-card{width:min(100%,430px)}.login-heading{margin-bottom:30px}.login-heading h2{font-size:27px;letter-spacing:-.025em;margin:0 0 7px}.login-heading>p:last-child{color:var(--muted);margin:0}.login-card>label{margin-top:18px}.password-wrap{position:relative}.password-wrap input{width:100%;padding-right:58px}.password-wrap button{position:absolute;right:7px;top:7px;border:0;background:transparent;color:var(--brand-dark);font-size:11px;font-weight:800;cursor:pointer}.form-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0}.checkbox{display:flex;align-items:center;gap:7px;font-size:12px}.checkbox input{padding:0}.muted{color:var(--muted);font-size:10px;text-align:right}.login-card>.primary-button{width:100%;height:45px}.form-footer{text-align:center;color:var(--muted);font-size:10px;margin-top:17px}.mobile-only{display:none}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:20px 0 60px rgba(0,0,0,.3)}.main-column{margin-left:0}.mobile-only{display:block}.topbar{padding:0 15px}.content{padding:20px 15px}.login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{min-height:100vh}.form-section{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:520px){.topbar{gap:8px}.topbar-title{display:none}.top-actions{margin-left:auto}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:14px}.metric-card strong{font-size:19px}.metric-card.money,.metric-card.warning{grid-column:1/-1}.page-heading{display:block}.status-pill{display:inline-block;margin-top:13px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.form-section{padding:20px}.login-form-panel{padding:25px 20px}.form-row{align-items:flex-start}.sign-out{padding:0 10px}}
.topbar-title{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em}.empty-chart p{max-width:560px;text-align:center;line-height:1.6}
.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:10px 14px;text-decoration:none;font-weight:700;cursor:pointer}.button-row{display:flex;gap:9px;flex-wrap:wrap}.filter-bar{display:flex;gap:10px;align-items:end;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:13px;margin-bottom:15px}.filter-bar.wrap{flex-wrap:wrap}.filter-bar>input[type=search]{min-width:250px;flex:1}.inline-label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:10px;font-weight:700}.table-subtext{display:block;color:var(--muted);font-size:10px;margin-top:4px}.table-link{color:var(--blue);text-decoration:none;font-weight:800}.plate-chip{display:inline-block;background:#16232d;color:#f1c663;padding:5px 8px;border-radius:6px;letter-spacing:.08em}.plate-chip.large{font-size:22px;padding:8px 12px}.plate-text{letter-spacing:.06em}.pagination{display:flex;gap:5px;flex-wrap:wrap;margin-top:16px}.pagination a{display:grid;place-items:center;min-width:34px;height:34px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;text-decoration:none}.pagination a.active{background:var(--brand);color:#18212b;border-color:var(--brand)}.alert.warning{background:rgba(216,127,42,.12);border-color:rgba(216,127,42,.4);color:#b86719}.checkbox-confirm{display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important;font-weight:600!important}.checkbox-confirm input{width:auto}.metric-grid.compact{grid-template-columns:repeat(4,1fr)}.profile-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-top:16px}.detail-panel{overflow:hidden}.detail-list{margin:0;padding:0 20px 20px}.detail-list.columns{display:grid;grid-template-columns:repeat(2,1fr);gap:0 24px}.detail-list>div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:650;line-height:1.5}.record-list{padding:0 20px 20px}.record-list>a,.record-list>div{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-top:1px solid var(--border);color:var(--text);text-decoration:none}.record-list span{color:var(--muted);font-size:11px}.empty-inline{color:var(--muted);padding:10px 20px 20px}.section-gap{margin-top:16px}.profile-callout{display:flex;flex-direction:column;gap:7px;padding:5px 20px 25px}.status-badge{display:inline-flex;padding:5px 8px;border-radius:15px;background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status-new{background:rgba(46,111,149,.12);color:#2e6f95}.status-assigned,.status-driver_en_route,.status-in_transit,.status-on_job{background:rgba(226,177,76,.16);color:#a66a00}.status-arrived,.status-vehicle_loaded,.status-delivered{background:rgba(91,87,174,.13);color:#6458b7}.status-completed,.status-available{background:rgba(25,135,84,.12);color:var(--green)}.status-cancelled,.status-inactive{background:rgba(199,59,75,.12);color:var(--red)}.status-on_hold,.status-maintenance,.status-workshop,.status-off_duty{background:rgba(108,120,134,.14);color:var(--muted)}.line-items{padding:0 20px 15px;display:grid;gap:9px}.line-item{display:grid;grid-template-columns:120px minmax(180px,1fr) 90px 120px 90px 38px;gap:8px;align-items:center}.line-item.cost{grid-template-columns:150px minmax(180px,1fr) 130px 38px}.remove-line{height:38px;border:1px solid var(--border);background:var(--surface);color:var(--red);border-radius:8px;cursor:pointer;font-size:20px}.discount-row{display:flex;gap:12px;justify-content:flex-end;padding:0 20px 20px}.discount-row label{display:flex;flex-direction:column;gap:5px;font-size:11px}.job-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.8fr);gap:16px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 20px 20px}.summary-card{padding:15px;background:var(--surface-2);border-radius:10px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:5px}.summary-card span,.summary-card small{color:var(--muted);font-size:10px}.route-view{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:5px 25px 25px}.route-view>div{position:relative;padding-left:20px}.route-view small,.route-view strong{display:block;margin-bottom:5px}.route-view p{color:var(--muted);line-height:1.5}.route-dot{position:absolute;left:0;top:3px;width:10px;height:10px;border-radius:50%;background:var(--green)}.route-dot.dropoff{background:var(--red)}.timeline{list-style:none;margin:0;padding:0 25px 25px}.timeline li{display:grid;grid-template-columns:18px 1fr;gap:10px;padding-bottom:20px}.timeline li>span{width:10px;height:10px;margin-top:4px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(226,177,76,.15)}.timeline p{margin:4px 0;color:var(--muted)}.timeline small{color:var(--muted);font-size:10px}.action-panel{padding-bottom:18px}.assignment-summary{padding:0 20px 15px;display:grid;gap:12px}.assignment-summary>div{display:flex;flex-direction:column;gap:4px}.assignment-summary span{font-size:10px;color:var(--muted)}.assignment-summary a{color:var(--blue)}.stack-form{display:grid;gap:11px;padding:12px 20px 0;border-top:1px solid var(--border)}.stack-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700}.dispatch-grid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:14px}.dispatch-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius);padding:16px}.dispatch-head{display:flex;justify-content:space-between;gap:10px}.dispatch-head>div{display:flex;flex-direction:column;gap:5px}.dispatch-head span{font-size:10px;color:var(--muted)}.dispatch-head strong{font-size:18px;letter-spacing:.05em}.dispatch-route{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;padding:12px 0;border-block:1px solid var(--border);font-size:11px}.dispatch-route i{font-style:normal;color:var(--brand-dark)}.dispatch-assignment{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0}.dispatch-assignment span{display:flex;flex-direction:column;color:var(--muted);font-size:9px}.dispatch-assignment strong{color:var(--text);font-size:12px;margin-top:3px}.dispatch-card form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.dispatch-card form button{grid-column:1/-1}.card-link{display:block;text-align:center;color:var(--blue);text-decoration:none;font-weight:700;font-size:11px;margin-top:12px}.empty-state{grid-column:1/-1;padding:35px;text-align:center}.calendar-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{padding:10px;text-align:center;background:var(--surface-2);font-size:10px;color:var(--muted);font-weight:800}.calendar-day{min-height:120px;padding:9px;border-top:1px solid var(--border);border-right:1px solid var(--border)}.calendar-day.blank{background:var(--surface-2)}.calendar-day>a{display:block;margin-top:7px;padding:6px;background:var(--surface-2);border-radius:6px;color:var(--text);text-decoration:none;font-size:10px}.calendar-day>a small{display:block;color:var(--muted);margin:3px 0 0 13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand);margin-right:5px}.search-page-form{display:flex;gap:9px;margin-bottom:20px}.search-page-form input{flex:1;font-size:16px;padding:13px}.search-results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.search-group{min-width:0}.global-search{display:flex}.global-search input{padding:0}.job-form{display:block}
@media(max-width:1200px){.dispatch-grid{grid-template-columns:repeat(2,1fr)}.line-item{grid-template-columns:110px minmax(150px,1fr) 75px 100px 75px 38px}}@media(max-width:900px){.profile-grid,.job-detail-grid{grid-template-columns:1fr}.dispatch-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}.line-item,.line-item.cost{grid-template-columns:1fr 1fr}.line-item .remove-line{grid-column:2}.metric-grid.compact{grid-template-columns:repeat(2,1fr)}.search-results-grid{grid-template-columns:1fr}.calendar-day{min-height:95px}.calendar-day>a small{display:none}}@media(max-width:620px){.button-row{margin-top:12px}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar>input[type=search]{min-width:0}.form-grid{grid-template-columns:1fr}.line-item,.line-item.cost{grid-template-columns:1fr}.line-item .remove-line{grid-column:auto}.discount-row{flex-direction:column}.route-view{grid-template-columns:1fr}.dispatch-card form{grid-template-columns:1fr}.dispatch-card form button{grid-column:auto}.calendar-weekdays span{font-size:8px;padding:7px 2px}.calendar-day{min-height:75px;padding:5px}.calendar-day>a{font-size:8px;padding:4px}.detail-list.columns{grid-template-columns:1fr}.global-search{min-width:0}.global-search input{min-width:0}.top-actions{flex-shrink:0}}
.catalog-list{display:grid;gap:10px;padding:0 20px 20px}.catalog-row{display:grid;grid-template-columns:minmax(150px,1fr) 85px auto auto;gap:8px;align-items:center}.catalog-row.new{padding-top:14px;border-top:1px solid var(--border)}@media(max-width:760px){.catalog-row{grid-template-columns:1fr 80px}.catalog-row label,.catalog-row button{width:100%}}

/* Phase 3 billing */
.danger-button{border:0;border-radius:10px;background:#b42318;color:#fff;padding:10px 14px;font-weight:700;cursor:pointer}.status-issued{background:#eaf2ff;color:#175cd3}.status-partially_paid{background:#fff4e5;color:#b54708}.status-paid{background:#e9f9ef;color:#027a48}.status-overdue,.status-void{background:#fff0f0;color:#b42318}@media print{.sidebar,.topbar,.button-row,.job-actions,.filter-bar{display:none!important}.main-column{margin:0!important}.content{padding:0!important}.panel{box-shadow:none!important;border-color:#ddd!important}}

/* Phase 4 finance + fleet */
.mini-payment-form{display:flex;gap:6px;align-items:center;min-width:245px}.mini-payment-form input{width:88px}.mini-payment-form select{max-width:105px}.status-unpaid{background:#fff0f0;color:#b42318}.status-overdue{background:#fff0f0;color:#b42318}.muted-note{color:var(--muted);font-size:11px;margin-top:12px}.form-panel input[type=file]{padding:8px;background:var(--surface-2)}@media(max-width:760px){.mini-payment-form{min-width:220px}.metric-grid.compact{grid-template-columns:1fr 1fr}}

/* Phase 8 driver mobile */
.driver-mobile-wrap{max-width:760px;margin:0 auto}.driver-mobile-hero,.driver-job-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.driver-mobile-hero h1,.driver-job-header h1{margin:4px 0 6px;font-size:30px}.driver-job-list{display:grid;gap:12px}.driver-job-card,.driver-primary-card,.driver-section{display:block;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;color:var(--text);text-decoration:none}.driver-job-card{box-shadow:0 8px 22px rgba(16,24,40,.05)}.driver-job-top,.driver-job-bottom,.driver-customer,.driver-meta{display:flex;justify-content:space-between;align-items:center;gap:12px}.driver-job-top small,.driver-route span,.driver-customer span,.driver-meta span{display:block;color:var(--muted);font-size:10px}.driver-job-top strong{font-size:24px;letter-spacing:.06em}.driver-route{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:14px 0;padding:14px 0;border-block:1px solid var(--border)}.driver-route b{display:block;margin-top:4px}.driver-route i{font-style:normal;color:var(--brand-dark);font-weight:800}.driver-route.big{grid-template-columns:1fr;margin:16px 0}.driver-route.big i{text-align:center}.driver-route.big small{display:block;margin-top:4px;color:var(--muted)}.driver-route.big a{display:inline-block;margin-top:8px;color:var(--blue);font-weight:800}.driver-job-bottom{font-size:11px}.driver-job-bottom strong{color:var(--green)}.driver-primary-card{margin-bottom:12px}.driver-call{display:grid;place-items:center;min-width:70px;height:44px;border-radius:12px;background:var(--green);color:#fff;text-decoration:none;font-weight:800}.driver-meta{padding-top:4px}.driver-meta b{display:block;color:var(--text);margin-top:3px}.mobile-back{display:inline-block;color:var(--blue);font-weight:800;text-decoration:none;margin-bottom:8px}.driver-action-form{margin:12px 0}.driver-big-button{width:100%;min-height:50px;border:0;border-radius:13px;background:var(--brand);color:#17212b;font-weight:900;font-size:14px;cursor:pointer}.driver-big-button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.driver-big-button.success{background:var(--green);color:#fff}.driver-section{margin-top:12px}.driver-section h2{font-size:16px;margin:0 0 12px}.driver-status-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.driver-card-form{display:grid;gap:10px}.driver-card-form.two{grid-template-columns:1fr 1fr}.driver-card-form .full{grid-column:1/-1}.driver-card-form input,.driver-card-form select,.driver-card-form textarea{width:100%;box-sizing:border-box}.driver-help{color:var(--muted);font-size:11px;line-height:1.5;margin:-4px 0 12px}.proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.proof-grid a{display:flex;flex-direction:column;gap:3px;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);text-decoration:none}.proof-grid small{color:var(--muted)}.staff-proof{padding:0 20px 20px}.driver-mini-list{display:grid;gap:0;margin-top:12px;border-top:1px solid var(--border)}.driver-mini-list.padded{padding:0 20px 20px}.driver-mini-list>div{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--border);font-size:11px}.driver-mini-list .stack{display:flex;flex-direction:column;align-items:flex-start}.driver-mini-list small{color:var(--muted)}#signature-pad{display:block;width:100%;height:150px;background:#fff;border:1px dashed #aab3bd;border-radius:10px;touch-action:none}.signature-actions{display:grid;grid-template-columns:100px 1fr;gap:8px}.signature-saved{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:11px;border-radius:10px;background:rgba(25,135,84,.1);color:var(--green);font-weight:800}.signature-saved a{color:var(--green)}.signature-saved span{font-size:10px;font-weight:500}.driver-job-header{align-items:flex-end}.driver-job-header>div{text-align:right}
@media(max-width:620px){.content{padding:14px}.driver-mobile-wrap{max-width:none}.driver-mobile-hero h1,.driver-job-header h1{font-size:26px}.driver-job-card,.driver-primary-card,.driver-section{border-radius:14px;padding:14px}.driver-route{grid-template-columns:1fr}.driver-route i{text-align:center;transform:rotate(90deg)}.driver-route.big i{transform:none}.driver-status-actions,.driver-card-form.two,.proof-grid{grid-template-columns:1fr}.driver-card-form .full{grid-column:auto}.signature-actions{grid-template-columns:90px 1fr}.topbar{min-height:56px}.driver-job-top strong{font-size:21px}}


/* Final production polish */
.notification-bell{position:relative;text-decoration:none}.notification-bell b{position:absolute;top:-5px;right:-7px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#d92d20;color:#fff;font-size:9px;border:2px solid var(--surface)}
.notification-list{overflow:hidden}.notification-row{display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:flex-start;padding:15px 18px;border-bottom:1px solid var(--border)}.notification-row:last-child{border-bottom:0}.notification-row.unread{background:rgba(46,144,250,.06)}.notification-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);margin-top:6px}.notification-row.unread .notification-dot{background:var(--blue)}.notification-row p{margin:4px 0;color:var(--muted);font-size:12px}.notification-row small{color:var(--muted);font-size:10px}.notification-actions{align-self:center}.small-button{display:inline-flex;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:7px 10px;border-radius:8px;font-size:10px;font-weight:800;text-decoration:none;cursor:pointer}.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.health-list{padding:0 20px 18px}.health-list>div{display:flex;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.health-list>div:last-child{border-bottom:0}.health-list strong,.health-list small{display:block}.health-list small{margin-top:3px;color:var(--muted)}.health-icon{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;font-weight:900}.health-icon.ok{background:rgba(18,183,106,.12);color:#039855}.health-icon.bad{background:rgba(217,45,32,.12);color:#d92d20}.panel-footer{padding:12px 20px 18px;border-top:1px solid var(--border)}.status-warning{background:#fff4e5;color:#b54708}
.nav-link{transition:background .15s ease,transform .15s ease}.nav-link:hover{transform:translateX(2px)}.panel,.metric-card,.driver-job-card{box-shadow:0 7px 24px rgba(16,24,40,.045)}
@media(max-width:900px){.health-grid{grid-template-columns:1fr}}
@media(max-width:620px){.notification-row{grid-template-columns:8px 1fr;padding:13px}.notification-actions{grid-column:2}.top-actions{gap:5px}.top-actions .sign-out{padding-inline:9px}.notification-bell{flex:0 0 auto}}

/* Company branding settings */
.brand-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#fff;overflow:hidden;flex:0 0 42px}.brand-logo img{width:100%;height:100%;object-fit:contain;padding:3px}.branding-editor{display:flex;align-items:center;gap:20px;min-width:0}.logo-preview-box{width:110px;height:110px;border:1px dashed var(--border);border-radius:16px;background:var(--surface-2);display:grid;place-items:center;overflow:hidden;flex:0 0 110px}.logo-preview-box img{width:100%;height:100%;object-fit:contain;padding:10px}.branding-upload{display:grid;gap:9px;min-width:0}.branding-upload label:not(.checkbox){display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700}.branding-upload small{color:var(--muted);font-size:11px}.branding-upload input[type=file]{width:100%}@media(max-width:620px){.branding-editor{align-items:flex-start;flex-direction:column}.logo-preview-box{width:96px;height:96px;flex-basis:96px}}

/* Driver commission dashboard */
.driver-performance-grid{padding:0 16px 16px}.driver-pay-card strong{font-size:26px}.driver-target-panel{overflow:hidden}.driver-target-body{padding:0 20px 20px}.driver-target-body p{margin:10px 0 0;color:var(--muted);font-size:12px}.driver-target-good{color:var(--green)!important;font-weight:800}.driver-progress{height:11px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;overflow:hidden}.driver-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--green));border-radius:999px;min-width:0;transition:width .25s ease}@media(max-width:520px){.driver-performance-grid{padding:0 10px 10px}.driver-pay-card{grid-column:1/-1}.driver-target-panel .panel-heading{align-items:flex-start;gap:10px}.driver-target-panel .panel-heading>strong{white-space:nowrap}}

/* Logo containment hotfix */
.sidebar{overflow:hidden}
.brand{min-width:0;overflow:hidden}
.brand-logo{display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;min-height:42px!important;max-height:42px!important;overflow:hidden!important;border-radius:10px;background:#fff;flex:0 0 42px!important}
.brand-logo img{display:block!important;width:100%!important;height:100%!important;max-width:42px!important;max-height:42px!important;object-fit:contain!important;object-position:center!important;padding:3px!important;margin:0!important;position:static!important;transform:none!important}
@media(max-width:820px){.sidebar .brand-logo,.sidebar .brand-logo img{max-width:42px!important;max-height:42px!important}}

/* 2026 visual refresh — premium 3D + mobile hardening */
:root{--shadow-3d:0 14px 34px rgba(18,32,48,.10),0 2px 5px rgba(18,32,48,.05);--shadow-soft:0 8px 20px rgba(18,32,48,.07);--ring:0 0 0 4px rgba(226,177,76,.14)}
html,body{max-width:100%;overflow-x:hidden}.main-column,.content,.panel,.form-panel,.table-panel,.page-heading,.dashboard-grid,.job-detail-grid{min-width:0}.content>*{max-width:100%}
.panel,.metric-card,.driver-job-card,.driver-primary-card,.driver-section,.summary-card,.dispatch-card{border-color:color-mix(in srgb,var(--border) 88%,transparent);box-shadow:var(--shadow-3d);background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface-2) 58%,var(--surface)));transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.panel:hover,.metric-card:hover,.summary-card:hover{box-shadow:0 18px 42px rgba(18,32,48,.12);border-color:color-mix(in srgb,var(--brand) 28%,var(--border))}.metric-card{isolation:isolate}.metric-card:after{content:"";position:absolute;inset:0 0 auto 0;height:45%;background:linear-gradient(180deg,rgba(255,255,255,.25),transparent);pointer-events:none;z-index:-1}.primary-button,.secondary-button,.danger-button,.small-button,.driver-big-button,.sign-out,.icon-button{box-shadow:0 5px 12px rgba(20,31,42,.08);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.primary-button:hover,.secondary-button:hover,.danger-button:hover,.small-button:hover,.driver-big-button:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(20,31,42,.12)}.primary-button{background:linear-gradient(145deg,#f3ca68,var(--brand));border:1px solid rgba(154,107,12,.18)}.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:linear-gradient(145deg,var(--surface),var(--surface-2));color:var(--text);text-decoration:none;font-weight:800;padding:10px 14px;border-radius:9px;cursor:pointer}.danger-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b42318;background:linear-gradient(145deg,#e24a3b,#b42318);color:#fff;text-decoration:none;font-weight:800;padding:10px 14px;border-radius:9px;cursor:pointer}.danger-outline{color:#b42318;border-color:rgba(180,35,24,.35)}.small-danger{padding:10px 13px}.inline-action{display:inline-flex;margin:0}.compact-actions{gap:6px;flex-wrap:wrap}.table-subtext{display:block;color:var(--muted);margin-top:4px;font-size:10px}.info-panel{padding:18px 20px}.info-panel p{margin:5px 0 0;color:var(--muted)}
input,textarea,select{max-width:100%;box-shadow:inset 0 1px 2px rgba(16,24,40,.04);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}input:focus,textarea:focus,select:focus{border-color:var(--brand-dark);box-shadow:var(--ring);outline:0}.form-section{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--surface-2) 22%,transparent))}.table-wrap{-webkit-overflow-scrolling:touch}.table-panel{border-radius:var(--radius)}th{position:sticky;top:0;z-index:1}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.status-active,.status-completed,.status-paid{background:rgba(25,135,84,.12);color:var(--green)}.status-inactive,.status-cancelled,.status-void{background:rgba(199,59,75,.12);color:var(--red)}.status-locked{background:rgba(216,127,42,.14);color:#b45d05}.danger-zone-content{padding:0 20px 20px}.danger-zone-content>p{color:var(--muted);line-height:1.65}.confirm-form{display:grid;gap:10px;margin-top:14px}.confirm-form label{display:grid;gap:7px;font-weight:700}.danger-pill{background:rgba(199,59,75,.12);color:var(--red)}
@media(max-width:820px){body{font-size:13px}.topbar{height:60px;gap:8px}.content{padding:14px 12px 24px}.page-heading{margin-bottom:16px;flex-direction:column;gap:12px}.page-heading h1{font-size:24px}.page-heading .button-row{width:100%;display:flex;flex-wrap:wrap}.page-heading .button-row>*{flex:1 1 auto}.metric-grid,.metric-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{padding:14px}.metric-card strong{font-size:20px}.dashboard-grid{grid-template-columns:1fr}.panel-heading{padding:16px 14px 12px}.form-section{grid-template-columns:1fr;gap:14px;padding:18px 14px}.form-actions{padding:15px 14px}.table-wrap{width:100%;overflow-x:auto}.global-search{height:38px}.sidebar{width:min(86vw,300px)}.sidebar-user{padding-bottom:max(17px,env(safe-area-inset-bottom))}}
@media(max-width:620px){input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px!important;line-height:1.25;min-height:44px}input[type=file]{font-size:16px!important}.global-search input{font-size:16px!important;min-height:36px}.form-grid{gap:13px}.button-row{display:flex;flex-wrap:wrap;gap:7px}.button-row>.primary-button,.button-row>.secondary-button,.button-row>form{flex:1 1 auto}.button-row>form>button{width:100%}.top-actions .sign-out{font-size:11px}.metric-grid,.metric-grid.compact{grid-template-columns:1fr 1fr}.metric-card span{font-size:10px}.metric-card strong{font-size:19px}.driver-mobile-wrap{width:100%;overflow:hidden}.driver-job-card,.driver-primary-card,.driver-section{width:100%;max-width:100%}.driver-job-top,.driver-job-bottom,.driver-customer,.driver-meta{min-width:0;flex-wrap:wrap}.driver-route b,.driver-customer strong,.driver-meta b{overflow-wrap:anywhere}.calendar-grid{overflow-x:auto}.calendar-weekdays,.calendar-days{min-width:560px}.branding-editor{width:100%}.logo-preview-box{max-width:100%}.health-grid{gap:10px}}
@media(max-width:390px){.metric-grid,.metric-grid.compact{grid-template-columns:1fr}.top-actions{gap:3px}.icon-button{width:36px}.content{padding-inline:10px}.driver-mobile-hero,.driver-job-header{flex-direction:column;align-items:stretch}.driver-job-header>div{text-align:left}}
.import-card-body{padding:0 20px 20px}.import-card-body .form-grid{grid-template-columns:1fr}.import-card-body p{line-height:1.6}
.card{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface-2) 58%,var(--surface)));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-3d);padding:20px;min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:10px 14px;font-weight:800;text-decoration:none;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.btn.primary{background:linear-gradient(145deg,#f3ca68,var(--brand));color:#17202a;border-color:rgba(154,107,12,.18)}img,svg,canvas,video{max-width:100%}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-head h1{margin:0 0 5px}.page-head p{margin:0;color:var(--muted)}
@media(max-width:820px){.page-head{flex-direction:column;gap:12px}.card{padding:14px}}

/* Role & Permission Matrix */
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.permission-module{padding:18px;overflow:hidden}.permission-module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.permission-module-head h2{font-size:1.03rem;margin:2px 0 0}.permission-list{display:grid;gap:9px}.permission-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,var(--surface),var(--surface-2));cursor:pointer;transition:.18s ease;box-shadow:0 5px 14px rgba(15,39,71,.06)}.permission-item:hover{transform:translateY(-1px);border-color:var(--accent)}.permission-item.is-selected{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));box-shadow:0 7px 18px rgba(15,39,71,.09)}.permission-item input{width:19px;height:19px;margin-top:2px;flex:0 0 auto}.permission-item span{display:grid;gap:3px;min-width:0}.permission-item strong{font-size:.93rem}.permission-item small{color:var(--muted);line-height:1.35}.permission-item code{width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;color:var(--muted);background:var(--surface-2);padding:2px 6px;border-radius:6px}.sticky-save{position:sticky;bottom:12px;z-index:8;margin-top:18px;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 12px 32px rgba(10,28,52,.15)}.sticky-save div{display:grid;gap:2px}.sticky-save small{color:var(--muted)}
@media(max-width:900px){.permission-grid{grid-template-columns:1fr}.permission-module{padding:14px}.sticky-save{bottom:8px;align-items:stretch;flex-direction:column}.sticky-save .primary-button{width:100%;justify-content:center}.permission-item{padding:12px 10px}}
