:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f7f5ef;color:#17211d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh;padding:20px}.driver-shell{max-width:520px;margin:0 auto}.admin-shell{display:grid;place-items:center}.driver-header,.admin-top,.section-heading,.status-strip,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.driver-header{padding:22px 0 12px}.driver-header h1,.admin-top h1,.login-panel h1,.empty-state h1{margin:0;font-size:28px;line-height:1.1}.driver-header p,.login-panel p,.empty-state p,.helper-text{margin:6px 0 0;color:#66736d}.eyebrow{display:block;color:#6d5d1d;font-size:12px;font-weight:800;text-transform:uppercase}.login-panel,.empty-state,.panel,.report-panel{background:#fff;border:1px solid #dedbd2;border-radius:8px;padding:22px;box-shadow:0 10px 30px #12262014}.login-panel{margin-top:70px}.empty-state{margin-top:120px;text-align:center}.form-stack{display:grid;gap:14px;margin-top:20px}label{display:grid;gap:6px;color:#34423c;font-weight:700;font-size:14px}input,select{width:100%;min-height:46px;border:1px solid #cfcabf;border-radius:6px;background:#fffefb;color:#17211d;padding:10px 12px}input:focus,select:focus{outline:3px solid rgba(91,179,129,.25);border-color:#2f7d59}.button,.action-button,.icon-button,.text-button,.small-button,.segmented button{border:0;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800}.button{min-height:44px;padding:10px 14px;background:#e8e2d2;color:#17211d}.button.primary,.primary-action{background:#122620;color:#fffefb}.button.full{width:100%}.icon-button{width:44px;height:44px;background:#e8e2d2;color:#17211d;flex:0 0 auto}.text-button{background:transparent;color:#245b42;padding:10px 0}.small-button{min-height:34px;padding:6px 10px;background:#edf4ef;color:#245b42}.small-button.icon-only{width:34px;padding:6px}.small-button.danger{background:#f8dedb;color:#8c2f25}.action-group{display:inline-flex;gap:8px;flex-wrap:wrap}.pin-cell{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.pin-value{min-width:42px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:0}.status-strip{background:#fff;border:1px solid #dedbd2;border-radius:8px;padding:10px;margin-bottom:14px}.status-pill{min-height:34px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-weight:800;font-size:13px}.status-pill.ok{background:#dff1e4;color:#235d3f}.status-pill.danger{background:#f8dedb;color:#8c2f25}.status-pill.neutral{background:#eee9dc;color:#584f3b}.driver-actions{display:grid;gap:14px;margin-top:18px}.action-button{width:100%;min-height:86px;padding:18px;background:#fff;border:1px solid #dedbd2;color:#17211d;font-size:18px}.active-trip{display:grid;gap:4px;padding:14px;border-radius:8px;background:#fff6d9;border:1px solid #edd27b}.active-trip.compact{margin-bottom:16px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice,.error{padding:10px 12px;border-radius:6px;font-weight:700}.notice{background:#edf4ef;color:#245b42}.error{background:#f8dedb;color:#8c2f25}.metric-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #dedbd2}.segmented{display:inline-flex;background:#eee9dc;border-radius:6px;padding:3px}.segmented button{min-height:34px;padding:6px 10px;background:transparent;color:#564f43}.segmented button.active{background:#fff;color:#17211d}.history-list{display:grid}.history-item{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #ede8dc}.history-item small{display:block;color:#66736d}.history-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.inline-panel{border:1px solid #dedbd2;border-radius:8px;padding:14px;background:#fffefb}.dot{width:10px;height:10px;border-radius:999px}.dot.green{background:#2f9b63}.dot.yellow{background:#dfb22f}.dot.red{background:#c5483c}.dot.gray{background:#9ca39f}.admin-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#122620;color:#fffefb;padding:20px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{min-height:42px;border:0;border-radius:6px;display:flex;align-items:center;gap:10px;padding:10px;background:transparent;color:#fffefb;text-align:left}.sidebar nav button.active,.sidebar nav button:hover{background:#26443a}.sidebar .text-button{color:#fffefb;margin-top:auto}.admin-content{padding:24px;min-width:0}.summary-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin:18px 0}.metric{background:#fff;border:1px solid #dedbd2;border-radius:8px;padding:14px;display:grid;gap:6px}.metric span{color:#66736d;font-size:13px}.metric strong{font-size:24px}.admin-section{display:grid;gap:14px}.inline-form,.toolbar{background:#fff;border:1px solid #dedbd2;border-radius:8px;padding:12px}.inline-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto auto;gap:10px;align-items:end}.inline-form.compact-form{grid-template-columns:minmax(220px,1fr) 150px auto auto}.toolbar{justify-content:flex-start;flex-wrap:wrap}.toolbar label{width:160px}.table-wrap{overflow:auto;background:#fff;border:1px solid #dedbd2;border-radius:8px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:12px;text-align:left;border-bottom:1px solid #ede8dc;vertical-align:middle}th{background:#f0ecdf;color:#4f5c56;font-size:13px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.report-panel h2{margin-top:0}.report-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ede8dc}@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:2;padding:12px}.sidebar nav{grid-template-columns:repeat(6,minmax(90px,1fr));overflow-x:auto}.summary-grid,.inline-form,.inline-form.compact-form,.report-grid{grid-template-columns:1fr}}@media(max-width:520px){.shell{padding:14px}.driver-header h1,.admin-top h1,.login-panel h1{font-size:24px}.two-col{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}}
