:root{color-scheme:dark;--bg: #10151d;--bg-2: #151c26;--sidebar: #111821;--surface: #161f2b;--surface-2: #1d2836;--surface-3: #263346;--line: #303b4d;--line-strong: #43526a;--text: #f4f7fb;--muted: #a0a9b8;--muted-2: #758195;--green: #6f91c3;--green-2: #334b68;--blue: #8fb1e4;--amber: #d6a75b;--red: #e35f59;--purple: #a99be8;--shadow: 0 18px 44px rgba(0, 0, 0, .34);--font: Inter, "Segoe UI", Arial, sans-serif;--mono: "JetBrains Mono", Consolas, "Courier New", monospace}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}body{min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#141b13f5,#0a0c0a),var(--bg);color:var(--text);font-family:var(--font);font-size:14px}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}body[data-page=upload],body[data-page=upload] *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body[data-page=upload] img,body[data-page=upload] canvas,body[data-page=upload] video,body[data-page=upload] svg{-webkit-user-drag:none;user-drag:none}body[data-page=upload] input,body[data-page=upload] textarea{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}h1,h2,p{margin:0;letter-spacing:0}h1{font-size:28px;line-height:1.12;font-weight:850}h2{font-size:17px;line-height:1.2;font-weight:830}.hidden,.upload-app.hidden{display:none}.visually-hidden{position:fixed;top:0;left:0;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;clip-path:inset(50%)}.eyebrow,.panel-kicker{color:var(--muted-2);font-size:11px;font-weight:850;letter-spacing:.14em;line-height:1.2;margin-bottom:6px;text-transform:uppercase}.muted-text{color:var(--muted);line-height:1.5}.workstation-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.app-sidebar{display:flex;flex-direction:column;min-height:100vh;border-right:1px solid var(--line);background:var(--sidebar)}.brand-block{display:flex;align-items:center;gap:12px}.app-sidebar .brand-block{min-height:68px;border-bottom:1px solid var(--line);padding:16px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(114,211,141,.34);border-radius:8px;background:#72d38d1f;color:var(--green);font-size:12px;font-weight:900}.brand-block strong,.brand-block span{display:block}.brand-block strong{font-size:14px;line-height:1.2}.brand-block span{margin-top:3px;color:var(--muted-2);font-size:12px}.sidebar-nav{display:grid;gap:6px;padding:14px 10px}.tab-button{display:grid;gap:2px;min-height:54px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;padding:10px 12px;text-align:left}.tab-button span{color:inherit;font-size:13px;font-weight:850}.tab-button small{color:var(--muted-2);font-size:11px}.tab-button:hover{background:var(--surface);color:var(--text)}.tab-button.active{border-color:#72d38d57;background:#72d38d1c;color:var(--green)}.sidebar-note{display:flex;align-items:center;gap:8px;margin:auto 10px 12px;border:1px solid var(--line);border-radius:8px;background:#ffffff08;color:var(--muted);padding:10px 12px;font-size:12px;line-height:1.35}.live-dot{width:7px;height:7px;border-radius:99px;background:var(--green);box-shadow:0 0 0 4px #72d38d1f}.workspace-main{overflow:hidden;min-width:0;padding:18px}.workspace-header,.portal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.header-state{max-width:620px;overflow:hidden;border:1px solid rgba(114,211,141,.26);border-radius:8px;background:#72d38d1a;color:var(--green);font-family:var(--mono);font-size:12px;font-weight:800;line-height:1.35;padding:10px 12px;text-overflow:ellipsis;white-space:nowrap}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:14px}.metric-card{min-height:82px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#232b22e0,#161b15fa);box-shadow:var(--shadow);padding:13px 14px}.metric-card span,.metric-card small{display:block;color:var(--muted-2);font-size:11px;font-weight:850;text-transform:uppercase}.metric-card strong{display:block;margin:5px 0 3px;color:var(--text);font-family:var(--mono);font-size:24px;line-height:1}.metric-card.warning strong{color:var(--amber)}.tab-panel{display:none}.tab-panel.active{display:block}.work-grid{display:grid;grid-template-columns:minmax(560px,1.08fr) minmax(440px,.92fr);gap:14px}.access-grid{display:grid;grid-template-columns:minmax(360px,.65fr) minmax(520px,1fr);gap:14px}.panel,.login-panel{border:1px solid var(--line);border-radius:8px;background:#161b15f5;box-shadow:var(--shadow);padding:16px}.panel-head,.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h2,.section-head h2{color:var(--text)}.document-panel,.editor-panel{min-height:calc(100vh - 180px)}.filters{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,240px);gap:10px;margin-bottom:12px}label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase}select,input,textarea{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:8px;background:#111610;color:var(--text);outline:none;padding:10px 11px}textarea{resize:vertical}select:focus,input:focus,textarea:focus{border-color:#72d38db3;box-shadow:0 0 0 3px #72d38d1f}input::placeholder,textarea::placeholder{color:#697365}.summary-grid,.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-layout{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#10140f}.document-table{max-height:calc(100vh - 300px)}table{width:100%;min-width:820px;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}th{position:sticky;top:0;z-index:1;background:#222a21;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}td{color:#dfe8dc;font-size:13px;line-height:1.35}tr:last-child td{border-bottom:0}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#72d38d0f}.status-tag,.mini-pill{display:inline-flex;align-items:center;min-height:24px;max-width:100%;border-radius:999px;background:#bfa7ff21;color:var(--purple);font-family:var(--mono);font-size:11px;font-weight:800;padding:4px 8px;white-space:nowrap}.mini-pill{background:#72d38d1f;color:var(--green)}.status-recognized{background:#7fb0ff21;color:var(--blue)}.status-uploaded{background:#ffffff14;color:var(--muted)}.status-needs_review,.status-needs_configuration{background:#e2b45b24;color:var(--amber)}.status-failed{background:#ff756824;color:var(--red)}.status-verified,.status-exported{background:#72d38d21;color:var(--green)}.empty-note{min-height:220px;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:8px;background:#ffffff08;color:var(--muted);padding:18px;text-align:center}.source-files{display:grid;gap:10px;margin:14px 0}.source-files-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.source-files-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.source-file-card{display:grid;gap:8px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#ffffff06;padding:8px}.source-file-card a{display:grid;place-items:center;height:150px;border:1px solid var(--line);border-radius:6px;background:#0b0f0b;overflow:hidden}.source-file-card img{width:100%;height:100%;object-fit:contain}.source-file-card strong,.source-file-card small{display:block;overflow-wrap:anywhere}.source-file-card strong{color:var(--text);font-size:12px}.source-file-card small,.source-file-empty{color:var(--muted);font-size:12px}.source-file-fallback{color:var(--blue);font-family:var(--mono);font-size:22px;font-weight:900}.ocr-progress{display:grid;gap:9px;margin:12px 0 16px;border:1px solid rgba(114,211,141,.28);border-radius:8px;background:#72d38d14;padding:12px}.ocr-progress.failed{border-color:#ff756857;background:#ff756814}.ocr-progress.finished{border-color:#7fb0ff57;background:#7fb0ff14}.ocr-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text);font-size:12px;font-weight:850}.ocr-progress-head strong{color:var(--green);font-family:var(--mono);font-size:12px}.ocr-progress.failed .ocr-progress-head strong{color:var(--red)}.ocr-progress-bar{height:7px;overflow:hidden;border-radius:999px;background:#ffffff17}.ocr-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-2),var(--green));transition:width .18s ease}.ocr-progress.failed .ocr-progress-bar span{background:var(--red)}.ocr-progress.finished .ocr-progress-bar span{background:var(--blue)}.ocr-progress p{color:var(--muted);font-size:12px;line-height:1.4}.document-warnings{display:grid;gap:7px;margin:12px 0 16px;border:1px solid rgba(226,180,91,.3);border-radius:8px;background:#e2b45b14;color:var(--amber);padding:12px}.document-warnings strong{color:var(--text);font-size:12px}.document-warnings p{color:#d9c390;font-size:12px;line-height:1.45}.paper-form-view{display:grid;gap:10px;margin-top:14px}.paper-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.paper-field{min-width:0;border:1px solid var(--line);border-radius:8px;background:#ffffff06;padding:10px}.paper-field span,.paper-field strong,.paper-field small{display:block;overflow-wrap:anywhere}.paper-field span{color:var(--blue);font-family:var(--mono);font-size:11px;font-weight:900}.paper-field strong{margin-top:4px;color:var(--muted);font-size:11px;text-transform:uppercase}.paper-field small{margin-top:5px;color:var(--text);font-size:13px}.paper-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:8px}.paper-table{min-width:900px}.paper-table th,.paper-table td{min-width:90px;vertical-align:top;white-space:normal}.paper-table td{font-size:12px}.paper-raw-lines{display:grid;gap:8px}.paper-raw-lines pre{max-height:420px;overflow:auto;margin:0;border:1px solid var(--line);border-radius:8px;background:#0b0f0b;color:#edf6e9;font-family:var(--mono);font-size:12px;line-height:1.55;padding:12px;white-space:pre-wrap;word-break:break-word}.paper-totals{display:flex;flex-wrap:wrap;gap:8px}.paper-totals span{border:1px solid var(--line);border-radius:999px;background:#72d38d14;color:var(--text);padding:7px 10px}.json-label{margin-top:14px}.json-editor{min-height:340px;margin-top:7px;font-family:var(--mono);font-size:12px;line-height:1.5}.review-actions,.form-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.form-footer{justify-content:space-between}.primary-button,.secondary-button{min-height:40px;border-radius:8px;cursor:pointer;font-weight:850;padding:10px 14px}.primary-button{border:1px solid var(--green-2);background:var(--green-2);color:#f7f9fd}.primary-button:hover:not(:disabled){border-color:#526f95;background:#405a78}.primary-button:disabled{border-color:var(--line);background:var(--surface-3);color:var(--muted-2);cursor:not-allowed}.secondary-button{border:1px solid var(--line-strong);background:#ffffff08;color:var(--text)}.secondary-button:hover{border-color:#7fb0ff80;background:#7fb0ff14}.compact{width:auto}.switch-row{display:flex;flex-wrap:wrap;gap:12px;margin:4px 0 12px}.switch-row label{display:flex;align-items:center;gap:8px;color:var(--muted);text-transform:none}.switch-row input{width:auto}.list{display:grid;gap:10px}.list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;background:#ffffff06;padding:12px}.list-item strong,.list-item small{display:block}.list-item small{margin-top:4px;color:var(--muted);line-height:1.35}.device-item{grid-template-columns:1fr}.one-time-password,.result-message{border:1px solid rgba(127,176,255,.28);border-radius:8px;background:#7fb0ff1a;color:var(--blue);margin-top:12px;padding:12px;font-family:var(--mono);font-weight:800}.result-message.error{border-color:#ff756852;background:#ff75681a;color:var(--red)}.result-message strong,.result-message span{display:block}.result-message span{margin-top:6px;word-break:break-all}.upload-timing{display:grid;gap:8px;margin-top:10px;color:var(--text);font-family:var(--font);font-weight:700}.upload-timing-total,.upload-timing li{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(127,176,255,.18);border-radius:8px;background:#ffffff0b;padding:8px 10px}.upload-timing ul{display:grid;gap:6px;list-style:none;margin:0;padding:0}.upload-timing span,.upload-timing b{margin:0;word-break:normal}.upload-timing span{min-width:0;color:var(--muted)}.upload-timing b{flex:0 0 auto;color:var(--text);font-family:var(--mono);font-size:12px}.login-message{margin-top:0;font-family:var(--font);font-size:13px}body[data-page=upload]{position:fixed;inset:0;display:grid;place-items:center;width:100%;height:100dvh;min-height:100vh;min-height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;padding:0;background:linear-gradient(180deg,#f4f8f7f0,#f5f6f7fa),radial-gradient(circle at 18% 0%,rgba(111,145,195,.22),transparent 32%),radial-gradient(circle at 82% 100%,rgba(108,211,170,.18),transparent 30%),#f4f6f5;color:#101828;touch-action:auto}body[data-page=upload]:before{content:"";position:absolute;inset:0 0 auto;height:34dvh;min-height:220px;background:linear-gradient(135deg,#16201dfa,#334b68f5),#16201d;clip-path:polygon(0 0,100% 0,100% 64%,0 100%);pointer-events:none}body[data-page=upload]:after{content:"";position:absolute;width:min(72vw,420px);aspect-ratio:1;border-radius:999px;background:radial-gradient(circle,rgba(119,221,178,.2),transparent 62%);transform:translate(28%,18%);pointer-events:none}body.scanner-open{overflow:hidden;overscroll-behavior:none;touch-action:none}.portal-shell{position:relative;z-index:1;display:grid;place-items:center;width:100%;height:100vh;height:100dvh;max-height:100dvh;min-height:100vh;min-height:100dvh;overflow:hidden;padding:18px}.login-panel,.upload-app{align-self:center;width:min(100%,560px);margin:0 auto}.login-panel form,.upload-panel{display:grid;gap:14px}body[data-page=upload] .login-panel{width:min(100%,410px);max-width:410px;border:0;background:transparent;box-shadow:none;padding:0}body[data-page=upload] .login-panel form{display:grid;gap:10px}body[data-page=upload] .access-login-brand{display:flex;align-items:center;gap:13px;margin-bottom:12px;color:#fff}body[data-page=upload] .access-login-brand p{margin:0;color:#fff;font-size:16px;font-weight:820;line-height:1.05}body[data-page=upload] .access-login-brand span{display:block;margin-top:4px;color:#ffffff9e;font-size:10.5px;font-weight:760;line-height:1;text-transform:uppercase}body[data-page=upload] .access-login-mark{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#6f91c3;color:#fff;font-size:13px;font-weight:900;box-shadow:0 16px 36px #0c15123d}body[data-page=upload] .access-code-label{display:grid;gap:8px;color:#ffffffb3;font-size:11px;font-weight:820;line-height:1;text-transform:uppercase}body[data-page=upload] .access-code-field{display:flex;width:100%;min-height:54px;align-items:center;gap:9px;overflow:hidden;border:1px solid rgba(215,222,219,.9);border-radius:8px;background:#fffffffa;color:#536070;box-shadow:0 22px 50px #0c151233;touch-action:manipulation}body[data-page=upload] .access-code-field:focus-within{border-color:#6f91c3;box-shadow:0 0 0 4px #6f91c338,0 22px 50px #0c15122e}body[data-page=upload] .access-code-key{width:18px;height:18px;flex:0 0 auto;margin-left:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}body[data-page=upload] .login-panel input{min-height:52px;flex:1 1 auto;min-width:0;border:0;background:transparent;color:#17201d;font-size:17px;font-weight:650;padding:0 14px 0 0;box-shadow:none}body[data-page=upload] .login-panel input:focus{box-shadow:none}body[data-page=upload] .access-code-loader{display:none;width:18px;height:18px;flex:0 0 auto;margin-right:15px;border:2px solid rgba(51,75,104,.16);border-top-color:#334b68;border-radius:999px;animation:access-spin .9s linear infinite}body[data-page=upload] .login-panel.is-loading .access-code-loader{display:block}body[data-page=upload] .login-panel.is-loading input{opacity:.72}body[data-page=upload] .upload-app{width:min(430px,calc(100vw - 24px))}body[data-page=upload] .upload-panel{border-color:#6f91c338;background:#111821eb;box-shadow:0 24px 70px #00000075}.scan-gallery-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.scan-gallery-head span{overflow:hidden;color:var(--muted);font-size:12px;font-weight:850;text-align:right;text-overflow:ellipsis;white-space:nowrap}.scan-submit-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(108px,auto);gap:10px}.portal-context-panel{display:grid;gap:10px;padding:12px;border:1px solid rgba(114,211,141,.14);border-radius:8px;background:#ffffff09}.portal-context-panel label{display:grid;gap:6px}.portal-context-panel label span{color:var(--muted-2);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.portal-context-panel select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#111610;color:var(--text);padding:0 12px}.portal-context-panel select:disabled{color:var(--muted-2);opacity:.74}.portal-api-note{overflow:hidden;color:var(--muted-2);font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.portal-header{margin-bottom:12px}.capture-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tool-button{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:70px;border:1px solid var(--line-strong);border-radius:8px;background:#111610;color:var(--text);cursor:pointer;padding:12px;text-align:left}.tool-button:hover{border-color:#72d38d8c;background:#72d38d0f}.tool-button.primary-tool{border-color:#72d38d7a;background:#72d38d14}.tool-button strong,.tool-button small{display:block}.tool-button small{margin-top:3px;color:var(--muted);font-size:12px}.tool-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(114,211,141,.22);border-radius:8px;background:#72d38d1a;color:var(--green)}.tool-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.section-head span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:24px;border-radius:999px;background:#72d38d1f;color:var(--green);font-family:var(--mono);font-weight:800;padding:3px 8px}.page-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;min-height:0}.page-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#10140f}.page-card img{display:block;width:100%;height:220px;background:#070907;object-fit:contain}.page-fallback{display:grid;place-items:center;height:220px;color:var(--blue);font-family:var(--mono);font-weight:900}.page-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border-top:1px solid var(--line);background:#151a14;padding:8px;font-size:12px}.page-name{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.remove-button{border:0;background:transparent;color:var(--red);cursor:pointer;font-weight:900}.scanner-overlay{position:fixed;inset:0;z-index:50;display:block;background:#000;overscroll-behavior:none;touch-action:none}.scanner-overlay.hidden{display:none}.scanner-shell{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#000}.scanner-head{position:absolute;top:var(--scanner-head-top, max(76px, env(safe-area-inset-top)));right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));z-index:6;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:10px;backface-visibility:hidden;transform:translateZ(0);pointer-events:none}.scanner-icon-button,.scanner-count-pill,.scanner-flash-button,.scanner-side-button,.scanner-import-button,.scanner-done-button,.scanner-shutter,.scan-stack-button,.scan-drawer button{pointer-events:auto}.scanner-icon-button,.scanner-side-button,.scanner-flash-button{display:inline-grid;place-items:center;min-width:36px;height:36px;border:0;border-radius:50%;background:#0000007a;color:#fff;cursor:pointer;font-size:25px;font-weight:500;line-height:1}.scanner-icon-button{position:relative;font-size:0}.scanner-icon-button:before,.scanner-icon-button:after{content:"";position:absolute;width:18px;height:2px;border-radius:999px;background:currentColor}.scanner-icon-button:before{transform:rotate(45deg)}.scanner-icon-button:after{transform:rotate(-45deg)}.scanner-flash-button{justify-self:center;border-radius:999px;color:#ffffffd1;font-size:12px;font-weight:900;padding:0 12px;white-space:nowrap}.scanner-flash-button.active{background:#6f91c347;color:#eef5ff}.scanner-flash-button.hidden{display:none}.scanner-count-pill{display:none;justify-self:end;min-width:34px;border-radius:999px;background:#00000080;color:#ffffffc7;font-family:var(--mono);font-size:12px;font-weight:900;text-align:center;padding:7px 10px}.scanner-count-pill.active{background:#6f91c347;color:#d9e8ff}.scanner-quality-pill{position:absolute;top:calc(var(--scanner-head-top, max(76px, env(safe-area-inset-top))) + 48px);left:50%;z-index:6;box-sizing:border-box;width:min(72vw,300px);max-width:min(78vw,310px);transform:translate(-50%);border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#00000085;color:#ffffffd6;font-size:12px;font-weight:900;line-height:1.15;padding:9px 14px;pointer-events:none;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.scanner-quality-pill.ok{border-color:#6f91c361;background:#334b68b8;color:#eef5ff}.scanner-quality-pill.warn{border-color:#ffc15e47;background:#00000094;color:#fff0ce}.scanner-quality-pill.hidden{display:none}.scanner-stage{position:absolute;inset:0;background:#000;overflow:hidden}.scanner-shell.photo-mode:not(.crop-mode) .scanner-stage{background:radial-gradient(circle at 50% 44%,rgba(30,91,68,.18),transparent 34%),linear-gradient(180deg,#050806,#020302)}.scanner-stage video,.scanner-stage canvas{width:100%;height:100%;object-fit:cover}.scanner-stage video{transform-origin:center center;will-change:transform}.scanner-shell.crop-mode .scanner-stage canvas:not(.scanner-guide){object-fit:contain}.scanner-stage video,.scanner-stage canvas:not(.scanner-guide){position:absolute;inset:0}.scanner-guide{position:absolute;inset:0;z-index:2;pointer-events:none}.scanner-guide.crop-editing{cursor:grab;pointer-events:auto;touch-action:none}.scanner-zoom-controls{position:absolute;right:max(12px,env(safe-area-inset-right));top:50%;z-index:6;display:grid;gap:7px;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity .16s ease}.scanner-zoom-controls.zoomed{opacity:1;pointer-events:auto}.scanner-zoom-controls button{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:999px;background:#00000080;color:#fff;cursor:pointer;font-size:20px;font-weight:900;line-height:1;padding:0}.scanner-zoom-controls button:first-child,.scanner-zoom-controls button:last-child{display:none}.scanner-zoom-controls button:disabled{cursor:default;opacity:.34}#scannerZoomResetButton{font-size:12px}.scanner-actions{position:absolute;top:auto;bottom:max(22px,env(safe-area-inset-bottom));left:50%;z-index:6;display:grid;grid-template-columns:56px 46px 82px 46px 56px;align-items:center;justify-content:center;gap:8px;width:min(calc(100vw - 20px),430px);height:82px;padding:0;backface-visibility:hidden;transform:translate3d(-50%,0,0);pointer-events:none}.scanner-shell.photo-mode:not(.crop-mode) .scanner-actions{top:50%;bottom:auto;height:auto;align-items:start;transform:translate3d(0,-50%,0)}.scanner-left-slot{grid-column:1;grid-row:1;display:grid;place-items:center;justify-self:end;width:56px;height:56px;pointer-events:auto}.scanner-left-slot>*{grid-area:1 / 1}.scanner-side-button{align-self:center;justify-self:center;width:38px;height:38px;color:#fff;font-size:0}.scanner-side-button svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.scan-stack-button{position:relative;display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:10px;background:transparent;cursor:pointer;padding:0}.scan-stack-button:before,.scan-stack-button:after{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.38);border-radius:9px;background:#ffffff14}.scan-stack-button:before{transform:translate(5px,-5px)}.scan-stack-button:after{transform:translate(2px,-2px)}.scan-stack-button.hidden{display:none}.scan-stack-preview{position:relative;z-index:1;overflow:hidden;width:46px;height:46px;border:2px solid #fff;border-radius:9px;background:#101410;box-shadow:0 12px 26px #0000006b}.scan-stack-button.no-preview .scan-stack-preview:before{content:attr(data-kind);position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:#f7faf6;color:#101410;font-family:var(--mono);font-size:12px;font-weight:900}.scan-stack-preview img{display:block;width:100%;height:100%;object-fit:cover}.scan-stack-button.no-preview .scan-stack-preview img{display:none}.scan-stack-count{position:absolute;right:0;bottom:0;z-index:2;display:grid;place-items:center;min-width:22px;height:22px;border:2px solid #050705;border-radius:999px;background:#334b68;color:#fff;font-family:var(--mono);font-size:11px;font-weight:900;padding:0 5px}.scanner-side-button:disabled,.scanner-done-button:disabled,.scanner-shutter:disabled{cursor:default;opacity:.42}.scanner-shutter-block{grid-column:3;grid-row:1;position:relative;display:grid;justify-self:center;justify-items:center;gap:4px;min-width:78px;min-height:78px;color:#fff;font-size:11px;font-weight:800;pointer-events:auto}.scanner-shutter-block span{display:none}.scanner-shell.photo-mode:not(.crop-mode) .scanner-shutter-block span{display:none;margin-top:8px;font-size:16px;font-weight:900;line-height:1.1}.scanner-shutter-block span.status-visible{position:fixed;top:calc(var(--scanner-head-top, max(76px, env(safe-area-inset-top))) + 94px);left:50%;display:block;min-width:0;max-width:min(68vw,260px);transform:translate(-50%);border-radius:999px;background:#000000ad;color:#fff;font-size:12px;font-weight:900;line-height:1.2;padding:8px 12px;text-align:center;white-space:normal;pointer-events:none}.scanner-shutter{appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:66px;height:66px;border:0;border-radius:50%;background:#6f91c34d;cursor:pointer;line-height:0;padding:0;box-shadow:0 0 0 1px #ffffff3d,0 0 0 6px #6f91c338,0 16px 34px #00000080}.scanner-shutter:before{content:"";display:block;width:50px;height:50px;border:3px solid #6f91c3;border-radius:50%;background:#f3f3f3;box-shadow:inset 0 -5px 10px #00000024}.scanner-import-button{grid-column:2;grid-row:1;position:static;z-index:2;display:grid;place-items:center;justify-self:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#00000094;color:#fff;cursor:pointer;padding:0;box-shadow:0 12px 28px #0000006b}.scanner-import-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.scanner-import-button.hidden{display:none}.scanner-import-button:disabled{cursor:default;opacity:.42}.scanner-shutter.saving:before{animation:scan-save-pulse .7s ease-in-out infinite alternate}@keyframes scan-save-pulse{0%{transform:scale(.94);opacity:.76}to{transform:scale(1);opacity:1}}.scanner-shell.photo-mode:not(.crop-mode) .scanner-shutter{width:78px;height:78px}.scanner-shell.photo-mode:not(.crop-mode) .scanner-shutter:before{width:58px;height:58px}.scanner-shell.photo-mode.has-pages:not(.crop-mode) .scanner-left-slot,.scanner-shell.photo-mode.has-pages:not(.crop-mode) .scanner-done-button{margin-top:0}.scanner-shell.photo-mode.has-pages:not(.crop-mode) .scanner-done-button{margin-top:0}.scanner-done-button{grid-column:4;grid-row:1;position:relative;display:grid;place-items:center;justify-self:center;min-width:42px;min-height:36px;border:0;border-radius:999px;background:#334b68;color:#fff;cursor:pointer;font-weight:900;font-size:12px;padding:0 12px;white-space:nowrap;pointer-events:auto}.scanner-done-button.icon-only{width:42px;min-width:42px;min-height:42px;border-radius:50%;padding:0;transform:none}.scanner-done-button.is-busy{opacity:.74}.scanner-done-spinner{display:block;width:18px;height:18px;border:2px solid rgba(255,255,255,.34);border-top-color:#fff;border-radius:50%;animation:scanner-done-spin .72s linear infinite}@keyframes scanner-done-spin{to{transform:rotate(360deg)}}@keyframes access-spin{to{transform:rotate(360deg)}}.scanner-done-button svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transform:translate(-1px)}.scanner-shell.crop-mode .scanner-shutter-block,.scanner-shell.crop-mode .scanner-zoom-controls,.scanner-shell:not(.crop-mode) .scanner-side-button,.scanner-shell:not(.has-pages):not(.crop-mode) .scanner-done-button{visibility:hidden}.scanner-shell.crop-mode .scanner-type-bar{display:none}.scanner-shell:not(.has-pages) .scanner-type-bar{display:none}.scanner-type-bar{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:calc(max(22px,env(safe-area-inset-bottom)) + 102px);left:max(14px,env(safe-area-inset-left));z-index:6;display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(calc(100vw - 28px),430px);max-width:none;margin:0 auto;padding:0 4px;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;pointer-events:none}.scanner-type-bar button{min-width:0;max-width:48%;min-height:32px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#f7f9fd;cursor:pointer;font-size:14px;font-weight:900;line-height:1.15;overflow:hidden;padding:0;position:relative;text-shadow:0 2px 12px rgba(0,0,0,.74);text-overflow:ellipsis;white-space:nowrap;pointer-events:auto}.scanner-type-bar button:after{content:none}.scanner-type-bar button.active{background:transparent;color:#f7f9fd}.scanner-project-button{color:#f7f9fdc7;text-align:left}.scanner-document-type-button{margin-left:auto;text-align:right}.scanner-type-bar button:disabled{cursor:default;opacity:.72}.scanner-shell.crop-mode .scan-stack-button{display:none}.scan-drawer{position:absolute;inset:0;z-index:10;display:grid;background:#000;-webkit-backdrop-filter:none;backdrop-filter:none}.scan-drawer.hidden{display:none}.scan-drawer{align-items:stretch;justify-items:stretch;padding:0}.scan-drawer-sheet{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;width:100%;height:100%;max-height:none;overflow:hidden;border:0;border-radius:0;background:#000;box-shadow:none;padding:max(14px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom))}.scan-drawer-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:46px;backface-visibility:hidden;transform:translateZ(0)}.scan-drawer-head span{color:#ffffffb8;font-family:var(--mono);font-size:12px;font-weight:900;text-align:center}.scan-drawer-icon,.scan-delete-button,.scan-nav-button{border:0;color:#fff;cursor:pointer}.scan-drawer-icon,.scan-nav-button{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:#ffffff1f;font-size:24px;line-height:1}.scan-drawer-icon{position:relative;font-size:0}.scan-drawer-icon:before,.scan-drawer-icon:after{content:"";position:absolute;width:18px;height:2px;border-radius:999px;background:currentColor}.scan-drawer-icon:before{transform:rotate(45deg)}.scan-drawer-icon:after{transform:rotate(-45deg)}.scan-delete-button{min-height:40px;border-radius:999px;background:#ff75682e;color:#ff9f96;font-size:12px;font-weight:900;padding:0 14px}.scan-viewer{position:relative;display:block;min-height:0;overflow:hidden;border-radius:10px;background:#030503;touch-action:none}.scan-viewer img{display:block;width:100%;height:100%;max-height:none;border-radius:10px;background:#050705;object-fit:contain;cursor:zoom-in;touch-action:none;transform-origin:center center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;will-change:transform}.scan-viewer img.hidden{display:none}.scan-viewer iframe{display:block;width:100%;height:100%;min-height:0;border:0;border-radius:10px;background:#f7faf6}.scan-viewer iframe.hidden{display:none}.scan-viewer.pdf-mode{touch-action:pan-y}#previousScanButton{position:absolute;top:50%;left:8px;z-index:2;transform:translateY(-50%)}#nextScanButton{position:absolute;top:50%;right:8px;z-index:2;transform:translateY(-50%)}.scan-viewer-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:220px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0f;color:#ffffffd6;font-family:var(--mono);font-size:28px;font-weight:900}.scan-viewer-fallback.hidden{display:none}.scan-viewer.zoomed{overflow:hidden}.scan-viewer.zoomed img{cursor:zoom-out}.scan-viewer.zoomed .scan-nav-button{opacity:0;pointer-events:none}.scan-nav-button{display:none;pointer-events:none}.scan-nav-button:disabled{opacity:0;pointer-events:none}.scan-filmstrip{display:flex;gap:8px;min-height:66px;overflow-x:auto;padding:4px 2px 6px;scrollbar-width:none;touch-action:pan-x}.scan-filmstrip::-webkit-scrollbar{display:none}.scan-filmstrip button{flex:0 0 auto;overflow:hidden;width:62px;height:62px;border:2px solid transparent;border-radius:10px;background:#101410;cursor:pointer;padding:0}.scan-filmstrip button.active{border-color:#6f91c3;box-shadow:0 0 0 2px #6f91c33d}.scan-filmstrip img{width:100%;height:100%;object-fit:cover}.scan-filmstrip .page-fallback{display:grid;place-items:center;width:100%;height:100%;color:#ffffffd1;font-family:var(--mono);font-size:12px;font-weight:900}@media(max-width:1120px){.workstation-shell{grid-template-columns:1fr}.app-sidebar,.app-sidebar .brand-block{min-height:auto}.sidebar-nav{grid-template-columns:repeat(4,minmax(140px,1fr));overflow-x:auto}.sidebar-note{margin:0 10px 10px}.work-grid,.access-grid{grid-template-columns:1fr}.document-panel,.editor-panel{min-height:auto}}@media(max-width:820px){body[data-page=upload]{display:grid;place-items:center;padding:0}.workspace-main{padding:12px}.workspace-header,.portal-header{flex-direction:column}.header-state{max-width:100%;white-space:normal}.metric-strip,.settings-layout,.summary-grid,.filters,.capture-tools,.page-grid{grid-template-columns:1fr}.portal-shell{min-height:100vh;min-height:100dvh;border:0;border-radius:0}.login-panel,.upload-app{width:calc(100% - 24px);margin:16px auto}.review-actions,.form-footer{align-items:stretch;flex-direction:column}.scanner-actions{left:50%;width:min(calc(100vw - 20px),430px);padding-inline:0}.scanner-shutter{width:66px;height:66px}.scanner-shutter:before{width:50px;height:50px}.scanner-done-button{min-height:36px;padding:0 10px}.compact{width:100%}}@media(orientation:landscape)and (max-height:560px){.scanner-head{grid-template-columns:38px minmax(0,1fr) 38px}.scanner-actions{grid-template-columns:48px 40px 66px 40px 48px;gap:8px;width:min(calc(100vw - 20px),340px);height:70px;padding-inline:0}.scanner-side-button{justify-self:center;width:36px;height:36px;font-size:0}.scanner-shutter{width:58px;height:58px}.scanner-shutter:before{width:44px;height:44px}.scanner-shutter-block{gap:5px;font-size:11px;min-width:66px;min-height:66px}.scanner-done-button{justify-self:center;min-height:34px;min-width:40px;max-width:44px;padding:0 10px;font-size:11px}.scanner-done-button.icon-only,.scanner-import-button{width:40px;min-width:40px;height:40px;min-height:40px}.scanner-type-bar{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 76px);width:min(calc(100vw - 28px),360px)}.scan-stack-button{width:50px;height:50px}.scan-stack-preview{width:44px;height:44px}}body[data-page=upload] .portal-shell{height:100dvh;max-height:100dvh}body[data-page=upload] .login-panel{align-self:center;width:min(100%,410px);margin:0 auto}body[data-page=upload] .upload-app{display:flex;width:min(430px,calc(100vw - 24px));height:calc(100dvh - max(24px,env(safe-area-inset-top)) - max(24px,env(safe-area-inset-bottom)));min-height:0;margin:0 auto}body[data-page=upload] .upload-app.hidden{display:none}body[data-page=upload] .upload-panel{flex:1 1 auto;min-height:0;overflow:hidden;grid-template-rows:auto auto minmax(0,1fr) auto}body[data-page=upload] .page-grid{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}html,body,body[data-page=upload]{height:var(--app-height, 100vh)!important;min-height:var(--app-height, 100vh)!important;max-height:var(--app-height, 100vh)!important;overflow:hidden!important}body[data-page=upload]{position:fixed;inset:0}body[data-page=upload].scanner-open{background:#000!important}body[data-page=upload] .portal-shell,body[data-page=upload] .scanner-overlay,body[data-page=upload] .scanner-shell,body[data-page=upload] .scanner-stage{height:var(--app-height, 100vh)!important;min-height:var(--app-height, 100vh)!important;max-height:var(--app-height, 100vh)!important}body[data-page=upload] .portal-shell{padding:0 12px!important}body[data-page=upload] .scanner-overlay{inset:0 auto auto 0;width:100%;background:#000!important}body[data-page=upload] .scanner-shell,body[data-page=upload] .scanner-stage{overflow:hidden!important;background:#000!important}body[data-page=upload] .scanner-stage video,body[data-page=upload] .scanner-stage canvas{min-height:100%!important}body[data-page=upload] .upload-app{height:var(--app-height, 100vh)!important;max-height:var(--app-height, 100vh)!important;align-self:stretch;padding:max(10px,env(safe-area-inset-top)) 0 max(10px,env(safe-area-inset-bottom))}
