:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color-scheme:light;--bg: #f0f2f7;--bg-alt: #e4e8f0;--surface: #ffffff;--surface-2: #f8fafc;--border: #e2e8f0;--border-2: #cbd5e1;--text: #0f172a;--text-2: #475569;--text-3: #94a3b8;--brand: #4f46e5;--brand-soft: #eef2ff;--brand-text: #4f46e5;--sidebar-bg: #050505;--sidebar-text: #ffffff;--sidebar-muted: #a5b4fc;--sidebar-surface: rgba(255, 255, 255, .07);--sidebar-border: rgba(255, 255, 255, .1);--danger-bg: #fff1f2;--danger-text: #be123c;--danger-border: #fecdd3;--warn-bg: #fffbeb;--warn-text: #92400e;--warn-border: #fde68a;--success-bg: #ecfdf5;--success-text: #065f46;--radius-sm: .75rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 16px rgba(15, 23, 42, .08);--shadow-lg: 0 16px 40px rgba(15, 23, 42, .1);--aurora-1: #4f46e5;--aurora-2: #6d28d9;--aurora-3: #1e40af;--transition: .22s cubic-bezier(.4, 0, .2, 1)}.dark{color-scheme:dark;--bg: #0b0f1a;--bg-alt: #111827;--surface: #161d2e;--surface-2: #1e2a3a;--border: #1e293b;--border-2: #334155;--text: #f1f5f9;--text-2: #94a3b8;--text-3: #475569;--brand: #6366f1;--brand-soft: rgba(99, 102, 241, .15);--brand-text: #a5b4fc;--sidebar-bg: #050505;--sidebar-surface: rgba(255, 255, 255, .05);--danger-bg: rgba(190, 18, 60, .12);--danger-text: #fda4af;--danger-border: rgba(253, 164, 175, .2);--warn-bg: rgba(146, 64, 14, .12);--warn-text: #fde68a;--warn-border: rgba(253, 230, 138, .2);--success-bg: rgba(6, 95, 70, .12);--success-text: #6ee7b7;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-width:320px;background:var(--bg);color:var(--text);transition:background var(--transition),color var(--transition)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{display:flex;flex-direction:column;min-height:100dvh}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);padding:max(1.25rem,env(safe-area-inset-top)) 1.25rem 1.25rem;transition:background var(--transition);overflow:visible;z-index:10}.main-content{flex:1;display:flex;flex-direction:column;padding:1.25rem 1rem;padding-bottom:calc(80px + env(safe-area-inset-bottom));overflow-y:auto}@media(max-width:1023px){.sidebar{padding:max(.8rem,env(safe-area-inset-top)) 1rem .85rem}.main-content{padding:.85rem 1rem;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.main-page-heading{display:none}.powered-footer{display:none!important}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-around;z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -4px 20px #00000014;transition:background var(--transition),border-color var(--transition)}.bottom-nav.compact{justify-content:center;gap:3.5rem}.bottom-nav-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;border:none;background:none;color:var(--text-3);font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.5rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition),background var(--transition);-webkit-tap-highlight-color:transparent}.bottom-nav-btn.active{color:var(--brand)}.bottom-nav-btn svg{width:22px;height:22px}.bottom-nav-upload-btn{background:var(--brand);color:#fff;border:none;border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #4f46e573;cursor:pointer;transition:transform .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.bottom-nav-upload-btn:active{transform:scale(.93)}.detail-back-button{display:inline-flex;align-items:center;gap:.4rem;width:fit-content;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-2);padding:.55rem .85rem;font-size:.8rem;font-weight:900;cursor:pointer}@media(min-width:1024px){.detail-back-button{display:none}}@media(min-width:1024px){.app-shell{flex-direction:row;min-height:100vh}.sidebar{width:340px;min-height:100vh;padding:2rem 1.75rem;flex-shrink:0}.main-content{padding:2rem 2.5rem}.bottom-nav{display:none}}.brand-logo{width:44px;height:44px;background:var(--brand);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #4f46e566;flex-shrink:0}.brand-eyebrow{font-size:.65rem;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:var(--sidebar-muted)}.brand-title{font-size:1.15rem;font-weight:900;letter-spacing:-.02em}.stat-card{margin-top:1.5rem;background:var(--sidebar-surface);border:1px solid var(--sidebar-border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem}.stat-card-label{font-size:.75rem;font-weight:700;color:#ffffff80}.stat-card-value{font-size:3rem;font-weight:900;letter-spacing:-.04em;line-height:1;margin-top:.25rem}.stat-card-meta{display:inline-flex;align-items:center;background:#34d3991f;color:#6ee7b7;border-radius:999px;padding:.2rem .65rem;font-size:.7rem;font-weight:900;margin-top:.5rem}@media(max-width:1023px){.stat-card{margin-top:.8rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.35rem .8rem;border-radius:1.25rem;padding:.85rem 1rem}.stat-card-label{font-size:.72rem}.stat-card-value{grid-row:span 2;font-size:2.35rem;margin-top:0}.stat-card-meta{width:fit-content;margin-top:0;font-size:.68rem}}.upload-context-card{margin-top:1rem;display:grid;gap:.65rem;border:1px solid var(--sidebar-border);border-radius:var(--radius-lg);background:#ffffff0b;padding:1rem}.company-label.compact{margin-top:0;margin-bottom:0}.company-label{display:block;margin-top:1.25rem;font-size:.65rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:#fff6;margin-bottom:.5rem}.select-wrap{position:relative}.select-wrap svg.icon-left{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#fff6;pointer-events:none}.select-wrap svg.icon-right{position:absolute;right:.875rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#fff6;pointer-events:none}.field-dark{width:100%;min-height:48px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);color:#fff;padding:.75rem 2.5rem;outline:none;font-weight:700;appearance:none;transition:border-color .15s,box-shadow .15s}.field-dark:focus{border-color:#a5b4fc80;box-shadow:0 0 0 3px #6366f133}.textarea-dark{min-height:86px;resize:vertical;padding:.85rem}@media(max-width:1023px){.upload-context-card{margin-top:.75rem;gap:.5rem;border-radius:1.15rem;padding:.75rem}.field-dark{min-height:42px;border-radius:.95rem;padding-top:.65rem;padding-bottom:.65rem}.textarea-dark{min-height:58px}.company-label{margin-top:.85rem;margin-bottom:.4rem;font-size:.6rem}.company-label.compact{margin-top:0}}.sidebar-actions{display:grid;gap:.65rem;margin-top:1.5rem}@media(max-width:1023px){.sidebar-actions{display:none}}.mobile-upload-menu{position:fixed;left:1rem;right:1rem;bottom:calc(76px + env(safe-area-inset-bottom));z-index:120;display:grid;gap:.65rem;padding:.75rem;border:1px solid var(--border);border-radius:1.5rem;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-upload-option{display:flex;align-items:center;gap:.85rem;width:100%;min-height:64px;border:1px solid var(--border);border-radius:1.15rem;background:var(--surface-2);color:var(--text);padding:.85rem 1rem;text-align:left;cursor:pointer}.mobile-upload-option.primary{border-color:#4f46e53d;background:var(--brand-soft)}.mobile-upload-option svg{width:22px;height:22px;color:var(--brand-text);flex-shrink:0}.mobile-upload-option strong,.mobile-upload-option small{display:block}.mobile-upload-option strong{font-size:.92rem;font-weight:900}.mobile-upload-option small{margin-top:.1rem;color:var(--text-2);font-size:.75rem;font-weight:700}.mobile-upload-option em{display:block;margin-top:.15rem;color:var(--brand-text);font-size:.68rem;font-style:normal;font-weight:900}.label{display:block;margin-bottom:.35rem;color:var(--text-3);font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.field{width:100%;min-height:48px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);padding:.75rem 1rem;outline:none;font-weight:600;transition:border-color .15s,box-shadow .15s,background var(--transition)}.field:focus{border-color:var(--brand);box-shadow:0 0 0 3px #6366f129}.field[readonly]{background:var(--surface-2);cursor:default}.status-filters{display:flex;gap:.5rem;overflow-x:auto;padding:.05rem .05rem .8rem;scrollbar-width:none}.tray-filters{display:flex;gap:.6rem;overflow-x:auto;padding:.05rem .05rem .65rem;margin-bottom:.15rem;scrollbar-width:none}.status-filters::-webkit-scrollbar{display:none}.tray-filters::-webkit-scrollbar{display:none}.tray-filter{min-width:112px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-2);padding:.7rem .8rem;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}.tray-filter span,.tray-filter strong{display:block}.tray-filter span{overflow:hidden;text-overflow:ellipsis;font-size:.72rem;font-weight:900;white-space:nowrap}.tray-filter strong{margin-top:.2rem;color:var(--text);font-size:1.05rem;font-weight:950}.tray-filter.active{border-color:#4f46e552;background:var(--brand-soft);color:var(--brand-text)}.tray-filter.active strong{color:var(--brand-text)}.status-filter{display:inline-flex;align-items:center;gap:.45rem;min-height:36px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-2);padding:.45rem .8rem;font-size:.75rem;font-weight:900;white-space:nowrap;cursor:pointer}.status-filter.active{border-color:#4f46e53d;background:var(--brand-soft);color:var(--brand-text)}.status-filter span{display:inline-flex;min-width:1.35rem;height:1.35rem;align-items:center;justify-content:center;border-radius:999px;background:#0f172a14;font-size:.68rem}.capture-reason{margin-top:.35rem;overflow:hidden;text-overflow:ellipsis;color:var(--text-3);font-size:.72rem;font-weight:800;white-space:nowrap}.context-summary{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);padding:1rem}.context-summary strong,.context-summary span{display:block}.context-summary strong{margin-top:.25rem;color:var(--text);font-size:.95rem;font-weight:900}.context-summary span{margin-top:.25rem;color:var(--text-2);font-size:.82rem;font-weight:700;line-height:1.45}.library-overlay{position:fixed;inset:0;z-index:180;display:flex;align-items:flex-end;justify-content:center;background:#0f172a6b;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.library-sheet{width:min(100%,34rem);max-height:min(82dvh,720px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:1.75rem;background:var(--surface);box-shadow:var(--shadow-lg)}.library-header{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--border);padding:1rem}.library-header h3{color:var(--text);font-size:1.25rem;font-weight:950;letter-spacing:-.03em}.library-folders,.library-list{min-height:0;overflow-y:auto;padding:1rem}.library-folders{display:grid;gap:.7rem}.folder-card{display:flex;align-items:center;gap:.85rem;width:100%;border:1px solid var(--border);border-radius:1.2rem;background:var(--surface-2);color:var(--text);padding:.9rem;text-align:left;cursor:pointer}.folder-icon{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:1rem;background:var(--brand-soft);color:var(--brand-text);flex-shrink:0}.folder-icon svg{width:21px;height:21px}.folder-copy{min-width:0;flex:1}.folder-copy strong,.folder-copy small{display:block}.folder-copy strong{font-size:.95rem;font-weight:950}.folder-copy small{margin-top:.12rem;color:var(--text-2);font-size:.78rem;font-weight:800}.folder-chevron{width:18px;height:18px;color:var(--text-3)}.library-list{display:grid;gap:.55rem}.library-row{display:flex;align-items:center;justify-content:space-between;gap:.9rem;width:100%;border:1px solid var(--border);border-radius:1rem;background:var(--surface);color:var(--text);padding:.85rem;text-align:left;cursor:pointer}.library-row-main{min-width:0}.library-row-main strong,.library-row-main small,.library-row-side strong{display:block}.library-row-main strong{overflow:hidden;text-overflow:ellipsis;font-size:.9rem;font-weight:950;white-space:nowrap}.library-row-main small{margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;color:var(--text-2);font-size:.74rem;font-weight:750;white-space:nowrap}.library-row-side{display:grid;justify-items:end;gap:.3rem;flex-shrink:0}.library-row-side strong{font-size:.86rem;font-weight:950}.empty-state.compact{min-height:220px}@media(min-width:768px){.library-overlay{align-items:center}}.primary-action,.secondary-action,.danger-action{min-height:52px;border:0;border-radius:var(--radius-md);padding:.85rem 1.25rem;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-weight:900;cursor:pointer;transition:transform .12s,box-shadow .12s,opacity .12s;-webkit-tap-highlight-color:transparent}.primary-action:active,.secondary-action:active,.danger-action:active{transform:scale(.97)}.primary-action{background:var(--brand);color:#fff;box-shadow:0 8px 24px #4f46e54d}.primary-action:hover{box-shadow:0 12px 32px #4f46e566}.secondary-action{background:var(--surface);color:var(--text);border:1px solid var(--border)}.danger-action{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.icon-button{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:var(--radius-md);width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition),border-color var(--transition),transform .12s}.icon-button:active{transform:scale(.93)}.capture-card{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.1rem;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s,background var(--transition);box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent}.capture-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-2)}.capture-card.active{border-color:var(--brand);box-shadow:0 0 0 3px #6366f126,var(--shadow-md)}.file-tile{width:42px;height:42px;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0}.status,.pill{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .65rem;font-size:.68rem;font-weight:900;letter-spacing:.04em}.pill{background:var(--surface-2);color:var(--text-2)}.status.uploaded{background:#eff6ff;color:#2563eb}.status.extracting{background:#fff7ed;color:#c2410c;position:relative;overflow:hidden}.status.extracting:before{content:"";width:.38rem;height:.38rem;border-radius:999px;background:currentColor;margin-right:.35rem;animation:rb-pulse 1.1s ease-in-out infinite}.status.review_ready{background:var(--brand-soft);color:var(--brand)}.status.approved{background:var(--success-bg);color:var(--success-text)}.status.rejected{background:var(--surface-2);color:var(--text-2)}.status.deleted{background:var(--surface-2);color:var(--text-3)}.status.error{background:var(--danger-bg);color:var(--danger-text)}.review-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:1rem;transition:background var(--transition),border-color var(--transition)}.preview-link{display:flex;align-items:center;gap:.65rem;min-height:48px;border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand-text);font-weight:800;padding:.75rem 1rem;transition:opacity .15s}.preview-link:hover{opacity:.85}.check-row{display:flex;gap:.75rem;align-items:flex-start;border:1px solid var(--border);border-radius:var(--radius-md);padding:.85rem 1rem;background:var(--surface-2);color:var(--text);transition:background var(--transition)}.check-row strong{display:block;font-weight:900;font-size:.9rem}.check-row small{display:block;margin-top:.1rem;color:var(--text-2);font-weight:600;font-size:.8rem}.mini-button{display:inline-flex;align-items:center;gap:.4rem;border-radius:var(--radius-sm);background:var(--brand-soft);padding:.45rem .75rem;color:var(--brand-text);font-size:.78rem;font-weight:900;border:none;cursor:pointer;margin-top:.75rem;transition:opacity .15s}.mini-button:hover{opacity:.8}.ai-inline-status{display:inline-flex;align-items:center;gap:.45rem;margin-top:.55rem;color:var(--brand-text);font-size:.74rem;font-weight:850}.ai-dot{width:.45rem;height:.45rem;border-radius:999px;background:currentColor;box-shadow:0 0 #6366f159;animation:rb-pulse-ring 1.3s ease-out infinite}.ai-processing-card{display:flex;align-items:center;gap:.85rem;border:1px solid rgba(99,102,241,.24);border-radius:var(--radius-lg);background:var(--brand-soft);color:var(--brand-text);padding:1rem}.ai-processing-card strong,.ai-processing-card span{display:block}.ai-processing-card strong{color:var(--text);font-size:.95rem;font-weight:950}.ai-processing-card span{margin-top:.18rem;font-size:.82rem;font-weight:700;line-height:1.35}.ai-processing-orbit{width:46px;height:46px;border-radius:999px;display:grid;place-items:center;flex:0 0 auto;background:var(--surface);box-shadow:0 0 0 6px #6366f11f;animation:rb-float 1.8s ease-in-out infinite}@keyframes rb-pulse{0%,to{opacity:.35;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}@keyframes rb-pulse-ring{0%{box-shadow:0 0 #6366f161}70%{box-shadow:0 0 0 .42rem #6366f100}to{box-shadow:0 0 #6366f100}}@keyframes rb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.empty-state{min-height:320px;border:2px dashed var(--border-2);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--surface);text-align:center;padding:2rem;color:var(--text-2);transition:background var(--transition),border-color var(--transition)}@media(max-width:1023px){.empty-state{min-height:190px;border-radius:1.4rem;padding:1.25rem}}.error-banner{display:flex;align-items:flex-start;gap:.75rem;border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);border-radius:var(--radius-md);padding:.85rem 1rem;font-size:.85rem;font-weight:700;margin-bottom:1rem}.warn-banner{border:1px solid var(--warn-border);background:var(--warn-bg);color:var(--warn-text);border-radius:var(--radius-md);padding:.85rem 1rem;font-size:.85rem;font-weight:600}.warn-banner p+p{margin-top:.25rem}.aurora-bg{background:#050505;position:relative;overflow:hidden}.sidebar.aurora-bg{overflow:visible}.aurora-bg:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 30%,rgba(79,70,229,.35) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 70%,rgba(109,40,217,.25) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 50% 0%,rgba(30,64,175,.2) 0%,transparent 50%);animation:aurora-shift 12s ease-in-out infinite alternate;pointer-events:none;z-index:0}.aurora-bg>*{position:relative;z-index:1}.sidebar-header{z-index:10!important}html:not(.dark) .sidebar{color:#0f172a;border-bottom:1px solid rgba(148,163,184,.22)}html:not(.dark) .aurora-bg{background:#f8fafc}html:not(.dark) .aurora-bg:before{background:radial-gradient(ellipse 80% 60% at 12% 18%,rgba(79,70,229,.14) 0%,transparent 58%),radial-gradient(ellipse 70% 55% at 88% 74%,rgba(109,40,217,.1) 0%,transparent 58%),linear-gradient(180deg,#fffffff5,#f1f5f9e6)}html:not(.dark) .brand-title{color:#0f172a}html:not(.dark) .theme-toggle{border-color:#94a3b847;background:#ffffffd1;color:#334155}html:not(.dark) .company-label{color:#64748b}html:not(.dark) .field-dark{border-color:#94a3b859;background:#ffffffdb;color:#0f172a}html:not(.dark) .select-wrap svg.icon-left,html:not(.dark) .select-wrap svg.icon-right{color:#64748b}html:not(.dark) .stat-card,html:not(.dark) .upload-context-card{border-color:#94a3b847;background:#ffffffb8;box-shadow:0 14px 36px #0f172a14}html:not(.dark) .stat-card-label{color:#64748b}html:not(.dark) .stat-card-value{color:#0f172a}html:not(.dark) .stat-card-meta{background:#ecfdf5;color:#047857}html:not(.dark) .powered-footer{border-top-color:#94a3b83d!important}html:not(.dark) .powered-footer span{color:#64748b!important}html:not(.dark) .powered-footer img{opacity:.85!important}@keyframes aurora-shift{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:.85;transform:scale(1.04) translateY(-8px)}}.product-badge{display:inline-flex;align-items:center;gap:.4rem;background:#4f46e533;border:1px solid rgba(99,102,241,.3);border-radius:999px;padding:.25rem .75rem;font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#a5b4fc}.lsm-logo{width:40px;height:40px;border-radius:.75rem;object-fit:contain;box-shadow:0 4px 16px #4f46e566}@media(max-width:1023px){.product-badge{padding:.2rem .6rem;font-size:.58rem}.brand-title{font-size:1rem;line-height:1.05}.lsm-logo{width:34px;height:34px;border-radius:.65rem}.theme-toggle{width:38px;height:38px;border-radius:.9rem}}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100dvh;background:var(--sidebar-bg);color:#fff}.login-screen{min-height:100dvh;background:linear-gradient(135deg,#eef2ff,#f8fafc 48%,#f5f3ff);padding:clamp(1rem,3vw,2rem)}.finbox-login{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,440px);align-items:stretch;gap:clamp(1rem,3vw,2rem);position:relative}.login-brand-panel{min-height:min(760px,calc(100dvh - 4rem));border-radius:2rem;border:1px solid rgba(15,23,42,.08);box-shadow:0 24px 80px #4f46e52e;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,4vw,3rem);isolation:isolate;overflow:hidden;position:relative;z-index:1;pointer-events:none;background:#050505!important;color:#fff}.login-brand-panel:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;z-index:0}.login-brand-panel.aurora-bg:before{background:radial-gradient(ellipse 80% 60% at 20% 30%,rgba(79,70,229,.35) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 70%,rgba(109,40,217,.25) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 50% 0%,rgba(30,64,175,.2) 0%,transparent 50%)!important}.login-brand-content{max-width:38rem;color:#fff;pointer-events:auto;position:relative;z-index:1}.login-brand-logo{width:64px;height:64px;border-radius:1.25rem;object-fit:contain;box-shadow:0 20px 42px #00000052;margin-bottom:1.25rem}.login-brand-content h1{margin-top:1rem;font-size:clamp(2.2rem,5vw,4.8rem);line-height:.95;font-weight:950;letter-spacing:0;max-width:11ch}.login-brand-content p{margin-top:1rem;max-width:34rem;color:#ffffffb8;font-size:clamp(1rem,1.6vw,1.2rem);font-weight:650;line-height:1.45}.login-brand-points{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.35rem}.login-brand-points span{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .75rem;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.12);color:#ffffffd1;font-size:.82rem;font-weight:850}.login-card{align-self:center;width:100%;background:#fff;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-xl);padding:clamp(1.35rem,3vw,2rem);box-shadow:0 8px 40px #0f172a1a,0 2px 8px #0f172a0f;position:relative;z-index:50;pointer-events:auto}.dark .login-screen{background:#050505}.dark .login-card{background:#0f172ac7;border-color:#ffffff1a;box-shadow:0 32px 64px #00000073}.login-form-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.login-form-head p{font-size:.65rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);margin-bottom:.2rem}.login-form-head h1{color:var(--text);font-size:1.8rem;line-height:1.05;font-weight:950;letter-spacing:0}.login-subtitle{color:var(--text-2);font-size:.95rem;font-weight:650;line-height:1.45;margin-bottom:1.5rem}.login-input-wrap{min-height:52px;display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 .9rem;margin-bottom:1rem;color:var(--text-3);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.login-input-wrap:focus-within{border-color:#6366f1a6;box-shadow:0 0 0 3px #6366f129}.login-input-wrap button,.password-field-wrap button{border:0;background:transparent;color:var(--text-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.login-field{width:100%;min-height:50px;background:transparent;border:0;color:var(--text);padding:0;outline:none;font-weight:700}.login-label,.form-label{color:var(--text-2);font-size:.68rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:.45rem}.login-footnote{margin-top:1.25rem;text-align:center;font-size:.75rem;color:var(--text-3);font-weight:700}.login-footnote a,.login-footnote-link{color:#4f46e5!important;font-weight:800;text-decoration:none;cursor:pointer;position:relative;z-index:100;display:inline-block}.login-footnote-link:hover{text-decoration:underline}.form-field{width:100%;min-height:52px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);padding:.85rem 1rem;outline:none;font-weight:750;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.form-field:focus{border-color:#6366f1a6;box-shadow:0 0 0 3px #6366f129}.password-field-wrap{display:flex;align-items:center;gap:.5rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1rem;padding-right:.8rem;box-shadow:var(--shadow-sm)}.password-field-wrap .form-field{margin-bottom:0;border:0;box-shadow:none;background:transparent}@media(max-width:900px){.finbox-login{display:flex;align-items:center;justify-content:center}.login-brand-panel{display:none}.login-card{max-width:28rem}}@media(max-width:520px){.login-screen{padding:.85rem}.login-card{border-radius:1.5rem;padding:1.25rem}.login-form-head h1{font-size:1.45rem}.auth-modal-overlay{align-items:flex-end}.auth-modal-card{border-radius:1.5rem 1.5rem 0 0;padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}}.theme-toggle{border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fffc;border-radius:var(--radius-md);width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .12s;-webkit-tap-highlight-color:transparent}.theme-toggle:active{transform:scale(.9)}.user-menu-wrap{position:relative}.user-menu-button{width:44px;height:44px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#ffffffeb;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:950;box-shadow:var(--shadow-sm)}html:not(.dark) .user-menu-button{border-color:#94a3b847;background:#ffffffd1;color:#312e81}.user-menu-popover{position:absolute;top:calc(100% + .65rem);right:0;width:min(18rem,calc(100vw - 2rem));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 24px 70px #0f172a3d;padding:.65rem;z-index:1000;color:var(--text);overflow:hidden}.user-menu-backdrop-pc{position:fixed;inset:0;background:#0f172abf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:900;cursor:default}.user-menu-head{display:flex;align-items:center;gap:.75rem;padding:.65rem;border-bottom:1px solid var(--border);margin-bottom:.35rem}.user-menu-head p{font-weight:950;color:var(--text)}.user-menu-head span{display:block;margin-top:.1rem;color:var(--text-2);font-size:.8rem;font-weight:650}.user-menu-avatar{width:42px;height:42px;border-radius:1rem;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-soft);color:var(--brand-text);font-weight:950}.user-menu-item{width:100%;min-height:44px;border:0;background:transparent;color:var(--text);border-radius:var(--radius-sm);display:flex;align-items:center;gap:.65rem;padding:.7rem .75rem;cursor:pointer;font-weight:850;text-align:left}.user-menu-item:hover{background:var(--surface-2)}.user-menu-item.danger{color:var(--danger-text)}@media(max-width:1023px){.user-menu-popover{display:none}}.user-sheet-backdrop{position:fixed;inset:0;z-index:200;background:#0f172a7a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;animation:fade-in .18s ease}.user-sheet{width:100%;background:var(--surface);border-radius:1.75rem 1.75rem 0 0;padding:0 1rem calc(80px + env(safe-area-inset-bottom));box-shadow:0 -24px 70px #0f172a38;animation:sheet-up .25s cubic-bezier(.32,0,.15,1)}.dark .user-sheet{background:#11172b;box-shadow:0 -24px 70px #0000008c}.user-sheet-handle{width:2.5rem;height:4px;border-radius:999px;background:var(--border);margin:.85rem auto 1.25rem}.user-menu-close-btn{margin-left:auto;border:0;background:var(--surface-2);color:var(--text-2);width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.user-sheet .user-menu-head{border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:.5rem}.user-sheet .user-menu-item{min-height:52px;font-size:1rem;border-radius:1rem}.user-sheet .user-menu-item:hover{background:var(--surface-2)}.user-sheet .user-menu-avatar{width:46px;height:46px;border-radius:1.1rem;font-size:1.25rem}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.auth-modal-overlay{align-items:center;padding:1rem}.auth-modal-card{position:relative;width:min(100%,28rem);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:0 32px 90px #0000004d}.auth-modal-close{position:absolute;top:.85rem;right:.85rem;width:40px;height:40px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.auth-modal-close:hover{background:var(--surface-2)}.auth-modal-icon{width:54px;height:54px;border-radius:1.1rem;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 16px 34px #4f46e54d;margin-bottom:1rem}.auth-modal-card h2{color:var(--text);font-size:1.45rem;line-height:1.05;font-weight:950;letter-spacing:0}.auth-modal-card p{color:var(--text-2);margin:.5rem 0 1rem;font-weight:650;line-height:1.45}.hidden{display:none!important}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-full{width:100%}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1 1 0%}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}.text-center{text-align:center}.text-left{text-align:left}.mt-auto{margin-top:auto}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-xl{font-size:1.25rem}.text-3xl{font-size:1.875rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.space-y-3>*+*{margin-top:.75rem}.overflow-y-auto{overflow-y:auto}.pr-1{padding-right:.25rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.gap-3-grid{gap:.75rem}.flex-wrap{flex-wrap:wrap}.pointer-events-none{pointer-events:none}.fields-grid{display:grid;gap:.65rem;grid-template-columns:1fr 1fr}.fields-grid .span-2{grid-column:span 2}@media(min-width:640px){.fields-grid{gap:.75rem}}.section-eyebrow{font-size:.65rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-text);margin-bottom:.35rem}.section-title{font-size:1.75rem;font-weight:900;letter-spacing:-.03em;color:var(--text)}.section-subtitle{font-size:.875rem;font-weight:500;color:var(--text-2);margin-top:.35rem;max-width:48ch}@media(max-width:1023px){.status-filters{padding-bottom:.55rem}.status-filter{min-height:32px;padding:.38rem .68rem;font-size:.7rem}.status-filter span{min-width:1.2rem;height:1.2rem}.captures-layout{flex:initial!important}}.review-panel-empty{display:none}@media(min-width:1024px){.review-panel-empty{display:flex}}@media(min-width:1024px){.captures-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:1.5rem;flex:1}}.scanner-backdrop{position:fixed;inset:0;background:#080b16d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:stretch;justify-content:center;z-index:1000;padding:0}.scanner-card{width:100%;max-width:720px;background:var(--bg-card, #141826);color:var(--text, #e8ecf6);display:flex;flex-direction:column;border-radius:0}@media(min-width:640px){.scanner-backdrop{padding:1.5rem;align-items:center}.scanner-card{border-radius:1rem;max-height:calc(100vh - 3rem)}}.scanner-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.scanner-header h2{font-size:1.05rem;font-weight:600;margin:0}.scanner-icon-btn{background:transparent;border:0;color:inherit;cursor:pointer;padding:.4rem;border-radius:.5rem;display:flex;align-items:center}.scanner-icon-btn:hover{background:#ffffff0f}.scanner-body{flex:1;min-height:0;overflow:auto;padding:1rem;display:flex;align-items:center;justify-content:center;background:#0a0d18}.scanner-status,.scanner-error{text-align:center;font-size:.95rem;color:#e8ecf6b3;padding:2rem 1rem}.scanner-error{color:#f87171}.scanner-image-wrap{position:relative;max-width:100%;display:inline-block;touch-action:none;-webkit-user-select:none;user-select:none}.scanner-image{display:block;max-width:100%;max-height:60vh;height:auto;width:auto;-webkit-user-drag:none}.scanner-overlay{position:absolute;inset:0;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none}.scanner-polygon{fill:#3b82f62e;stroke:#3b82f6;stroke-width:.5%;stroke-linejoin:round;pointer-events:none}.scanner-handle{fill:#fff;stroke:#3b82f6;stroke-width:.4%;cursor:grab;pointer-events:all;touch-action:none}.scanner-handle-hit{fill:#3b82f600;stroke:transparent;cursor:grab;pointer-events:all;touch-action:none}.scanner-handle.active{fill:#3b82f6;stroke:#fff;cursor:grabbing}.scanner-actions{display:flex;gap:.75rem;padding:.85rem 1.25rem 1.1rem;border-top:1px solid rgba(255,255,255,.08);background:var(--bg-card, #141826)}.scanner-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1rem;border-radius:.7rem;font-weight:700;font-size:.95rem;cursor:pointer;border:1.5px solid transparent;transition:opacity .15s ease,background .15s ease,border-color .15s ease}.scanner-btn:disabled{opacity:.45;cursor:not-allowed}.scanner-btn.ghost,.scanner-btn.outline{background:#ffffff0f;border-color:#ffffff73;color:#fffffff2}.scanner-btn.ghost:hover:not(:disabled),.scanner-btn.outline:hover:not(:disabled){background:#ffffff24;border-color:#ffffffb3}.scanner-btn.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.scanner-btn.primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.uploading-overlay{position:fixed;inset:0;z-index:1100;background:#080b16b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.5rem}.uploading-overlay__card{background:var(--bg-card, #141826);border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.5rem 1.75rem;box-shadow:0 20px 60px #00000080;display:flex;align-items:center;gap:1.1rem;max-width:420px;width:100%}.uploading-overlay__title{margin:0;font-size:1rem;font-weight:800;color:var(--text, #fff)}.uploading-overlay__subtitle{margin:.25rem 0 0;font-size:.85rem;color:var(--text-2, rgba(255, 255, 255, .7));line-height:1.35}.drag-drop-overlay{position:fixed;inset:0;background:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;pointer-events:auto;animation:fadeIn .18s ease-out}.drag-drop-card{background:var(--surface);border:3px dashed var(--brand);border-radius:var(--radius-xl);padding:3rem 2rem;text-align:center;max-width:480px;width:100%;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;gap:1rem;animation:scaleIn .22s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.drag-drop-card h3{font-size:1.5rem;font-weight:950;color:var(--text);letter-spacing:-.02em}.drag-drop-card p{font-size:.9rem;color:var(--text-2);font-weight:600;max-width:32ch;line-height:1.45}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.math-alert{border:1px solid var(--warn-border);border-radius:var(--radius-md);padding:.85rem 1rem;background:var(--warn-bg);color:var(--warn-text);font-size:.85rem;animation:fadeIn .15s ease-out}.math-alert strong{display:block;font-weight:900;font-size:.88rem}.math-alert p{margin:.15rem 0 0;font-weight:600;font-size:.78rem;line-height:1.35;opacity:.95}.math-alert-icon{color:#d97706}.math-recalc-btn{background:#d97706;color:#fff;border:none;border-radius:var(--radius-sm);padding:.4rem .7rem;font-size:.72rem;font-weight:900;cursor:pointer;white-space:nowrap;flex-shrink:0;align-self:center;transition:opacity .15s,transform .1s}.math-recalc-btn:hover{opacity:.9}.math-recalc-btn:active{transform:scale(.97)}.interactive-preview-container{display:flex;flex-direction:column;gap:.5rem;width:100%}.interactive-preview-viewport{width:100%;height:220px;border:1px solid var(--border);border-radius:var(--radius-md);background:#000;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;touch-action:none}.interactive-preview-img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .15s cubic-bezier(.2,0,.2,1);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.interactive-preview-controls{display:flex;align-items:center;justify-content:center;gap:.6rem;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.35rem .75rem;width:fit-content;margin:0 auto;box-shadow:var(--shadow-sm)}.control-btn{background:none;border:none;color:var(--text-2);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s}.control-btn:hover{background:#0f172a14;color:var(--text)}.dark .control-btn:hover{background:#ffffff14}.control-btn-link{color:var(--text-2);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.control-btn-link:hover{background:#0f172a14;color:var(--text)}.dark .control-btn-link:hover{background:#ffffff14}.zoom-indicator{font-size:.78rem;font-weight:900;color:var(--text-2);min-width:38px;text-align:center}.control-btn.reset{width:auto;border-radius:999px;padding:0 .6rem;font-size:.68rem;font-weight:900;color:var(--brand-text);background:var(--brand-soft)}.control-btn.reset:hover{opacity:.85}.pdf-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--surface-2);padding:1.5rem;text-align:center}.pdf-preview-placeholder p{font-size:.85rem;font-weight:800;color:var(--text)}.pdf-preview-placeholder .preview-link{width:auto;padding:.5rem 1rem;min-height:auto}
