:root{color-scheme:light;--bg: #f5f7fa;--bg-subtle: #eef1f6;--surface: #ffffff;--surface-raised: #ffffff;--border: #e4e8ee;--border-strong: #cdd5e0;--text: #0f1a2a;--text-muted: #5b6676;--text-faint: #8b96a5;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #e8effd;--accent-ring: rgba(37, 99, 235, .35);--gradient-brand: linear-gradient(135deg, #0ea5e9, #2563eb);--danger: #d13b4b;--danger-soft: #fceef0;--success: #178a55;--success-soft: #e6f6ee;--warning: #a36206;--warning-soft: #fdf3e0;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(15, 26, 42, .05);--shadow-md: 0 4px 16px rgba(15, 26, 42, .08);--shadow-lg: 0 16px 48px rgba(15, 26, 42, .14);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--header-bg: rgba(255, 255, 255, .82)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #0b1120;--bg-subtle: #0f1729;--surface: #131c30;--surface-raised: #182338;--border: #223048;--border-strong: #31425e;--text: #e7ecf4;--text-muted: #9aa7ba;--text-faint: #6b7890;--accent: #5b8cf5;--accent-hover: #7da3f7;--accent-soft: rgba(91, 140, 245, .14);--accent-ring: rgba(91, 140, 245, .45);--danger: #f0716f;--danger-soft: rgba(240, 113, 111, .14);--success: #4cc38a;--success-soft: rgba(76, 195, 138, .13);--warning: #e5a54b;--warning-soft: rgba(229, 165, 75, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .55);--header-bg: rgba(11, 17, 32, .8)}}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{line-height:1.2;margin:0 0 .5rem;letter-spacing:-.02em}a{color:var(--accent);text-decoration:none}code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-subtle);padding:.1em .35em;border-radius:4px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit;font-size:.9rem;font-weight:550;cursor:pointer;white-space:nowrap;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}.button:hover{border-color:var(--accent);color:var(--accent)}.button:active{transform:translateY(1px)}.button-primary{background:var(--gradient-brand);border-color:transparent;color:#fff;box-shadow:0 2px 10px #2563eb59}.button-primary:hover{border-color:transparent;color:#fff;filter:brightness(1.08);box-shadow:0 4px 16px #2563eb73}.button-ghost{border-color:transparent;background:transparent;color:var(--text-muted);box-shadow:none}.button-ghost:hover{background:var(--bg-subtle);border-color:transparent;color:var(--text)}.button-lg{padding:.8rem 1.5rem;font-size:1rem;border-radius:var(--radius)}.button:disabled{opacity:.55;cursor:not-allowed}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s ease,color .12s ease}.icon-button:hover{background:var(--accent-soft);color:var(--accent)}.icon-button-danger:hover{background:var(--danger-soft);color:var(--danger)}.icon-button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:inherit}.text-input,.auth-form input,.edit-form input,.edit-form select{padding:.6rem .8rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.95rem;background:var(--surface);color:var(--text);transition:border-color .12s ease,box-shadow .12s ease}.text-input:focus,.auth-form input:focus,.edit-form input:focus,.edit-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.search-field{position:relative;display:inline-flex;align-items:center}.search-field>svg{position:absolute;left:.7rem;color:var(--text-faint);pointer-events:none}.search-field input{padding:.6rem .8rem .6rem 2.3rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.9rem;background:var(--surface);color:var(--text);min-width:260px;transition:border-color .12s ease,box-shadow .12s ease}.search-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.date-field{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:550;color:var(--text-muted)}.date-field input[type=date]{padding:.52rem .6rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.85rem;background:var(--surface);color:var(--text)}.date-field input[type=date]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.18rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-pending{background:var(--warning-soft);color:var(--warning)}.status-parsed{background:var(--success-soft);color:var(--success)}.status-failed{background:var(--danger-soft);color:var(--danger)}.status-processing{background:var(--accent-soft);color:var(--accent)}.status-processing:before{animation:pulse 1.2s ease-in-out infinite}.chip-bank{display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.7rem;font-weight:600}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:30;background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.app-header-inner{max-width:1200px;margin:0 auto;padding:.65rem 1.5rem;display:flex;align-items:center;gap:1.5rem}.brand-link{display:inline-flex;align-items:center;gap:.6rem;color:var(--text)}.brand-name{font-weight:700;font-size:1.05rem;letter-spacing:-.02em}.app-nav{display:flex;gap:.35rem;flex:1}.nav-pill{padding:.4rem .9rem;border-radius:999px;color:var(--text-muted);font-size:.88rem;font-weight:550;transition:background .12s ease,color .12s ease}.nav-pill:hover{color:var(--text);background:var(--bg-subtle)}.nav-pill[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.app-user{display:flex;align-items:center;gap:.6rem}.user-chip{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--text-muted);max-width:260px}.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--gradient-brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;text-transform:uppercase;flex-shrink:0}.user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main{max-width:1200px;width:100%;margin:0 auto;padding:1.75rem 1.5rem 3rem;flex:1}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-title{font-size:1.45rem;font-weight:700;margin:0}.page-sub{margin:.2rem 0 0;color:var(--text-muted);font-size:.9rem;max-width:560px}.page-head-actions{display:flex;align-items:center;gap:.6rem}.landing{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.landing-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:1100px;width:100%;margin:0 auto;padding:1.1rem 1.5rem}.landing-nav-actions{display:flex;align-items:center;gap:.6rem}.landing-hero{position:relative;max-width:1100px;width:100%;margin:0 auto;padding:4.5rem 1.5rem 3rem;text-align:center}.landing-hero:before{content:"";position:absolute;inset:-40% -20% auto;height:130%;background:radial-gradient(600px 300px at 30% 20%,rgba(14,165,233,.16),transparent 70%),radial-gradient(600px 300px at 70% 10%,rgba(37,99,235,.14),transparent 70%);pointer-events:none;z-index:-1}.hero-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .85rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.8rem;font-weight:600;margin-bottom:1.25rem}.hero-title{font-size:clamp(2.2rem,5.5vw,3.6rem);font-weight:800;letter-spacing:-.035em;margin:0 auto 1rem;max-width:720px}.hero-title em{font-style:normal;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{max-width:580px;margin:0 auto 2rem;color:var(--text-muted);font-size:1.12rem}.hero-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-bottom:3.5rem}.hero-note{margin:-2.5rem 0 3rem;color:var(--text-faint);font-size:.85rem}.mock-window{max-width:760px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;text-align:left;animation:float-in .7s cubic-bezier(.22,1,.36,1) both}.mock-titlebar{display:flex;align-items:center;gap:.4rem;padding:.7rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.mock-dot{width:10px;height:10px;border-radius:50%;background:var(--border-strong)}.mock-table{width:100%;border-collapse:collapse;font-size:.85rem}.mock-table th,.mock-table td{padding:.6rem 1rem;text-align:left;white-space:nowrap}.mock-table thead th{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);border-bottom:1px solid var(--border);font-weight:600}.mock-table tbody tr+tr td{border-top:1px solid var(--border)}.mock-amount{text-align:right!important;font-variant-numeric:tabular-nums;font-weight:600}.landing-section{max-width:1100px;width:100%;margin:0 auto;padding:3.5rem 1.5rem}.landing-section-title{text-align:center;font-size:1.6rem;font-weight:700;margin-bottom:2rem}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.step-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.step-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--gradient-brand);color:#fff;font-size:.85rem;font-weight:700;margin-bottom:.85rem}.step-card h3{font-size:1rem;margin-bottom:.35rem}.step-card p{margin:0;color:var(--text-muted);font-size:.9rem}.cta-band{max-width:1100px;width:calc(100% - 3rem);margin:1rem auto 3rem;padding:3rem 2rem;border-radius:var(--radius-lg);background:var(--gradient-brand);color:#fff;text-align:center;box-shadow:var(--shadow-lg)}.cta-band h2{font-size:1.7rem;margin-bottom:.5rem}.cta-band p{margin:0 0 1.5rem;opacity:.9}.cta-band .button{background:#fff;border-color:transparent;color:var(--accent);font-weight:650}.cta-band .button:hover{filter:brightness(.96);color:var(--accent-hover)}.landing-footer{text-align:center;padding:1.5rem;color:var(--text-faint);font-size:.85rem}.auth-page{min-height:100vh;display:grid;place-items:center;padding:2rem;position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(700px 400px at 20% 0%,rgba(14,165,233,.14),transparent 70%),radial-gradient(700px 400px at 90% 100%,rgba(37,99,235,.12),transparent 70%);pointer-events:none}.auth-card{position:relative;width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-lg)}.auth-brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--text);font-weight:700;margin-bottom:1.25rem}.auth-card h1{font-size:1.3rem;margin:0 0 .25rem}.auth-lead{margin:0 0 1.25rem;color:var(--text-muted);font-size:.9rem}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--bg-subtle);border-radius:var(--radius-sm);margin-bottom:1.25rem}.auth-tab{border:none;padding:.45rem .5rem;border-radius:6px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.auth-tab[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:550;color:var(--text-muted)}.auth-submit{width:100%;margin-top:.25rem}.auth-hint{margin:1rem 0 0;text-align:center;font-size:.82rem;color:var(--text-faint)}.form-alert{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem .9rem;border-radius:var(--radius-sm);font-size:.85rem;margin:0 0 1rem}.form-alert svg{flex-shrink:0;margin-top:.1rem}.form-alert-error{background:var(--danger-soft);color:var(--danger)}.form-alert-success{background:var(--success-soft);color:var(--success)}.range-chips{display:inline-flex;gap:4px;padding:4px;background:var(--bg-subtle);border-radius:999px}.range-chip{padding:.35rem .8rem;border-radius:999px;color:var(--text-muted);font-size:.82rem;font-weight:600;white-space:nowrap;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.range-chip:hover{color:var(--text)}.range-chip[aria-current=true]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.summary-card{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.4rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.summary-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gradient-brand)}.summary-scope{display:flex;flex-direction:column;gap:.1rem;min-width:150px}.summary-scope-label{font-weight:700;font-size:1.02rem;letter-spacing:-.01em}.summary-scope-sub{color:var(--text-faint);font-size:.78rem}.summary-metrics{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;margin-left:auto}.summary-metric{display:flex;flex-direction:column;gap:.05rem}.summary-metric-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--text-faint)}.summary-metric-value{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.summary-metric-sub{font-size:.76rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.ledger-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem}.ledger-controls .filter-form{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;flex:1}.menu{position:relative}.menu>summary{list-style:none;cursor:pointer}.menu>summary::-webkit-details-marker{display:none}.menu-list{position:absolute;right:0;top:calc(100% + 6px);min-width:230px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:.35rem;z-index:20;display:flex;flex-direction:column}.menu-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:var(--radius-sm);color:var(--text);font-size:.88rem;font-weight:500}.menu-item:hover{background:var(--accent-soft);color:var(--accent)}.menu-caption{padding:.45rem .7rem .55rem;font-size:.75rem;color:var(--text-faint);border-bottom:1px solid var(--border);margin-bottom:.25rem}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{padding:.7rem 1rem;text-align:left;white-space:nowrap;vertical-align:middle}.data-table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--text-faint);border-bottom:1px solid var(--border)}.data-table tbody tr+tr td{border-top:1px solid var(--border)}.row-clickable{cursor:pointer;transition:background .1s ease}.row-clickable:hover{background:var(--bg-subtle)}.vendor-cell{max-width:260px}.vendor-name{display:flex;align-items:center;gap:.5rem;font-weight:600;overflow:hidden}.vendor-name>span{overflow:hidden;text-overflow:ellipsis}.vendor-desc{display:block;color:var(--text-faint);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;max-width:240px}.invoice-number-cell{max-width:170px;overflow:hidden;text-overflow:ellipsis}.cell-right{text-align:right!important}.cell-mono{font-family:var(--font-mono);font-size:.83rem}.cell-amount{font-variant-numeric:tabular-nums;font-weight:650}.cell-muted{color:var(--text-muted)}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.15rem}.row-actions form{display:contents}@media(hover:hover){.row-actions .icon-button{opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}tr:hover .row-actions .icon-button,tr:focus-within .row-actions .icon-button{opacity:1}}.parsing-row td{background:var(--accent-soft)}.parsing-file{display:flex;align-items:center;gap:.6rem;color:var(--accent);font-weight:550}.parsing-file svg{animation:pulse 1.4s ease-in-out infinite}.shimmer{display:inline-block;height:.85rem;border-radius:4px;background:linear-gradient(90deg,var(--border) 25%,var(--border-strong) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;color:var(--text-muted);font-size:.85rem}.pagination-links{display:flex;align-items:center;gap:.5rem}.empty-state{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:3rem 2rem;text-align:center;color:var(--text-muted)}.empty-state h2{color:var(--text);font-size:1.1rem}.onboarding{text-align:center;padding:1.5rem 0}.onboarding .dropzone{max-width:640px;margin:0 auto 2.25rem;padding:3.5rem 2rem}.onboarding-steps{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;color:var(--text-muted);font-size:.9rem}.onboarding-step{display:flex;align-items:center;gap:.6rem;max-width:220px}.onboarding-step .step-num{margin:0;flex-shrink:0;width:26px;height:26px;font-size:.78rem}.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);padding:2.5rem 2rem;text-align:center;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.dropzone:hover,.dropzone:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-md)}.dropzone-active{border-color:var(--accent);background:var(--accent-soft)}.dropzone-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--accent-soft);color:var(--accent);margin-bottom:.5rem}.dropzone-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.hidden-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dropzone-label{margin:0;font-weight:650;font-size:1.02rem}.dropzone-label em{font-style:normal;color:var(--accent)}.dropzone-hint{margin:0;color:var(--text-faint);font-size:.83rem}.file-cell{display:flex;align-items:center;gap:.65rem;min-width:0}.file-cell svg{color:var(--text-faint);flex-shrink:0}.file-name{font-weight:550;overflow:hidden;text-overflow:ellipsis;max-width:320px}.file-meta{display:block;color:var(--text-faint);font-size:.78rem}.doc-error{display:block;color:var(--danger);font-size:.78rem;max-width:340px;white-space:normal}.back-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--text-muted);font-size:.85rem;font-weight:550;margin-bottom:.75rem}.back-link:hover{color:var(--accent)}.review-page{max-width:640px}.review-page-with-preview{max-width:1200px}.review-columns{display:grid;grid-template-columns:420px minmax(0,1fr);gap:2rem;align-items:start}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem}.edit-form{display:flex;flex-direction:column;gap:1rem}.form-section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:650;color:var(--text-faint);margin:.5rem 0 -.35rem}.edit-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:550;color:var(--text-muted)}.edit-form-row{display:flex;gap:1rem}.edit-form-row label{flex:1;min-width:0}.field-note{font-size:.77rem;color:var(--text-faint);font-weight:400}.field-error{color:var(--danger);font-weight:500;font-size:.8rem}.edit-form-actions{display:flex;gap:.75rem;margin-top:.5rem}.document-preview{position:sticky;top:76px;width:100%;height:calc(100vh - 140px);min-height:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.document-preview iframe{width:100%;flex:1;min-height:0;border:none}.document-preview img{width:100%;flex:1;min-height:0;object-fit:contain}.document-preview-caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0;padding:.6rem 1rem;font-size:.8rem;color:var(--text-muted);border-top:1px solid var(--border);background:var(--bg-subtle)}.document-preview-caption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-progress-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.upload-progress-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;border-radius:var(--radius);background:var(--surface-raised);border:1px solid var(--border);font-size:.85rem;box-shadow:var(--shadow-md);animation:toast-in .24s cubic-bezier(.22,1,.36,1) both}.upload-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.upload-error{border-color:var(--danger)}.upload-error .upload-progress-status{color:var(--danger)}.upload-done .upload-progress-status{color:var(--success)}.upload-progress-status{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-muted);white-space:nowrap}.upload-dismiss{border:none;background:transparent;color:inherit;cursor:pointer;display:inline-flex;padding:.1rem;border-radius:4px}.upload-toast-tray{position:fixed;right:1.5rem;bottom:1.5rem;width:min(380px,calc(100vw - 3rem));z-index:40;margin:0}.page-drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f1a2a59;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;pointer-events:none;animation:fade-in .14s ease both}.page-drop-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:.75rem;background:var(--surface);border:2px dashed var(--accent);border-radius:var(--radius-lg);padding:2.5rem 3.5rem;font-size:1.1rem;font-weight:650;color:var(--accent);box-shadow:var(--shadow-lg)}.spinner{display:inline-block;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.error-page{max-width:640px;margin:4rem auto;padding:0 1.5rem}.error-page h1{font-size:2rem}.error-stack{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;font-size:.8rem}.nav-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--danger);margin-left:.4rem;vertical-align:2px}.app-footer{text-align:center;padding:1.25rem 1.5rem 1.5rem;color:var(--text-faint);font-size:.82rem}.app-footer a{color:var(--text-muted);font-weight:550}.app-footer a:hover{color:var(--accent)}.auth-footer{position:relative}.range-chip-menu{display:inline-flex}.range-chip-menu>summary.range-chip{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer}.range-chip-menu .menu-list{left:0;right:auto;min-width:160px}.range-chip-menu .menu-item{justify-content:space-between}.range-chip-menu .menu-item[aria-current=true]{color:var(--accent);background:var(--accent-soft)}.menu-hint{font-size:.72rem;color:var(--text-faint);font-weight:500}.share-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);padding:0;width:min(480px,calc(100vw - 2rem));box-shadow:var(--shadow-lg)}.share-dialog::backdrop{background:#0f1a2a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem .75rem}.dialog-head h2{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;margin:0}.dialog-body{padding:0 1.4rem 1.4rem;display:flex;flex-direction:column;gap:1rem}.dialog-lead{margin:0;color:var(--text-muted);font-size:.88rem}.dialog-note{margin:0;color:var(--text-faint);font-size:.8rem}.dialog-field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:550;color:var(--text-muted)}.dialog-field select{padding:.6rem .8rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.92rem;background:var(--surface);color:var(--text)}.copy-row{display:flex;gap:.5rem}.copy-row input{flex:1;min-width:0;padding:.55rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.88rem;background:var(--surface);color:var(--text)}.share-created{display:flex;flex-direction:column;gap:.4rem;background:var(--bg-subtle);border-radius:var(--radius);padding:1rem}.share-created-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:650;color:var(--text-faint)}.dialog-actions{display:flex;gap:.6rem}.status-share-active{background:var(--success-soft);color:var(--success)}.status-share-revoked{background:var(--bg-subtle);color:var(--text-faint)}.status-share-expired{background:var(--warning-soft);color:var(--warning)}.share-row-actions .icon-button,.share-row-actions .button{opacity:1!important}.section-heading{font-size:1.05rem;margin:2rem 0 .75rem}.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.activity-item{display:flex;align-items:center;gap:.7rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .9rem;font-size:.85rem}.activity-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.activity-item-danger .activity-icon{background:var(--danger-soft);color:var(--danger)}.activity-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-share{color:var(--text-faint)}.activity-time{color:var(--text-faint);font-size:.78rem;white-space:nowrap}.share-gate-page{min-height:100vh;display:grid;place-items:center;align-content:center;gap:1rem;padding:2rem;position:relative}.share-gate-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(700px 400px at 20% 0%,rgba(14,165,233,.14),transparent 70%),radial-gradient(700px 400px at 90% 100%,rgba(37,99,235,.12),transparent 70%);pointer-events:none}.share-gate-card{position:relative}.share-page{min-height:100vh;display:flex;flex-direction:column}.share-header{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.25rem;max-width:1200px;width:100%;margin:0 auto;padding:.85rem 1.5rem}.share-header-context{color:var(--text-muted);font-size:.88rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.share-main{max-width:1200px;width:100%;margin:0 auto;padding:.5rem 1.5rem 2rem;flex:1}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes float-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1000px){.review-columns{grid-template-columns:1fr}.document-preview{position:static;height:60vh}}@media(max-width:720px){.app-header-inner{gap:.6rem;padding:.65rem 1rem}.brand-name,.user-email{display:none}.nav-pill{padding:.4rem .7rem}.summary-metrics{margin-left:0;gap:1rem 1.75rem}.summary-metric-value{font-size:1.1rem}.range-chips{max-width:100%;overflow-x:auto}.search-field input{min-width:0;width:100%}.search-field,.ledger-controls .filter-form{width:100%}.onboarding-steps{flex-direction:column;align-items:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
