/*!
 * Copyright (c) 2026 Activ Ops Solutions Ltd. All rights reserved.
 * Proprietary and confidential — unauthorised copying, modification or
 * distribution of this file is strictly prohibited.
 */:root{--brand-navy: #022179;--brand-cyan: #00adef;--bg: #070d1f;--surface: #0e1630;--surface-2: #16203f;--border: #22305c;--text: #eaf0fa;--text-dim: #93a1c4;--accent: var(--brand-cyan);--accent-strong: #0d8fd0;--ok: #3ecf8e;--warn: #ffb454;--err: #ff6b6b;--radius: 12px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 14px;cursor:pointer}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent-strong);color:#fff;font-weight:600}button.danger{color:var(--err)}button.block{display:block;width:100%;padding:12px;margin-top:12px}.app-shell{display:flex;flex-direction:column;height:100%;width:100%;max-width:720px;margin:0 auto}.screen{display:flex;flex-direction:column;flex:1;min-height:0}.scan-screen{gap:0}.viewfinder{position:relative;flex:1;min-height:0;background:#000;border-radius:0 0 var(--radius) var(--radius);overflow:hidden}.viewfinder video{width:100%;height:100%;object-fit:cover;display:block}.quad-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.quad{fill:#4f8cff2e;stroke:var(--accent);stroke-width:3;stroke-linejoin:round;transition:fill .12s linear}.quad--locking{fill:#3ecf8e38;stroke:var(--ok)}.flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:.8;animation:flash-fade .22s ease-out forwards;pointer-events:none}@keyframes flash-fade{to{opacity:0}}.scan-topbar{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:8px}.chip{background:#0c0e12bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--text-dim)}.chip--ready{color:var(--text)}.chip--loading{color:var(--warn)}.chip--error{color:var(--err)}.chip--button{cursor:pointer}.chip--active{color:var(--warn);border-color:var(--warn)}.camera-start{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:32px;background:linear-gradient(180deg,#0c0e1299,#0c0e12e6)}.camera-start p{color:var(--text-dim);max-width:320px;margin:0}.camera-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:#0c0e12e6;color:var(--text-dim)}.camera-error p:first-child{color:var(--err);font-weight:600}.page-tray{display:flex;gap:8px;padding:10px 12px 0;overflow-x:auto}.tray-thumb{position:relative;flex:0 0 auto;width:56px;height:72px;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.tray-thumb img{width:100%;height:100%;object-fit:cover;display:block}.tray-thumb__index{position:absolute;bottom:2px;right:4px;font-size:11px;background:#000000b3;border-radius:4px;padding:0 4px}.scan-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 20px calc(14px + env(safe-area-inset-bottom));gap:12px}.auto-toggle{display:flex;align-items:center;gap:6px;color:var(--text-dim);font-size:14px;justify-self:start}.done-button{justify-self:end}.capture-button{position:relative;width:72px;height:72px;border-radius:50%;background:transparent;border:none;padding:0;justify-self:center}.capture-ring{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.capture-ring__track{fill:none;stroke:var(--border);stroke-width:4}.capture-ring__progress{fill:none;stroke:var(--ok);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset 90ms linear}.capture-dot{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:50%;background:#fff}.capture-dot--busy{background:var(--ok)}.camera-select{margin:0 20px 12px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px}.screen-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px}.screen-header h1{font-size:17px;margin:0}.review-screen,.export-screen{overflow-y:auto}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-dim)}.page-list{display:flex;flex-direction:column;gap:16px;padding:0 16px 24px}.page-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.page-card__image{position:relative;background:#000;display:flex;justify-content:center}.page-card__image img{max-width:100%;max-height:420px;object-fit:contain;display:block}.page-card__busy{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0c0e1299;font-size:14px}.page-card__filters{display:flex;gap:8px;padding:10px 12px 0}.filter-button{font-size:13px;padding:6px 10px}.filter-button--active{border-color:var(--accent);color:var(--accent)}.page-card__actions{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 12px}.page-card__label{color:var(--text-dim);font-size:13px}.page-card__buttons{display:flex;gap:6px}.page-card__buttons button{font-size:13px;padding:6px 10px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0 16px 16px;padding:16px}.panel h2{margin:0 0 12px;font-size:15px}.segmented{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.segmented button{flex:1;border:none;border-radius:0;background:transparent;padding:10px}.segmented button.active{background:var(--accent);color:#04122b;font-weight:600}.field{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13px;color:var(--text-dim)}.field input,.field select{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px;font:inherit}.upload-status{display:flex;align-items:center;gap:12px;margin-top:12px}.upload-status progress{flex:1;height:8px}.upload-result{margin:12px 0 0;font-size:13px;word-break:break-all}.upload-result.ok{color:var(--ok)}.upload-result.err{color:var(--err)}.hint{color:var(--text-dim);font-size:12px;margin:12px 0 0}.hint code{background:var(--surface-2);padding:1px 5px;border-radius:4px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.app-header__product{color:var(--text-dim);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}.brand-lockup{display:inline-flex;align-items:center;gap:10px}.brand-plate{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;padding:4px 6px}.brand-wordmark{display:inline-flex;flex-direction:column;line-height:1.15}.brand-wordmark__name{font-weight:700;letter-spacing:.08em;color:var(--text);font-size:15px}.brand-wordmark__sub{font-weight:500;letter-spacing:.42em;color:var(--text-dim);font-size:9.5px}.brand-wordmark--compact .brand-wordmark__name{font-size:14px}.brand-logo{border-radius:20px;box-shadow:0 8px 30px #00000073;display:block}button{transition:filter .12s ease,border-color .12s ease,background .12s ease}button:not(:disabled):hover{filter:brightness(1.12)}button:not(:disabled):active{filter:brightness(.94)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}button.primary{color:#04122b}.quad{fill:#18aeef29}::selection{background:var(--brand-cyan);color:#04122b}.field--row{flex-direction:row;align-items:center;gap:8px;color:var(--text)}
