:root{color-scheme:light;--bg: #f4f6f5;--panel: #ffffff;--panel-soft: #f8faf9;--ink: #16211d;--muted: #66756f;--line: #dce4e0;--primary: #2f6b57;--primary-dark: #225242;--blue: #275f91;--amber: #b87417;--red: #b43b35;--yellow: #fff4bf;--shadow: 0 16px 40px rgba(22, 33, 29, .08);font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 13px;color:var(--ink);background:#fff;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2f6b571f}svg{width:20px;height:20px;flex:0 0 auto}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(47,107,87,.14),transparent 34%),linear-gradient(315deg,rgba(39,95,145,.14),transparent 36%),var(--bg)}.auth-panel{width:min(440px,100%);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:var(--shadow)}.auth-panel.wide{width:min(560px,100%)}.brand-line,.notice-panel,.mobile-header,.admin-brand,.modal-title,.call-strip,.signature-area>div:first-child{display:flex;align-items:center;gap:12px}.brand-line{margin-bottom:24px}.brand-line svg{width:42px;height:42px;padding:9px;border-radius:8px;color:#fff;background:var(--primary)}.brand-line h1,.mobile-header h1,.admin-header h1{margin:0;font-size:24px;line-height:1.2}.brand-line p,.mobile-header span,.admin-brand span,.signature-area span{margin:4px 0 0;color:var(--muted);font-size:14px}.stack-form{display:grid;gap:16px}.stack-form label{display:grid;gap:8px;color:var(--muted);font-size:14px}.primary-button,.secondary-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;min-height:44px;padding:11px 16px;font-weight:700}.primary-button{color:#fff;background:var(--primary)}.primary-button:hover{background:var(--primary-dark)}.secondary-button{color:var(--ink);background:var(--panel-soft);border:1px solid var(--line)}.icon-button{width:42px;min-height:42px;padding:0;color:var(--ink);background:var(--panel-soft);border:1px solid var(--line)}.settings-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:8px;background:var(--panel-soft);border:1px solid var(--line)}.settings-action-row div{display:grid;gap:3px}.settings-action-row span{color:var(--muted);font-size:13px}.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px;color:var(--primary);font-weight:700}.error-text,.warn-text{border-radius:8px;padding:11px 13px;color:#7c1e19;background:#fff0ef;border:1px solid #f0c8c5}.success-text{border-radius:8px;padding:11px 13px;color:#1d5b45;background:#ecf8f2;border:1px solid #bddfd2}.mobile-screen{min-height:100vh;max-width:680px;margin:0 auto;padding:16px 16px 96px;background:var(--bg)}.mobile-header{position:sticky;top:0;z-index:10;justify-content:space-between;padding:12px 0 16px;background:#f4f6f5f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.driver-summary,.status-panel,.notice-panel,.list-section,.capture-form,.confirm-form,.report-form,.success-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:0 8px 22px #16211d0d}.records-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.records-heading span{color:var(--muted);font-size:12px}.driver-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.driver-summary div{display:grid;gap:4px}.driver-summary span,.mini-row small{color:var(--muted);font-size:13px}.driver-summary strong{font-size:20px}.driver-welcome{display:flex;justify-content:space-between;gap:14px;margin-bottom:12px;padding:2px 2px 4px}.driver-welcome div:last-child{text-align:right}.driver-welcome span{display:block;color:var(--muted);font-size:12px}.driver-welcome strong{display:block;margin-top:3px;font-size:18px}.today-status{display:flex;align-items:center;gap:13px;margin-bottom:12px;padding:15px;border:1px solid #cddbd5;border-radius:8px;background:#fff}.today-status .status-icon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;background:var(--primary)}.today-status.waiting .status-icon{background:var(--blue)}.today-status.done .status-icon{background:var(--primary)}.today-status span,.today-status strong,.today-status small{display:block}.today-status span{color:var(--muted);font-size:12px}.today-status strong{margin-top:2px;font-size:19px}.today-status small{margin-top:4px;color:var(--muted)}.today-counts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.today-counts div{padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.today-counts span{display:block;color:var(--muted);font-size:12px}.today-counts strong{display:inline-block;margin-top:4px;font-size:25px}.today-counts em{margin-left:4px;color:var(--muted);font-style:normal;font-size:12px}.primary-ticket-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.primary-ticket-actions .action-tile{min-height:132px;font-size:17px}.primary-ticket-actions .action-tile svg{width:36px;height:36px}.secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.secondary-action{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--panel);font-weight:700}.secondary-action.report svg{color:var(--amber)}.secondary-action.call svg{color:var(--red)}.records-heading a{color:var(--primary);font-size:13px;font-weight:700}.driver-period-switch{display:flex;align-items:stretch;overflow:hidden;margin:4px 0 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.driver-period-switch button,.driver-period-switch label{display:inline-flex;align-items:center;justify-content:center;min-height:42px;flex:1;padding:0 8px;color:var(--muted);border:0;border-right:1px solid var(--line);background:transparent;font:inherit;font-size:13px;font-weight:700}.driver-period-switch label{gap:5px;flex-direction:column}.driver-period-switch label:last-child{border-right:0}.driver-period-switch .active{color:#fff;background:var(--primary)}.driver-period-switch input{width:100%;min-height:0;padding:0;color:inherit;border:0;border-radius:0;background:transparent;font-size:11px;text-align:center}.trip-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}.trip-summary-grid div{padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.trip-summary-grid span{display:block;color:var(--muted);font-size:12px}.trip-summary-grid strong{display:inline-block;margin-top:3px;font-size:21px}.trip-summary-grid em{margin-left:3px;color:var(--muted);font-style:normal;font-size:12px}.trip-list-heading{margin-top:2px}.driver-trip-row{padding:12px 0;border-top:1px solid var(--line)}.trip-row-main{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.trip-row-main strong,.trip-row-main span,.trip-row-main small{display:block}.trip-row-main span,.trip-row-main small,.trip-row-meta,.trip-close-reason{color:var(--muted);font-size:12px}.trip-row-main span{margin-top:4px;font-size:13px}.trip-row-main small{margin-top:4px}.trip-status{flex:0 0 auto;border-radius:999px;padding:4px 8px;color:#275f91;background:#e8f1fa;font-size:12px}.trip-status.completed{color:#1d5b45;background:#e7f5ee}.trip-status.closed_with_reason,.trip-status.unmatched_exception{color:#8b5714;background:#fff4dc}.trip-row-meta{display:flex;gap:14px;margin-top:8px}.trip-close-reason{display:block;margin-top:7px}.notice-panel{margin-bottom:14px}.notice-panel svg{color:var(--primary)}.notice-panel.muted svg{color:var(--blue)}.notice-panel strong,.notice-panel span{display:block}.notice-panel span{color:var(--muted);margin-top:3px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.action-tile{position:relative;min-height:106px;display:grid;align-content:center;justify-items:center;gap:10px;border-radius:8px;color:#fff;font-weight:800;box-shadow:var(--shadow);overflow:hidden}.action-tile svg{width:30px;height:30px}.action-tile.load{background:var(--primary)}.action-tile.unload{background:var(--blue)}.action-tile.report{background:var(--amber)}.action-tile.call{background:#5d6370}.action-tile input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.action-tile.wechat-entry{width:100%;border:0;font-size:inherit;cursor:pointer}.action-tile.wechat-entry small{font-size:12px;font-weight:500;opacity:.85}.list-section h2,.data-panel h2{margin:0 0 12px;font-size:18px}.mini-row{display:grid;grid-template-columns:74px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.mini-row:first-of-type{border-top:0}.mini-row img,.thumb,.report-item img{object-fit:cover;background:var(--panel-soft);border:1px solid var(--line)}.mini-row img{width:74px;height:56px;border-radius:6px}.mini-row strong,.mini-row span,.mini-row small{display:block}.mini-row mark{border-radius:999px;padding:4px 8px;background:var(--yellow);color:#6c5013;font-size:12px}.mobile-tabbar{position:fixed;left:50%;bottom:12px;z-index:20;width:min(648px,calc(100% - 24px));transform:translate(-50%);display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fffffff5;box-shadow:var(--shadow)}.mobile-tabbar a{min-height:54px;display:grid;justify-items:center;align-content:center;gap:4px;border-radius:7px;color:var(--muted);font-size:12px;font-weight:800}.mobile-tabbar svg{width:20px;height:20px}.camera-panel{position:relative;overflow:hidden;aspect-ratio:3 / 4;border-radius:8px;background:#101816;border:1px solid var(--line)}.camera-panel video{width:100%;height:100%;object-fit:cover}.camera-panel .hidden-video{display:none}.face-fallback-preview{width:100%;height:100%;object-fit:cover}.file-button{position:relative;width:100%;cursor:pointer}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.light-sweep{position:absolute;top:0;right:0;bottom:0;left:0;animation:lightSweep 1.6s linear forwards;opacity:.7}.light-sweep.done{opacity:0}@keyframes lightSweep{0%{background:#ff00006b}34%{background:#0038ff6b}67%{background:#00b95e6b}to{background:#fff0}}.status-panel{margin-top:14px;display:grid;gap:12px}.status-panel>span{color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric{display:grid;gap:4px;padding:10px;border-radius:8px;background:var(--panel-soft)}.metric span{color:var(--muted);font-size:12px}.photo-picker{min-height:132px;place-items:center;border:1px dashed var(--primary);border-radius:8px;color:var(--primary);background:#f0f8f4;cursor:pointer}.photo-picker input{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ticket-preview{width:100%;max-height:420px;object-fit:contain;border-radius:8px;border:1px solid var(--line);background:#fff}.location-banner,.ocr-note{border-radius:8px;padding:10px 12px;background:#edf6ff;color:#244f78;border:1px solid #c9def0}.location-banner.warn{background:#fff6df;color:#6f4f12;border-color:#eed79d}.button-row{display:grid;grid-template-columns:1fr 1.25fr 1.2fr;gap:10px}.success-panel{display:grid;justify-items:center;gap:12px;text-align:center;padding:34px 18px}.success-panel>svg{width:56px;height:56px;color:var(--primary)}.call-strip{justify-content:center;min-height:48px;border-radius:8px;color:#fff;background:var(--red);font-weight:800}.admin-app{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.admin-sidebar{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:24px;padding:22px;color:#fff;background:#1f2b27}.admin-brand svg{width:38px;height:38px;padding:8px;border-radius:8px;background:#ffffff1f}.admin-brand span{color:#ffffffb8}.admin-sidebar nav{display:grid;align-content:start;gap:8px}.admin-sidebar nav a{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border-radius:8px;color:#ffffffe0}.admin-sidebar nav a:hover{background:#ffffff1a}.admin-sidebar .secondary-button{color:#fff;background:#ffffff14;border-color:#ffffff29}.admin-content{min-width:0;padding:28px}.admin-header{margin-bottom:20px}.overview-screen{margin:-28px;padding:24px;min-height:100vh;color:#edf5ff;background:radial-gradient(circle at 5% 0%,rgba(33,212,216,.16),transparent 28%),radial-gradient(circle at 95% 5%,rgba(88,166,255,.18),transparent 32%),linear-gradient(135deg,#07101d,#0b1627 55%,#101a2b)}.admin-content:has(.overview-screen)>.admin-header{display:none}.manual-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:16px;border:1px solid #c9dfdc;border-radius:10px;background:linear-gradient(135deg,#effaf8,#f8fcfb)}.manual-intro div,.manual-batch-head div{display:grid;gap:5px}.manual-intro span,.manual-batch-head span{color:var(--muted)}.manual-intro>svg{width:34px;height:34px;color:#177a78}.manual-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--line)}.manual-tabs button{padding:10px 16px;color:var(--muted);border:0;border-bottom:3px solid transparent;background:transparent;font:inherit;font-weight:800;cursor:pointer}.manual-tabs button.active{color:#176d6b;border-bottom-color:#22b8b4}.manual-form,.manual-batch{padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.manual-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px}.manual-form label{display:grid;align-content:start;gap:7px;color:var(--muted);font-size:13px;font-weight:800}.manual-wide{grid-column:1 / -1}.manual-submit{grid-column:1 / -1;justify-self:start}.manual-batch,.manual-preview{display:grid;gap:16px}.manual-batch-head,.manual-upload,.preview-summary,.warning-confirm,.attachment-links{display:flex;align-items:center;gap:12px}.manual-batch-head{justify-content:space-between}.manual-upload input{max-width:520px}.preview-summary span{padding:7px 10px;border-radius:999px;background:var(--panel-soft);font-size:13px;font-weight:800}.preview-summary .ready{color:#17745d;background:#e8f7f0}.preview-summary .warning{color:#8b6500;background:#fff6d7}.preview-summary .skipped{color:#536578;background:#edf2f6}.preview-summary .blocked{color:#a53636;background:#ffeded}.manual-preview-table{min-width:1220px}.manual-history-table{min-width:1480px}.manual-history-table small{display:block;margin-top:4px;color:#946d00}.preview-ready,.preview-warning,.preview-skip,.preview-invalid,.preview-duplicate{padding:4px 7px;border-radius:5px;white-space:nowrap}.preview-ready{color:#17745d;background:#e8f7f0}.preview-warning{color:#8b6500;background:#fff1b8}.preview-skip{color:#536578;background:#edf2f6}.preview-invalid,.preview-duplicate{color:#a53636;background:#fdd}.warning-confirm{color:#7b5d00;font-weight:800}.warning-confirm input{width:auto}.attachment-links{flex-wrap:wrap}.overview-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:18px 20px;border:1px solid rgba(140,174,220,.18);border-radius:8px;background:linear-gradient(135deg,#12233eeb,#0a1220db)}.overview-topline div{display:grid;gap:6px}.overview-topline span{color:#21d4d8;font-size:13px;font-weight:800}.overview-topline strong{font-size:25px}.overview-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.overview-period-switch{display:flex;align-items:stretch;overflow:hidden;border:1px solid rgba(140,174,220,.24);border-radius:7px;background:#050e1c7a}.overview-period-switch button,.overview-period-switch label{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;color:#aebfd4;border:0;border-right:1px solid rgba(140,174,220,.18);background:transparent;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.overview-period-switch label{gap:7px}.overview-period-switch label:last-child,.overview-period-switch button:last-child{border-right:0}.overview-period-switch button.active,.overview-period-switch label.active{color:#07101d;background:#21d4d8}.overview-period-switch input{width:118px;color-scheme:dark;color:inherit;border:0;outline:0;background:transparent;font:inherit;font-size:12px}.overview-period-switch label.active input{color-scheme:light}.overview-refresh{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;color:#edf5ff;border:1px solid rgba(33,212,216,.3);border-radius:7px;background:#21d4d814}.overview-kpis{display:grid;grid-template-columns:repeat(8,minmax(105px,1fr));gap:12px;margin-bottom:14px}.overview-kpi{position:relative;padding:15px;overflow:hidden;border:1px solid rgba(140,174,220,.18);border-radius:8px;background:#0f1c30d1}.overview-kpi.clickable{color:inherit;text-decoration:none;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.overview-kpi.clickable:hover{border-color:#21d4d8b3;transform:translateY(-1px)}.overview-kpi:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,#21d4d8,#58a6ff)}.overview-kpi.alert:after{background:linear-gradient(90deg,#f7c948,#ff6b6b)}.overview-kpi span{display:block;color:#8ea4bf;font-size:13px}.overview-kpi strong{display:inline-block;margin-top:8px;font-size:27px}.overview-kpi em{margin-left:5px;color:#8ea4bf;font-style:normal;font-size:12px}.overview-grid{display:grid;gap:14px;margin-bottom:14px}.overview-grid-main{grid-template-columns:1.2fr 1fr .85fr}.overview-grid-secondary{grid-template-columns:1fr 1fr .72fr}.overview-grid-details{grid-template-columns:1.25fr 1fr .72fr}.overview-panel{min-width:0;overflow:hidden;border:1px solid rgba(140,174,220,.18);border-radius:8px;background:#0f1c30d1;box-shadow:0 18px 46px #0003}.overview-panel-title{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px 0}.overview-panel-title span{color:#8ea4bf;font-size:12px}.overview-panel-title a{color:#21d4d8;font-size:12px;text-decoration:none}.overview-panel-title a:hover{text-decoration:underline}.overview-title-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.detail-clear-button{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 9px;color:#07101d;border:0;border-radius:6px;background:#21d4d8;font:inherit;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.detail-clear-button svg{width:14px;height:14px}.detail-clear-button:disabled{color:#8ea4bf;background:#8caedc1f;cursor:not-allowed}.panel-select{min-height:30px;max-width:116px;color:#c7d7eb;border:1px solid rgba(140,174,220,.24);border-radius:6px;background:#08111fb8;font:inherit;font-size:12px;font-weight:700}.overview-chart{height:300px}.issue-summary{padding-bottom:12px}.issue-row{display:flex;justify-content:space-between;margin:10px 14px 0;padding:11px 12px;color:#c7d7eb;border:1px solid rgba(247,201,72,.14);border-radius:7px;background:#f7c9480d}.issue-row strong{color:#f7c948}.issue-row.muted{border-color:#8caedc24;background:#8caedc0d}.issue-row.muted strong{color:#8ea4bf}.pending-review,.recent-panel,.active-trips-panel{margin-bottom:14px;padding-bottom:16px}.pending-driver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 16px 0}.pending-driver-grid article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(247,201,72,.18);border-radius:7px;background:#f7c9480d}.pending-driver-grid article span{display:block;margin-top:4px;color:#8ea4bf;font-size:12px}.review-actions{display:flex;gap:7px}.review-actions button{padding:7px 10px;border:0;border-radius:6px;color:#06101f;background:#78e08f}.review-actions button.reject{color:#edf5ff;background:#ff6b6b38}.pending-review .table-wrap{margin:14px 16px 16px;border-color:#8caedc3d;background:#eef2f1}.pending-review .admin-table th{color:#30423b;background:#dfe7e4}.pending-review .admin-table td{color:#20312b;border-color:#d2ddda;background:#f2f5f4}.pending-review .admin-table tr:nth-child(2n) td{background:#e8eeee}.pending-review .admin-table select{color:#16211d;background:#fff;border-color:#c4d0cc}.recent-panel .table-wrap,.active-trips-panel .table-wrap{margin:14px 16px 0;border-color:#8caedc2e}.recent-panel .admin-table th,.active-trips-panel .admin-table th{color:#8ea4bf;background:#08111fe6}.recent-panel .admin-table td,.active-trips-panel .admin-table td{color:#c7d7eb;border-color:#8caedc21;background:#0f1c3080}.recent-panel .empty-state,.active-trips-panel .empty-state{margin:14px 16px 0;color:#8ea4bf;background:#08111f8f}.active-trip-error{margin:14px 16px 0}.active-trip-actions{min-width:74px}.detail-panel{padding-bottom:14px}.detail-list,.plate-list{display:grid;gap:9px;padding:14px 16px 0}.detail-empty{margin:14px 16px 0;padding:13px;color:#8ea4bf;border-radius:7px;background:#08111f8f}.detail-error{margin:14px 16px 0}.match-item,.weight-item{display:grid;gap:4px;padding:11px;color:#c7d7eb;border:1px solid rgba(140,174,220,.16);border-radius:7px;background:#08111f6b}.match-item>small,.match-candidate small{color:#8ea4bf;font-size:12px}.match-item>em{color:#f7c948;font-size:12px;font-style:normal}.match-candidate{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;margin-top:5px;padding:9px;color:#a8c7df;border-radius:6px;background:#21d4d80f;font-size:12px}.match-candidate button{padding:6px 8px;color:#06101f;border:0;border-radius:5px;background:#21d4d8;font:inherit;font-weight:800;cursor:pointer}.match-candidate button:disabled{opacity:.65;cursor:wait}.weight-warning{border-color:#ff8f5cb8;background:#ff8f5c1c}.weight-warning span,.weight-warning em{color:#ffb184}.weight-item span,.weight-item em{font-size:12px;font-style:normal}.plate-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;color:#c7d7eb;border:1px solid rgba(140,174,220,.14);border-radius:7px;background:#08111f6b}.plate-list span{color:#21d4d8;font-weight:800}.form-note{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.edit-modal textarea{min-height:96px;resize:vertical}@media (max-width: 1280px){.overview-kpis{grid-template-columns:repeat(4,minmax(130px,1fr))}.overview-grid-main{grid-template-columns:1fr 1fr}.overview-grid-main>:last-child{grid-column:span 2}.overview-grid-secondary{grid-template-columns:1fr 1fr}.overview-grid-secondary>:last-child{grid-column:span 2}.overview-grid-details{grid-template-columns:1fr 1fr}.overview-grid-details>:last-child{grid-column:span 2}}@media (max-width: 820px){.overview-screen{margin:-18px;padding:14px}.overview-topline{align-items:flex-start;flex-direction:column}.overview-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.overview-kpis{grid-template-columns:repeat(2,minmax(120px,1fr))}.overview-grid-main,.overview-grid-secondary{grid-template-columns:1fr}.overview-grid-main>:last-child{grid-column:auto}.overview-grid-secondary>:last-child{grid-column:auto}.overview-grid-details{grid-template-columns:1fr}.overview-grid-details>:last-child{grid-column:auto}.match-candidate{grid-template-columns:1fr auto}.match-candidate small{grid-column:1}.match-candidate button{grid-column:2;grid-row:1 / span 2}.pending-driver-grid{grid-template-columns:1fr}}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-bottom:16px}.stat-card,.data-panel,.filter-bar,.signature-area,.report-item{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 22px #16211d0a}.stat-card{display:grid;gap:8px;padding:16px}.stat-card span{color:var(--muted);font-size:14px}.stat-card strong{font-size:28px}.data-panel{padding:18px;margin-bottom:16px}.bar-list{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:86px 1fr 64px;gap:12px;align-items:center}.bar-row strong{font-size:14px}.bar-row em{color:var(--muted);font-style:normal;text-align:right}.bar-track{height:12px;overflow:hidden;border-radius:999px;background:#e5ece8}.bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--blue))}.driver-admin-list{display:grid;gap:10px}.driver-admin-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,220px);gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.driver-admin-row strong,.driver-admin-row span{display:block}.driver-admin-row span{color:var(--muted);font-size:13px;margin-top:3px}.inline-form{display:grid;grid-template-columns:minmax(140px,220px) minmax(180px,1fr) auto;gap:10px;margin-top:12px;align-items:center}.mapping-intro p{margin:0;color:var(--muted)}.mapping-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:10px;margin-bottom:16px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.mapping-table{min-width:860px}.mapping-edit,.mapping-delete{margin-right:6px;padding:6px 9px;border:0;border-radius:6px}.mapping-edit{color:#fff;background:var(--primary)}.mapping-delete{color:var(--red);background:#fff0ef}@media (max-width: 1000px){.mapping-form{grid-template-columns:1fr 1fr}}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px;margin-bottom:16px}.filter-bar input,.filter-bar select{width:auto;min-width:150px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.admin-table{width:100%;min-width:1040px;border-collapse:collapse}.admin-table th,.admin-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-size:14px}.admin-table th{color:var(--muted);background:var(--panel-soft);font-weight:800}.thumb{width:58px;height:44px;border-radius:6px}.changed-cell{background:var(--yellow)}.locked-row td{color:#495550;background:#faf9f0}.table-actions{display:flex;align-items:center;gap:8px}.icon-button.danger{color:var(--danger);border-color:#b83a3a38;background:#fff7f7}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#0c12106b}.edit-modal{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;display:grid;gap:14px;padding:20px;border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.modal-title{justify-content:space-between}.modal-title h2{margin:0;font-size:20px}.edit-modal label{display:grid;gap:7px;color:var(--muted)}.change-log{display:grid;gap:6px;padding:12px;border-radius:8px;background:var(--panel-soft)}.change-log p{margin:0;color:var(--muted);font-size:13px}.report-list{display:grid;gap:12px}.report-item{display:grid;gap:12px;padding:16px}.report-item div:first-child{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.report-item strong{color:var(--ink)}.report-item p{margin:0}.photo-line{display:flex;flex-wrap:wrap;gap:8px}.report-item img{width:92px;height:68px;border-radius:6px}.signature-area{display:grid;gap:12px;padding:16px;margin-bottom:16px}.signature-area>div:first-child{justify-content:space-between}.signature-box{display:grid;gap:10px}.signature-box canvas{width:100%;height:180px;border-radius:8px;border:1px solid var(--line);background:#fff;touch-action:none}.empty-state{padding:24px;border-radius:8px;color:var(--muted);background:var(--panel);border:1px solid var(--line);text-align:center}@media (max-width: 860px){.admin-app{display:block}.admin-sidebar{position:static;height:auto;grid-template-rows:auto auto auto}.admin-sidebar nav{grid-template-columns:repeat(2,1fr)}.admin-content{padding:18px 14px 28px}.stat-grid{grid-template-columns:repeat(2,1fr)}.manual-form{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media (max-width: 560px){.auth-screen{padding:14px}.auth-panel{padding:20px}.brand-line h1,.mobile-header h1,.admin-header h1{font-size:22px}.action-grid,.driver-summary,.button-row,.metric-grid,.stat-grid{grid-template-columns:1fr}.mini-row{grid-template-columns:62px 1fr}.mini-row mark{grid-column:2;justify-self:start}.filter-bar input,.filter-bar select,.filter-bar button,.inline-form input,.inline-form button,.driver-admin-row{width:100%}.driver-admin-row,.inline-form,.manual-form{grid-template-columns:1fr}.manual-wide,.manual-submit{grid-column:1}.manual-batch-head,.manual-upload,.preview-summary{align-items:stretch;flex-direction:column}}
