:root{color:#24272c;font-synthesis:none;text-rendering:optimizelegibility;--accent:#b4232d;--accent-dark:#8f1721;--accent-soft:#fff0f1;--border:#d9dde2;--border-strong:#c4c9d0;--muted:#69717c;--surface:#fff;--surface-soft:#f7f8f9;--green:#187454;--green-soft:#eaf6f1;--blue:#24669a;--blue-soft:#eaf3fa;--amber:#9a6100;--amber-soft:#fff6df;--danger:#b4232d;--shadow:0 12px 34px #1c212824;background:#f4f5f6;font-family:Inter,Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#f4f5f6;min-width:320px}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select{color:#24272c;border:1px solid var(--border-strong);background:#fff;border-radius:5px;outline:none;min-width:0}input:focus,select:focus{border-color:#8e98a5;box-shadow:0 0 0 3px #24669a1f}.boot-screen,.loading-state{min-height:100vh;color:var(--muted);place-items:center;display:grid}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:linear-gradient(90deg,#a51f29 0 9px,#0000 9px),#eef0f2;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:var(--surface);border:1px solid var(--border);width:min(410px,100%);box-shadow:var(--shadow);border-radius:8px;padding:34px}.login-brand,.app-brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;background:var(--accent);border-radius:7px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.login-brand h1,.app-brand h1{letter-spacing:0;margin:0;font-size:22px;line-height:1.25}.login-brand p,.app-brand>div>span{color:var(--muted);margin:4px 0 0;font-size:13px}.login-form{gap:18px;margin-top:34px;display:grid}.login-form label,.shift-form label{color:#464c54;gap:7px;font-size:13px;font-weight:650;display:grid}.login-form input,.shift-form>label>input,.form-grid input{width:100%;height:42px;padding:0 11px}.primary-button,.secondary-button,.danger-button,.danger-quiet-button,.text-button{white-space:nowrap;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:var(--accent);border-color:var(--accent)}.primary-button:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.secondary-button,.text-button{color:#373c43;border-color:var(--border-strong);background:#fff}.secondary-button:hover,.text-button:hover{background:var(--surface-soft)}.danger-button{color:#fff;background:var(--danger);border-color:var(--danger)}.danger-button:hover{background:#8f1721}.danger-quiet-button{color:var(--danger);background:var(--accent-soft);border-color:#edc9cd}.login-button{width:100%;height:44px;margin-top:4px}.form-error,.page-error{color:#8f1721;background:var(--accent-soft);border:1px solid #ebc6ca;border-radius:5px;font-size:13px}.form-error{padding:10px 12px}.app-shell{min-height:100vh}.app-header{color:#22262b;border-top:5px solid var(--accent);border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;height:66px;padding:0 24px;display:flex}.app-brand .brand-mark{flex-basis:38px;width:38px;height:38px}.app-brand h1{font-size:18px}.app-brand>div>span{display:block}.header-actions{align-items:center;gap:12px;display:flex}.app-header.roster-header{flex-wrap:wrap;gap:12px;height:auto;min-height:66px;padding-top:10px;padding-bottom:10px}.roster-header .header-actions{flex-wrap:wrap;justify-content:flex-end;min-width:0}.signed-in-user{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.icon-button{color:#505760;border:1px solid var(--border-strong);background:#fff;border-radius:5px;flex:0 0 38px;place-items:center;width:38px;height:38px;padding:0;display:inline-grid}.icon-button:hover{color:#22262b;background:var(--surface-soft)}.icon-button.small{flex-basis:30px;width:30px;height:30px}.danger-icon{color:var(--danger)}.header-icon{border-color:#0000}.workspace{width:100%}.command-bar,.filter-bar,.summary-strip{border-bottom:1px solid var(--border);background:#fff;align-items:center;width:100%;padding-left:24px;padding-right:24px;display:flex}.command-bar{justify-content:space-between;gap:20px;min-height:62px}.workspace>.command-bar{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.workspace>.command-bar .command-actions{flex-wrap:wrap;min-width:0;max-width:100%}.month-controls,.command-actions{align-items:center;gap:8px;display:flex}.month-controls input{width:148px;height:38px;padding:0 10px;font-weight:700}.segmented{background:#eceff2;border-radius:6px;height:38px;padding:3px;display:inline-flex}.segmented button{color:#5a626c;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:6px;min-width:82px;padding:0 11px;font-weight:700;display:inline-flex}.segmented button.active{color:#252a30;background:#fff;box-shadow:0 1px 3px #14191f1f}.filter-bar{background:#fafbfc;gap:9px;min-height:58px}.filter-field,.filter-select{color:#707985;border:1px solid var(--border-strong);background:#fff;border-radius:5px;align-items:center;gap:8px;height:38px;padding:0 10px;display:flex}.filter-field:focus-within,.filter-select:focus-within{border-color:#8e98a5;box-shadow:0 0 0 3px #24669a1a}.filter-field input,.filter-select select{height:34px;box-shadow:none;border:0;padding:0}.filter-field{width:240px}.filter-field.grow{width:min(420px,34vw)}.filter-field.compact{width:160px}.filter-select{width:190px}.filter-select select{width:100%}.vrm-mini{color:#555d67;font-size:10px;font-weight:800}.active-filter{color:#34414b;background:var(--blue-soft);border:1px solid #c9dfef;border-radius:5px;align-items:center;gap:6px;margin:10px 24px 0;padding:5px 8px;font-size:12px;font-weight:700;display:inline-flex}.active-filter button{color:inherit;background:0 0;border:0;place-items:center;padding:0;display:grid}.summary-strip{gap:30px;min-height:66px}.sync-summary{align-items:center;gap:9px;min-width:180px;display:flex}.sync-summary div{gap:2px;display:grid}.sync-summary strong{font-size:13px}.sync-summary span:not(.sync-dot){color:var(--muted);font-size:11px}.sync-dot{background:var(--green);width:9px;height:9px;box-shadow:0 0 0 4px var(--green-soft);border-radius:50%}.sync-attention{background:var(--amber);box-shadow:0 0 0 4px var(--amber-soft)}.sync-unavailable{background:var(--danger);box-shadow:0 0 0 4px var(--accent-soft)}.metric{gap:1px;min-width:78px;display:grid}.metric strong{font-size:19px;line-height:1.1}.metric span{color:var(--muted);font-size:11px}.source-totals{color:var(--muted);align-items:center;gap:16px;margin-left:auto;font-size:12px;display:flex}.source-totals span{align-items:center;gap:5px;display:inline-flex}.warning-text{color:var(--amber);font-weight:700}.page-error{align-items:center;gap:9px;margin:16px 24px 0;padding:11px 13px;display:flex}.page-error button{color:inherit;background:0 0;border:0;margin-left:auto;font-weight:800}.content-area{padding:18px 24px 28px;position:relative}.loading-state{align-content:center;gap:10px;min-height:420px}.refresh-overlay{z-index:15;color:#fff;box-shadow:var(--shadow);background:#30363d;border-radius:5px;align-items:center;gap:8px;padding:9px 12px;font-size:12px;display:flex;position:fixed;bottom:26px;right:26px}.calendar-wrap{border:1px solid var(--border);background:#fff;border-radius:6px;overflow-x:auto}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));min-width:920px;display:grid}.weekday-row{color:#636b75;border-bottom:1px solid var(--border);background:#f2f4f6;height:34px}.weekday-row span{place-items:center;font-size:11px;font-weight:800;display:grid}.calendar-grid{grid-auto-rows:minmax(142px,1fr)}.weekly-calendar .calendar-grid{grid-auto-rows:minmax(280px,auto)}.calendar-day{background:#fff;border-bottom:1px solid #e3e6ea;border-right:1px solid #e3e6ea;min-width:0;padding:7px}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#f8f9fa}.calendar-day.outside .day-heading{opacity:.45}.calendar-day.today{box-shadow:inset 0 3px 0 var(--accent)}.day-heading{color:#4f5761;justify-content:space-between;align-items:center;height:24px;font-size:12px;font-weight:800;display:flex}.weekly-calendar .day-heading{height:30px}.day-heading small{color:#69717c;background:#edf0f2;border-radius:9px;place-items:center;min-width:21px;height:18px;padding:0 5px;font-size:10px;display:grid}.today .day-heading>span{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.day-shifts{gap:4px;display:grid}.calendar-shift{color:#264239;background:var(--green-soft);border:0;border-left:3px solid var(--green);text-align:left;border-radius:3px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;width:100%;min-height:39px;padding:0 6px;font-size:10px;display:grid;overflow:hidden}.calendar-shift:hover{filter:brightness(.97)}.calendar-shift>span{white-space:nowrap;font-variant-numeric:tabular-nums;grid-column:1/-1;font-weight:800}.calendar-shift strong,.calendar-shift small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-shift strong{font-size:10px}.calendar-shift small{color:inherit;font-size:9px}.calendar-shift.shift-api-only{color:#244f70;background:var(--blue-soft);border-left-color:var(--blue)}.calendar-shift.shift-simon-only{color:#6e4b0f;background:var(--amber-soft);border-left-color:var(--amber)}.calendar-shift.shift-conflict{color:#81212a;background:var(--accent-soft);border-left-color:var(--danger)}.more-shifts{color:#58616c;text-align:left;background:0 0;border:0;height:22px;padding:0 5px;font-size:10px;font-weight:800}.fleet-grid-wrap{border:1px solid var(--border);background:#fff;border-radius:5px;width:100%;max-width:100%;min-height:300px;max-height:calc(100vh - 280px);overflow:auto}.fleet-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.fleet-grid th,.fleet-grid td{box-sizing:border-box;vertical-align:top;border:1px solid #dce0e4;border-top:0;border-left:0;width:160px;min-width:160px;height:60px;padding:6px 8px;font-size:13px}.fleet-grid thead th{z-index:3;text-align:center;background:#e9eef0;height:53px;position:sticky;top:0}.fleet-grid thead th span,.fleet-grid thead th strong{display:block}.fleet-grid tbody th{color:#293138;text-align:left;background:#fff;font-weight:700}.fleet-grid tr.fleet-vehicle-start>*{border-top:2px solid #afb9be}.fleet-grid tr>:first-child{z-index:2;width:105px;min-width:105px;position:sticky;left:0}.fleet-grid tr>:nth-child(2){z-index:2;width:100px;min-width:100px;position:sticky;left:105px}.fleet-grid tr>:nth-child(3){z-index:2;width:65px;min-width:65px;position:sticky;left:205px}.fleet-grid thead>tr>:nth-child(-n+3){z-index:4}.fleet-entry{color:#174a38;text-align:left;background:#eaf6ef;border:1px solid #cce6d6;border-radius:3px;gap:2px;width:100%;margin-bottom:4px;padding:4px 5px;display:grid}.fleet-entry strong,.fleet-entry span{overflow-wrap:anywhere;font-size:12px}.fleet-entry span{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.vehicle-settings{margin-top:20px}.vehicle-settings-list{grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:6px;padding:16px 20px;display:grid}.vehicle-setting-row{border:1px solid var(--border);border-radius:4px;grid-template-columns:1fr 72px 30px 20px 66px;align-items:center;gap:5px;min-width:0;padding:8px;font-size:12px;display:grid}.vehicle-setting-row>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vehicle-setting-row input{width:18px;height:18px}.list-wrap{border:1px solid var(--border);background:#fff;border-radius:6px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:900px}th{color:#5e6670;border-bottom:1px solid var(--border);text-align:left;background:#f2f4f6;height:40px;padding:0 13px;font-size:11px}th button{color:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:800;display:inline-flex}td{color:#444b54;border-bottom:1px solid #e7e9ec;height:52px;padding:7px 13px;font-size:12px}tbody tr{cursor:pointer}tbody tr:hover{background:#fafbfc}tbody tr:focus{outline-offset:-2px;outline:2px solid #8cb7d8}td:first-child{min-width:145px}td:first-child strong,td:first-child span{display:block}td:first-child span{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px}.vrm-value{color:#282e34;background:#eceff2;border-radius:3px;padding:3px 7px;font-weight:800;display:inline-block}.row-actions{justify-content:flex-end;gap:5px;display:flex}.source-badge{min-height:23px;color:var(--green);background:var(--green-soft);white-space:nowrap;border:1px solid #bfe0d2;border-radius:4px;align-items:center;gap:5px;padding:2px 7px;font-size:10px;font-weight:800;display:inline-flex}.source-api-only{color:var(--blue);background:var(--blue-soft);border-color:#c1dced}.source-simon-only{color:var(--amber);background:var(--amber-soft);border-color:#ead59a}.source-conflict{color:var(--danger);background:var(--accent-soft);border-color:#ebc6ca}.empty-state,.empty-source{color:var(--muted);text-align:center;padding:36px;font-size:13px}.pagination{min-height:52px;color:var(--muted);justify-content:space-between;align-items:center;padding:7px 12px 7px 16px;font-size:12px;display:flex}.pagination div{gap:6px;display:flex}.modal-backdrop{z-index:50;background:#1a1e237a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-shell{width:min(520px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow);background:#fff;border-radius:7px;overflow-y:auto}.modal-wide{width:min(860px,100%)}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:58px;padding:0 20px;display:flex}.modal-header h2{letter-spacing:0;margin:0;font-size:17px}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;padding:16px 20px;display:flex}.detail-summary{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.detail-summary>div{border-right:1px solid var(--border);align-content:start;gap:4px;min-width:0;padding:16px;display:grid}.detail-summary>div:last-child{border-right:0}.detail-summary strong{overflow-wrap:anywhere;font-size:14px}.detail-summary span:not(.source-badge){color:var(--muted);overflow-wrap:anywhere;font-size:11px}.detail-kicker{font-weight:800;color:#505861!important}.conflict-banner{color:#8b5810;background:var(--amber-soft);border:1px solid #ead59a;border-radius:5px;align-items:center;gap:8px;margin:16px 18px 0;padding:10px 12px;font-size:12px;display:flex}.source-comparison{grid-template-columns:1fr 1fr;display:grid}.source-comparison section{min-width:0;padding:18px 20px}.source-comparison section+section{border-left:1px solid var(--border)}.source-comparison h3{align-items:center;gap:7px;margin:0 0 14px;font-size:13px;display:flex}.source-comparison dl{grid-template-columns:66px minmax(0,1fr);gap:8px 10px;margin:0;font-size:12px;display:grid}.source-comparison dt{color:var(--muted)}.source-comparison dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:650}.event-id-row{background:#f5f6f7;border-radius:5px;align-items:center;gap:9px;margin:0 20px 18px;padding:10px 12px;font-size:11px;display:flex}.event-id-row>span{color:var(--muted);font-weight:700}.event-id-row code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shift-form{gap:18px;padding-top:20px;display:grid}.shift-form>label,.form-grid,.fixed-driver,.shift-form>.form-error{margin-left:20px;margin-right:20px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.fixed-driver{background:#f5f6f7;border-radius:5px;align-items:center;gap:10px;padding:11px 12px;display:flex}.fixed-driver div{gap:2px;display:grid}.fixed-driver strong{font-size:13px}.fixed-driver span{color:var(--muted);font-size:11px}.input-with-icon{height:42px;color:var(--muted);border:1px solid var(--border-strong);background:#fff;border-radius:5px;align-items:center;gap:8px;padding:0 10px;display:flex}.input-with-icon:focus-within{border-color:#8e98a5;box-shadow:0 0 0 3px #24669a1f}.input-with-icon input{width:100%;height:38px;box-shadow:none;border:0;padding:0}.driver-picker{position:relative}.driver-results{z-index:5;border:1px solid var(--border-strong);background:#fff;border-radius:5px;max-height:260px;position:absolute;top:46px;left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #1c212824}.driver-results button{color:#30363d;text-align:left;background:#fff;border:0;border-bottom:1px solid #eceef0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:46px;padding:7px 11px;display:flex}.driver-results button:hover{background:#f5f7f8}.driver-results span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.driver-results small{color:var(--muted);flex:none;font-size:11px}.driver-empty{color:var(--muted);text-align:center;padding:18px;font-size:12px}.delete-summary{gap:8px;padding:22px 20px;display:grid}.delete-summary strong{font-size:15px}.delete-summary span{color:var(--muted);font-size:12px}.delete-summary code{overflow-wrap:anywhere;background:#f5f6f7;border-radius:4px;padding:8px;font-size:11px}.toast{z-index:80;color:#fff;max-width:min(460px,100vw - 48px);box-shadow:var(--shadow);overflow-wrap:anywhere;background:#245c49;border-radius:5px;align-items:center;gap:9px;padding:12px 15px;font-size:12px;display:flex;position:fixed;bottom:24px;right:24px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.app-header,.command-bar,.filter-bar,.summary-strip{padding-left:14px;padding-right:14px}.command-bar{flex-direction:column;align-items:flex-start;padding-top:11px;padding-bottom:11px}.command-actions{width:100%}.command-actions .primary-button{margin-left:auto}.filter-bar{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.filter-field,.filter-field.grow{flex:260px;width:auto}.filter-field.compact,.filter-select{flex:170px;width:auto}.summary-strip{flex-wrap:wrap;gap:16px 24px;padding-top:11px;padding-bottom:11px}.source-totals{width:100%;margin-left:0}.content-area{padding:14px}.active-filter{margin-left:14px}.detail-summary{grid-template-columns:1fr 1fr}.detail-summary>div:nth-child(2){border-right:0}.detail-summary>div:nth-child(-n+2){border-bottom:1px solid var(--border)}}@media (width<=560px){.fleet-grid-wrap{max-height:calc(100vh - 280px)}.fleet-grid tr>:first-child{width:76px;min-width:76px}.fleet-grid tr>:nth-child(2){width:72px;min-width:72px;left:76px}.fleet-grid tr>:nth-child(3){width:53px;min-width:53px;left:148px}.fleet-grid th,.fleet-grid td{font-size:11px}.vehicle-settings-list{grid-template-columns:1fr;padding:10px}.login-panel{padding:26px 22px}.app-header{height:62px}.app-brand h1{font-size:16px}.app-brand>div>span,.signed-in-user{display:none}.month-controls{width:100%}.month-controls input{flex:1;width:auto}.month-controls .text-button{display:none}.command-actions{flex-wrap:wrap;gap:6px}.command-actions>.segmented:first-child{flex:100%}.segmented{min-width:0}.segmented button{flex:1;min-width:0}.command-actions>.segmented:first-child button{white-space:nowrap;padding:0 5px;font-size:12px}.command-actions .primary-button{width:38px;padding:0;font-size:0}.filter-field,.filter-field.grow,.filter-field.compact,.filter-select{flex-basis:100%}.sync-summary{width:100%}.metric{flex:1}.source-totals{flex-wrap:wrap;gap:8px 14px}.calendar-wrap{border-left:0;border-right:0;border-radius:0;overflow:visible}.weekday-row{display:none}.calendar-grid{grid-template-columns:1fr;grid-auto-rows:auto;min-width:0}.calendar-day{border-right:0;grid-template-columns:48px minmax(0,1fr);gap:8px;min-height:0;padding:10px;display:grid}.calendar-day.outside{display:none}.calendar-wrap:not(.weekly-calendar) .calendar-day:not(:has(.calendar-shift)){display:none}.day-heading{place-content:start;height:auto}.day-heading small{margin-left:5px}.day-shifts{gap:5px}.calendar-shift{min-height:42px;font-size:11px}.weekly-calendar .calendar-grid{grid-auto-rows:auto}.calendar-shift strong{font-size:11px}.calendar-shift small{font-size:10px}table{min-width:0}thead{display:none}tbody{padding:0 10px;display:block}tbody tr{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:6px 12px;padding:13px 42px 13px 0;display:grid;position:relative}tbody tr:last-child{border-bottom:0}td{border:0;height:auto;padding:0}td:first-child{grid-area:1/1;min-width:0}td:nth-child(2){grid-area:2/1;font-size:13px}td:nth-child(3){color:var(--muted);grid-area:3/1}td:nth-child(4){grid-area:1/2;align-self:start}td:nth-child(5){color:var(--muted);text-align:right;grid-area:2/2}td:nth-child(6){text-align:right;grid-area:3/2}td:nth-child(7){position:absolute;top:11px;right:0}.row-actions{flex-direction:column}.fleet-grid thead{display:table-header-group}.fleet-grid tbody{padding:0;display:table-row-group}.fleet-grid tbody tr{border:0;padding:0;display:table-row;position:static}.fleet-grid tbody td{text-align:left;border-bottom:1px solid #dce0e4;border-right:1px solid #dce0e4;height:60px;padding:6px 8px;display:table-cell;position:static}.fleet-grid tbody td:first-child{min-width:160px}.fleet-grid thead th{position:sticky}.modal-backdrop{align-items:end;padding:0}.modal-shell{border-radius:7px 7px 0 0;width:100%;max-height:92vh}.detail-summary{grid-template-columns:1fr}.detail-summary>div{border-right:0;border-bottom:1px solid var(--border)}.source-comparison{grid-template-columns:1fr}.source-comparison section+section{border-top:1px solid var(--border);border-left:0}.form-grid{grid-template-columns:1fr}.modal-actions{flex-wrap:wrap}}.header-page-button{height:34px;padding:0 10px;font-size:12px}.settings-page,.accounting-page{padding:30px 24px 60px}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.page-heading h2{margin:0 0 8px;font-size:25px}.page-heading p{color:var(--muted);margin:0;font-size:13px}.eyebrow{color:var(--muted);letter-spacing:.12em;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.settings-layout,.accounting-layout{grid-template-columns:300px minmax(0,720px);align-items:start;gap:18px;display:grid}.settings-profiles,.settings-form,.submission-list,.submission-detail{background:var(--surface);border:1px solid var(--border);border-radius:7px}.settings-profiles{padding:8px}.profile-item,.submission-item{color:#2d3339;text-align:left;border:0;border-bottom:1px solid var(--border);background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:13px 12px;display:flex}.profile-item:last-child,.submission-item:last-child{border-bottom:0}.profile-item:hover,.profile-item.active,.submission-item:hover,.submission-item.active{background:var(--surface-soft)}.profile-item strong,.profile-item small,.submission-item strong,.submission-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.profile-item small,.submission-item small{color:var(--muted);margin-top:4px;font-size:11px}.profile-active{color:var(--green);background:var(--green-soft);border-radius:4px;flex:none;padding:3px 6px;font-size:10px;font-weight:750}.settings-form{gap:17px;padding:24px;display:grid}.settings-form label{color:#464c54;gap:7px;font-size:13px;font-weight:650;display:grid}.settings-form input,.settings-form select,.settings-inline-actions select{min-height:40px;padding:0 10px}.two-columns{grid-template-columns:1fr 1fr}.settings-inline-actions{align-items:center;gap:10px;display:flex}.ai-test-actions{flex-wrap:wrap}.ai-test-result{color:#244052;overflow-wrap:anywhere;white-space:pre-wrap;background:#eef7fb;border:1px solid #c7e3ed;border-radius:5px;gap:5px;padding:11px 12px;font-size:13px;display:grid}.ai-test-result strong{color:#173a4a;font-size:12px}.ai-ocr-test{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.ai-ocr-test label{min-width:0}.ai-ocr-test input[type=file]{min-height:42px;padding:9px 10px}.ai-ocr-result{max-height:260px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.field-note{color:var(--muted);font-size:11px;font-weight:400}.checkbox-line{grid-template-columns:none;align-items:center;gap:8px;font-weight:500!important;display:flex!important}.checkbox-line input{width:17px;min-height:17px;accent-color:var(--accent)}.settings-actions{justify-content:space-between;margin-top:5px}.form-success{color:#126244;background:var(--green-soft);border:1px solid #b9dfcf;border-radius:5px;padding:10px 12px;font-size:13px}.compact-loading{min-height:80px}.admin-users-panel{background:var(--surface);border:1px solid var(--border);border-radius:7px;max-width:1040px;margin-top:24px;padding:24px}.admin-users-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.admin-users-heading h3{margin:0 0 7px;font-size:20px}.admin-users-heading p{color:var(--muted);margin:0;font-size:13px}.admin-users-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:18px;display:grid}.admin-users-list,.admin-users-form{border:1px solid var(--border);border-radius:6px}.admin-users-list{padding:8px}.admin-users-form{gap:17px;padding:20px;display:grid}.admin-users-form label{color:#464c54;gap:7px;font-size:13px;font-weight:650;display:grid}.admin-users-form input,.admin-users-form select{min-height:40px;padding:0 10px}.receipt-window-form{gap:17px;max-width:640px;display:grid}.receipt-window-form label{color:#464c54;gap:7px;font-size:13px;font-weight:650;display:grid}.receipt-window-form select{min-height:40px;padding:0 10px}.receipt-window-form textarea{border:1px solid var(--border-strong);resize:vertical;width:100%;min-height:130px;font:inherit;border-radius:5px;padding:10px;line-height:1.5}.receipt-window-form .settings-actions{justify-content:flex-start}.accounting-nav.has-pending{color:#8f1721;background:#fff1f2;border-color:#b4232d}.pending-count{color:#fff;background:#b4232d;border-radius:12px;place-items:center;min-width:23px;height:23px;padding:0 5px;font-size:12px;display:inline-grid}.review-dialog-backdrop{z-index:200;background:#18222588;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.review-dialog{border:1px solid var(--border);background:#fff;border-radius:7px;width:min(460px,100%);max-height:calc(100dvh - 32px);padding:24px;overflow:auto;box-shadow:0 12px 45px #1a253044}.review-dialog h3{margin:0 0 8px;font-size:22px}.review-dialog p{color:var(--muted);margin:0 0 20px;line-height:1.5}.review-dialog label{gap:8px;margin:16px 0;font-weight:700;display:grid}.review-dialog select,.review-dialog textarea{border:1px solid var(--border-strong);width:100%;min-height:42px;font:inherit;border-radius:5px;padding:9px 10px}.review-dialog textarea{resize:vertical}.review-dialog .modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.accounting-page{max-width:1200px;margin:0 auto}.account-exports{border:1px solid var(--border);background:#fff;border-radius:6px;margin:18px 0;padding:18px}.account-exports p{color:var(--muted);margin:8px 0 14px}.payroll-lock-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-exports .settings-inline-actions{flex-wrap:wrap}.period-report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 20px;display:grid}.period-report-grid>div{border:1px solid var(--border);background:var(--surface-soft);padding:14px}.period-report-grid>div>strong{margin-bottom:10px;display:block}@media (width<=760px){.period-report-grid{grid-template-columns:1fr}}.account-controls{background:var(--surface);border:1px solid var(--border);border-radius:7px;grid-template-columns:minmax(220px,1fr) minmax(280px,1.35fr);grid-template-areas:"month driver""locks locks";align-items:start;gap:14px;margin-bottom:18px;padding:18px;display:grid}.account-control-month{grid-area:month}.account-control-driver{grid-area:driver}.account-controls .payroll-lock-controls{grid-area:locks;align-self:start;align-items:center;min-height:40px}.account-controls label,.account-controls form{color:#464c54;gap:7px;font-size:13px;font-weight:650;display:grid}.account-controls form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.account-controls input,.account-controls select{min-height:40px;padding:0 10px}.account-metrics{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.account-metrics>div{background:var(--surface);border:1px solid var(--border);border-radius:6px;gap:7px;padding:15px;display:grid}.account-metrics span{color:var(--muted);font-size:11px}.account-metrics strong{overflow-wrap:anywhere;font-size:16px}.driver-profile-card{border:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(6,minmax(0,1fr));margin:0 0 18px;display:grid}.driver-profile-card>div{border-right:1px solid var(--border);gap:7px;min-height:74px;padding:14px 16px;display:grid}.driver-profile-card>div:last-child{border-right:0}.driver-profile-card span{color:var(--muted);font-size:12px}.driver-profile-card strong{color:#24272c;overflow-wrap:anywhere;font-size:14px}.reported-hours-card{border:1px solid var(--border);background:var(--surface);margin:0 0 18px}.reported-hours-card .section-title{align-items:center}.reported-hours-card .section-title>div{gap:4px;display:grid}.reported-hours-card .section-title>strong{color:var(--accent);font-size:15px}.reported-hours-grid{border-top:1px solid var(--border);grid-template-columns:repeat(12,minmax(58px,1fr));display:grid;overflow-x:auto}.reported-hours-grid>div{border-right:1px solid var(--border);gap:7px;min-width:76px;padding:12px 10px;display:grid}.reported-hours-grid>div:last-child{border-right:0}.reported-hours-grid span{color:var(--muted);font-size:12px}.reported-hours-grid strong{font-size:13px}.reported-hours-grid small{min-height:14px;color:var(--muted);letter-spacing:.02em;font-size:10px}.reported-hours-grid>div.active{box-shadow:inset 0 -3px 0 var(--accent);background:#fff6e8}.account-table{margin-bottom:18px}.daily-balances-page{width:100%;max-width:1500px}.daily-balance-links{flex-wrap:wrap;gap:16px;margin-bottom:18px;font-weight:700;display:flex}.daily-balance-links a{color:var(--blue)}.daily-balance-links [aria-current]{color:var(--accent)}.balance-controls{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:12px;display:flex}.balance-controls label{gap:7px;min-width:0;font-size:13px;font-weight:650;display:grid}.balance-controls select,.balance-controls input{width:100%;min-height:40px;padding:8px 10px}.balance-search{flex:1;min-width:min(320px,100%)!important}.balance-search span{align-items:center;gap:6px;display:flex}.balance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.balance-driver{min-width:0}.balance-driver .section-title{flex-wrap:wrap;align-items:start}.balance-driver .section-title>div{min-width:0}.balance-driver h2{margin:0 0 6px;font-size:17px}.balance-driver .section-title p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px}.balance-driver .table-scroll{overscroll-behavior:contain;max-height:65vh;overflow:auto}.balance-driver table{min-width:1020px}.balance-driver thead th{z-index:2;box-shadow:0 1px var(--border);background:#e9eef0;position:sticky;top:0}.balance-driver td,.balance-driver th{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}.balance-driver td:first-child,.balance-driver th:first-child{text-align:left}.balance-owing,.balance-driver .balance-owing a{color:var(--danger)}.balance-overpaid,.balance-driver .balance-overpaid a{color:var(--blue)}.balance-pagination{flex-wrap:wrap;justify-content:end;align-items:center;gap:12px;display:flex}@media (width<=760px){.daily-balances-page .balance-metrics{grid-template-columns:minmax(0,1fr)}.balance-controls{align-items:stretch}.balance-controls>*{width:100%}.balance-driver table{min-width:0;display:block}.balance-driver thead{display:none}.balance-driver tbody{padding:0;display:block}.balance-driver tbody tr{cursor:default;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;display:grid;position:static}.balance-driver tbody td:nth-child(n){text-align:left;white-space:normal;overflow-wrap:anywhere;border:0;flex-direction:column;grid-area:auto;align-items:start;gap:5px;min-width:0;height:auto;padding:0;display:flex;position:static}.balance-driver tbody td:first-child{grid-column:1/-1}.balance-driver tbody td:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:650}}.section-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.section-title h3{margin:0;font-size:15px}.section-title span{color:var(--muted);font-size:12px}.daily-detail-link{color:var(--blue);text-underline-offset:3px;font-weight:750;text-decoration:underline}.daily-detail-link:hover{color:var(--accent-dark)}.daily-account-page .page-heading{align-items:center}.daily-account-notice{color:#8f1721;background:var(--accent-soft);border-left:4px solid var(--accent);margin:0 0 16px;padding:12px 14px;font-weight:750}.daily-account-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:18px;display:grid}.daily-account-metrics>div{background:var(--surface);border:1px solid var(--border);gap:6px;min-width:0;padding:14px;display:grid}.daily-account-metrics span{color:var(--muted);font-size:12px;font-weight:700}.daily-account-metrics strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:17px}.daily-account-metrics small{color:var(--muted);font-size:11px;line-height:1.4}.daily-account-metrics .daily-outstanding{background:#edf5fb;border-color:#afc6d8}.daily-account-metrics .daily-outstanding strong{color:#155f88}.daily-document-table{overflow:hidden}.daily-account-page{max-width:1800px}.daily-document-table .table-scroll{overscroll-behavior:contain;max-height:72vh;overflow:auto}.daily-document-table table{min-width:1160px}.daily-document-table thead th{z-index:4;height:44px;box-shadow:0 1px 0 var(--border);background:#e9eef0;position:sticky;top:0}.daily-document-table td{vertical-align:top;white-space:normal;min-width:130px;height:auto;padding:12px}.daily-document-table tbody tr{cursor:default}.daily-document-excluded{background:#fafafa}.daily-doc-categories{flex-wrap:wrap;gap:5px;max-width:230px;display:flex}.daily-doc-categories span{color:#37434d;background:#eef1f3;border:1px solid #d6dde1;border-radius:3px;padding:4px 7px;font-size:11px;font-weight:750;line-height:1.25;display:inline-block}.daily-doc-categories [data-category=停車場]{color:#155b80;background:#e7f3f8;border-color:#b9d8e5}.daily-doc-categories [data-category=燃料費]{color:#246441;background:#e9f5ee;border-color:#c1dfcd}.daily-doc-categories [data-category=其他]{color:#80521b;background:#fff4df;border-color:#ead5a6}.daily-doc-categories [data-category=Shift\ Report]{color:#8b4b15;background:#fff0df;border-color:#edcda7}.daily-doc-categories [data-category=Settlement\ Report]{color:#285a86;background:#eaf2fb;border-color:#c4d8ee}.daily-doc-filename{max-width:230px;color:var(--muted);overflow-wrap:anywhere;margin-top:7px;font-size:10px;display:block}.daily-doc-status{white-space:nowrap;border-radius:3px;padding:4px 7px;font-size:11px;font-weight:750;display:inline-block}.daily-doc-status.status-pending{color:#80521b;background:#fff4df}.daily-doc-status.status-approved{color:#246441;background:#e9f5ee}.daily-doc-status.status-cancelled{color:#8f1721;background:var(--accent-soft)}.daily-document-table td>small{color:var(--muted);margin-top:6px;font-size:11px;display:block}.daily-ledger-components{gap:6px;min-width:190px;margin:8px 0 0;padding:0;list-style:none;display:grid}.daily-ledger-components li{border-top:1px solid #e5e8eb;grid-template-columns:1fr auto;gap:2px 8px;padding-top:6px;display:grid}.daily-ledger-components li strong{font-variant-numeric:tabular-nums}.daily-ledger-components li small{color:var(--muted);grid-column:1/-1;font-size:10px}.daily-doc-facts{gap:5px;min-width:210px;display:grid}.daily-doc-facts>div{grid-template-columns:minmax(80px,.8fr) minmax(110px,1fr);gap:8px;font-size:11px;display:grid}.daily-doc-facts span{color:var(--muted)}.daily-doc-facts strong{overflow-wrap:anywhere;font-weight:600}.daily-doc-preview{width:660px;min-height:90px;color:var(--blue);border:1px solid var(--border);background:#f5f6f7;place-items:center;padding:5px;display:grid}.daily-doc-preview img{object-fit:contain;width:100%;height:auto;max-height:none;display:block}.report-amount-fields{border:1px solid var(--border);border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0;margin:0;padding:16px;display:grid}.report-amount-fields legend{padding:0 6px;font-weight:700}.report-amount-fields label{min-width:0}.report-amount-fields output{font-variant-numeric:tabular-nums;background:#f1f5f9;border-radius:5px;padding:10px 12px;font-size:20px;font-weight:700;display:block}.report-amount-fields small{line-height:1.5;display:block}.report-adjustment-reason{grid-column:1/-1}.settlement-amount-fields{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=700px){.report-amount-fields{grid-template-columns:1fr}}.daily-doc-preview>span{place-items:center;gap:5px;min-height:82px;display:grid}.daily-document-table .submission-image-tools{justify-content:flex-start;width:660px}.daily-document-table .submission-image-tools .secondary-button{min-height:34px;padding:0 9px;font-size:12px}.daily-doc-empty{color:var(--muted);text-align:center;padding:28px}.accounting-layout{grid-template-columns:minmax(280px,420px) minmax(0,1fr)}.submission-list{max-height:650px;overflow:auto}.review-filter-bar{flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 14px;display:flex}.review-filter-menu{position:relative}.review-filter-menu summary{border:1px solid var(--border-strong);cursor:pointer;background:#fff;border-radius:5px;min-height:40px;padding:9px 12px;font-size:13px;font-weight:700;list-style-position:inside}.review-filter-menu[open] summary{border-color:var(--blue)}.review-filter-options{z-index:12;border:1px solid var(--border-strong);background:#fff;border-radius:5px;gap:2px;width:max-content;min-width:260px;max-width:min(360px,100vw - 28px);max-height:300px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 8px 22px #1c212829}.review-filter-options label{cursor:pointer;border-radius:3px;align-items:flex-start;gap:9px;padding:8px;font-size:13px;display:flex}.review-filter-options label:hover{background:var(--surface-soft)}.review-filter-options input{width:17px;height:17px;accent-color:var(--blue);flex:none;margin:1px 0 0}.review-filter-options span{overflow-wrap:anywhere}.review-filter-empty{color:var(--muted);padding:8px;font-size:13px}.submission-item em{text-transform:uppercase;border-radius:4px;flex:none;padding:3px 6px;font-size:10px;font-style:normal}.status-pending{color:var(--amber);background:var(--amber-soft)}.status-approved{color:var(--green);background:var(--green-soft)}.status-cancelled{color:var(--danger);background:var(--accent-soft)}.submission-detail{min-height:300px;padding:24px}.submission-preview{border:1px solid var(--border);background:#f5f6f7;border-radius:5px;place-items:center;min-height:180px;margin:0 0 20px;padding:14px;display:grid}.submission-preview img{object-fit:contain;max-width:100%;max-height:560px;display:block}.submission-image-tools{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:12px;display:flex}.image-tools-error{color:#8f1721;text-align:center;width:100%;margin:8px 0 0;font-size:12px}.crop-proposal-notice{color:#65450a;background:#fff5d9;border:1px solid #e7ca7d;border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:9px 11px;font-size:13px;display:flex}.crop-dialog-backdrop{z-index:30;background:#141c2294;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.crop-dialog{background:var(--surface);border:1px solid var(--border);border-radius:7px;gap:16px;width:min(900px,100%);max-height:calc(100vh - 40px);padding:20px;display:grid;overflow:auto;box-shadow:0 18px 55px #00000040}.crop-dialog-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.crop-dialog-heading h3{margin:0 0 5px;font-size:18px}.crop-dialog-heading p{color:var(--muted);margin:0;font-size:13px}.image-crop-viewport{background:#20262b;width:100%;max-height:62vh;position:relative;overflow:hidden}.image-crop-viewport img{object-fit:contain;width:100%;height:100%;display:block}.crop-selection{box-sizing:border-box;cursor:move;touch-action:none;background:#f2b94b26;border:3px solid #f2b94b;min-width:8%;min-height:8%;position:absolute}.crop-selection span{color:#2f2615;background:#f2b94b;padding:3px 5px;font-size:11px;font-weight:750;position:absolute;top:4px;left:4px}.crop-selection .crop-resize-handle{cursor:nwse-resize;background:#f2b94b;border:2px solid #2f2615;border-radius:50%;width:18px;height:18px;padding:0;inset:auto -7px -7px auto}.crop-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.date-review{border:1px solid var(--border);background:#fffdf5;border-radius:5px;margin:18px 0;padding:16px}.date-review h4{color:#a35b20;margin:0 0 8px}.date-review p{color:var(--muted);margin:8px 0;font-size:13px}.parking-review{background:#f7faf5;border:1px solid #cfded1;border-radius:5px;margin:18px 0;padding:16px}.parking-review h4{color:#31583c;margin:0}.parking-review .submission-facts{padding-bottom:0}.fuel-review{background:#fffaf0;border-color:#e2c88b}.fuel-review h4{color:#74521b}.warning-box{color:#7b3f00;background:#fff0d2;border-left:4px solid #d28a16;padding:10px 12px;font-weight:600}.review-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:4px;display:grid}.review-fields label{color:#464c54;gap:7px;font-size:13px;font-weight:650;display:grid}.review-fields input,.review-fields select{min-height:40px;padding:0 10px}.detail-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;display:flex}.detail-heading h3{margin:0 0 5px;font-size:20px}.detail-heading p{color:var(--muted);margin:0;font-size:12px}.submission-facts{grid-template-columns:90px minmax(0,1fr);gap:12px;margin:0;padding:22px 0;font-size:13px;display:grid}.submission-facts dt{color:var(--muted);font-weight:700}.submission-facts dd{overflow-wrap:anywhere;margin:0}.holiday-pay-section .section-title{align-items:center}.holiday-pay-section .section-title>div{gap:4px;display:grid}.holiday-pay-form{grid-template-columns:minmax(260px,1fr) minmax(180px,240px) auto;align-items:end;gap:14px;padding:16px 0;display:grid}.holiday-pay-form label{gap:7px;display:grid}.holiday-pay-form label>span{color:var(--muted);font-size:13px;font-weight:700}.salary-adjustment-section{overflow:hidden}.salary-adjustment-form{border-bottom:1px solid var(--border);background:#fffdf5;grid-template-columns:minmax(145px,1fr) minmax(145px,1fr) minmax(150px,1fr) minmax(200px,1.6fr) auto;align-items:end;gap:12px;padding:16px;display:grid}.salary-adjustment-form label{gap:7px;display:grid}.salary-adjustment-form label>span{color:var(--muted);font-size:13px;font-weight:700}.salary-adjustment-form input{min-height:40px;padding:0 10px}@media (width<=760px){.holiday-pay-form{grid-template-columns:1fr}}.late-change-detail{border-top:1px solid var(--border)}.late-change-detail h4{margin:18px 0 0;font-size:14px}@media (width<=760px){.header-page-button.accounting-nav{gap:4px;width:auto;min-width:38px;padding:0 7px}.header-page-button.accounting-nav span{display:none}.header-page-button.accounting-nav .pending-count{font-size:11px}.header-page-button{width:36px;padding:0;font-size:0;overflow:hidden}.settings-page,.accounting-page{padding:22px 14px 45px}.page-heading{flex-direction:column;align-items:stretch;gap:15px}.page-heading .primary-button{align-self:flex-start}.settings-layout,.accounting-layout{grid-template-columns:1fr}.settings-profiles{order:2}.settings-form{padding:18px}.admin-users-panel{margin-top:18px;padding:18px}.admin-users-heading{flex-direction:column;gap:14px}.admin-users-layout{grid-template-columns:1fr}.admin-users-list{order:2}.two-columns,.ai-ocr-test{grid-template-columns:1fr}.submission-list{max-height:360px}.review-filter-menu{flex:150px}.review-filter-menu summary{width:100%}.review-filter-options{width:min(360px,100vw - 28px);min-width:0}.submission-detail{padding:18px}.detail-heading{flex-direction:column}.review-fields{grid-template-columns:1fr}.account-controls{grid-template-columns:1fr;grid-template-areas:"month""driver""locks"}.driver-profile-card{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-profile-card>div:nth-child(2n){border-right:0}.driver-profile-card>div{border-bottom:1px solid var(--border)}.reported-hours-grid{grid-template-columns:repeat(12,76px)}.salary-adjustment-form{grid-template-columns:1fr}.account-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-account-page .page-heading{align-items:stretch}.daily-account-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-account-metrics>div{padding:11px}.daily-account-metrics strong{font-size:15px}.daily-doc-preview,.daily-document-table .submission-image-tools{width:380px}}.duplicate-checking{color:#526b55;padding:10px 0}.duplicate-review{border-top:1px solid #c7d5ca;margin-top:14px;padding:16px 0}.duplicate-review h4{margin:0 0 10px;font-size:18px}.duplicate-review>p{color:#9e3e2d;font-weight:700;line-height:1.5}.training-public{background:#f4f5f6;min-height:100vh}.training-public-header{border-top:5px solid var(--accent);border-bottom:1px solid var(--border);min-height:72px;color:var(--accent);background:#fff;align-items:center;gap:12px;padding:14px max(20px,50vw - 380px);display:flex}.training-public-header strong{color:#24272c;font-size:19px}.training-public-header a{color:var(--blue);margin-left:auto;font-size:15px}.training-public-main{max-width:760px;margin:0 auto;padding:38px 20px 70px}.training-public-main h1{margin:0 0 12px;font-size:32px}.training-public-actions{justify-content:flex-end;margin-bottom:18px;display:flex}.training-public-main p{color:#505b65;font-size:17px;line-height:1.6}.training-upload-form{border-block:1px solid var(--border);gap:22px;margin-top:32px;padding:28px 0;display:grid}.training-upload-form label,.training-fields label,.training-file-field{gap:9px;font-weight:700;display:grid}.training-upload-form .training-file-input{clip-path:inset(50%);border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute;left:0;overflow:hidden}.training-upload-form .training-file-picker{width:max-content;min-height:52px;font-size:17px;display:inline-flex}.training-file-input:focus-visible+.training-file-picker{outline:3px solid var(--blue);outline-offset:2px}.training-upload-form input,.training-upload-form select{width:100%;min-height:52px;padding:10px 12px;font-size:18px}.training-upload-form .primary-button{width:max-content;min-height:52px;font-size:18px}.training-upload-form .page-error,.training-upload-form .form-success{align-items:center;gap:9px;padding:12px;font-size:16px;display:flex}.training-file-summary{overflow-wrap:anywhere;line-height:1.6}.training-public-main .training-privacy{margin-top:18px;font-size:15px}.training-heading-actions{gap:10px;display:flex}.settings-heading-actions{flex-wrap:wrap;gap:10px;display:flex}.training-admin-main .page-error,.training-admin-main .form-success{margin-bottom:15px;padding:12px}.training-review-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.training-empty{color:var(--muted);padding:22px}.training-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px;display:grid}.training-fields input,.training-fields select,.training-fields textarea{width:100%;min-height:42px;font:inherit;border:1px solid var(--border-strong);border-radius:5px;padding:9px 10px}.training-fields textarea{resize:vertical;min-height:92px}.training-fields .training-summary{grid-column:1/-1}.training-review-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (width<=760px){.training-nav{display:none}.training-review-layout,.training-fields{grid-template-columns:1fr}.training-public-main{padding-top:27px}.training-upload-form .primary-button,.training-upload-form .training-file-picker{width:100%}}.duplicate-match{border-top:1px solid #e1e8e1;grid-template-columns:minmax(0,1fr) minmax(100px,160px);align-items:start;gap:12px;padding:12px 0;display:grid}.duplicate-match strong,.duplicate-match span{overflow-wrap:anywhere;line-height:1.5;display:block}.duplicate-match span{color:#526b55;margin-top:5px}.duplicate-match a{display:block}.duplicate-match img{object-fit:contain;background:#fff;border:1px solid #cad7cb;width:100%;max-height:190px}@media (width<=600px){.duplicate-match{grid-template-columns:minmax(0,1fr) 110px}}.shift-change-review{background:#fff;border:1px solid #dfe5de;border-radius:8px;margin-bottom:24px;padding:22px}.shift-change-review .section-title{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.shift-change-item{border-top:1px solid #e8ece7;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;display:flex}.shift-change-item strong{display:block}.shift-change-item p{color:#65736a;margin-top:5px;font-size:13px}.shift-change-item small{color:#96601c;margin-top:8px;display:inline-block}.shift-change-item .modal-actions{flex-shrink:0;gap:8px;display:flex}.register-filters{flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;display:flex}.register-filters label{gap:6px;font-weight:700;display:grid}.register-filters input,.register-filters select{border:1px solid var(--border-strong);min-height:42px;font:inherit;border-radius:5px;padding:8px 10px}.register-filters .register-search-field{min-width:min(190px,100%)}.register-file-actions{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.register-file-action{width:34px;height:34px;color:var(--blue);border:1px solid var(--border-strong);background:#fff;border-radius:5px;place-items:center;display:inline-grid}.register-file-action:hover{background:#eef5f6}.register-file-action:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.register-status{white-space:nowrap;gap:3px;display:grid}.register-status small{color:var(--muted)}.accounting-note-field{gap:8px;margin-top:14px;font-weight:700;display:grid}.accounting-note-field textarea{border:1px solid var(--border-strong);width:100%;font:inherit;resize:vertical;border-radius:5px;padding:10px}.directory-edit-panel{border:1px solid var(--border-strong);background:#f7fafb;border-radius:8px;margin:16px 0;padding:16px}.directory-edit-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;display:grid}.directory-edit-grid label{gap:6px;font-weight:700;display:grid}.directory-edit-grid input{border:1px solid var(--border-strong);width:100%;min-height:40px;font:inherit;background:#fff;border-radius:5px;padding:7px 10px}.directory-active-toggle{align-items:center;gap:10px;display:flex!important}.directory-active-toggle input{width:auto}.directory-edit-panel .form-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.fleet-vrm-search{align-items:end;gap:7px;display:flex}.fleet-vrm-search label{gap:4px;font-weight:700;display:grid}.fleet-vrm-search input{border:1px solid var(--border-strong);width:130px;min-height:38px;font:inherit;text-transform:uppercase;background:#fff;border-radius:5px;padding:6px 9px}.fleet-vrm-search .secondary-button{min-height:38px;padding:7px 10px}.account-category-filter{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.account-category-filter strong{margin-right:3px}.account-category-filter button{border:1px solid var(--border-strong);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:5px 11px;font-size:13px}.account-category-filter button:hover,.account-category-filter button.active{border-color:var(--blue);color:var(--blue);background:#eaf4f7;font-weight:700}.account-raw-details{border:1px solid var(--border);background:#fff;border-radius:8px;margin-top:14px}.account-raw-details>summary{cursor:pointer;color:var(--ink);align-items:center;gap:8px;padding:12px 14px;font-weight:800;list-style:none;display:flex}.account-raw-details>summary::-webkit-details-marker{display:none}.account-raw-details>summary:before{content:"▸";color:var(--muted);font-size:14px}.account-raw-details[open]>summary:before{content:"▾"}.account-raw-details>section{border:0;border-top:1px solid var(--border);border-radius:0;margin:0}.account-category-filter-standalone{justify-content:flex-start;margin:16px 0 0}@media (width<=900px){.directory-edit-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.account-category-filter{justify-content:flex-start}}@media (width<=560px){.directory-edit-grid{grid-template-columns:1fr}.account-category-filter button{padding:7px 10px}.account-raw-details>summary{padding:12px}.directory-edit-panel .section-title{flex-wrap:wrap}.directory-edit-grid>*{min-width:0}.directory-edit-grid input{min-width:0;max-width:100%}.accounting-page>.account-table>.section-title{flex-wrap:wrap;gap:12px}.accounting-page .register-filters label,.accounting-page .register-filters input{min-width:0;max-width:100%}}.manage-roster{gap:14px;display:grid}.manage-period-bar,.manage-filter-bar,.manage-selection-bar{border:1px solid var(--border);background:#fff;border-radius:6px;flex-wrap:wrap;align-items:end;gap:12px;padding:12px 16px;display:flex}.manage-period-bar{justify-content:space-between}.manage-date-controls{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.manage-date-controls label,.manage-period-input,.manage-filter-bar>label{color:#454c55;gap:5px;font-size:12px;font-weight:700;display:grid}.manage-date-controls input,.manage-period-input input,.manage-filter-bar select,.manage-search-control input,.manage-edit-row>label>input{border:1px solid var(--border-strong);background:#fff;border-radius:5px;min-height:40px;padding:7px 10px}.manage-filter-bar{align-items:end}.manage-filter-bar select{min-width:130px}.manage-search-input{flex:280px}.manage-search-control{border:1px solid var(--border-strong);min-height:40px;color:var(--muted);border-radius:5px;align-items:center;gap:8px;padding-left:10px;display:flex}.manage-search-control input{width:100%;box-shadow:none;border:0;outline:0;flex:1}.manage-search-control:focus-within{border-color:#8e98a5;box-shadow:0 0 0 3px #24669a1f}.manage-filter-count{color:var(--muted);white-space:nowrap;margin:0 auto 10px 0}.manage-list-section,.manage-operation{border:1px solid var(--border);background:#fff;border-radius:6px;min-width:0}.manage-selection-bar{border:0;border-bottom:1px solid var(--border);border-radius:0}.manage-select-all{align-items:center;gap:8px;min-height:36px;font-weight:700;display:inline-flex}.manage-select-all input,.manage-shifts-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}.manage-selection-bar>span{color:var(--muted);white-space:nowrap}.manage-bulk-actions{flex-wrap:wrap;flex:520px;justify-content:flex-end;gap:8px;display:flex}.manage-shifts-table{border-collapse:collapse;text-align:left;width:100%}.manage-shifts-table th,.manage-shifts-table td{vertical-align:middle;border-bottom:1px solid #e8ebee;padding:11px 12px}.manage-shifts-table th{color:#59616c;white-space:nowrap;background:#f8f9fa;font-size:12px;font-weight:700}.manage-shifts-table td>strong,.manage-shifts-table td>span:not(.manage-source),.manage-edit-summary>*{display:block}.manage-shifts-table td>span:not(.manage-source){color:var(--muted);margin-top:4px;font-size:12px}.manage-shifts-table td:nth-child(2),.manage-shifts-table td:nth-child(3){min-width:160px}.manage-shifts-table td:nth-child(4){white-space:nowrap}.manage-source{white-space:nowrap;border-radius:4px;align-items:center;min-height:25px;padding:3px 8px;font-size:12px;display:inline-flex}.manage-source-both{color:var(--green);background:var(--green-soft)}.manage-source-conflict{color:var(--amber);background:var(--amber-soft)}.manage-source-api_only{color:var(--blue);background:var(--blue-soft)}.manage-source-simon_only{color:#515860;background:#eef0f2}.manage-readonly{color:var(--muted);font-size:12px}.manage-empty{color:var(--muted);text-align:center;padding:28px!important}.manage-empty svg{vertical-align:middle;margin-right:8px}.manage-operation{padding:18px}.manage-operation-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.manage-operation-heading h2{margin:0;font-size:19px;line-height:1.35}.manage-operation-heading p{color:var(--muted);margin:5px 0 0;font-size:13px}.manage-edit-list,.manage-delete-list{display:grid}.manage-edit-row{border-bottom:1px solid #e7eaed;grid-template-columns:minmax(180px,1.2fr) repeat(5,minmax(135px,1fr));align-items:end;gap:10px;padding:15px 0;display:grid}.manage-edit-row>label{color:#454c55;gap:5px;font-size:12px;font-weight:700;display:grid}.manage-edit-row>label .time24-control{min-height:40px}.manage-edit-summary{overflow-wrap:anywhere;align-self:center}.manage-edit-summary strong{color:#272d33}.manage-edit-summary span,.manage-edit-summary small{color:var(--muted);margin-top:5px;line-height:1.45}.manage-delete-list article{border-bottom:1px solid #e7eaed;justify-content:space-between;gap:16px;padding:12px 0;display:flex}.manage-delete-list article span{color:var(--muted)}.manage-operation-actions{justify-content:flex-end;gap:9px;padding-top:15px;display:flex}.manage-notice,.manage-conflicts{border-radius:5px;align-items:flex-start;gap:9px;margin:12px 0;padding:10px 12px;line-height:1.5;display:flex}.manage-notice{color:#17644c;background:#edf7f2;border:1px solid #c7e5d7}.manage-notice button{color:inherit;background:0 0;border:0;margin-left:auto;padding:0;display:inline-flex}.manage-conflicts{color:#7a4d00;background:#fff7e5;border:1px solid #ecd7a7;flex-direction:column}@media (width<=1000px){.manage-edit-row{grid-template-columns:repeat(3,minmax(0,1fr))}.manage-edit-summary{grid-column:1/-1}}@media (width<=760px){.manage-roster{padding-left:10px;padding-right:10px}.manage-period-bar,.manage-filter-bar,.manage-selection-bar{align-items:stretch;padding:11px}.manage-period-bar{flex-direction:column}.manage-period-bar>.segmented{width:100%}.manage-period-bar>.segmented button{flex:1}.manage-period-bar>.primary-button{width:100%}.manage-date-controls{grid-template-columns:1fr;display:grid}.manage-date-controls input,.manage-period-input input{width:100%}.manage-filter-bar{grid-template-columns:minmax(0,1fr) auto;display:grid}.manage-filter-bar>label:first-child{grid-column:1/-1}.manage-filter-bar select{width:100%}.manage-filter-count{align-self:center;margin:0}.manage-selection-bar{grid-template-columns:minmax(0,1fr) auto;display:grid}.manage-bulk-actions{grid-template-columns:1fr;display:grid}.manage-bulk-actions button{white-space:normal;width:100%;height:auto;min-height:40px;padding:8px 10px}.manage-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}.manage-edit-row>label{min-width:0}.manage-edit-summary{grid-column:1/-1}.manage-operation{padding:13px}.manage-operation-heading{align-items:center}.manage-delete-list article{flex-direction:column;gap:4px}.manage-operation-actions{flex-wrap:wrap}.manage-operation-actions button{flex:140px}}@media (width<=430px){.manage-shifts-table th,.manage-shifts-table td{padding:9px 8px}.manage-edit-row{grid-template-columns:minmax(0,1fr)}.manage-edit-summary{grid-column:auto}.manage-shifts-table td:nth-child(2),.manage-shifts-table td:nth-child(3){min-width:145px}}.account-page-tabs{border-bottom:2px solid #dce5eb;flex-wrap:wrap;gap:12px;margin-bottom:24px;padding-bottom:12px;display:flex}.account-page-tabs a{color:#273d52;border-radius:12px;padding:12px 18px;font-size:18px;font-weight:700;text-decoration:none}.account-page-tabs a[aria-current=page]{color:#fff;background:#173f62}.monthly-export-form,.monthly-export-job{background:#fff;border:1px solid #dce5eb;border-radius:18px;margin:18px 0;padding:24px}.monthly-export-form fieldset{border:1px solid #dce5eb;border-radius:12px;margin:20px 0;padding:18px}.monthly-export-form legend{font-size:18px;font-weight:700}.monthly-export-recipients,.monthly-export-files{flex-wrap:wrap;gap:18px;display:flex}.monthly-export-recipients label{overflow-wrap:anywhere;align-items:center;gap:10px;font-size:18px;display:flex}.monthly-export-recipients input{flex-shrink:0;width:22px;height:22px}.monthly-export-running,.monthly-export-notice{background:#edf6ff;border:1px solid #8db8dc;border-radius:14px;margin:18px 0;padding:20px}.monthly-export-running strong{align-items:center;gap:10px;font-size:20px;display:flex}.monthly-export-running progress{width:100%;height:16px}.monthly-export-page p{overflow-wrap:anywhere;line-height:1.6}.monthly-export-help{color:#536579}.monthly-export-form .account-controls{border:0;padding:0}.monthly-export-form .account-controls label{flex:1;min-width:240px}.monthly-export-form select{width:100%;padding:12px;font-size:18px}@media (width<=600px){.monthly-export-form,.monthly-export-job{padding:16px}.monthly-export-form .account-controls label{width:100%;min-width:0}.monthly-export-recipients{flex-direction:column}.monthly-export-files a{width:100%}}.daily-ocr-editor{background:var(--surface);border-radius:8px;width:min(1180px,96vw);max-height:94vh;padding:22px;overflow:auto;box-shadow:0 12px 48px #0004}.daily-ocr-editor>p{color:var(--muted);font-size:13px;line-height:1.6}.daily-ocr-body{grid-template-columns:minmax(200px,.7fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.daily-ocr-body form{min-width:0}.daily-ocr-photo{gap:12px;display:grid;position:sticky;top:0}.daily-ocr-photo img{object-fit:contain;background:#f3f5f7;width:100%;max-height:65vh;display:block}.daily-ocr-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.daily-ocr-fields label,.daily-ocr-reason{gap:6px;min-width:0;font-size:13px;font-weight:650;display:grid}.daily-ocr-fields input,.daily-ocr-fields textarea,.daily-ocr-fields select,.daily-ocr-reason textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;min-width:0;font:inherit;background:var(--surface);color:#24272c;border-radius:4px;padding:9px}.daily-ocr-fields textarea{resize:vertical;min-height:64px}.daily-ocr-reason{margin:18px 0}.daily-ocr-reason textarea{resize:vertical;min-height:70px}.daily-ocr-history{overflow-wrap:anywhere;max-width:280px;margin-top:12px;font-size:12px}.daily-ocr-history>div{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.daily-ocr-history p{margin:5px 0}.daily-review-actions{flex-direction:column;align-items:stretch;gap:8px;min-width:168px;margin-top:14px;display:flex}.daily-review-actions button{white-space:normal;justify-content:center}.daily-amount-change{margin-top:12px}.daily-amount-editor{gap:12px;min-width:210px;margin-top:14px;display:grid}.daily-amount-editor label,.daily-review-controls>label{gap:6px;font-weight:650;display:grid}.daily-amount-editor input,.daily-amount-editor textarea,.daily-review-controls select,.daily-review-controls textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;font:inherit;color:inherit;background:var(--surface);border-radius:4px;padding:9px}.daily-review-dialog{width:min(1360px,96vw)}.daily-review-body{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);align-items:start;gap:24px;display:grid}.daily-review-photo img{width:100%;height:auto;display:block}.daily-review-controls{gap:16px;min-width:0;display:grid}.daily-duplicate-confirm{align-items:start;gap:8px;display:flex}.daily-duplicate-confirm input{flex:none;width:18px;height:18px}@media (width<=700px){.daily-review-body{grid-template-columns:1fr}.daily-ocr-editor{padding:14px}.daily-ocr-body{grid-template-columns:1fr}.daily-ocr-photo{position:static}.daily-ocr-photo img{max-height:35vh}.daily-ocr-fields{grid-template-columns:1fr}}.register-document-row{cursor:pointer}.register-document-row:hover{background:#f0f6ff}.register-document-row a{text-underline-offset:3px}.register-detail-layout{grid-template-columns:minmax(0,3fr) minmax(320px,2fr);align-items:start;gap:20px;display:grid}.register-detail-preview img{width:100%;height:auto;display:block}.register-detail .account-table{min-width:0;padding:20px}.register-detail-sections{gap:16px;min-width:0;display:grid}.register-detail-facts{margin:0}.register-detail-facts>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:12px;padding:9px 0;display:grid}.register-detail-facts dt{color:#596270}.register-detail-facts dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.register-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}@media (width<=800px){.register-detail-layout{grid-template-columns:minmax(0,1fr)}.register-detail .account-table{padding:14px}}.register-detail-preview iframe{border:0;width:100%;height:80vh}.ai-usage-page>.account-table{margin-top:22px;padding:20px}.ai-usage-page td small{color:var(--muted);margin-top:5px;display:block}.ai-usage-page details{margin:18px 0}.ai-price-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.ai-price-form label{gap:8px;min-width:0;display:grid}.ai-price-form input,.ai-price-form select{width:100%;min-width:0}.ai-price-form p{grid-column:1/-1}@media (width<=800px){.ai-price-form{grid-template-columns:minmax(0,1fr)}.ai-usage-page>.account-table{padding:14px}}.ai-price-form input,.ai-price-form select{border:1px solid var(--border);min-height:40px;font:inherit;background:#fff;border-radius:6px;padding:8px 10px}.shift-total-check{overflow-wrap:anywhere;white-space:normal;border:2px solid #698198;border-radius:8px;margin:12px 0;padding:12px}.shift-total-check.warning-box{color:#7c2d12;background:#fff7ed;border-color:#b45309}.shift-total-check p{margin:6px 0}.staff-remember{align-items:flex-start;line-height:1.6}.staff-remember input{flex:0 0 20px;width:20px;min-height:20px;margin-top:4px}.staff-login-actions{flex-wrap:wrap;gap:10px;display:flex}.staff-login-actions button{flex:160px}.login-panel{max-width:calc(100vw - 32px)}.accounting-driver-select{gap:10px;min-width:0;display:grid}.accounting-driver-select label{min-width:0}.accounting-driver-select input,.accounting-driver-select select{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.accounting-driver-select small{color:var(--muted);overflow-wrap:anywhere;font-weight:400;line-height:1.5}.accounting-driver-select label small{font-weight:600}.directory-listing-tags{border:1px solid var(--border-strong);background:#f0f5f8;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;padding:14px;display:flex}.directory-listing-tags>span{color:var(--muted);font-size:.92em}.directory-listing-tags button{min-width:80px}.directory-header-actions{flex-wrap:wrap;min-width:0;max-width:100%}.daily-summary-table tbody tr.daily-unbalanced,.daily-summary-table tbody tr.daily-unbalanced td,.daily-summary-table tbody tr.daily-unbalanced:hover td{background:#fff0f3}
