:root{--color-primary:#6366f1;--color-primary-hover:#4f46e5;--color-primary-light:#ede9fe;--color-primary-text:#5b21b6;--color-bg-page:#f9fafb;--color-bg-card:#ffffff;--color-bg-sidebar:#1e1b4b;--color-bg-sidebar-hover:#312e81;--color-bg-muted:#fafafa;--color-bg-field:#f9fafb;--color-text-primary:#111827;--color-text-secondary:#374151;--color-text-muted:#4b5563;--color-text-faint:#6b7280;--color-text-on-dark:#ffffff;--color-text-link-on-dark:#c7d2fe;--color-border:#e5e7eb;--color-border-light:#f3f4f6;--color-border-input:#d1d5db;--color-row-hover:#fafafe;--color-status-pending-bg:#fef3c7;--color-status-pending-text:#713f12;--color-status-processing-bg:#dbeafe;--color-status-processing-text:#1e3a5f;--color-status-action-bg:#fde8d8;--color-status-action-text:#7c2d12;--color-status-approved-bg:#d1fae5;--color-status-approved-text:#064e3b;--color-status-rejected-bg:#fee2e2;--color-status-rejected-text:#7f1d1d;--color-status-expired-bg:#f3f4f6;--color-status-expired-text:#1f2937;--color-confidence-high-bg:#dcfce7;--color-confidence-high-text:#14532d;--color-confidence-mid-bg:#fef9c3;--color-confidence-mid-text:#713f12;--color-confidence-low-bg:#fee2e2;--color-confidence-low-text:#7f1d1d;--color-confidence-bar-high:#10b981;--color-confidence-bar-mid:#f59e0b;--color-confidence-bar-low:#ef4444;--color-success-bg:#d1fae5;--color-success-border:#6ee7b7;--color-success-text:#064e3b;--color-success-muted:#065f46;--color-success-light:#a7f3d0;--color-error-bg:#fee2e2;--color-error-border:#fca5a5;--color-error-text:#7f1d1d;--color-error-accent:#dc2626;--color-warning-bg:#fef3c7;--color-warning-border:#fbbf24;--color-warning-text:#713f12;--color-info-bg:#f0f9ff;--color-info-border:#bae6fd;--color-info-text:#0c4a6e;--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;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"SF Mono","Cascadia Code","Fira Code",monospace;--text-xs:0.6875rem;--text-sm:0.8125rem;--text-base:0.875rem;--text-md:0.9375rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.375rem;--text-3xl:1.75rem;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--sidebar-width:240px;--sidebar-collapsed-width:64px;--topbar-height:56px;--content-max-width:1200px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 6px rgba(0,0,0,0.07);--shadow-lg:0 10px 15px rgba(0,0,0,0.1);--shadow-focus:0 0 0 3px rgba(99,102,241,0.15);--shadow-focus-sm:0 0 0 2px rgba(99,102,241,0.15);--transition-fast:0.1s ease;--transition-base:0.15s ease;--transition-slow:0.2s ease;--text-2xs:0.75rem;--text-3xs:0.5rem;--color-primary-ghost:#f5f3ff;--color-primary-gradient-end:#818cf8;--opacity-disabled:0.6;--opacity-subtle:0.7;--focus-outline-width:3px;--focus-outline-offset:2px;--focus-outline-color:var(--color-primary)}[data-theme=high-contrast]{--color-bg-page:#ffffff;--color-bg-card:#ffffff;--color-bg-sidebar:#000000;--color-bg-sidebar-hover:#1a1a1a;--color-bg-muted:#f5f5f5;--color-bg-field:#f5f5f5;--color-text-primary:#000000;--color-text-secondary:#1a1a1a;--color-text-muted:#333333;--color-text-faint:#4a4a4a;--color-text-on-dark:#ffffff;--color-text-link-on-dark:#ffffff;--color-border:#333333;--color-border-light:#666666;--color-border-input:#333333;--color-primary:#0000cc;--color-primary-hover:#000099;--color-primary-light:#e6e6ff;--color-primary-text:#0000aa;--color-row-hover:#f0f0f0;--color-status-pending-text:#5c3200;--color-status-processing-text:#002d62;--color-status-action-text:#5c1a00;--color-status-approved-text:#003d2b;--color-status-rejected-text:#5c0000;--color-status-expired-text:#000000;--color-success-text:#003d2b;--color-error-text:#5c0000;--color-warning-text:#5c3200;--color-info-text:#002d62;--shadow-focus:0 0 0 3px #0000cc;--shadow-focus-sm:0 0 0 2px #0000cc}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg-page);line-height:1.5}.skip-link{position:fixed;top:-100%;left:var(--space-4);z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-on-dark);font-weight:var(--weight-semibold);font-size:var(--text-sm);border-radius:0 0 var(--radius-md) var(--radius-md);text-decoration:none;transition:top var(--transition-fast)}.skip-link.skip-link--visible,.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset)}:focus:not(:focus-visible){outline:none}.high-contrast-toggle{display:inline-flex;align-items:center;gap:var(--space-2);padding:5px 10px;white-space:nowrap}.high-contrast-toggle,.high-contrast-toggle__label{font-size:var(--text-xs)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.sidebar{background:var(--color-bg-sidebar);flex-direction:column;position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;z-index:40;transition:width var(--transition-slow);overflow:hidden}.sidebar,.sidebar-brand{color:var(--color-text-on-dark);display:flex}.sidebar-brand{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);height:var(--topbar-height);font-weight:var(--weight-bold);font-size:var(--text-lg);white-space:nowrap}.sidebar-brand,.sidebar-brand:hover{text-decoration:none}.sidebar-brand-icon{width:28px;height:28px;background:var(--color-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-bold);flex-shrink:0}.sidebar-nav{flex:1 1;flex-direction:column;gap:var(--space-1)}.sidebar-link,.sidebar-nav{padding:var(--space-2) var(--space-3);display:flex}.sidebar-link{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);color:var(--color-text-link-on-dark);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.sidebar-link:hover{text-decoration:none}.sidebar-link.active,.sidebar-link:hover{background:var(--color-bg-sidebar-hover);color:var(--color-text-on-dark)}.sidebar-link.active{font-weight:var(--weight-semibold)}.sidebar-link-icon{width:20px;text-align:center;font-size:var(--text-lg);flex-shrink:0;line-height:1}.sidebar-section-label{font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-4) var(--space-3) var(--space-1)}.sidebar-footer,.sidebar-section-label{font-size:var(--text-xs);color:var(--color-text-faint);white-space:nowrap}.sidebar-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-bg-sidebar-hover)}.topbar{height:var(--topbar-height);display:flex;align-items:center;padding:0 var(--space-6);background:var(--color-bg-card);border-bottom:1px solid var(--color-border);gap:var(--space-4)}.topbar-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.topbar-spacer{flex:1 1}.search-bar{position:relative;width:320px}.search-bar input{width:100%;padding:7px var(--space-3) 7px 34px;border:1px solid var(--color-border-input);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-page);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-bar input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus-sm);background:var(--color-bg-card)}.search-bar input::placeholder{color:var(--color-text-faint)}.search-bar-icon{left:var(--space-3);font-size:var(--text-sm)}.search-bar-icon,.search-bar-shortcut{position:absolute;top:50%;transform:translateY(-50%);color:var(--color-text-faint);pointer-events:none}.search-bar-shortcut{right:var(--space-3);font-size:var(--text-xs);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 6px}.mobile-menu-btn{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--color-text-primary);padding:var(--space-1)}.sidebar-overlay{display:none}.main-content{margin-left:var(--sidebar-width);min-height:100vh}.container{max-width:var(--content-max-width);margin:0 auto;padding:var(--space-8) var(--space-6)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-6)}.kpi-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.kpi-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-2)}.kpi-value{font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:1.1}.kpi-trend{font-size:var(--text-xs);margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-1)}.kpi-trend--up{color:var(--color-success-text)}.kpi-trend--down{color:var(--color-error-text)}.kpi-trend--neutral{color:var(--color-text-muted)}.dashboard-charts{display:grid;grid-template-columns:2fr 1fr;grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-6)}.status-dist-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.status-dist-label{font-size:var(--text-sm);color:var(--color-text-secondary);width:100px;text-transform:capitalize}.status-dist-bar-bg{flex:1 1;height:8px;background:var(--color-border-light);border-radius:var(--radius-full);overflow:hidden}.status-dist-bar-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow)}.status-dist-count{font-size:var(--text-sm);color:var(--color-text-muted);width:40px;text-align:right}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text-primary)}.page-subtitle{color:var(--color-text-muted);margin-top:var(--space-1);font-size:var(--text-sm)}.filter-bar{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.filter-btn{padding:6px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border-input);background:var(--color-bg-card);font-size:var(--text-sm);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-dark)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 14px;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:var(--color-bg-field)}td{padding:var(--space-3) 14px;border-bottom:1px solid var(--color-border-light);font-size:var(--text-sm);vertical-align:top}tr:last-child td{border-bottom:none}tr:hover td{background:var(--color-row-hover)}.mono{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-text-secondary)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:capitalize}.badge-pending{background:var(--color-status-pending-bg);color:var(--color-status-pending-text)}.badge-processing{background:var(--color-status-processing-bg);color:var(--color-status-processing-text)}.badge-requires_action{background:var(--color-status-action-bg);color:var(--color-status-action-text)}.badge-approved{background:var(--color-status-approved-bg);color:var(--color-status-approved-text)}.badge-rejected{background:var(--color-status-rejected-bg);color:var(--color-status-rejected-text)}.badge-cancelled,.badge-expired{background:var(--color-status-expired-bg);color:var(--color-status-expired-text)}.badge-uploaded{background:var(--color-status-pending-bg);color:var(--color-status-pending-text)}.badge-queued{background:var(--color-status-processing-bg);color:var(--color-status-processing-text)}.badge-processed{background:var(--color-status-approved-bg);color:var(--color-status-approved-text)}.badge-failed{background:var(--color-status-rejected-bg);color:var(--color-status-rejected-text)}.pagination{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-5);justify-content:flex-end;font-size:var(--text-sm);color:var(--color-text-muted)}.pagination a{padding:6px var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-md);color:var(--color-text-secondary)}.pagination a:hover{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}.detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-6)}@media (max-width:640px){.detail-grid{grid-template-columns:1fr}}.detail-field{padding:var(--space-3) 14px;background:var(--color-bg-field);border-radius:var(--radius-md)}.detail-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint);margin-bottom:var(--space-1)}.detail-value{font-size:var(--text-sm);color:var(--color-text-primary);word-break:break-all}.section-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.doc-card,.section-title{margin-bottom:var(--space-4)}.doc-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.doc-card-header{background:var(--color-bg-field);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border)}.doc-card-body{padding:var(--space-4)}.extracted-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}.extracted-field{background:var(--color-bg-field);border-radius:var(--radius-md);padding:10px var(--space-3)}.extracted-key{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:2px;text-transform:capitalize}.extracted-val{font-size:var(--text-sm);font-family:var(--font-mono);color:var(--color-text-primary);word-break:break-all}.confidence-bar{height:3px;background:var(--color-border);border-radius:var(--radius-full);margin-top:var(--space-1);overflow:hidden}.confidence-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full)}.score-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 8px;border-radius:var(--radius-md);font-size:var(--text-2xs);font-weight:var(--weight-semibold);background:var(--color-primary-light);color:var(--color-primary-text)}.empty-state{padding:var(--space-12);text-align:center;color:var(--color-text-faint)}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-5)}.back-link:hover{color:var(--color-primary);text-decoration:none}.breadcrumbs{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);margin-bottom:var(--space-5)}.breadcrumbs,.breadcrumbs a{color:var(--color-text-muted)}.breadcrumbs a:hover{color:var(--color-primary);text-decoration:none}.breadcrumbs-separator{color:var(--color-border-input)}.breadcrumbs-current{color:var(--color-text-primary);font-weight:var(--weight-medium)}.upload-panels{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4);margin-top:var(--space-1)}@media (max-width:720px){.upload-panels{grid-template-columns:1fr}}.upload-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-muted)}.upload-panel__header{display:flex;align-items:flex-start;gap:10px}.upload-panel__icon{font-size:22px;line-height:1;flex-shrink:0;margin-top:2px}.upload-panel__title{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:2px}.upload-panel__desc{font-size:var(--text-2xs);color:var(--color-text-muted);line-height:1.4}.upload-field{display:flex;flex-direction:column;gap:5px}.upload-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.upload-select{padding:7px 10px;border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-card);cursor:pointer}.upload-select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus-sm)}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:var(--space-6) var(--space-4);border:2px dashed var(--color-border-input);border-radius:var(--radius-lg);background:var(--color-bg-card);cursor:pointer;transition:border-color var(--transition-base),background var(--transition-base);text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.drop-zone:focus,.drop-zone:hover{border-color:var(--color-primary);background:var(--color-primary-ghost);outline:none}.drop-zone--over{border-color:var(--color-primary);background:var(--color-primary-light)}.drop-zone--disabled{opacity:.5;cursor:not-allowed}.drop-zone__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.drop-zone__icon{font-size:28px;line-height:1}.drop-zone__primary{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.drop-zone__hint{font-size:var(--text-xs);color:var(--color-text-faint)}.upload-preview{display:flex;align-items:center;gap:10px;padding:10px var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-lg);background:var(--color-bg-card)}.upload-preview__img{width:52px;height:52px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0}.upload-preview__pdf{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:52px;background:var(--color-border-light);border-radius:var(--radius-sm);font-size:22px;flex-shrink:0;gap:2px}.upload-preview__pdf span:last-child{font-size:8px;color:var(--color-text-muted);max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-preview__meta{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.upload-preview__name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-preview__size{font-size:var(--text-2xs);color:var(--color-text-muted)}.upload-preview__clear{margin-left:auto;flex-shrink:0;background:none;border:none;font-size:var(--text-base);color:var(--color-text-faint);cursor:pointer;padding:2px var(--space-1);border-radius:var(--radius-sm);line-height:1}.upload-preview__clear:hover{color:var(--color-error-accent);background:var(--color-error-bg)}.upload-progress{position:relative;height:24px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.upload-progress__bar{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-gradient-end));border-radius:var(--radius-full);transition:width var(--transition-slow)}.upload-progress__label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-on-dark);mix-blend-mode:plus-lighter}.upload-error{padding:9px var(--space-3);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-error-text)}.upload-success{display:flex;align-items:flex-start;gap:10px;padding:10px var(--space-3);background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-success-text)}.upload-success__check{font-size:var(--text-lg);line-height:1.4;flex-shrink:0}.upload-success__meta{margin-top:var(--space-1);font-size:var(--text-2xs);color:var(--color-success-muted)}.upload-success__badge{display:inline-block;padding:1px 6px;background:var(--color-success-light);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-success-text);text-transform:capitalize}.btn-primary{display:inline-flex;align-items:center;padding:9px 18px;border:none;border-radius:var(--radius-md);background:var(--color-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap}.btn-primary,.btn-primary:hover:not(:disabled){color:var(--color-text-on-dark);text-decoration:none}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;padding:9px 18px;border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;text-decoration:none;transition:border-color var(--transition-fast),color var(--transition-fast)}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}.new-verification-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-field{display:flex;flex-direction:column;gap:6px}.form-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.form-optional{font-weight:var(--weight-normal);color:var(--color-text-faint)}.form-input,.form-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-card);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.form-input:disabled,.form-select:disabled{background:var(--color-bg-field);cursor:not-allowed;opacity:.7}.form-hint{font-size:var(--text-2xs);color:var(--color-text-faint)}.form-actions{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-1)}.upload-btn{align-self:flex-start;padding:var(--space-2) var(--space-5);border:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-on-dark);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition-fast)}.upload-btn:hover:not(:disabled){background:var(--color-primary-hover)}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.confidence-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.confidence-badge--high{background:var(--color-confidence-high-bg);color:var(--color-confidence-high-text)}.confidence-badge--mid{background:var(--color-confidence-mid-bg);color:var(--color-confidence-mid-text)}.confidence-badge--low{background:var(--color-confidence-low-bg);color:var(--color-confidence-low-text)}.confidence-fill--high{background:var(--color-confidence-bar-high)}.confidence-fill--mid{background:var(--color-confidence-bar-mid)}.confidence-fill--low{background:var(--color-confidence-bar-low)}.kpi-sparkline{width:100%;height:24px;margin-top:var(--space-2)}.kpi-sparkline-line{stroke:var(--color-primary);stroke-width:1.5;fill:none}.kpi-sparkline-area{fill:var(--color-primary);opacity:.1}.chart-volume{width:100%;height:auto;max-height:160px}.chart-grid-line{stroke:var(--color-border-light);stroke-width:1}.chart-axis-label{font-size:9px;fill:var(--color-text-faint);font-family:var(--font-sans)}.chart-area-fill{fill:var(--color-primary);opacity:.1}.chart-line{stroke:var(--color-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--color-primary);stroke:var(--color-bg-card);stroke-width:2}.table-toolbar{justify-content:space-between;margin-bottom:var(--space-3);min-height:36px}.table-toolbar,.table-toolbar-left{display:flex;align-items:center;gap:var(--space-3)}.table-toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.table-toolbar-btn{padding:5px 12px;font-size:var(--text-xs)}.table-selection-count{font-size:var(--text-xs);color:var(--color-primary);font-weight:var(--weight-semibold)}.col-menu-wrapper{position:relative}.col-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2);z-index:20;min-width:160px}.col-menu-item{display:flex;align-items:center;gap:var(--space-2);padding:4px var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm)}.col-menu-item:hover{background:var(--color-bg-field)}.col-menu-item input[type=checkbox]{accent-color:var(--color-primary)}.sortable-th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sortable-th:hover{color:var(--color-primary)}.sort-indicator{font-size:var(--text-2xs);margin-left:2px}.sort-indicator--inactive{opacity:.3}.row-selected td{background:var(--color-primary-ghost)!important}td input[type=checkbox],th input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer}.copyable-id{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.copy-indicator{font-size:var(--text-xs);color:var(--color-success-text);font-weight:var(--weight-semibold);opacity:0;transition:opacity var(--transition-fast)}.copy-indicator--visible{opacity:1}.breadcrumb-item{display:inline-flex;align-items:center;gap:var(--space-2)}.breadcrumbs-current--truncated{cursor:default;font-family:var(--font-mono);font-size:var(--text-2xs)}@media (max-width:1024px){.sidebar{width:var(--sidebar-collapsed-width)}.sidebar .sidebar-brand span:not(.sidebar-brand-icon),.sidebar .sidebar-footer,.sidebar .sidebar-link span:not(.sidebar-link-icon),.sidebar .sidebar-section-label{display:none}.sidebar .sidebar-link{justify-content:center;padding:var(--space-3)}.sidebar .sidebar-brand{justify-content:center;padding:var(--space-4) var(--space-2)}.main-content{margin-left:var(--sidebar-collapsed-width)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-charts{grid-template-columns:1fr}}@media (max-width:768px){.sidebar{transform:translateX(-100%);width:var(--sidebar-width);transition:transform var(--transition-slow);z-index:50}.sidebar.open{transform:translateX(0)}.sidebar .sidebar-brand span:not(.sidebar-brand-icon),.sidebar .sidebar-footer,.sidebar .sidebar-link span:not(.sidebar-link-icon),.sidebar .sidebar-section-label{display:unset}.sidebar .sidebar-link{justify-content:flex-start;padding:var(--space-2) var(--space-3)}.sidebar .sidebar-brand{justify-content:flex-start;padding:var(--space-4) var(--space-5)}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:45}.mobile-menu-btn,.sidebar-overlay.open{display:block}.main-content{margin-left:0}.search-bar{width:100%;max-width:280px}.container{padding:var(--space-5) var(--space-4)}.kpi-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.detail-grid,.upload-panels{grid-template-columns:1fr}}@media (max-width:480px){.kpi-grid{grid-template-columns:1fr}.search-bar{display:none}}