:root,[data-theme=light]{color-scheme:light;--color-base-100: #fafaf8;--color-base-200: #f0efea;--color-base-300: #e2e0d8;--color-base-content: #1c1c1a;--color-primary: #0e4a50;--color-primary-content: #fafaf8;--color-accent: #a9793b;--color-success: #4f7a5b;--color-warning: #a9762f;--color-error: #963c33;--radius-box: .5rem;--radius-field: .375rem;--radius-selector: .3rem}[data-theme=dark]{color-scheme:dark;--color-base-100: #121416;--color-base-200: #1c1f22;--color-base-300: #2a2d30;--color-base-content: #edede8;--color-primary: #1c6c73;--color-primary-content: #fafaf8;--color-accent: #c29a5c;--color-success: #5e9370;--color-warning: #c08e42;--color-error: #b05248}*{box-sizing:border-box}html{min-height:100%;background:var(--color-base-100)}body{min-width:320px;min-height:100vh;margin:0;background:var(--color-base-100);color:var(--color-base-content);font-family:IBM Plex Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 62%,transparent);outline-offset:3px}[hidden]{display:none!important}.scan-shell{width:min(100%,42rem);min-height:100vh;margin:0 auto;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom))}.document-header{padding:.5rem 0 1rem;border-bottom:1px solid var(--color-base-300)}.eyebrow{display:block;margin-bottom:.35rem;color:color-mix(in srgb,var(--color-base-content) 56%,transparent);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:.35rem;color:var(--color-primary);font-size:clamp(1.3rem,5vw,1.75rem);font-weight:600;letter-spacing:-.025em}.invoice-number,.count-badge,.processed-preview figcaption{font-family:IBM Plex Mono,ui-monospace,monospace}.header-hint{margin-bottom:0;color:color-mix(in srgb,var(--color-base-content) 66%,transparent);font-size:.9rem}.capture-panel,.notice,.upload-status{margin-top:1rem;border:1px solid var(--color-base-300);border-radius:var(--radius-box);background:var(--color-base-200)}.capture-panel{min-height:18rem;overflow:hidden}.empty-state,.processing-state{min-height:18rem;padding:2rem 1.25rem;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.8rem;text-align:center}.empty-state p,.processing-state p,.upload-status p{margin-bottom:0;color:color-mix(in srgb,var(--color-base-content) 66%,transparent)}.document-mark{display:grid;width:4rem;height:4rem;place-items:center;border:1px solid var(--color-base-300);border-left:4px solid var(--color-accent);border-radius:var(--radius-box);background:var(--color-base-100);font-size:1.6rem}.camera-stage{position:relative;min-height:18rem;background:#050606}.camera-stage video{width:100%;height:min(64vh,32rem);display:block;object-fit:cover}.camera-frame{position:absolute;top:8%;right:8%;bottom:8%;left:8%;border:2px solid color-mix(in srgb,var(--color-primary-content) 74%,transparent);border-radius:var(--radius-field);pointer-events:none}.processed-preview{margin:0;padding:.75rem;background:var(--color-base-200)}.processed-preview img{width:100%;max-height:58vh;display:block;border:1px solid var(--color-base-300);border-radius:var(--radius-field);background:#fff;object-fit:contain}.processed-preview figcaption{margin-top:.55rem;color:color-mix(in srgb,var(--color-base-content) 62%,transparent);font-size:.78rem;text-align:center}.processing-state{flex-direction:row;text-align:left}.spinner{width:2rem;height:2rem;flex:0 0 auto;border:3px solid var(--color-base-300);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pages-section{margin-top:1rem}.section-heading{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.section-heading h2{margin:0;font-size:1rem;font-weight:600}.count-badge{padding:.12rem .45rem;border:1px solid var(--color-base-300);border-radius:var(--radius-selector);color:color-mix(in srgb,var(--color-base-content) 70%,transparent);font-size:.75rem}.thumbnail-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.25rem,1fr));gap:.6rem}.thumbnail-card{position:relative;min-width:0;padding:.35rem;border:1px solid var(--color-base-300);border-left:4px solid var(--color-accent);border-radius:var(--radius-box);background:var(--color-base-100)}.thumbnail-card img{width:100%;aspect-ratio:3 / 4;display:block;border-radius:var(--radius-field);background:#fff;object-fit:cover}.thumbnail-card span{display:block;margin-top:.3rem;overflow:hidden;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.7rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.thumbnail-delete{position:absolute;top:.15rem;right:.15rem;width:2.75rem;height:2.75rem;border:1px solid color-mix(in srgb,var(--color-error) 32%,transparent);border-radius:var(--radius-field);background:color-mix(in srgb,var(--color-base-100) 92%,transparent);color:var(--color-error);font-size:1.25rem}.action-panel{position:sticky;bottom:0;z-index:4;margin:1rem -.35rem -.35rem;padding:.75rem .35rem .35rem;background:linear-gradient(to bottom,transparent,var(--color-base-100) 22%)}.button{width:100%;min-height:3.75rem;padding:.8rem 1rem;border:1px solid transparent;border-radius:var(--radius-field);font-weight:600;cursor:pointer}.button:disabled{cursor:not-allowed;opacity:.52}.button-primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-content)}.button-primary:not(:disabled):active{background:color-mix(in srgb,var(--color-primary) 86%,#000)}.button-secondary{border-color:var(--color-base-300);background:var(--color-base-100);color:var(--color-base-content)}.review-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.review-actions .button-primary{grid-column:1 / -1}.notice,.upload-status{padding:.9rem 1rem;border-left-width:4px}.notice{display:grid;gap:.25rem}.notice-error{border-left-color:var(--color-error)}.upload-status{display:flex;align-items:flex-start;gap:.75rem}.upload-status[data-state=loading]{border-left-color:var(--color-warning)}.upload-status[data-state=success]{border-left-color:var(--color-success)}.upload-status[data-state=error]{border-left-color:var(--color-error)}.status-icon{font-size:1.35rem}.upload-status a{display:inline-block;margin-top:.5rem;color:var(--color-primary);font-weight:600}.turnstile-widget{position:fixed;width:1px;height:1px;overflow:hidden;pointer-events:none;opacity:.01}@media(min-width:42rem){.scan-shell{padding-inline:1.5rem}.review-actions{grid-template-columns:1fr 1fr 1.25fr}.review-actions .button-primary{grid-column:auto}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:1.8s}}
