:root{--bg:#f3f5f4;--surface:#fff;--surface-soft:#f7f9f8;--sidebar:#13231f;--border:#dce4e0;--line:#dce4e0;--border-strong:#cbd8d2;--text:#3b4944;--muted:#71807a;--heading:#14201c;--accent:#197364;--accent-strong:#115e52;--accent-soft:#e7f3ef;--warning:#9a6515;--danger:#a73d3d;--shadow-sm:0 1px 2px #11251f0a, 0 8px 24px #11251f09;--shadow-lg:0 20px 60px #091c1624;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-width:0;min-height:100svh;margin:0}button,input{letter-spacing:0}.app-shell{background:var(--bg);min-height:100svh;color:var(--text);grid-template-columns:260px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--border);background:var(--sidebar);flex-direction:column;gap:24px;height:100svh;padding:22px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;background:#1f766e;border-radius:8px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand span{color:var(--muted);margin-top:2px;font-size:12px}.role-switch{gap:8px;display:grid}.role-switch button,.ghost-button,.primary-button{min-height:40px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:14px;display:inline-flex}.role-switch button{color:var(--text);background:0 0;border:1px solid #0000;justify-content:flex-start;padding:0 12px}.role-switch button:hover,.role-switch button.active{border-color:var(--border);background:var(--surface);color:var(--heading)}.role-switch button:disabled{cursor:not-allowed;opacity:.45}.install-panel{gap:8px;display:grid}.install-panel>.ghost-button{justify-content:center;width:100%}.install-guide{color:#36524e;background:#e8f3ef;border:1px solid #c9dfd8;border-radius:8px;gap:8px;padding:10px;font-size:12px;line-height:1.5;display:grid}.install-guide .ghost-button{min-height:32px;padding:0 10px}.login-screen{background:var(--bg);place-items:center;min-height:100svh;padding:24px;display:grid}.login-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:14px;width:min(440px,100%);padding:28px;display:grid}.brand.large{margin-bottom:10px}.brand.large .brand-mark{width:46px;height:46px}.login-panel label{gap:6px;display:grid}.login-panel label span{color:var(--muted);font-size:13px}.login-panel .remember-device-control{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.login-panel .remember-device-control input{accent-color:#1f766e;cursor:pointer;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0}.login-panel .remember-device-control span{color:var(--text);font-size:14px}.remember-device-help{margin-top:-8px}.helper-text{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.notice{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:13px}.notice.success{color:#236256;background:#e8f3ef;border-color:#c9dfd8}.notice.error{color:#8f2f2f;background:#fde7e7;border-color:#f2c8c8}.sidebar-note{color:#36524e;background:#e8f3ef;border:1px solid #c9dfd8;border-radius:8px;grid-template-columns:auto 1fr;gap:10px;margin-top:auto;padding:12px;font-size:13px;line-height:1.5;display:grid}.logout{width:100%}.workspace{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.topbar h1{color:var(--heading);letter-spacing:0;margin:0 0 8px;font-size:28px;line-height:1.2}.topbar p{color:var(--muted);margin:0;font-size:14px}.metric-strip{grid-template-columns:repeat(4,minmax(74px,1fr));gap:8px;min-width:360px;display:grid}.metric{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:10px}.metric span,.metric strong{display:block}.metric span{color:var(--muted);font-size:12px}.metric strong{color:var(--heading);margin-top:4px;font-size:22px}.driver-grid,.review-grid,.admin-grid{gap:16px;display:grid}.driver-grid{grid-template-columns:minmax(280px,.92fr) minmax(360px,1.35fr);align-items:start}.history-panel{grid-column:1/-1}.review-grid{grid-template-columns:minmax(560px,1fr) minmax(420px,.9fr);align-items:start}.review-grid>.detail-panel{scrollbar-gutter:stable;max-height:calc(100svh - 48px);position:sticky;top:24px;overflow:auto}.admin-grid{grid-template-columns:repeat(3,minmax(240px,1fr));align-items:start}.admin-section-hidden{display:none!important}.admin-command-center{background:linear-gradient(135deg,#fff 0%,#eef7f3 100%);border:1px solid #cfded8;border-radius:16px;gap:16px;padding:20px;display:grid;box-shadow:0 8px 28px #1c4a3e12}.admin-command-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.admin-command-heading h2{color:var(--heading);margin:4px 0;font-size:26px}.admin-command-heading p{color:var(--muted);margin:0}.eyebrow{color:#1f766e;letter-spacing:.08em;font-size:12px;font-weight:800}.organization-switcher{flex:0 0 min(300px,38%);gap:6px;display:grid}.organization-switcher span{color:var(--muted);font-size:12px}.company-scope-badge{color:#176b5e;background:#ffffffc7;border:1px solid #b9d8cb;border-radius:10px;align-items:center;gap:8px;padding:10px 13px;font-size:13px;font-weight:750;display:inline-flex}.admin-section-tabs{scrollbar-width:none;background:#dae8e2b8;border-radius:12px;gap:6px;padding:5px;display:flex;overflow-x:auto}.admin-section-tabs button{color:#52635d;min-height:40px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;padding:0 16px;font-size:13px;font-weight:700}.admin-section-tabs button.active{color:#145f55;background:#fff;box-shadow:0 2px 10px #1c4a3e17}.admin-overview{grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;display:grid}.admin-overview>article{border:1px solid var(--border);color:#1f766e;background:#fff;border-radius:14px;gap:5px;min-height:120px;padding:18px;display:grid}.admin-overview>article strong{color:var(--heading);font-size:28px}.admin-overview>article span{color:var(--muted);font-size:13px}.admin-overview>article.platform-stat{background:linear-gradient(145deg,#effaf6,#fff);border-color:#8ec8b6}.organization-directory{border:1px solid var(--border);background:#fff;border-radius:14px;grid-column:1/-1;gap:12px;padding:18px;display:grid}.organization-directory-heading strong,.organization-directory-heading span{display:block}.organization-directory-heading span{color:var(--muted);margin-top:3px;font-size:13px}.organization-directory-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.organization-directory-list button{border:1px solid var(--border);min-height:68px;color:var(--heading);text-align:left;cursor:pointer;background:#fbfcfc;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.organization-directory-list button:hover,.organization-directory-list button.active{background:#edf8f4;border-color:#72b8a4}.organization-directory-list span,.organization-directory-list strong,.organization-directory-list small{display:block}.organization-directory-list small{color:var(--muted);margin-top:3px}.organization-directory-list em{color:#1f766e;white-space:nowrap;font-size:12px;font-style:normal;font-weight:750}.organization-create-card{background:#f6faf8;border:1px dashed #9bbcaf;border-radius:14px;grid-column:1/-1;grid-template-columns:minmax(220px,1.2fr) repeat(2,minmax(170px,1fr)) auto;align-items:end;gap:12px;padding:18px;display:grid}.organization-create-card strong,.organization-create-card span{display:block}.organization-create-card span{color:var(--muted);margin-top:5px;font-size:12px}.organization-create-card .primary-button{margin:0}.panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:18px}.panel-title{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.panel-title h2{color:var(--heading);margin:0 0 6px;font-size:18px;line-height:1.25}.panel-title p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.capture-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.batch-upload-note,.low-resolution-note{color:#36524e;background:#edf7f4;border:1px solid #c9dfd8;border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:12px;line-height:1.55;display:flex}.batch-upload-note svg,.low-resolution-note svg{flex:none;margin-top:1px}.capture-box{color:#36524e;text-align:center;cursor:pointer;background-color:#f4faf8;background-image:linear-gradient(90deg,#1f766e14 1px,#0000 1px),linear-gradient(#1f766e14 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px dashed #8aa5a0;border-radius:8px;align-content:center;place-items:center;gap:10px;min-height:178px;padding:20px;display:grid;position:relative}.capture-box:before{content:"";pointer-events:none;border:2px solid #1f766e52;border-radius:8px;position:absolute;inset:22px}.capture-box input{opacity:0;width:1px;height:1px;position:absolute}.capture-box strong,.capture-box span{max-width:260px}.capture-box span{color:var(--muted);font-size:13px}.selected-file-line{color:var(--muted);align-items:center;gap:7px;margin-top:10px;font-size:12px;display:flex}.upload-queue-section{gap:10px;margin-top:14px;display:grid}.upload-queue-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.upload-queue-heading strong,.upload-queue-heading span{display:block}.upload-queue-heading strong{color:var(--heading);font-size:14px}.upload-queue-heading span{color:var(--muted);margin-top:2px;font-size:12px}.upload-queue-heading .ghost-button{flex:none;min-height:34px}.upload-queue{gap:8px;max-height:430px;padding-right:2px;display:grid;overflow:auto}.upload-queue-item{border:1px solid var(--border);background:#fff;border-radius:9px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:9px;display:grid}.upload-queue-item.status-done{background:#f5fbf9;border-color:#c9dfd8}.upload-queue-item.status-error{background:snow;border-color:#f2c8c8}.upload-queue-preview{border:1px solid var(--border);color:#1f766e;background:#f2f7f5;border-radius:7px;place-items:center;width:58px;height:58px;display:grid;overflow:hidden}.upload-queue-preview img{object-fit:contain;width:100%;height:100%;transition:transform .15s}.upload-queue-copy{min-width:0}.upload-queue-copy strong{min-width:0;color:var(--heading);overflow-wrap:anywhere;align-items:center;gap:7px;font-size:13px;display:flex}.upload-queue-copy strong>span{color:#fff;background:#1f766e;border-radius:999px;flex:none;place-items:center;min-width:22px;height:22px;font-size:11px;display:inline-grid}.upload-queue-copy small,.upload-status-line{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.4;display:block}.upload-status-success{color:#236256;font-weight:700}.upload-status-error{color:#8f2f2f}.upload-progress-track{background:#dce8e4;border-radius:999px;height:4px;margin-top:6px;overflow:hidden}.upload-progress-track span{border-radius:inherit;background:#1f766e;height:100%;transition:width .16s;display:block}.upload-queue-actions{gap:6px;display:flex}.upload-queue-actions .icon-button{width:34px;height:34px;min-height:34px}.upload-preview{gap:10px;margin-top:12px;display:grid}.upload-preview-frame{aspect-ratio:4/3;border:1px solid var(--border);background:#f7faf9;border-radius:8px;place-items:center;display:grid;overflow:hidden}.upload-preview-frame img{object-fit:contain;max-width:100%;max-height:100%;transition:transform .15s}.upload-preview-actions{flex-wrap:wrap;gap:8px;display:flex}.quality-list{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.warning-list{gap:8px;margin-top:12px;display:grid}.warning-list div,.required-hint{color:#7a4f00;background:#fff8e8;border:1px solid #f3c97b;border-radius:8px;align-items:flex-start;gap:7px;padding:9px 10px;font-size:13px;line-height:1.45;display:flex}.retry-box{color:#8f2f2f;background:#fff8f8;border:1px solid #f1b9b9;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:13px;display:flex}.retry-box span{margin-right:auto}.retry-box .ghost-button{min-height:32px;padding:0 10px}.quality-item,.status,.simple-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:12px;display:inline-flex}.quality-item.ok{color:#236256;background:#e5f4ef}.quality-item.warn{color:#8a5b00;background:#fff2cc}.confirm-form,.field-grid{gap:12px;display:grid}.confirm-form{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.billing-summary article{border:1px solid var(--line);background:#f7faf9;border-radius:14px;gap:4px;padding:12px 14px;display:grid}.billing-summary span{color:var(--muted);font-size:12px}.confirm-form label,.field-grid label{gap:6px;display:grid}.confirm-form span,.field-grid span{color:var(--muted);font-size:12px}.field-missing input{background:#fffaf0;border-color:#d88919}input,select{box-sizing:border-box;border:1px solid var(--border);width:100%;min-height:38px;color:var(--heading);font:inherit;background:#fff;border-radius:8px;padding:8px 10px;font-size:14px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline-offset:2px;outline:2px solid #1f766e}.primary-button{color:#fff;background:#1f766e;border:1px solid #1f766e;margin-top:16px;padding:0 16px}.primary-button:hover{background:#185f59}.primary-button:disabled,.ghost-button:disabled{cursor:wait;opacity:.62}.full-width{width:100%}.ghost-button{color:var(--heading);border:1px solid var(--border);background:#fff;padding:0 12px}.ghost-button:hover{background:#f6f8f7}.compact-list,.user-list,.config-list{gap:10px;display:grid}.compact-list article,.compact-list button,.user-list article,.config-list article{border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.compact-list button{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left}.compact-list button:hover{background:#f2f7f5}.compact-list .compact-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.compact-item>div{min-width:0}.compact-list .compact-sequence{color:#fff;background:#1f766e;border-radius:999px;flex:0 0 30px;place-items:center;width:30px;height:30px;margin:0;font-size:12px;font-weight:800;display:grid}.compact-list strong,.compact-list span,.user-list strong,.user-list span,.config-list strong,.config-list span{display:block}.compact-list span,.user-list span,.config-list span{color:var(--muted);margin-top:3px;font-size:12px}.compact-list .compact-feedback{color:#8a4a18}.user-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.user-actions .ghost-button{min-height:32px;padding:0 10px;font-size:12px}.simple-badge.disabled{color:#8f2f2f;background:#fde7e7}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-form label{gap:6px;display:grid}.admin-form span{color:var(--muted);font-size:12px}.admin-form .full-line,.admin-form .full-width,.admin-wide{grid-column:1/-1}.project-import-card{background:linear-gradient(135deg,#f3faf6,#f8faf9);border:1px solid #cddbd5;border-radius:10px;gap:12px;margin-bottom:16px;padding:14px;display:grid}.freight-tier-card{background:#f8faf9;border:1px solid #cddbd5;border-radius:10px;gap:10px;margin-bottom:16px;padding:14px;display:grid}.freight-tier-heading,.freight-tier-heading>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.freight-tier-heading strong{color:var(--heading);font-size:15px}.freight-tier-heading .primary-button{margin-top:0}.freight-tier-labels,.freight-tier-row{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) 38px;align-items:center;gap:10px;display:grid}.freight-tier-labels{color:var(--muted);font-size:12px}.freight-tier-rows{gap:8px;display:grid}.freight-tier-row .icon-button{width:38px;min-height:38px}.project-import-heading,.project-import-file,.project-import-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-import-heading strong{color:var(--heading);font-size:15px}.project-import-heading p,.project-import-actions p,.project-import-limit{color:var(--muted);margin:4px 0 0;font-size:12px}.project-import-picker{color:#176849;cursor:pointer;background:#fff;border:1px solid #8ebaa6;border-radius:8px;flex:none;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-weight:700;display:inline-flex;position:relative}.project-import-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.project-import-file{color:var(--heading);background:#fff;border-radius:8px;justify-content:flex-start;padding:8px 10px}.project-import-file span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.project-import-summary{flex-wrap:wrap;gap:7px;margin-bottom:10px;display:flex}.project-import-summary span{color:#42504a;background:#e8eeeb;border-radius:999px;padding:5px 9px;font-size:12px}.project-import-summary span.is-new,.project-import-summary span.is-update{color:#176849;background:#dff3e9}.project-import-summary span.is-warning{color:#805018;background:#fff0d5}.project-import-summary span.is-error{color:#952e2e;background:#fde2e2}.project-import-view-tabs{background:#e8eeeb;border-radius:9px;grid-template-columns:repeat(2,minmax(96px,1fr));gap:4px;margin-bottom:10px;padding:4px;display:inline-grid}.project-import-view-tabs button{min-height:34px;color:var(--muted);font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:12px;font-weight:700}.project-import-view-tabs button.active{color:var(--heading);background:#fff;box-shadow:0 2px 7px #13302714}.project-import-table-wrap{border:1px solid var(--border);background:#fff;border-radius:8px;max-height:360px;overflow:auto}.project-import-table{border-collapse:collapse;width:100%;font-size:12px}.project-import-table th,.project-import-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 9px}.project-import-table th{z-index:1;color:var(--heading);background:#f4f7f5;position:sticky;top:0}.project-import-table td small{max-width:300px;color:var(--muted);margin-top:4px;line-height:1.4;display:block}.project-import-table tr.has-error td{background:#fff4f4}.project-import-table tr.has-warning td{background:#fffaf0}.import-status{color:#44534c;background:#e8eeeb;border-radius:5px;padding:2px 6px;display:inline-block}.import-status.new,.import-status.update{color:#176849;background:#dff3e9}.import-status.error{color:#952e2e;background:#fde2e2}.project-import-actions{align-items:flex-end;margin-top:12px}.project-import-actions label{gap:5px;min-width:240px;display:grid}.project-import-actions label>span{color:var(--muted);font-size:12px}.project-import-actions>div{justify-items:end;gap:7px;display:grid}.project-import-actions .primary-button{margin-top:0}.project-import-actions .import-blocked{color:#952e2e}.admin-config-grid,.config-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-form.compact{border:1px solid var(--border);background:#f8faf9;border-radius:8px;padding:12px}.form-action-row,.form-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form-action-row .primary-button{margin-top:0}.form-title-row{justify-content:space-between}.form-title-row strong{color:var(--heading);font-size:14px}.form-title-row .ghost-button{min-height:32px;padding:0 10px}.config-columns{margin-top:14px}.settings-panel{gap:16px;display:grid}.settings-panel section{border:1px solid var(--border);background:#f8faf9;border-radius:8px;gap:10px;padding:12px;display:grid}.settings-panel h3{color:var(--heading);margin:0;font-size:15px}.settings-panel label{gap:6px;display:grid}.settings-panel label span{color:var(--muted);font-size:12px}.template-summary{gap:8px;display:grid}.template-summary article{border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:3px;padding:9px 10px;display:flex}.template-card-main{text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;gap:3px;padding:0;display:grid}.template-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.template-section-heading p{color:var(--muted);margin:4px 0 0;font-size:12px}.template-editor-card{background:#fff;border:1px solid #bfd5cc;border-radius:12px;gap:14px;padding:16px;display:grid}.template-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.template-editor-grid label{gap:6px;display:grid}.template-editor-grid .full-width{grid-column:1/-1}.template-toggle-row{flex-wrap:wrap;gap:18px;display:flex}.template-field-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:300px;display:grid;overflow:auto}.template-field-list>strong{grid-column:1/-1}.template-field-list .check-row{border:1px solid var(--border);border-radius:8px;padding:8px}.template-field-list small{color:var(--muted);margin-left:auto}.template-summary strong{color:var(--heading);font-size:13px}.template-summary span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.template-json-editor{resize:vertical;border:1px solid var(--border);min-height:260px;color:var(--text);background:#fff;border-radius:8px;padding:10px 12px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.export-field-list{gap:8px;max-height:360px;display:grid;overflow:auto}.export-field-list article,.settings-row,.check-row{align-items:center;gap:10px;display:flex}.export-field-list article{border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:space-between;padding:8px 10px}.field-actions{flex-wrap:wrap;gap:6px;display:flex}.field-actions .ghost-button{min-height:30px;padding:0 8px;font-size:12px}.settings-row select{flex:1}.check-row input{width:18px;min-height:18px}.admin-audit{max-height:420px;overflow:auto}.table-tools{grid-template-columns:minmax(260px,1fr) auto minmax(0,auto);gap:10px;margin-bottom:14px;display:grid}.filter-panel{margin-bottom:14px}.apply-filter-button{margin-top:0}.filter-application-status{color:#236256;background:#f1f8f5;border:1px solid #c9dfd8;border-radius:8px;align-items:center;min-height:34px;margin:-4px 0 12px;padding:7px 10px;font-size:12px;line-height:1.45;display:flex}.filter-application-status.pending{color:#795718;background:#fff9e9;border-color:#e8cd91}.filter-fields{grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;display:grid}.filter-fields label{gap:5px;display:grid}.filter-fields span{color:var(--muted);font-size:12px}.date-shortcuts{align-items:end;gap:8px;display:flex}.date-shortcuts .ghost-button{min-height:38px;padding:0 10px}.compact-reset{min-height:34px;margin-top:10px}.table-control-bar{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px;display:flex}.table-control-bar label{gap:5px;display:grid}.table-control-bar span,.pagination-controls span{color:var(--muted);font-size:12px}.table-control-bar select{min-width:112px;min-height:34px}.bulk-action-bar{background:#f6fbf9;border:1px solid #c8d8d4;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.bulk-action-bar span{color:var(--muted);margin-right:auto;font-size:13px}.bulk-action-bar .ghost-button{min-height:34px;padding:0 10px}.table-export-actions,.bulk-export-actions,.export-type-actions{flex-wrap:wrap;gap:8px;display:flex}.table-export-actions .ghost-button,.bulk-export-actions .ghost-button{min-height:40px;padding:0 10px}.export-type-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.export-type-actions .primary-button,.export-type-actions .ghost-button{width:100%;margin-top:0}.pagination-controls{align-items:center;gap:8px;margin-left:auto;display:flex}.pagination-controls .ghost-button{min-height:34px;padding:0 10px}.pagination-controls .pagination-summary{white-space:nowrap}.search-box{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.search-box input{border:0;padding-inline:0}.receipt-table{border:1px solid var(--border);border-radius:8px;overflow:auto}.table-row{border:0;border-bottom:1px solid var(--border);width:100%;min-height:54px;color:var(--text);text-align:left;font:inherit;background:#fff;grid-template-columns:32px 54px 54px 1.2fr 1fr .9fr .55fr 112px;align-items:center;gap:12px;padding:0 12px;font-size:13px;display:grid}.table-row:not(.table-head){cursor:pointer}.table-row:focus-visible{outline-offset:-2px;outline:2px solid #1f766e}.table-row:last-child{border-bottom:0}.table-row.selected,.table-row:hover{background:#f2f7f5}.table-head{min-height:42px;color:var(--muted);background:#f6f8f7;font-size:12px;font-weight:700}.select-cell{justify-content:center;align-items:center;display:flex}.select-cell input{accent-color:#1f766e;width:16px;height:16px}.sequence-cell{color:var(--heading);text-align:center;gap:1px;display:grid}.sequence-cell strong{font-size:13px}.sequence-cell small{color:var(--muted);font-size:10px}.thumb{color:#1f766e;cursor:pointer;width:34px;height:34px;font:inherit;background:#edf6f3;border:1px solid #c8d8d4;border-radius:6px;place-items:center;padding:0;display:grid}.thumb:focus-visible{outline-offset:2px;outline:2px solid #1f766e}.thumb img{object-fit:cover;border-radius:6px;width:100%;height:100%}.status-waiting_review,.status-waiting_driver_confirmation,.status-uploaded,.status-suspected_duplicate{color:#7a4e00;background:#fff1c7}.status-reviewed{color:#236256;background:#e5f4ef}.status-processing{color:#355f8f;background:#e7f0fb}.status-needs_driver_fix,.status-duplicate,.status-voided,.status-processing_failed{color:#8f2f2f;background:#fde7e7}.source-page-navigator{background:#f3f9f7;border:1px solid #b9d7d1;border-radius:8px;gap:10px;margin-bottom:14px;padding:12px;display:grid}.source-page-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.source-page-heading strong,.source-page-heading span{display:block}.source-page-heading strong{color:var(--heading);font-size:15px}.source-page-heading span,.source-page-heading small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.45}.source-page-heading small{flex:none}.source-page-controls{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"previous numbers next";align-items:center;gap:8px;display:grid}.source-page-controls>.ghost-button:first-child{grid-area:previous}.source-page-controls>.ghost-button:last-child{grid-area:next}.source-page-controls>.ghost-button{min-height:36px;margin:0}.source-page-number-list{flex-wrap:wrap;grid-area:numbers;justify-content:center;align-items:center;gap:5px;min-width:0;display:flex}.source-page-number{border:1px solid var(--border);width:34px;height:34px;min-height:34px;color:var(--heading);cursor:pointer;font:inherit;background:#fff;border-radius:7px;place-items:center;padding:0;font-size:13px;font-weight:700;display:inline-grid}.source-page-number:hover{background:#edf7f4;border-color:#6fa9a0}.source-page-number.active{color:#fff;background:#1f766e;border-color:#1f766e}.source-page-number:disabled{cursor:wait;opacity:.62}.image-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.image-compare.single-preview{grid-template-columns:minmax(0,1fr)}.single-preview .mock-ticket{aspect-ratio:4/3;min-height:280px}.low-resolution-note{margin-top:2px}.driver-image-compare{margin-bottom:14px}.mock-ticket{aspect-ratio:4/3;border:1px solid var(--border);text-align:center;cursor:pointer;border-radius:8px;align-content:center;place-items:center;gap:8px;padding:14px;display:grid;overflow:hidden}.mock-ticket img{object-fit:contain;grid-row:1;width:100%;height:100%;min-height:0}.mock-ticket span{color:var(--muted);font-size:12px}.mock-ticket strong{max-width:100%;color:var(--heading);overflow-wrap:anywhere;font-size:13px}.mock-ticket.active{border-color:#1f766e;box-shadow:0 0 0 2px #1f766e29}.mock-ticket:disabled{cursor:not-allowed;opacity:.7}.image-actions,.detail-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.image-load-error{color:#8f2f2f;background:#fff8f8;border:1px solid #f2c8c8;border-radius:8px;margin-top:10px;padding:8px 10px;font-size:12px}.ocr-text-panel{border:1px solid var(--border);background:#f8faf9;border-radius:8px;margin-top:14px;overflow:hidden}.ocr-text-panel summary{cursor:pointer;color:var(--heading);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.ocr-text-panel summary em{color:var(--muted);font-size:12px;font-style:normal;font-weight:400}.ocr-text-panel pre{border-top:1px solid var(--border);max-height:220px;color:var(--text);white-space:pre-wrap;word-break:break-word;background:#fff;margin:0;padding:12px;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.image-lightbox{z-index:10000;overscroll-behavior:contain;background:#0e181fb8;place-items:center;width:100vw;height:100dvh;padding:18px;display:grid;position:fixed;inset:0;overflow:auto}.image-lightbox-panel{background:#fff;border-radius:8px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;width:min(1040px,100%);max-height:min(760px,100dvh - 36px);padding:14px;display:grid;box-shadow:0 24px 80px #0a182347}.image-lightbox-panel:focus{outline:none}.image-lightbox-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.image-lightbox-header strong,.image-lightbox-header span{display:block}.image-lightbox-header span{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px}.icon-button{border:1px solid var(--border);width:36px;height:36px;min-height:36px;color:var(--heading);cursor:pointer;background:#fff;border-radius:8px;place-items:center;display:inline-grid}.image-lightbox-tabs{gap:8px;display:flex}.image-lightbox-tabs button{border:1px solid var(--border);min-height:34px;color:var(--heading);cursor:pointer;background:#fff;border-radius:8px;padding:0 12px}.image-lightbox-tabs button.active{color:#1f766e;background:#e8f4f1;border-color:#1f766e}.image-lightbox-tabs button:disabled{cursor:not-allowed;opacity:.55}.image-lightbox-stage{border:1px solid var(--border);background:#f7faf9;border-radius:8px;place-items:center;min-height:260px;display:grid;overflow:auto}.image-lightbox-stage img{object-fit:contain;max-width:96%;max-height:68vh;transition:transform .16s}.risk-box,.feedback-box{color:#7a4e00;background:#fff7de;border:1px solid #ffd682;border-radius:8px;align-items:flex-start;gap:8px;margin:14px 0;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.feedback-box{color:#8f2f2f;background:#fff8f8;border-color:#f1b9b9}.inline-action-box{border:1px solid var(--border);background:#f8fbfa;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;padding:12px;display:flex}.inline-action-box strong,.inline-action-box span{display:block}.inline-action-box strong{color:var(--heading);font-size:13px}.inline-action-box span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.inline-action-box .ghost-button{flex-shrink:0}.duplicate-panel{background:#fffaf0;border:1px solid #ffd682;border-radius:8px;gap:10px;margin-top:14px;padding:12px;display:grid}.duplicate-panel h3{color:var(--heading);margin:0;font-size:15px}.duplicate-panel article{background:#fff;border:1px solid #efd59b;border-radius:8px;gap:10px;padding:10px;display:grid}.duplicate-panel strong,.duplicate-panel span{display:block}.duplicate-panel span{color:var(--muted);margin-top:3px;font-size:12px}.duplicate-actions{flex-wrap:wrap;gap:8px;display:flex}.duplicate-actions .ghost-button{min-height:32px;padding:0 10px;font-size:12px}.ghost-button.danger{color:#8f2f2f;background:#fff8f8;border-color:#f1b9b9}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.review-note-field{gap:6px;margin-top:14px;display:grid}.review-note-field span{color:var(--muted);font-size:12px}.review-note-field textarea{resize:vertical;border:1px solid var(--border);min-height:82px;font:inherit;color:var(--text);background:#fff;border-radius:8px;padding:10px 12px}.audit-line{color:var(--muted);align-items:center;gap:8px;margin-top:14px;font-size:12px;display:flex}.audit-panel{border-top:1px solid var(--border);gap:8px;margin-top:16px;padding-top:14px;display:grid}.audit-panel h3{color:var(--heading);margin:0;font-size:15px}.audit-panel p{color:var(--muted);margin:0;font-size:13px}.audit-panel article{border:1px solid var(--border);background:#fff;border-radius:8px;gap:3px;padding:10px;display:grid}.audit-panel strong{color:var(--heading);font-size:13px}.audit-panel span,.audit-panel em{color:var(--muted);font-size:12px;font-style:normal}.empty-state{border:1px dashed var(--border);min-height:116px;color:var(--muted);text-align:center;background:#f8faf9;border-radius:8px;align-content:center;place-items:center;gap:8px;padding:16px;font-size:13px;display:grid}.simple-badge{color:#236256;background:#e5f4ef}.export-panel .primary-button{width:100%}.mobile-filter-toggle,.mobile-back-button,.mobile-row-hint{display:none}@media (width<=1240px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:20;border-right:0;border-bottom:1px solid var(--border);grid-template-columns:minmax(200px,.8fr) minmax(320px,1.3fr) auto auto;align-items:center;gap:12px;height:auto;min-height:72px;padding:12px 20px;display:grid;position:sticky;box-shadow:0 5px 18px #17211e0d}.role-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.role-switch button{justify-content:center}.install-panel>.ghost-button,.logout{white-space:nowrap;width:auto}.workspace{padding:20px}.review-grid>.detail-panel{max-height:calc(100svh - 112px);top:92px}.admin-grid{grid-template-columns:repeat(2,minmax(280px,1fr))}.metric-strip{min-width:0}}@media (width<=1040px){.review-grid,.driver-grid{grid-template-columns:1fr}.detail-panel{scroll-margin-top:92px}.review-grid>.detail-panel{max-height:none;position:static;overflow:visible}}@media (width<=840px){.sidebar{grid-template-columns:minmax(180px,1fr) auto auto}.role-switch{grid-area:2/1/auto/-1}.topbar{display:grid}.admin-grid{grid-template-columns:1fr}}@media (width<=720px){.admin-command-heading{flex-direction:column;align-items:stretch}.organization-switcher{flex-basis:auto}.admin-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.organization-create-card,.template-editor-grid,.template-field-list{grid-template-columns:1fr}.template-field-list>strong,.template-editor-grid .full-width{grid-column:auto}.project-import-heading,.project-import-actions{flex-direction:column;align-items:stretch}.project-import-picker{justify-content:center}.project-import-actions label{min-width:0}.project-import-actions>div{justify-items:stretch}.project-import-actions .primary-button{justify-content:center;width:100%}.billing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{padding-bottom:env(safe-area-inset-bottom)}.sidebar{min-height:58px;padding:max(9px, env(safe-area-inset-top)) 12px 9px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#edf1eff7;grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px;top:0}.brand{gap:9px;min-width:0}.brand-mark{flex:0 0 36px;width:36px;height:36px}.brand>div:last-child{min-width:0}.brand strong,.brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-switch{grid-column:1/-1;gap:8px;width:100%;display:flex}.role-switch.single-role{display:none}.role-switch button{border-color:var(--border);background:#ffffffb8;flex:1;justify-content:center;min-height:42px;padding:0 10px}.role-switch button:disabled{display:none}.install-panel{position:static}.install-panel>.ghost-button,.logout{color:#0000;width:44px;min-height:44px;padding:0;font-size:0;overflow:hidden}.install-panel>.ghost-button svg,.logout svg{color:var(--heading)}.install-guide{z-index:31;top:calc(max(9px, env(safe-area-inset-top)) + 54px);position:fixed;left:12px;right:12px;box-shadow:0 12px 32px #17211e2e}.workspace{padding:14px}.topbar{gap:14px;margin-bottom:16px;display:grid}.topbar h1{margin-bottom:5px;font-size:23px}.topbar p{font-size:13px;line-height:1.5}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.metric{padding:8px 10px}.metric strong{font-size:19px}.panel{border-radius:12px;padding:14px}.panel-title{gap:10px;margin-bottom:14px}.panel-title h2{font-size:17px}.panel-title>svg{flex:none}.source-page-navigator{border-radius:10px;padding:11px}.source-page-heading{gap:2px;display:grid}.source-page-heading small{margin-top:0}.source-page-controls{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"previous next""numbers numbers"}.source-page-controls>.ghost-button{width:100%;min-width:0}.source-page-number-list{justify-content:flex-start;padding-top:2px}.source-page-number{width:40px;height:40px;min-height:40px}.driver-grid,.review-grid,.admin-grid{gap:12px}.capture-options{grid-template-columns:1fr}.capture-box{min-height:158px;padding:18px}.capture-box:nth-child(2){text-align:left;grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr);align-content:center;place-items:start;gap:2px 12px;min-height:86px}.capture-box:nth-child(2):before{inset:10px}.capture-box:nth-child(2) svg{grid-row:1/3;align-self:center}.capture-box:nth-child(2) strong,.capture-box:nth-child(2) span{max-width:none}.upload-queue{max-height:none}.upload-queue-item{grid-template-columns:50px minmax(0,1fr) auto;gap:8px}.upload-queue-preview{width:50px;height:50px}.upload-queue-actions{display:grid}.compact-list .compact-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.single-preview .mock-ticket{min-height:220px}input,select,textarea{min-height:44px;font-size:16px}.role-switch button,.ghost-button,.primary-button{min-height:44px}.primary-button{margin-top:12px}.confirm-panel>.primary-button,.detail-actions>.primary-button{width:100%}.upload-preview-actions .ghost-button,.image-actions .ghost-button,.detail-actions .ghost-button,.duplicate-actions .ghost-button{flex:132px}.confirm-form,.admin-form,.admin-config-grid,.config-columns,.filter-fields,.field-grid,.image-compare,.table-tools{grid-template-columns:1fr}.freight-tier-heading{flex-direction:column;align-items:stretch}.freight-tier-heading>div{grid-template-columns:1fr 1fr;display:grid}.freight-tier-labels,.freight-tier-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px}.inline-action-box,.compact-list article,.compact-list button,.user-list article,.config-list article,.export-field-list article,.settings-row{flex-direction:column;align-items:stretch}.inline-action-box .ghost-button,.user-actions,.field-actions,.settings-row .ghost-button{width:100%}.user-actions{grid-template-columns:auto repeat(2,minmax(0,1fr));justify-content:stretch;display:grid}.user-actions .ghost-button,.field-actions .ghost-button{min-height:40px}.field-actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.settings-row select{width:100%}.export-type-actions{grid-template-columns:1fr}.mobile-filter-toggle{width:100%;margin-bottom:10px;display:inline-flex}.filter-fields{display:none}.filter-fields.mobile-open{display:grid}.table-tools{gap:8px}.table-export-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.table-export-actions .ghost-button{min-width:0;padding:4px 6px;line-height:1.25}.table-control-bar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.table-control-bar label,.table-control-bar select{width:100%;min-width:0}.pagination-controls{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:0;display:grid}.pagination-controls .pagination-summary{text-align:center;grid-column:1/-1}.pagination-controls .ghost-button{min-height:40px}.bulk-action-bar,.bulk-export-actions{grid-template-columns:1fr;display:grid}.bulk-action-bar span{margin-right:0}.receipt-table{border:0;border-radius:0;gap:10px;display:grid;overflow:visible}.table-head{display:none}.table-row:not(.table-head){border:1px solid var(--border);border-radius:12px;grid-template-columns:32px 46px minmax(0,1fr) auto;grid-template-areas:"select thumb sequence status""select thumb receipt receipt"". .vehicle vehicle"". .date volume"". .hint hint";align-items:start;gap:6px 10px;min-width:0;min-height:0;padding:13px;box-shadow:0 2px 8px #17211e09}.table-row:not(.table-head).selected{border-color:#69a89f;box-shadow:0 0 0 2px #1f766e1f}.table-row:not(.table-head) .select-cell{grid-area:select;align-items:flex-start;min-height:44px;padding-top:3px}.table-row:not(.table-head) .select-cell input{width:20px;height:20px}.table-row:not(.table-head) .thumb{grid-area:thumb;width:46px;height:46px}.table-row:not(.table-head) .sequence-cell{text-align:left;grid-area:sequence;justify-content:flex-start;align-items:baseline;gap:5px;display:flex}.receipt-number-cell{color:var(--heading);overflow-wrap:anywhere;grid-area:receipt;font-size:15px;font-weight:700}.vehicle-cell{color:var(--text);overflow-wrap:anywhere;grid-area:vehicle}.date-cell{grid-area:date}.volume-cell{text-align:right;grid-area:volume}.date-cell,.volume-cell{color:var(--muted);font-size:12px}.date-cell:before{content:"日期 "}.volume-cell:before{content:"方量 "}.table-row:not(.table-head)>.status{grid-area:status;align-self:start}.mobile-row-hint{color:#1f766e;grid-area:hint;justify-self:end;align-items:center;gap:5px;padding-top:3px;font-size:12px;font-weight:700;display:inline-flex}.detail-panel{scroll-margin-top:76px}.mobile-back-button{width:100%;margin-bottom:12px;display:inline-flex}.image-lightbox{align-items:stretch;padding:0}.image-lightbox-panel{width:100%;height:100dvh;max-height:none;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));border-radius:0}.image-lightbox-stage{min-height:0}.image-lightbox-stage img{max-height:58dvh}.image-lightbox-panel>.image-actions{flex-wrap:nowrap;overflow-x:auto}.image-lightbox-panel>.image-actions .ghost-button{flex:none}.login-screen{padding:max(18px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom));align-items:start}.login-panel{border-radius:12px;margin-top:min(12vh,72px);padding:22px 18px}}@media (width<=420px){.workspace{padding:10px}.panel{padding:12px}.metric-strip{gap:6px}.table-export-actions .ghost-button svg{display:none}.user-actions{grid-template-columns:1fr 1fr}.user-actions .simple-badge{grid-column:1/-1;justify-self:start}.field-actions{grid-template-columns:1fr 1fr}.field-actions .danger{grid-column:1/-1}.upload-queue-item{grid-template-columns:46px minmax(0,1fr)}.upload-queue-preview{width:46px;height:46px}.upload-queue-actions{grid-column:1/-1;justify-content:flex-end;display:flex}.table-row:not(.table-head){grid-template-columns:28px 42px minmax(0,1fr) auto;column-gap:8px;padding:11px}.table-row:not(.table-head) .thumb{width:42px;height:42px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-release-panel{min-width:0}.release-layout{grid-template-columns:minmax(320px,.9fr) minmax(380px,1.1fr);align-items:start;gap:22px;display:grid}.release-form{border:1px solid var(--line);background:var(--panel-soft,#f8fafc);border-radius:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;display:grid}.release-form textarea{resize:vertical;min-height:96px}.release-form small,.release-list span,.release-targets p{color:var(--muted)}.release-targets{border:1px solid var(--line);border-radius:14px;margin:0;padding:14px}.release-targets>div{flex-wrap:wrap;gap:8px 16px;display:flex}.release-targets .check-row{width:auto}.upload-meter{background:#e2e8f0;border-radius:999px;height:24px;position:relative;overflow:hidden}.upload-meter>span{background:#2563eb;transition:width .2s;position:absolute;inset:0 auto 0 0}.upload-meter small{z-index:1;color:#0f172a;text-align:center;line-height:24px;display:block;position:relative}.release-list{gap:14px;display:grid}.release-list>article{border:1px solid var(--line);background:var(--panel,#fff);border-radius:18px;padding:18px}.release-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.release-heading>div{gap:4px;display:grid}.release-list p{color:var(--muted);white-space:pre-wrap;margin:13px 0}.release-list dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px;display:grid}.release-list dl>div{background:#f8fafc;border-radius:12px;min-width:0;padding:10px}.release-list dt{color:var(--muted);font-size:12px}.release-list dd{text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-weight:650;overflow:hidden}.ghost-button.danger{color:#b91c1c}@media (width<=980px){.release-layout{grid-template-columns:1fr}}@media (width<=640px){.release-form,.release-list dl{grid-template-columns:1fr}}body{background:radial-gradient(circle at 82% -12%, #19736413, transparent 28rem), var(--bg)}button,input,select,textarea{transition:border-color .16s,box-shadow .16s,background-color .16s,color .16s,transform .16s}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #1973642e}input,select,textarea{border-color:var(--border-strong);color:var(--heading);background:#fff;border-radius:10px}input:hover,select:hover,textarea:hover{border-color:#a9beb5}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1973641a}.app-shell{background:0 0;grid-template-columns:224px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{z-index:20;color:#ffffffd1;background:radial-gradient(circle at 0 0, #54bea12e, transparent 20rem), var(--sidebar);border-right:0;gap:22px;width:224px;padding:24px 16px;position:fixed;inset:0 auto 0 0;box-shadow:12px 0 40px #0c231c14}.sidebar.collapsed{width:76px}.workspace{grid-column:2;min-width:0}.sidebar-toggle{z-index:4;color:#fff;cursor:pointer;background:#174d43;border:1px solid #ffffff29;border-radius:999px;place-items:center;width:28px;height:28px;padding:0;display:grid;position:absolute;top:70px;right:-13px;box-shadow:0 5px 14px #0a2b2333}.sidebar.collapsed{align-items:center;padding-inline:12px}.sidebar.collapsed .brand{padding:0}.sidebar.collapsed .sidebar-copy,.sidebar.collapsed .sidebar-label,.sidebar.collapsed .install-guide{display:none}.sidebar.collapsed .role-switch,.sidebar.collapsed .install-panel{width:100%}.sidebar.collapsed .role-switch button,.sidebar.collapsed .install-panel>.ghost-button,.sidebar.collapsed .logout{justify-content:center;width:48px;min-width:48px;padding:0}.sidebar .brand{padding:0 8px}.brand-mark{background:linear-gradient(145deg,#39a58d,#187263);border-radius:11px;box-shadow:0 8px 18px #0c504238}.sidebar .brand strong{color:#fff;letter-spacing:.02em}.sidebar .brand span{color:#e0f0ea94}.role-switch{gap:6px}.role-switch button{color:#e8f4efad;border-radius:10px;min-height:44px;padding:0 13px;font-weight:650}.role-switch button:hover{color:#fff;background:#ffffff12;border-color:#ffffff14}.role-switch button.active{color:#fff;background:#49ae9233;border-color:#74d9bc38;box-shadow:inset 3px 0 #5ec3a8}.sidebar .ghost-button{color:#eef7f4c7;background:#ffffff0b;border-color:#ffffff1f}.sidebar .ghost-button:hover{color:#fff;background:#ffffff17}.sidebar .logout{margin-top:auto}.workspace{padding:26px 28px 40px}.topbar{align-items:center;margin-bottom:22px}.topbar h1{letter-spacing:-.035em;margin-bottom:5px;font-size:clamp(25px,2vw,32px);font-weight:760}.topbar-context{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.topbar-context span+span:before{content:"·";color:var(--border-strong);margin-right:7px}.metric-strip{border:1px solid var(--border);min-width:400px;box-shadow:var(--shadow-sm);background:#ffffffa8;border-radius:14px;gap:7px;padding:5px}.metric{background:0 0;border:0;border-radius:10px;padding:9px 11px}.metric+.metric{border-left:1px solid var(--border);border-radius:0}.metric span{font-size:11px}.metric strong{font-variant-numeric:tabular-nums;margin-top:1px;font-size:20px}.panel{box-shadow:var(--shadow-sm);background:#fffffff0;border-color:#ccd9d3e0;border-radius:16px}.panel-title h2,.queue-heading h2,.section-heading h3,.review-detail-header h2{letter-spacing:-.025em}.primary-button,.ghost-button,.role-switch button{border-radius:10px;font-weight:680}.primary-button,.ghost-button{text-align:center;margin:0;line-height:1}.primary-button>svg,.ghost-button>svg{flex:none}.primary-button{border-color:var(--accent);background:var(--accent);box-shadow:0 7px 16px #19736429}.primary-button:hover{border-color:var(--accent-strong);background:var(--accent-strong);transform:translateY(-1px)}.ghost-button{border-color:var(--border-strong);background:#ffffffe6}.ghost-button:hover{background:var(--surface-soft);border-color:#a9beb5}.primary-button:disabled,.ghost-button:disabled{cursor:not-allowed;transform:none}.panel-title{align-items:center}.panel-title h2{margin-bottom:0}.notice{box-shadow:var(--shadow-sm);border-radius:11px}.eyebrow{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:800}.login-screen{background:radial-gradient(circle at 50% -10%,#4caa914d,#0000 28rem),linear-gradient(145deg,#10231d,#173c32);place-items:center;min-height:100svh;padding:24px}.login-panel{width:min(400px,100%);box-shadow:var(--shadow-lg);border:1px solid #ffffff73;border-radius:18px;gap:16px;padding:30px}.login-panel .brand.large{margin-bottom:8px}.login-panel .brand.large strong{color:var(--heading);font-size:22px}.login-panel input[type=tel],.login-panel input[type=password],.login-panel .primary-button{min-height:48px}.review-grid{grid-template-columns:minmax(380px,.72fr) minmax(720px,1.28fr);gap:18px}.review-grid>.table-panel{align-self:start}.review-grid>.detail-panel{max-height:none;position:static;overflow:visible}.queue-heading,.review-detail-header,.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.queue-heading{margin-bottom:14px}.queue-heading h2,.review-detail-header h2,.section-heading h3{color:var(--heading);margin:2px 0 0}.queue-heading h2{font-size:20px}.queue-heading>span{color:var(--muted);background:var(--surface-soft);font-variant-numeric:tabular-nums;border-radius:999px;padding:6px 9px;font-size:12px}.filter-panel{margin:0 -3px 12px}.table-tools{grid-template-columns:minmax(180px,1fr) auto;gap:8px;margin-bottom:10px}.search-box{border-color:var(--border-strong);border-radius:10px;min-height:42px}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #1973641a}.table-export-actions{grid-column:1/-1;gap:6px;display:flex}.table-export-actions .ghost-button{min-height:34px;padding:0 9px;font-size:12px}.quick-view-bar{background:#edf1ef;border-radius:11px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0 0 10px;padding:4px;display:grid}.template-summary-bar{scrollbar-width:thin;gap:8px;padding:2px 0 6px;display:flex;overflow-x:auto}.template-summary-bar button{border:1px solid var(--line);background:var(--surface);min-width:max-content;color:var(--text);text-align:left;border-radius:12px;grid-template-columns:auto auto;gap:2px 10px;padding:9px 12px;display:grid}.template-summary-bar button.active{border-color:var(--accent);background:var(--accent-soft)}.template-summary-bar strong{color:var(--accent)}.template-summary-bar em{color:var(--muted);font-size:.75rem;font-style:normal}.quick-view-bar button{min-height:34px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 8px;font-size:12px;font-weight:700}.quick-view-bar button:hover{color:var(--heading);background:#ffffffa6}.quick-view-bar button.active{color:var(--accent-strong);background:#fff;box-shadow:0 2px 7px #13302714}.quick-view-bar button.active.risk{color:#8d5a13}.filter-application-status{background:var(--accent-soft);border:0;border-radius:8px;min-height:28px;margin:0 0 9px;padding:5px 8px;font-size:11px}.filter-application-status.pending{background:#fff5dd}.filter-toggle{justify-content:center;width:100%;min-height:34px;padding:0 10px;font-size:12px}.filter-toggle>span{min-width:20px;color:var(--accent-strong);background:var(--accent-soft);text-align:center;border-radius:999px;padding:2px 6px}.filter-actions{grid-template-columns:minmax(0,1fr) 84px;gap:8px;display:grid}.filter-fields{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px;padding:12px;display:none}.filter-fields.advanced-open,.filter-fields.mobile-open{display:grid}.filter-fields .date-shortcuts{grid-column:1/-1}.compact-reset{width:100%;margin-top:0}.table-control-bar{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1fr) 80px;gap:7px;padding-top:12px;display:grid}.table-control-bar select{width:100%;min-width:0}.pagination-controls{grid-column:1/-1;grid-template-columns:1fr 1fr;margin:2px 0 0;display:grid}.pagination-controls .pagination-summary{text-align:center;grid-column:1/-1}.receipt-table{background:var(--surface-soft);scrollbar-gutter:stable;border:0;border-radius:12px;min-height:220px;max-height:calc(100svh - 460px);overflow:auto}.table-row{border-bottom-color:#e8eeeb;grid-template-columns:30px 42px 44px minmax(110px,1.2fr) minmax(90px,1fr) 82px 64px 92px;gap:9px;min-width:650px;min-height:58px;padding:0 10px;font-size:12px}.table-row.table-head{z-index:2;background:#eef2f0;min-height:38px;position:sticky;top:0}.table-row:not(.table-head):hover{background:#f1f7f4}.table-row.selected{box-shadow:inset 3px 0 0 var(--accent);background:#e7f3ef}.thumb{border-radius:8px;width:38px;height:38px}.status{white-space:nowrap}.bulk-action-bar{z-index:4;border-radius:11px;position:sticky;top:0;box-shadow:0 8px 22px #142f2714}.detail-panel{padding:18px}.empty-detail-panel{place-items:center;min-height:520px;display:grid}.review-detail-header{margin-bottom:14px}.review-detail-header h2{font-size:22px}.review-title-line{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.review-title-line>span{color:var(--muted);font-size:12px}.review-detail-header p{color:var(--muted);margin:4px 0 0;font-size:12px}.review-navigation{gap:7px;display:flex}.icon-button{border:1px solid var(--border-strong);width:38px;height:38px;color:var(--heading);cursor:pointer;background:#fff;border-radius:10px;place-items:center;padding:0;display:inline-grid}.icon-button:hover:not(:disabled){color:var(--accent-strong);background:var(--accent-soft);border-color:#93b9ad}.icon-button:disabled{cursor:not-allowed;opacity:.4}.detail-panel .source-page-navigator{border-color:var(--border);background:var(--surface-soft);border-radius:11px;margin-bottom:14px;padding:9px 11px}.review-focus-grid{grid-template-columns:minmax(300px,.88fr) minmax(390px,1.12fr);align-items:start;gap:16px;display:grid}.review-visual-column,.review-form-column{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;min-width:0;padding:14px}.review-visual-column{overflow:hidden}.review-form-column{background:#fff}.section-heading.compact{margin-bottom:12px}.section-heading h3{font-size:17px}.section-heading>svg{color:var(--accent)}.unsaved-badge{color:#8a5b15;background:#fff1cf;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:750}.low-resolution-note{border-radius:9px;margin-bottom:8px;padding:8px 9px;font-size:11px}.single-preview .mock-ticket{background:#e8eeeb;border-radius:12px;min-height:min(420px,45svh)}.single-preview .mock-ticket img{object-fit:contain;max-height:430px}.image-actions{gap:6px}.image-actions .ghost-button{min-height:34px;padding:0 9px;font-size:11px}.ocr-text-panel{border-radius:10px}.risk-box,.feedback-box,.duplicate-panel{border-radius:11px}.billing-summary{gap:6px;margin:0 0 12px}.billing-summary article{background:var(--surface-soft);border-radius:10px;min-height:68px;padding:10px}.billing-summary strong{font-size:13px}.review-form-column .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-height:200px;margin-top:0;padding:2px}.review-form-column .field-grid label{gap:4px}.review-form-column .field-grid input{min-height:38px;padding:8px 9px;font-size:13px}.review-note-field{margin-top:10px}.review-note-field textarea{border-radius:10px;min-height:64px}.review-action-dock{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-radius:0 0 14px 14px;justify-content:flex-end;align-items:center;gap:12px;margin:12px -14px -14px;padding:12px 14px;display:flex;position:static;box-shadow:0 -12px 24px #142b240d}.review-action-dock .detail-actions{flex-wrap:nowrap;margin:0}.review-action-dock .primary-button,.review-action-dock .ghost-button{white-space:nowrap;min-height:40px;margin:0}.mock-ticket img,.thumb img{transform-origin:50%;transition:transform .18s}.ticket-image-stage{aspect-ratio:16/9;contain:paint;grid-row:1;width:100%;min-width:0;max-width:100%;position:relative;overflow:hidden}.ticket-image-stage img{object-fit:contain;width:100%;height:100%;position:absolute;top:50%;left:50%}.ticket-image-stage img.quarter-turn{width:56.25%;max-width:none;height:177.778%;max-height:none}.receipt-image-viewer,.image-compare.single-preview,.single-preview .mock-ticket{width:100%;min-width:0;max-width:100%}.single-preview .mock-ticket{box-sizing:border-box;contain:paint}.thumb{overflow:hidden}.thumb img{object-fit:contain;width:100%;height:100%}.template-field-list{grid-template-columns:1fr;max-height:none;overflow:visible}.template-field-heading,.template-field-row>summary{align-items:center;gap:8px;display:flex}.template-field-heading{justify-content:space-between}.template-field-row{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden}.template-field-row>summary{cursor:pointer;justify-content:space-between;min-height:44px;padding:8px 12px;list-style:none}.template-field-row>summary::-webkit-details-marker{display:none}.template-field-row[open]>summary{border-bottom:1px solid var(--border);background:var(--surface-soft)}.template-field-status,.template-field-options{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.template-field-status em{color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;padding:2px 7px;font-size:11px;font-style:normal}.template-field-editor{grid-template-columns:minmax(180px,1fr) minmax(240px,1.5fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.template-field-editor>label{gap:5px;display:grid}.template-field-editor>label span{color:var(--muted);font-size:12px}.template-field-options{grid-column:1/-1}.template-field-options label{white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.template-field-options input{width:16px;height:16px}@media (width<=900px){.template-field-editor{grid-template-columns:1fr}.template-field-options{grid-column:auto}}.template-threshold{max-width:220px}.danger-actions{margin-top:10px}.danger-actions summary,.audit-panel summary{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px}.danger-actions>div{gap:8px;margin-top:8px;display:flex}.audit-panel{margin-top:12px;padding:12px 0 0}.audit-panel[open] summary{margin-bottom:10px}.driver-grid,.admin-grid{gap:18px}.admin-grid{grid-template-columns:minmax(340px,.9fr) minmax(440px,1.1fr)}.capture-box{background:#f4f8f6;border-style:solid;border-radius:13px;min-height:132px}.capture-box:before{display:none}.capture-box:hover{color:var(--accent-strong);background:var(--accent-soft);border-color:#8eb7aa}.batch-upload-note{background:var(--surface-soft);border:0;border-radius:9px;align-items:center;padding:8px 10px}.confirm-panel>.primary-button{width:100%;margin-top:12px}.form-action-row .primary-button,.admin-form>.primary-button,.settings-panel .primary-button,.template-editor-card>.primary-button{min-height:40px}.user-actions .ghost-button,.field-actions .ghost-button,.duplicate-actions .ghost-button{text-align:center;justify-content:center}.capture-box,.upload-queue-item,.compact-list article,.compact-list button,.user-list article,.config-list article,.admin-form.compact,.settings-panel section,.template-editor-card,.organization-directory,.organization-create-card{border-radius:12px}.admin-command-center{border-color:var(--border);background:linear-gradient(135deg,#fff,#f0f7f4)}.admin-section-tabs{background:#e8eeeb}.admin-section-tabs button.active{color:var(--accent-strong)}.settings-panel{grid-template-columns:minmax(250px,.7fr) minmax(420px,1.3fr);align-items:start}.settings-panel .template-settings-card{grid-column:1/-1}.settings-panel label.check-row{align-items:center;display:flex}.duplicate-rules-card{grid-template-columns:repeat(2,minmax(0,1fr))}.duplicate-rules-card>h3,.duplicate-rules-card>label:not(.check-row),.duplicate-rules-card>.primary-button{grid-column:1/-1}@media (width<=1580px){.review-grid{grid-template-columns:minmax(340px,.68fr) minmax(620px,1.32fr)}.review-focus-grid{grid-template-columns:1fr}.review-form-column .field-grid{max-height:none}.receipt-table{max-height:calc(100svh - 490px)}}@media (width<=1240px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar-toggle{display:none}.sidebar{width:auto;position:sticky;inset:0 auto auto}.workspace{grid-column:1}.sidebar.collapsed{align-items:center;padding:12px 20px}.sidebar.collapsed .sidebar-copy,.sidebar.collapsed .sidebar-label{display:initial}.sidebar.collapsed .role-switch,.sidebar.collapsed .install-panel{width:auto}.sidebar.collapsed .role-switch button,.sidebar.collapsed .install-panel>.ghost-button,.sidebar.collapsed .logout{width:auto;min-width:0;padding:0 13px}.sidebar{background:radial-gradient(circle at 0 0, #54bea129, transparent 18rem), var(--sidebar);border-bottom:1px solid #ffffff14}.sidebar .role-switch button{justify-content:center}.review-grid{grid-template-columns:minmax(350px,.72fr) minmax(580px,1.28fr)}}@media (width<=1040px){.review-grid{grid-template-columns:1fr}.review-grid>.detail-panel{max-height:none}.receipt-table{max-height:520px}.review-focus-grid{grid-template-columns:minmax(300px,.9fr) minmax(390px,1.1fr)}}@media (width<=840px){.admin-grid,.settings-panel{grid-template-columns:1fr}.settings-panel .template-settings-card{grid-column:auto}.review-focus-grid{grid-template-columns:1fr}}@media (width<=720px){.workspace{padding:14px 12px 28px}.sidebar{background:#13231ff5}.sidebar .role-switch button{background:#ffffff0b;border-color:#ffffff1a}.sidebar .role-switch button.active{background:#49ae9233}.metric-strip{min-width:0}.metric+.metric{border-left:0}.login-screen{padding:14px}.login-panel{width:min(400px,100%);padding:25px 20px}.capture-options{grid-template-columns:repeat(2,minmax(0,1fr))}.capture-box,.capture-box:nth-child(2){text-align:center;grid-template-rows:auto auto;grid-template-columns:1fr;align-content:center;place-items:center;gap:8px;min-height:124px;padding:14px 8px;display:grid}.capture-box:nth-child(2) svg{grid-row:auto;align-self:auto}.admin-section-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:visible}.admin-section-tabs button{text-align:center;justify-content:center;min-width:0;padding:0 5px}.queue-heading{margin-bottom:12px}.table-tools{grid-template-columns:1fr auto}.table-export-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.quick-view-bar{grid-template-columns:repeat(4,minmax(84px,1fr));overflow-x:auto}.filter-fields.advanced-open,.filter-fields.mobile-open{grid-template-columns:1fr}.filter-fields .date-shortcuts{grid-column:auto}.receipt-table{background:0 0;max-height:none}.table-row{min-width:0}.review-detail-header{align-items:flex-start}.review-detail-header h2{font-size:19px}.review-visual-column,.review-form-column{padding:12px}.review-form-column .field-grid{grid-template-columns:1fr}.review-action-dock{padding:11px 12px max(11px, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;margin:12px -12px -12px}.review-action-dock .detail-actions{grid-template-columns:auto minmax(0,1fr);display:grid}.review-action-dock .primary-button{width:100%}.danger-actions>div{display:grid}}@media (prefers-reduced-motion:reduce){button,input,select,textarea{transition:none}}
