@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-Extralight.ttf)format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-ExtralightItalic.ttf)format("truetype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-Light.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-LightItalic.ttf)format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-RegularItalic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-MediumItalic.ttf)format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-BoldItalic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-Extrabold.ttf)format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-ExtraboldItalic.ttf)format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-Heavy.ttf)format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Rockford Sans;src:url(/fonts/RockfordSans-HeavyItalic.ttf)format("truetype");font-weight:900;font-style:italic;font-display:swap}:root{--navy-900:#1c2740;--navy-800:#263654;--navy-700:#2f4269;--navy-600:#354d80;--navy-500:#405f9c;--navy-400:#5876ae;--blue-700:#366089;--blue-600:#43739e;--blue-500:#4e86b7;--blue-400:#6f9bc5;--blue-300:#9bbdd9;--blue-200:#c7dcec;--blue-100:#e6eff6;--gray-950:oklch(20% .02 262);--gray-900:oklch(26% .018 262);--gray-800:oklch(34% .016 262);--gray-700:oklch(45% .014 262);--gray-600:oklch(56% .012 262);--gray-500:oklch(66% .01 262);--gray-400:oklch(76% .008 262);--gray-300:oklch(86% .006 262);--gray-200:oklch(92% .005 262);--gray-100:oklch(96% .004 262);--gray-50:oklch(98.5% .002 262);--white:#fcfcfc;--surface-page:var(--white);--surface-canvas:var(--gray-50);--surface-card:#fff;--surface-sunken:var(--gray-100);--surface-inverse:var(--navy-900);--surface-brand:var(--navy-600);--surface-brand-subtle:var(--blue-100);--text-primary:var(--navy-900);--text-secondary:var(--gray-700);--text-tertiary:var(--gray-500);--text-on-brand:#fff;--text-link:var(--blue-600);--text-link-hover:var(--navy-600);--border-subtle:var(--gray-200);--border-default:var(--gray-300);--border-strong:var(--gray-400);--border-brand:var(--blue-500);--border-focus:var(--blue-500);--action-primary:var(--navy-600);--action-primary-hover:var(--navy-700);--action-primary-active:var(--navy-800);--action-secondary:var(--blue-500);--action-secondary-hover:var(--blue-600);--action-secondary-active:var(--blue-700);--action-disabled:var(--gray-300);--action-disabled-text:var(--gray-500);--success-fg:oklch(45% .12 152);--success-bg:oklch(95% .04 152);--warning-fg:oklch(48% .14 70);--warning-bg:oklch(95% .06 80);--danger-fg:oklch(48% .18 25);--danger-bg:oklch(95% .05 25);--info-fg:var(--blue-600);--info-bg:var(--blue-100);--purple-fg:oklch(48% .18 300);--purple-bg:oklch(95% .05 300);--focus-ring:0 0 0 3px oklch(66% .08 240/.35);--shadow-color:262 20% 30%;--shadow-xs:0 1px 2px hsl(var(--shadow-color) / .06);--shadow-sm:0 1px 3px hsl(var(--shadow-color) / .08), 0 1px 2px hsl(var(--shadow-color) / .05);--shadow-md:0 4px 10px hsl(var(--shadow-color) / .1), 0 2px 4px hsl(var(--shadow-color) / .06);--shadow-lg:0 12px 28px hsl(var(--shadow-color) / .14), 0 4px 8px hsl(var(--shadow-color) / .07);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:999px;--container-max:1200px;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.34s;--ease-standard:cubic-bezier(.2, .8, .2, 1);--font-sans:"Rockford Sans", -apple-system, "Segoe UI", sans-serif;--text-heading-lg:700 2rem/1.2 var(--font-sans);--text-heading-md:700 1.5rem/1.25 var(--font-sans);--text-heading-sm:500 1.25rem/1.3 var(--font-sans);--text-body-lg:400 1.125rem/1.6 var(--font-sans);--text-body-md:400 1rem/1.6 var(--font-sans);--text-body-sm:400 .875rem/1.5 var(--font-sans);--text-label:500 .8125rem/1.3 var(--font-sans);--text-caption:400 .75rem/1.4 var(--font-sans);--tracking-eyebrow:.12em}*{box-sizing:border-box}html,body,#root{height:100%}body{font:var(--text-body-md);color:var(--text-primary);background:var(--surface-canvas);margin:0}h1,h2,h3,p{font-family:var(--font-sans)}a{color:var(--text-link)}a:hover{color:var(--text-link-hover)}button{font-family:var(--font-sans)}::selection{background:var(--blue-200)}.app-shell{background:var(--surface-canvas);flex-direction:column;min-height:100vh;display:flex}.app-main{max-width:var(--container-max);width:100%;padding:var(--space-8) var(--space-6) var(--space-16);gap:var(--space-6);flex-direction:column;flex:1;margin:0 auto;display:flex}.topbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-8);background:var(--surface-page);border-bottom:1px solid var(--border-subtle);z-index:50;flex-wrap:wrap;display:flex;position:sticky;top:0}.topbar-brand{align-items:center;gap:var(--space-3);display:flex}.topbar-brand img{height:30px}.topbar-title{font:var(--text-heading-sm);color:var(--text-primary)}.topbar-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.step-pills{align-items:center;gap:var(--space-2);display:flex}.step-pill{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);color:var(--text-tertiary);font:var(--text-body-sm);cursor:default;background:0 0;border:none;display:flex}.step-pill.clickable{cursor:pointer}.step-pill.active{background:var(--surface-brand-subtle);color:var(--action-primary);font-weight:700}.step-pill-num{border-radius:var(--radius-full);background:var(--gray-200);width:20px;height:20px;color:var(--text-tertiary);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.step-pill.active .step-pill-num{background:var(--action-primary);color:#fff}.credits-pill{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border-default);background:var(--surface-card);cursor:pointer;font:var(--text-body-sm);color:var(--text-primary);font-weight:700;display:flex}.icon-btn{cursor:pointer;color:var(--text-tertiary);padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--surface-sunken);color:var(--text-primary)}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-padded{padding:var(--space-5)}.panel-title{font:var(--text-heading-lg);color:var(--text-primary);margin:0 0 var(--space-2)}.panel-subtitle{font:var(--text-body-md);color:var(--text-secondary);max-width:640px;margin:0}.eyebrow{font:var(--text-label);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-tertiary)}.muted{color:var(--text-tertiary);font:var(--text-caption)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font:var(--text-body-sm);padding:var(--space-2) var(--space-4);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);border:1.5px solid #0000;font-weight:700;display:inline-flex}.btn-lg{padding:var(--space-3) var(--space-6);font:var(--text-body-md);font-weight:700}.btn-sm{padding:var(--space-1) var(--space-3);font:var(--text-body-sm)}.btn-primary{background:var(--action-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--action-primary-hover)}.btn-outline{background:var(--surface-card);border-color:var(--border-default);color:var(--text-primary)}.btn-outline:hover:not(:disabled){border-color:var(--border-strong)}.btn-ghost{color:var(--action-primary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-brand-subtle)}.btn-danger{background:var(--surface-card);border-color:var(--danger-fg);color:var(--danger-fg)}.btn:disabled{background:var(--action-disabled);border-color:var(--action-disabled);color:var(--action-disabled-text);cursor:not-allowed}.field{gap:var(--space-1);flex-direction:column;display:flex}.field-label{font:var(--text-label);color:var(--text-secondary)}.text-input,.select-input,textarea.text-input{font:var(--text-body-sm);font-family:var(--font-sans);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-card);width:100%}.text-input:focus,.select-input:focus,textarea.text-input:focus{border-color:var(--border-focus);box-shadow:var(--focus-ring);outline:none}textarea.text-input{resize:vertical;min-height:70px}.password-input-wrap{display:flex;position:relative}.password-input-wrap .text-input{padding-right:calc(var(--space-3) + 26px)}.password-toggle-btn{top:50%;right:var(--space-2);cursor:pointer;color:var(--text-tertiary);padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--text-primary)}.password-hint{flex-direction:column;gap:6px;margin-top:-4px;display:flex}.password-hint-bar{gap:4px;height:4px;display:flex}.password-hint-bar-segment{border-radius:var(--radius-full);background:var(--border-subtle);transition:background var(--duration-base) var(--ease-standard);flex:1}.password-hint-bar-1 .password-hint-bar-segment:first-child{background:var(--warning-fg)}.password-hint-bar-2 .password-hint-bar-segment{background:var(--success-fg)}.password-hint-text{font:var(--text-caption);color:var(--text-tertiary);align-items:center;gap:var(--space-1);margin:0;display:flex}.password-hint-text.met{color:var(--success-fg)}div.password-hint-text{flex-direction:column;gap:2px;display:flex}.password-hint-text p{margin:0}.checkbox-row{align-items:flex-start;gap:var(--space-2);cursor:pointer;display:flex}.checkbox-row input{margin-top:3px}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font:var(--text-caption);white-space:nowrap;font-weight:600;display:inline-flex}.badge-neutral{background:var(--surface-sunken);color:var(--text-secondary)}.badge-success{background:var(--success-bg);color:var(--success-fg)}.badge-warning{background:var(--warning-bg);color:var(--warning-fg)}.badge-danger{background:var(--danger-bg);color:var(--danger-fg)}.badge-purple{background:var(--purple-bg);color:var(--purple-fg)}.chart-tooltip{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2) var(--space-3);font:var(--text-caption);color:var(--text-secondary);line-height:1.6}.chart-tooltip-title{font:var(--text-label);color:var(--text-primary);margin-bottom:2px}.chart-tooltip-total{color:var(--text-primary);border-top:1px solid var(--border-subtle);margin-top:2px;padding-top:2px;font-weight:600}.chart-tooltip-meta{color:var(--text-tertiary);margin-top:2px}.chart-tooltip-swatch{width:8px;height:8px;margin-right:var(--space-1);border-radius:2px;display:inline-block}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-6);background:var(--surface-card);cursor:pointer;text-align:center;transition:border-color var(--duration-fast) var(--ease-standard);flex-direction:column;justify-content:center;align-items:center;display:flex}.dropzone.dragover{border-color:var(--action-primary);background:var(--surface-brand-subtle)}.dropzone-icon{border-radius:var(--radius-full);background:var(--surface-brand-subtle);width:52px;height:52px;margin-bottom:var(--space-3);color:var(--action-primary);justify-content:center;align-items:center;font-size:22px;display:flex}.modal-scrim{z-index:200;padding:var(--space-8);background:#1c27408c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface-page);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;max-width:100%;max-height:calc(100vh - 64px);display:flex;overflow:auto}.modal-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.modal-body{padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.toast-stack{bottom:var(--space-6);z-index:300;gap:var(--space-2);flex-direction:column;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--navy-900);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font:var(--text-body-sm);box-shadow:var(--shadow-md)}.tooltip{display:inline-flex;position:relative}.tooltip[data-tooltip]:hover:after{content:attr(data-tooltip);background:var(--navy-900);color:#fff;font:var(--text-caption);border-radius:var(--radius-sm);white-space:nowrap;z-index:10;padding:4px 8px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.auth-shell{background:var(--surface-canvas);min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--surface-page);border-radius:var(--radius-lg);width:400px;max-width:100%;box-shadow:var(--shadow-lg);padding:var(--space-8);gap:var(--space-4);flex-direction:column;display:flex}.auth-tabs{gap:var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.auth-tab{cursor:pointer;padding:0 0 var(--space-2);font:var(--text-body-sm);color:var(--text-tertiary);background:0 0;border:none;border-bottom:2px solid #0000;font-weight:700}.auth-tab.active{color:var(--action-primary);border-bottom-color:var(--action-primary)}.privacy-note{align-items:flex-start;gap:var(--space-2);font:var(--text-caption);color:var(--text-tertiary);line-height:1.5;display:flex}.error-banner{background:var(--danger-bg);color:var(--danger-fg);border:1px solid var(--danger-fg);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.error-banner a{color:var(--danger-fg);font-weight:600;text-decoration:underline}.spinner-text{color:var(--text-tertiary);padding:var(--space-10);text-align:center}.progress-bar{border-radius:var(--radius-full);background:var(--surface-sunken);width:100%;height:8px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);background:var(--action-primary);height:100%;transition:width var(--duration-slow) var(--ease-standard)}.progress-bar.indeterminate .progress-bar-fill{animation:1.1s ease-in-out infinite progress-indeterminate;width:40%!important}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.field-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=800px){.field-grid{grid-template-columns:1fr}}.field-list{gap:var(--space-4);flex-direction:column;display:flex}.field-item{flex-direction:column;gap:2px;display:flex}.field-item-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.field-desc{font:var(--text-caption);color:var(--text-tertiary);margin-left:30px;line-height:1.5}.custom-field-form{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--border-subtle);gap:var(--space-3);flex-direction:column;display:flex}.add-custom-field-btn{margin-top:var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1.5px dashed var(--border-strong);color:var(--action-primary);font:var(--text-body-sm);cursor:pointer;background:0 0;font-weight:600;display:flex}.file-list{flex-direction:column;display:flex}.file-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.file-row.duplicate{background:var(--warning-bg)}.file-row-name{font:var(--text-body-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:420px;overflow:hidden}.review-toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.review-table-head,.review-row{column-gap:var(--space-5);padding:var(--space-3) var(--space-5);grid-template-columns:2.4fr 110px 1.6fr 200px;align-items:center;display:grid}.review-table-head{background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.review-row{border-bottom:1px solid var(--border-subtle)}.review-row.excluded{opacity:.7}.review-row-actions{align-items:center;gap:var(--space-2);display:flex}.exclude-toggle-btn{border-radius:var(--radius-full);border:1.5px solid var(--border-default);background:var(--surface-card);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.exclude-toggle-btn.excluding{border-color:var(--danger-fg);color:var(--danger-fg)}.viewer-layout{gap:var(--space-5);grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;display:grid}.pdf-canvas-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#525659;max-height:85vh;position:relative;overflow:auto}.bbox-overlay{border:2px solid var(--action-secondary);cursor:pointer;background:#4e86b71a;position:absolute}.bbox-overlay.flag-missing{border-color:var(--gray-500);background:var(--gray-100);border-style:dashed}.bbox-overlay.flag-low_confidence{border-color:var(--warning-fg);background:var(--warning-bg)}.bbox-overlay.flag-ambiguous_placement{border-color:var(--danger-fg);background:var(--danger-bg)}.bbox-overlay.flag-confidence_unknown{border-color:var(--gray-500);background:var(--gray-100)}.bbox-overlay.selected{outline:2px solid var(--action-primary);outline-offset:2px}.bbox-overlay.resolved{border-style:dashed}.field-panel-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3);cursor:pointer}.field-panel-item.selected{border-color:var(--border-brand);box-shadow:var(--focus-ring)}.field-panel-item .value{font-family:var(--font-mono,ui-monospace, monospace);word-break:break-word;color:var(--text-secondary);font-size:13px}.flag-badges{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.edit-panel{top:var(--space-5);position:sticky}.line-item-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-4);background:var(--surface-sunken)}.line-item-header{margin-bottom:var(--space-2);font-weight:600}.line-item-card .field-panel-item{background:var(--surface-card)}.tutorial-root{z-index:500;pointer-events:none;position:fixed;inset:0}.tutorial-scrim-part{pointer-events:auto;transition:top var(--duration-base) var(--ease-standard), left var(--duration-base) var(--ease-standard), right var(--duration-base) var(--ease-standard), bottom var(--duration-base) var(--ease-standard), width var(--duration-base) var(--ease-standard), height var(--duration-base) var(--ease-standard);background:#1c274099;position:fixed}.tutorial-spotlight-ring{border-radius:var(--radius-md);box-shadow:0 0 0 3px var(--action-secondary);pointer-events:none;transition:top var(--duration-base) var(--ease-standard), left var(--duration-base) var(--ease-standard), width var(--duration-base) var(--ease-standard), height var(--duration-base) var(--ease-standard);position:fixed}.tutorial-tooltip{background:var(--surface-page);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-4) var(--space-5);gap:var(--space-2);pointer-events:auto;transition:top var(--duration-base) var(--ease-standard), left var(--duration-base) var(--ease-standard);flex-direction:column;display:flex;position:fixed}.tutorial-tooltip-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.tutorial-step-count{font:var(--text-caption);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.tutorial-tooltip-title{font:var(--text-heading-sm);color:var(--text-primary);margin:0}.tutorial-tooltip-body{font:var(--text-body-sm);color:var(--text-secondary);margin:0}.tutorial-tooltip-actions{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}
