.upload-page{max-width:1080px;margin:0 auto}.upload-page--scanner{max-width:none}.upload-page--scanner-live{min-height:100%}.upload-page-header{margin-bottom:1.5rem}.upload-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:1.25rem;align-items:start}.upload-stage-card,.upload-side-card,.upload-success-card{border-radius:22px}.upload-stage-card,.upload-side-card{padding:1.4rem}.upload-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-bottom:1rem;padding:.38rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#eef7f0eb,#fffffff5)}.upload-mode-button{min-height:46px;border-radius:14px;border:none;background:transparent;color:var(--ink-soft);font-size:.92rem;font-weight:700}.upload-mode-button.is-active{background:var(--accent);color:var(--paper);box-shadow:0 12px 20px #16a34a2e}.upload-scanner-layout{display:grid;gap:1rem}.upload-scanner-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.upload-scanner-copy{max-width:62ch}.upload-scanner-kicker{display:inline-flex;align-items:center;min-height:2rem;padding:.3rem .75rem;border-radius:999px;background:#16a34a1a;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.upload-scanner-copy h2{margin-top:.75rem;font-family:var(--font-serif);font-size:clamp(1.9rem,4vw,2.8rem);line-height:.96}.upload-scanner-copy p{margin-top:.75rem;color:var(--ink-soft);font-size:.94rem;line-height:1.65}.upload-scanner-topbar__actions{width:min(100%,360px);display:grid;gap:.65rem}.upload-scanner-file-button{min-height:48px;border-radius:16px;font-weight:700}.upload-scanner-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);gap:1rem;align-items:start}.upload-scanner-card{padding:1rem;border:1px solid rgba(80,156,117,.16);border-radius:28px;background:radial-gradient(circle at top center,rgba(24,196,113,.1),transparent 28%),linear-gradient(180deg,#08110d,#0b1510 55%,#09110d);box-shadow:0 36px 90px #040c0847}.upload-scanner-card--minimal{padding:1rem}.upload-scanner-side-card{border:1px solid rgba(29,42,34,.1);background:radial-gradient(circle at top right,rgba(22,163,74,.1),transparent 30%),linear-gradient(180deg,#fffffffa,#eef7f0f0)}.upload-drop-zone{min-height:240px;margin-bottom:1rem;display:grid;place-items:center;border-radius:20px}.upload-file-list{display:flex;flex-direction:column;gap:.7rem}.upload-file-item{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.85rem .95rem;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.upload-file-name{font-family:var(--font-mono);font-size:.78rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-file-meta{margin-top:.3rem;font-size:.73rem;color:var(--ink-muted)}.upload-camera-shell{display:flex;flex-direction:column;gap:.3rem}.upload-camera-frame{position:relative;width:100%;aspect-ratio:16 / 10;min-height:clamp(560px,72dvh,860px);overflow:hidden;border-radius:24px;border:1px solid rgba(151,255,208,.12);background:radial-gradient(circle at top center,rgba(37,99,69,.28),transparent 38%),linear-gradient(180deg,#040907,#090f0d 56%,#040907);box-shadow:inset 0 0 0 1px #ffffff0f,0 24px 60px #040c0838}.upload-camera-media{width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.03)}.upload-camera-hint{position:absolute;left:50%;bottom:1.3rem;z-index:2;width:min(420px,calc(100% - 2.8rem));transform:translate(-50%);padding:.62rem .9rem;border:1px solid rgba(151,255,208,.12);border-radius:18px;background:#050e0a8f;color:#effff5eb;font-size:.78rem;font-weight:600;line-height:1.4;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-camera-topbar{position:absolute;top:calc(env(safe-area-inset-top,0px) + 1.05rem);right:calc(env(safe-area-inset-right,0px) + 1.05rem);z-index:2;display:inline-flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 6.4rem)}.upload-camera-status{display:inline-flex;align-items:center;min-height:34px;padding:.45rem .8rem;border:1px solid rgba(140,255,204,.18);border-radius:999px;background:#050e0aa8;color:#e9fff2;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-camera-flash{position:relative;width:42px;height:42px;padding:0;border:1px solid rgba(255,214,116,.12);border-radius:999px;background:linear-gradient(180deg,#120e08d6,#090805e0);color:#fff4d8;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffffff0d,0 12px 28px #0000002e}.upload-camera-flash__halo{position:absolute;inset:6px;border-radius:inherit;background:radial-gradient(circle,rgba(255,196,66,.16),transparent 70%);opacity:0;transition:opacity .18s ease}.upload-camera-flash__icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem}.upload-camera-flash__icon svg{width:100%;height:100%;display:block;fill:currentColor}.upload-camera-flash__active-dot{position:relative;z-index:2;position:absolute;right:7px;bottom:7px;width:8px;height:8px;border:1.5px solid rgba(35,24,6,.9);border-radius:999px;background:#ffd166;box-shadow:0 0 14px #ffd16680}.upload-camera-flash.is-active{border-color:#ffd6745c;background:linear-gradient(180deg,#472d08f5,#231806fa);color:#ffe9a8;box-shadow:inset 0 1px #fff5d61f,0 12px 28px #ffb33038}.upload-camera-flash.is-active .upload-camera-flash__halo{opacity:1}.upload-camera-flash.is-pending{opacity:.82}.upload-camera-exit{position:absolute;top:calc(env(safe-area-inset-top,0px) + 1.05rem);left:calc(env(safe-area-inset-left,0px) + 1.05rem);z-index:2;min-height:40px;padding:.6rem .9rem;border-radius:999px;border:1px solid rgba(151,255,208,.14);background:#050e0ab8;color:#eefef5;font-size:.82rem;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-camera-exit:hover{background:#0b1811f5}.upload-camera-menu{position:absolute;top:calc(env(safe-area-inset-top,0px) + 1.05rem);left:calc(env(safe-area-inset-left,0px) + 6.25rem);z-index:2;width:40px;height:40px;padding:0;border:1px solid rgba(151,255,208,.12);border-radius:999px;background:#050e0ab8;color:#eefef5;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-camera-menu span{width:14px;height:2px;border-radius:999px;background:currentColor}.upload-camera-menu:hover{background:#0b1811f5}.upload-camera-guide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.upload-camera-guide-box{position:relative;width:min(44vw,520px,calc((78dvh - 2rem)*.707));aspect-ratio:210 / 297;height:auto;transform:translateY(clamp(-18px,-3dvh,-34px));border:1px solid rgba(206,255,226,.18);border-radius:32px;background:linear-gradient(180deg,transparent calc(33.333% - .5px),rgba(120,255,188,.08) calc(33.333% - .5px),rgba(120,255,188,.08) calc(33.333% + .5px),transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),rgba(120,255,188,.06) calc(66.666% - .5px),rgba(120,255,188,.06) calc(66.666% + .5px),transparent calc(66.666% + .5px)),linear-gradient(90deg,transparent calc(50% - .5px),rgba(120,255,188,.08) calc(50% - .5px),rgba(120,255,188,.08) calc(50% + .5px),transparent calc(50% + .5px));box-shadow:0 0 0 999px #040b0857,inset 0 0 0 1px #ffffff0a,0 18px 42px #040c082e}.upload-camera-guide-box:before{content:"";position:absolute;inset:12px;border:1px solid rgba(120,255,188,.08);border-radius:22px;pointer-events:none}.upload-camera-frame.is-live .upload-camera-guide-box:after{content:none}.upload-camera-corner{position:absolute;width:58px;height:58px;border-radius:12px;box-shadow:0 0 14px #16a34a24}.upload-camera-control-bar{display:flex;align-items:center;justify-content:center;padding:.55rem 0 .2rem}.upload-camera-actions{position:static;display:inline-flex;align-items:center;justify-content:center;gap:.85rem;flex-wrap:wrap;padding:.5rem .65rem;border:1px solid rgba(151,255,208,.12);border-radius:999px;background:#07120deb;box-shadow:0 16px 36px #040c0838}.upload-camera-action{min-height:48px;padding:0 1.15rem;border-radius:999px;border:1px solid rgba(240,255,246,.12);font-size:.86rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-camera-action:disabled{cursor:default;opacity:.8}.upload-camera-action:not(:disabled):hover,.upload-camera-shutter:hover{transform:translateY(-1px)}.upload-camera-shutter-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:.5rem}.upload-camera-action--ghost{background:#050e0a94;color:#f0fff4}.upload-camera-action--primary{background:linear-gradient(180deg,#1db856,#179447);color:#fff;box-shadow:0 14px 30px #16a34a38}.upload-camera-action--success{background:#106e45eb;color:#e6fff0;border-color:#8cffcc2e}.upload-camera-shutter{position:relative;width:88px;height:88px;border:2px solid rgba(76,255,182,.44);border-radius:999px;background:radial-gradient(circle at top,rgba(255,255,255,.12),transparent 52%),#050e0a57;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff14,0 18px 36px #040c0847}.upload-camera-shutter:before{content:"";position:absolute;inset:8px;border:1px solid rgba(167,255,214,.22);border-radius:inherit}.upload-camera-shutter span{position:relative;width:56px;height:56px;border-radius:999px;background:linear-gradient(180deg,#f6fffb,#d8f8e6);box-shadow:inset 0 0 0 6px #16a34a24}.upload-camera-shutter-label{color:#f0fff6c2;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.upload-help-card,.upload-summary-card,.upload-privacy-card{border-radius:18px}.upload-side-stack{display:flex;flex-direction:column;gap:1rem}.upload-summary-card{padding:1rem 1.05rem;border:1px solid rgba(29,42,34,.12);background:radial-gradient(circle at top right,rgba(22,163,74,.12),transparent 34%),linear-gradient(180deg,#fffffff5,#eef7f0eb)}.upload-summary-eyebrow{color:var(--ink-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.upload-summary-value{margin-top:.45rem;color:var(--ink);font-size:1.7rem;font-weight:800;line-height:1}.upload-summary-text{margin-top:.55rem;color:var(--ink-soft);font-size:.86rem;line-height:1.6}.upload-help-card{padding:1rem 1.05rem;border:1px solid var(--line);background:var(--paper-2)}.upload-help-title{color:var(--ink);font-size:.88rem;font-weight:700;margin-bottom:.55rem}.upload-help-list{display:grid;gap:.55rem;padding-left:1rem;color:var(--ink-soft);font-size:.82rem;line-height:1.55}.upload-privacy-card{display:flex;gap:.6rem;align-items:flex-start;padding:.95rem 1rem;border:1px solid #a8d5b8;background:#e8f5ee;color:#176b43;font-size:.83rem;line-height:1.6}.upload-camera-note{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.25rem;padding:.85rem 1rem;border:1px solid #a8d5b8;border-radius:16px;background:#eafaf1}.upload-success-header{display:flex;align-items:center;gap:.75rem}@media(max-width:1120px){.upload-grid,.upload-scanner-workspace{grid-template-columns:1fr}}@media(max-width:780px){.upload-page{max-width:none}.upload-scanner-topbar{flex-direction:column}.upload-scanner-topbar__actions{width:100%}.upload-stage-card,.upload-side-card,.upload-success-card{padding:1rem}.upload-drop-zone{min-height:210px;padding:1.25rem}.upload-file-item,.upload-camera-note,.upload-success-header{flex-direction:column;align-items:flex-start}.upload-camera-frame{min-height:min(76dvh,680px);aspect-ratio:4 / 5}.upload-camera-topbar{max-width:calc(100% - 5.2rem)}.upload-camera-actions{width:min(100%,320px);justify-content:space-between;gap:.65rem}.upload-camera-action{flex:1 1 0;width:auto}.upload-camera-shutter{width:76px;height:76px}.upload-camera-shutter span{width:48px;height:48px}.upload-mode-switch{grid-template-columns:1fr}.upload-camera-guide-box{width:min(74%,300px);height:82%}}.scanner-immersive .upload-page,.scanner-immersive .upload-page--scanner,.scanner-immersive .upload-page--scanner-live,.scanner-immersive .upload-scanner-layout,.scanner-immersive .upload-scanner-workspace,.scanner-immersive .upload-scanner-card,.scanner-immersive .upload-camera-shell{min-height:100dvh}.scanner-immersive .upload-page,.scanner-immersive .upload-page--scanner,.scanner-immersive .upload-page--scanner-live{max-width:none;margin:0}.scanner-immersive .upload-scanner-topbar,.scanner-immersive .upload-scanner-side-card{display:none}.scanner-immersive .upload-scanner-layout,.scanner-immersive .upload-scanner-workspace{gap:0}.scanner-immersive .upload-scanner-workspace{grid-template-columns:1fr}.scanner-immersive .upload-stage-card,.scanner-immersive .upload-scanner-card,.scanner-immersive .upload-scanner-card--minimal{padding:0;border:none;border-radius:0;background:#040907;box-shadow:none}.scanner-immersive .upload-camera-shell{position:relative;gap:0}.scanner-immersive .upload-camera-frame{min-height:100dvh;height:100dvh;aspect-ratio:auto;border:none;border-radius:0;box-shadow:none}.scanner-immersive .upload-camera-guide-box{width:min(34vw,500px,calc((76dvh - 2rem)*.707));transform:translateY(clamp(-22px,-4dvh,-38px));border-radius:30px}.scanner-immersive .upload-camera-hint{bottom:calc(env(safe-area-inset-bottom,0px) + 9.2rem);width:min(76vw,380px);font-size:.76rem}.scanner-immersive .upload-camera-control-bar{position:fixed;left:0;right:0;bottom:0;z-index:4;padding:0 1rem calc(env(safe-area-inset-bottom,0px) + 1rem);pointer-events:none}.scanner-immersive .upload-camera-actions{width:min(100%,420px);margin:0 auto;pointer-events:auto}.scanner-immersive .upload-camera-exit{top:calc(env(safe-area-inset-top,0px) + 1rem);left:calc(env(safe-area-inset-left,0px) + 1rem)}.scanner-immersive .upload-camera-menu{top:calc(env(safe-area-inset-top,0px) + 1rem);left:calc(env(safe-area-inset-left,0px) + 6.2rem)}.scanner-immersive .upload-camera-topbar{top:calc(env(safe-area-inset-top,0px) + 1rem);right:calc(env(safe-area-inset-right,0px) + 1rem);max-width:calc(100% - 7.4rem)}@media(max-width:860px){.scanner-immersive .upload-camera-guide-box{width:min(74vw,360px,calc((72dvh - 1.5rem)*.707));transform:translateY(clamp(-12px,-2dvh,-22px));border-radius:24px}.scanner-immersive .upload-camera-hint{bottom:calc(env(safe-area-inset-bottom,0px) + 8.2rem);width:min(82vw,340px);font-size:.74rem}.scanner-immersive .upload-camera-actions{width:min(100%,340px)}.scanner-immersive .upload-camera-exit{top:calc(env(safe-area-inset-top,0px) + .85rem);left:calc(env(safe-area-inset-left,0px) + .85rem)}.scanner-immersive .upload-camera-menu{top:calc(env(safe-area-inset-top,0px) + .85rem);left:calc(env(safe-area-inset-left,0px) + 5.95rem)}.scanner-immersive .upload-camera-topbar{top:calc(env(safe-area-inset-top,0px) + .85rem);right:calc(env(safe-area-inset-right,0px) + .85rem);max-width:calc(100% - 6.2rem)}}@keyframes scanner-sweep{0%{top:14%;opacity:0}8%{opacity:1}50%{top:50%;opacity:1}92%{opacity:1}to{top:86%;opacity:0}}:root{--ink: #07110b;--charcoal: #1d2a22;--green: #16a34a;--green-hover: #15803d;--green-soft: #e8f5ee;--fire: var(--green);--cream: #f7fbf8;--paper: #ffffff;--fire-hover: var(--green-hover);--ink-soft: rgba(7, 17, 11, .72);--ink-muted: rgba(7, 17, 11, .52);--charcoal-light: rgba(29, 42, 34, .15);--paper-2: #eef7f0;--line: rgba(29, 42, 34, .16);--accent: var(--fire);--warning: #176b43;--r: var(--radius-md);--font-serif: Georgia, "Times New Roman", serif;--font-mono: "Cascadia Mono", "Fira Code", Consolas, monospace;--font-sans: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 2px 4px rgba(7, 17, 11, .05);--shadow-md: 0 4px 12px rgba(7, 17, 11, .08)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--paper);color:var(--ink);min-width:320px;min-height:100vh;overflow-x:hidden}:root,body,#root{min-height:100vh}.app-shell{display:flex;min-height:100vh;background:radial-gradient(circle at top left,rgba(22,163,74,.08),transparent 24%),linear-gradient(180deg,#f6fbf7,#fff 40%)}.app-shell-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}.app-topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:82px;padding:1rem 1.25rem;border-bottom:1px solid rgba(29,42,34,.1);background:#ffffffe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-topbar__group{display:flex;align-items:center;gap:.95rem;min-width:0}.app-topbar__copy{display:flex;flex-direction:column;min-width:0}.app-topbar__eyebrow{color:var(--ink-muted);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.app-topbar__title{color:var(--ink);font-size:1.15rem;line-height:1.2}.app-topbar__subtitle{color:var(--ink-soft);font-size:.84rem;line-height:1.45}.app-topbar__status{display:flex;align-items:center;gap:.75rem}.app-topbar__status-pill{display:inline-flex;align-items:center;min-height:2.2rem;padding:.45rem .8rem;border:1px solid rgba(29,42,34,.12);border-radius:999px;background:#e8f5eeb3;color:var(--ink-soft);font-size:.78rem;font-weight:700}.app-hamburger{display:inline-flex;flex-direction:column;justify-content:center;gap:.26rem;width:3rem;height:3rem;padding:0;border:1px solid rgba(29,42,34,.14);border-radius:16px;background:var(--paper);box-shadow:0 10px 24px #07110b0f}.app-hamburger span{display:block;width:1.1rem;height:2px;margin:0 auto;border-radius:999px;background:var(--ink)}.app-shell-content{flex:1;overflow-y:auto;padding:1.25rem;padding-bottom:calc(1.4rem + env(safe-area-inset-bottom,0px))}.scanner-immersive .ai-chat-toggle,.scanner-immersive .ai-chat-panel{display:none!important}.scanner-immersive .app-topbar,.scanner-immersive .app-breadcrumbs{display:none}.scanner-immersive .app-shell,.scanner-immersive .app-shell-main{min-height:100dvh}.scanner-immersive .app-shell-content{padding:0}.scanner-immersive .app-shell-stack{gap:0}body.scanner-immersive{overflow:hidden}.app-shell-stack{display:grid;align-content:start;gap:1rem;min-width:0}.app-breadcrumbs{overflow-x:auto;scrollbar-width:none}.app-breadcrumbs::-webkit-scrollbar{display:none}.app-breadcrumbs__list{display:inline-flex;align-items:center;gap:.45rem;min-height:2.4rem;padding:.25rem .35rem;border:1px solid rgba(29,42,34,.08);border-radius:999px;background:#ffffffd1;box-shadow:0 10px 24px #07110b0a;white-space:nowrap;list-style:none}.app-breadcrumbs__item{display:inline-flex;align-items:center;gap:.45rem}.app-breadcrumbs__link,.app-breadcrumbs__label{display:inline-flex;align-items:center;min-height:1.8rem;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;color:var(--ink-soft);text-decoration:none}.app-breadcrumbs__link:hover{background:#16a34a14;color:var(--accent);text-decoration:none}.app-breadcrumbs__label.is-current{background:#16a34a1a;color:var(--ink)}.app-breadcrumbs__separator{color:var(--ink-muted);font-size:.82rem}.app-nav-scroll{scrollbar-width:thin;scrollbar-color:rgba(247,251,248,.18) transparent}.app-nav-scroll::-webkit-scrollbar{width:9px}.app-nav-scroll::-webkit-scrollbar-track{background:transparent}.app-nav-scroll::-webkit-scrollbar-thumb{background:#f7fbf82e;border:2px solid transparent;border-radius:999px;background-clip:content-box}.app-nav-scroll::-webkit-scrollbar-thumb:hover{background:#f7fbf847;background-clip:content-box}.app-nav-backdrop{position:fixed;inset:0;z-index:940;background:#07110b5c;opacity:0;pointer-events:none;transition:opacity .2s ease}.app-nav-backdrop.is-open{opacity:1;pointer-events:auto}.app-nav-drawer{position:fixed;top:0;left:0;bottom:0;z-index:950;width:min(92vw,360px);display:flex;flex-direction:column;background:radial-gradient(circle at top right,rgba(22,163,74,.2),transparent 28%),linear-gradient(180deg,#07110b,#0d1d15);color:var(--cream);box-shadow:0 24px 54px #07110b52;transform:translate(-100%);transition:transform .22s ease}.app-nav-drawer.is-open{transform:translate(0)}.app-nav-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.2rem 1rem;border-bottom:1px solid rgba(247,251,248,.08)}.app-nav-brand{display:flex;align-items:center;gap:.85rem;min-width:0}.app-nav-brand__mark{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:1px solid rgba(247,251,248,.08);border-radius:18px;background:linear-gradient(180deg,#ffffff1f,#f7fbf80f);box-shadow:inset 0 1px #ffffff0d;color:#fff;font-family:var(--font-mono);font-size:.92rem;font-weight:800;letter-spacing:.06em;line-height:1;text-transform:uppercase;flex-shrink:0}.app-nav-brand strong,.app-nav-profile__copy strong{display:block}.app-nav-brand>div span,.app-nav-profile__copy span,.app-nav-profile__copy small{display:block}.app-nav-brand>div span{color:#f7fbf8a3;font-size:.78rem}.app-nav-brand strong{color:#fff;font-size:1.15rem;line-height:1.1}.app-nav-brand div{min-width:0}.app-nav-brand div span{margin-top:.25rem;line-height:1.3}.app-nav-brand__mark{display:inline-flex;align-items:center;justify-content:center;padding:0;color:#fff;font-family:var(--font-mono);font-size:.92rem;line-height:1}.app-nav-close{width:2.45rem;height:2.45rem;padding:0;border:1px solid rgba(247,251,248,.1);border-radius:999px;background:#f7fbf80a;color:var(--paper)}.app-nav-scroll{flex:1;overflow-y:auto;padding:1rem 1.2rem}.app-nav-section+.app-nav-section{margin-top:1.35rem}.app-nav-section__label{display:block;margin-bottom:.7rem;color:#f7fbf880;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.app-nav-section__links{display:grid;gap:.45rem}.app-nav-link{display:flex;align-items:center;gap:.8rem;min-height:3rem;padding:.8rem .95rem;border:1px solid transparent;border-radius:16px;color:#f7fbf8d6;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.app-nav-link:hover{border-color:#f7fbf81a;background:#f7fbf80f;text-decoration:none;transform:translate(2px)}.app-nav-link.is-active{border-color:#f7fbf81f;background:linear-gradient(135deg,#16a34a57,#ffffff0d);color:#fff}.app-nav-link__icon{display:inline-grid;place-items:center;width:1.4rem;font-size:1.1rem}.app-nav-footer{padding:1rem 1.2rem 1.2rem;border-top:1px solid rgba(247,251,248,.08);background:#ffffff05}.app-nav-install{width:100%;margin-bottom:.85rem;border-radius:14px;border:none;background:var(--paper);color:var(--ink);font-weight:700}.app-nav-profile{padding:.95rem;border:1px solid rgba(247,251,248,.1);border-radius:22px;background:#f7fbf80a}.app-nav-profile__header{display:flex;align-items:center;gap:.8rem}.app-nav-avatar{width:3.4rem;height:3.4rem;padding:0;border:1px solid rgba(247,251,248,.12);border-radius:999px;background:#f7fbf814;color:var(--paper);display:grid;place-items:center;overflow:hidden;font-weight:700;flex-shrink:0}.app-nav-profile__copy{min-width:0}.app-nav-profile__copy strong{color:#fff;font-size:.96rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-nav-profile__copy span,.app-nav-profile__copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-nav-profile__copy span{margin-top:.15rem;color:#f7fbf8b8;font-size:.78rem}.app-nav-profile__copy small{margin-top:.2rem;color:#f7fbf880;font-size:.74rem}.app-nav-profile__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.9rem}.app-nav-profile__actions button{min-height:2.5rem;padding:.55rem .65rem;font-size:.78rem}button{border-radius:var(--radius-sm);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(22,163,74,.22);outline-offset:2px}button.primary{background-color:var(--fire);color:var(--paper)}button.primary:hover{background-color:var(--fire-hover)}button.secondary{background-color:transparent;border:1px solid var(--charcoal);color:var(--ink)}button.secondary:hover{background-color:var(--charcoal-light)}.card{background-color:var(--cream);border:1px solid var(--charcoal-light);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm)}input,select,textarea{background-color:var(--paper);border:1px solid var(--charcoal-light);color:var(--ink);border-radius:var(--radius-sm);padding:.6rem;outline:none;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--fire)}a{color:var(--fire);text-decoration:none}a:hover{text-decoration:underline}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{padding:.75rem 1rem;border-bottom:1px solid var(--line);text-align:left}th{color:var(--ink-muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}tbody tr{transition:background-color .15s ease}tbody tr:hover{background:#16a34a14}.btn-primary{background:var(--fire);color:var(--paper);border-color:var(--fire)}.btn-primary:hover:not(:disabled){background:var(--fire-hover);border-color:var(--fire-hover)}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:var(--line)}.btn-ghost:hover:not(:disabled){color:var(--ink);background:var(--paper-2)}.btn-danger{background:#fdecea;color:#c0392b;border-color:#f4c7c3}.btn-danger:hover:not(:disabled){background:#f8d7d2;border-color:#e6b8b2}button:disabled{cursor:not-allowed;opacity:.65}.field-label{display:block;color:var(--ink-muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:.35rem;text-transform:uppercase}.badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--paper-2);color:var(--ink-soft);font-size:.68rem;font-weight:700;padding:.18rem .55rem;text-transform:uppercase;white-space:nowrap}.badge-invoice,.badge-indexed,.badge-paid{background:#eafaf1;color:#27ae60}.badge-credit,.badge-processing,.badge-pending{background:#fef9e7;color:#c77713}.badge-debit,.badge-error,.badge-overdue{background:#fdecea;color:#c0392b}.badge-receipt{background:var(--green-soft);color:#176b43}.drop-zone{border:1.5px dashed var(--line);border-radius:var(--r);cursor:pointer;padding:2rem;text-align:center;transition:border-color .15s ease,background .15s ease}.drop-zone.drag-over,.drop-zone:hover{background:#16a34a14;border-color:var(--fire)}.overlay{position:fixed;inset:0;align-items:center;background:#0f0e0c73;display:flex;justify-content:center;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));z-index:1000}.modal{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;max-height:min(calc(100dvh - 2rem),760px);max-width:520px;overflow:hidden;width:min(100%,520px)}.doc-detail-modal{width:min(100%,560px);max-width:560px}.doc-detail-modal__header{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem}.doc-detail-modal__tabs{display:flex;gap:2px;padding:10px 24px 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.doc-detail-modal__tabs::-webkit-scrollbar{display:none}.doc-detail-modal__body{flex:1;min-height:0;padding:24px;overflow-y:auto}.doc-detail-modal__info-grid,.doc-detail-modal__metadata-grid,.doc-detail-modal__metadata-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.doc-detail-modal__info-grid{margin-bottom:20px}.doc-detail-modal__section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.doc-detail-modal__actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px}.doc-detail-modal__actions--editor{margin-top:16px}.doc-detail-modal__danger-note{margin-top:12px;color:var(--ink-muted);font-size:.78rem;line-height:1.55}.toast-container{position:fixed;right:1rem;top:1rem;z-index:2000;display:flex;flex-direction:column;gap:.6rem}.toast{align-items:center;background:var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--paper);display:flex;font-size:.85rem;gap:.6rem;min-width:240px;padding:.75rem .9rem}.toast.success{background:#176b43}.toast.error{background:#9f2a1d}.stat-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.1rem}.stat-label{color:var(--ink-muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.stat-value{font-size:2rem;font-weight:800;line-height:1.1;margin-top:.3rem}.stat-sub{color:var(--ink-soft);font-size:.78rem;margin-top:.25rem}.dashboard-view{display:flex;flex-direction:column;gap:1.5rem}.dashboard-upload-launch{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.35fr) auto;gap:1rem;align-items:center;padding:1.2rem 1.3rem;border:1px solid rgba(29,42,34,.1);border-radius:24px;background:radial-gradient(circle at top right,rgba(255,255,255,.32),transparent 30%),linear-gradient(135deg,#0a140d,#0f2418 54%,#176b43 120%);box-shadow:0 18px 42px #07110b24;color:#fff}.dashboard-upload-launch:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:32px 32px;opacity:.45;pointer-events:none}.dashboard-upload-launch__copy,.dashboard-upload-launch__actions{position:relative;z-index:1}.dashboard-upload-launch__eyebrow{display:inline-flex;align-items:center;min-height:1.95rem;padding:.3rem .7rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#ffffff14;color:#ffffffd1;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.dashboard-upload-launch__copy h2{margin-top:.8rem;font-size:clamp(1.45rem,3vw,2.15rem);line-height:.98}.dashboard-upload-launch__copy p{margin-top:.7rem;max-width:56ch;color:#ffffffc7;font-size:.92rem;line-height:1.6}.dashboard-upload-launch__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem}.dashboard-upload-launch__primary,.dashboard-upload-launch__secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.1rem;border-radius:16px;font-size:.88rem;font-weight:800;text-decoration:none;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.dashboard-upload-launch__primary{background:#fff;color:#08120c;box-shadow:0 16px 30px #07110b29}.dashboard-upload-launch__primary:hover{transform:translateY(-1px);color:#08120c;text-decoration:none}.dashboard-upload-launch__secondary{border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#ffffffe0}.dashboard-upload-launch__secondary:hover{transform:translateY(-1px);background:#ffffff24;color:#fff;text-decoration:none}.dashboard-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.95fr);gap:1.5rem;overflow:hidden;padding:1.75rem;border-radius:24px;background:radial-gradient(circle at top right,rgba(31,181,88,.32),transparent 28%),linear-gradient(135deg,#07110b,#102319 58%,#176b43 120%);box-shadow:0 24px 50px #07110b29;color:#fff}.dashboard-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(to bottom right,rgba(0,0,0,.4),transparent 70%);mask-image:linear-gradient(to bottom right,rgba(0,0,0,.4),transparent 70%);pointer-events:none}.dashboard-hero-copy,.dashboard-hero-side{position:relative;z-index:1}.dashboard-kicker{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.85rem;color:#ffffffb3;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.dashboard-kicker:before{content:"";width:.7rem;height:.7rem;border-radius:999px;background:#ffffffd9}.dashboard-hero h1{font-family:var(--font-serif);font-size:clamp(2.1rem,4vw,3.6rem);line-height:.95;margin-bottom:.9rem}.dashboard-hero p{max-width:58ch;color:#fffc;font-size:.98rem;line-height:1.65}.dashboard-hero-meta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}.dashboard-chip{display:inline-flex;align-items:center;min-height:2.35rem;padding:.55rem .9rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#ffffff14;color:#ffffffe0;font-size:.82rem}.dashboard-chip--accent{background:#fffffff5;color:var(--ink);font-weight:700}.dashboard-hero-side{display:grid;gap:1rem}.dashboard-focus-card{padding:1.15rem 1.2rem;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dashboard-focus-card--glass{background:#ffffff12}.dashboard-focus-label{display:block;margin-bottom:.55rem;color:#ffffffa8;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-focus-value{display:block;margin-bottom:.45rem;font-size:2rem;line-height:1}.dashboard-focus-text{color:#ffffffc2;font-size:.9rem;line-height:1.5}.dashboard-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.dashboard-mini-grid div{padding:.75rem .85rem;border-radius:16px;background:#ffffff0f}.dashboard-mini-grid strong{display:block;font-size:1.3rem}.dashboard-mini-grid span{display:block;margin-top:.2rem;color:#ffffffb3;font-size:.8rem}.dashboard-actions-grid,.dashboard-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.dashboard-action-card{display:flex;flex-direction:column;gap:.55rem;min-height:180px;padding:1.2rem;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fffffff0,#e8f5eedb),var(--paper);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dashboard-action-card:hover{transform:translateY(-2px);box-shadow:0 16px 28px #07110b14;border-color:#16a34a47;text-decoration:none}.dashboard-action-card--primary{background:radial-gradient(circle at top right,rgba(255,255,255,.18),transparent 30%),linear-gradient(135deg,#08120c,#0d2016 55%,#176b43 130%);color:#fff;border-color:#ffffff1a}.dashboard-action-eyebrow{color:var(--ink-muted);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-action-card--primary .dashboard-action-eyebrow,.dashboard-action-card--primary .dashboard-action-text,.dashboard-action-card--primary .dashboard-action-link{color:#ffffffc2}.dashboard-action-title{font-size:1.08rem;line-height:1.2}.dashboard-action-text{color:var(--ink-soft);font-size:.9rem;line-height:1.55}.dashboard-action-link{margin-top:auto;color:var(--accent);font-size:.84rem;font-weight:700}.dashboard-metric-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.35rem;min-height:160px;padding:1.15rem;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fffffff0,#eef7f0e6),var(--paper);box-shadow:var(--shadow-sm)}.dashboard-metric-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,var(--green),rgba(22,163,74,.18))}.dashboard-metric-card.tone-accent:before{background:linear-gradient(90deg,#176b43,#176b4329)}.dashboard-metric-card.tone-danger:before{background:linear-gradient(90deg,#b42318,#b4231824)}.dashboard-metric-label{color:var(--ink-muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-metric-value{font-size:clamp(2.2rem,3vw,2.8rem);line-height:1}.dashboard-metric-note{margin-top:auto;color:var(--ink-soft);font-size:.86rem}.dashboard-panels-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr);gap:1.25rem;align-items:start}.dashboard-panel{border-radius:22px;border-color:#1d2a2224;background:linear-gradient(180deg,#fffffff5,#f7fbf8fa)}.dashboard-panel--large{min-height:100%}.dashboard-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}.dashboard-panel-header--tight{margin-bottom:.95rem}.dashboard-panel-header h2{font-family:var(--font-serif);font-size:1.4rem;line-height:1.05}.dashboard-panel-header p{margin-top:.35rem;color:var(--ink-soft);font-size:.9rem;line-height:1.55}.dashboard-panel-link{color:var(--accent);font-size:.88rem;font-weight:700;white-space:nowrap}.dashboard-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;padding:2rem;border:1px dashed rgba(29,42,34,.18);border-radius:20px;background:linear-gradient(180deg,#eef7f0cc,#fffffff2);text-align:center}.dashboard-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:.85rem;border-radius:20px;background:var(--paper);border:1px solid rgba(29,42,34,.12);color:var(--accent);font-size:2rem}.dashboard-empty-state h3{font-size:1.2rem;margin-bottom:.35rem}.dashboard-empty-state p{max-width:38ch;color:var(--ink-soft);font-size:.92rem;line-height:1.6}.dashboard-empty-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.1rem}.dashboard-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.68rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:.88rem;font-weight:700;text-decoration:none}.dashboard-link-button:hover{text-decoration:none;background:var(--paper-2)}.dashboard-link-button--primary{background:var(--fire);border-color:var(--fire);color:var(--paper)}.dashboard-link-button--primary:hover{background:var(--fire-hover);border-color:var(--fire-hover)}.dashboard-recent-list,.dashboard-side-stack,.dashboard-status-list{display:flex;flex-direction:column;gap:.9rem}.dashboard-recent-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;padding:1rem 1.05rem;border:1px solid rgba(29,42,34,.1);border-radius:18px;background:var(--paper);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dashboard-recent-item:hover{transform:translateY(-1px);box-shadow:0 14px 22px #07110b0f;border-color:#16a34a38}.dashboard-recent-main{min-width:0}.dashboard-recent-title{display:block;font-size:.98rem;line-height:1.35;word-break:break-word}.dashboard-recent-meta{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-top:.55rem;color:var(--ink-soft);font-size:.82rem}.dashboard-status-row{display:flex;flex-direction:column;gap:.38rem}.dashboard-status-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--ink-soft);font-size:.88rem}.dashboard-status-top strong{color:var(--ink)}.dashboard-status-track{overflow:hidden;height:9px;border-radius:999px;background:#1d2a2214}.dashboard-status-fill{height:100%;min-width:8px;border-radius:inherit}.dashboard-finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.dashboard-finance-card{padding:.95rem;border:1px solid rgba(29,42,34,.1);border-radius:18px;background:var(--paper)}.dashboard-finance-card span{display:block;color:var(--ink-muted);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-finance-card strong{display:block;margin-top:.45rem;font-size:1.35rem;line-height:1.1}@media(max-width:1120px){.dashboard-upload-launch,.dashboard-hero,.dashboard-panels-grid{grid-template-columns:1fr}}@media(max-width:960px){.app-shell-content{padding:1rem;padding-bottom:calc(1.15rem + env(safe-area-inset-bottom,0px))}}@media(max-width:780px){.app-topbar{min-height:74px;padding:.85rem 1rem}.app-topbar__title{font-size:1.02rem}.app-topbar__status-pill{display:none}.dashboard-upload-launch{padding:1rem}.dashboard-upload-launch__actions{justify-content:stretch}.dashboard-upload-launch__primary,.dashboard-upload-launch__secondary{width:100%}.dashboard-hero{padding:1.3rem}.dashboard-hero h1{font-size:2.15rem}.dashboard-mini-grid,.dashboard-finance-grid{grid-template-columns:1fr}.dashboard-panel-header,.dashboard-recent-item{flex-direction:column}.dashboard-panel-link{white-space:normal}}@media(max-width:640px){.app-shell-content{padding:.9rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.app-breadcrumbs__list{min-height:2.15rem;padding:.2rem .25rem}.app-breadcrumbs__link,.app-breadcrumbs__label{font-size:.74rem;padding:.18rem .45rem}.app-nav-drawer{width:min(100vw,340px)}.app-nav-header,.app-nav-scroll,.app-nav-footer{padding-left:1rem;padding-right:1rem}.app-nav-profile__actions{grid-template-columns:1fr}.toast-container{left:.9rem;right:.9rem;top:.9rem}.toast{min-width:0;width:100%}}@media(max-width:720px){.overlay{padding:max(.75rem,env(safe-area-inset-top,0px)) max(.75rem,env(safe-area-inset-right,0px)) max(.75rem,env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px))}.modal{max-height:calc(100dvh - 1.5rem);border-radius:20px}.doc-detail-modal__header,.doc-detail-modal__body{padding:1rem}.doc-detail-modal__tabs{padding:.8rem 1rem 0}.doc-detail-modal__info-grid,.doc-detail-modal__metadata-grid,.doc-detail-modal__metadata-form{grid-template-columns:1fr}.doc-detail-modal__section-header{align-items:flex-start;flex-direction:column}.doc-detail-modal__actions>*{flex:1 1 100%;justify-content:center}}.fade-up{animation:fade-up .28s ease both}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
