@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--bg-base:#0a0e1a;--bg-surface:#111827;--bg-elevated:#1e293b;--bg-glass:#1e293b99;--bg-glass-hover:#1e293bcc;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--text-inverse:#0f172a;--cyan-400:#22d3ee;--cyan-500:#06b6d4;--cyan-600:#0891b2;--emerald-400:#34d399;--emerald-500:#10b981;--amber-400:#fbbf24;--rose-400:#fb7185;--rose-500:#f43f5e;--violet-400:#a78bfa;--gradient-primary:linear-gradient(135deg, #06b6d4, #22d3ee);--gradient-success:linear-gradient(135deg, #10b981, #34d399);--gradient-hero:linear-gradient(160deg, #0a0e1a 0%, #111827 50%, #0f172a 100%);--gradient-card:linear-gradient(145deg, #1e293bb3, #0f172a80);--gradient-glow:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%), #06b6d40f, transparent 40%);--border-subtle:#94a3b81a;--border-accent:#22d3ee4d;--border-glass:#94a3b826;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 14px #0006;--shadow-lg:0 10px 40px #00000080;--shadow-glow:0 0 30px #06b6d426;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--transition-fast:.15s var(--ease-out-expo);--transition-base:.25s var(--ease-out-expo);--transition-slow:.4s var(--ease-out-expo)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--bg-base);color:var(--text-primary);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}.page-wrapper{min-height:100vh;padding:var(--space-lg);background:var(--gradient-hero);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.page-wrapper:before{content:"";background:var(--gradient-glow);pointer-events:none;z-index:0;position:absolute;inset:0}.container{z-index:1;width:100%;max-width:520px;position:relative}.container-wide{max-width:800px}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-lg);transition:border-color var(--transition-base), box-shadow var(--transition-base)}.glass-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg), var(--shadow-glow)}.brand{text-align:center;margin-bottom:var(--space-2xl)}.brand-mark{background:var(--gradient-primary);-webkit-text-fill-color:transparent;letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.brand-tagline{color:var(--text-muted);margin-top:var(--space-xs);letter-spacing:.04em;text-transform:uppercase;font-size:.875rem;font-weight:500}.form-group{margin-bottom:var(--space-lg)}.form-label{color:var(--text-secondary);margin-bottom:var(--space-sm);letter-spacing:.02em;text-transform:uppercase;font-size:.8125rem;font-weight:600;display:block}.form-input{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:14px 18px;font-family:inherit;font-size:.9375rem}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--cyan-500);box-shadow:0 0 0 3px #06b6d426}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);border:none;padding:14px 28px;font-family:inherit;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--gradient-primary);color:var(--text-inverse);box-shadow:0 4px 14px #06b6d44d}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #06b6d466}.btn-success{background:var(--gradient-success);color:var(--text-inverse);box-shadow:0 4px 14px #10b9814d}.btn-success:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #10b98166}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-subtle);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-accent)}.btn-full{width:100%}.badge{border-radius:var(--radius-full);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-pending{color:var(--amber-400);background:#fbbf241f;border:1px solid #fbbf2433}.badge-success{color:var(--emerald-400);background:#34d3991f;border:1px solid #34d39933}.badge-error{color:var(--rose-400);background:#f43f5e1f;border:1px solid #f43f5e33}.drop-zone{border:2px dashed var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-3xl) var(--space-xl);text-align:center;cursor:pointer;transition:border-color var(--transition-base), background var(--transition-base), transform var(--transition-fast);background:var(--bg-surface);position:relative}.drop-zone:hover{border-color:var(--cyan-500);background:#06b6d40a;transform:translateY(-2px)}.drop-zone.active{border-color:var(--cyan-400);box-shadow:var(--shadow-glow);background:#06b6d414;border-style:solid;transform:scale(1.01)}.drop-zone-icon{margin-bottom:var(--space-md);opacity:.6;transition:opacity var(--transition-base);font-size:2.5rem}.drop-zone:hover .drop-zone-icon{opacity:1}.drop-zone-title{color:var(--text-primary);margin-bottom:var(--space-xs);font-size:1.0625rem;font-weight:600}.drop-zone-hint{color:var(--text-muted);font-size:.8125rem}.drop-zone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.pipeline{gap:var(--space-md);margin:var(--space-xl) 0;flex-direction:column;display:flex}.pipeline-step{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);transition:border-color var(--transition-base), background var(--transition-base);display:flex}.pipeline-step.active{border-color:var(--cyan-500);background:#06b6d40f}.pipeline-step.complete{background:#34d3990a;border-color:#34d3994d}.pipeline-step-icon{border-radius:var(--radius-full);width:36px;height:36px;transition:background var(--transition-base);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.pipeline-step.waiting .pipeline-step-icon{background:var(--bg-elevated);color:var(--text-muted)}.pipeline-step.active .pipeline-step-icon{color:var(--cyan-400);background:#06b6d426;animation:2s ease-in-out infinite pulse-ring}.pipeline-step.complete .pipeline-step-icon{color:var(--emerald-400);background:#34d39926}.pipeline-step-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.pipeline-step.active .pipeline-step-label{color:var(--text-primary);font-weight:600}.pipeline-step.complete .pipeline-step-label{color:var(--emerald-400)}.metrics-grid{gap:var(--space-md);margin:var(--space-xl) 0;grid-template-columns:repeat(2,1fr);display:grid}.metric-card{background:var(--gradient-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;transition:border-color var(--transition-base), transform var(--transition-fast)}.metric-card:hover{border-color:var(--border-accent);transform:translateY(-2px)}.metric-value{color:var(--cyan-400);font-size:1.75rem;font-weight:700;line-height:1.2}.metric-value.success{color:var(--emerald-400)}.metric-value.warning{color:var(--amber-400)}.metric-value.error{color:var(--rose-400)}.metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--space-xs);font-size:.75rem;font-weight:600}.file-list{gap:var(--space-sm);margin:var(--space-md) 0;flex-direction:column;list-style:none;display:flex}.file-item{padding:var(--space-sm) var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.file-item-name{color:var(--text-secondary);font-family:SF Mono,Fira Code,monospace;font-size:.8125rem}.file-item-size{color:var(--text-muted);font-size:.75rem}.message{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin:var(--space-md) 0;font-size:.875rem}.message-success{color:var(--emerald-400);background:#34d39914;border:1px solid #34d39933}.message-error{color:var(--rose-400);background:#f43f5e14;border:1px solid #f43f5e33}.message-info{color:var(--cyan-400);background:#06b6d414;border:1px solid #06b6d433}.divider{background:var(--border-subtle);height:1px;margin:var(--space-xl) 0;border:none}.spinner{border:2px solid #ffffff26;border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-ring{0%,to{box-shadow:0 0 #06b6d440}50%{box-shadow:0 0 0 8px #06b6d400}}@keyframes fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-pulse{0%,to{opacity:.4}50%{opacity:1}}.animate-fade-in{animation:fade-in .5s var(--ease-out-expo) both}.animate-slide-up{animation:slide-up .6s var(--ease-out-expo) both}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.delay-5{animation-delay:.25s}.ambient-grid{pointer-events:none;z-index:0;background-image:linear-gradient(#94a3b808 1px,#0000 1px),linear-gradient(90deg,#94a3b808 1px,#0000 1px);background-size:64px 64px;position:fixed;inset:0}.audit-hash{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);letter-spacing:.04em;word-break:break-all;padding:6px 14px;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;display:inline-block}@media (max-width:600px){.glass-card{padding:var(--space-xl) var(--space-lg)}.metrics-grid{grid-template-columns:1fr}.brand-mark{font-size:1.5rem}.tab-nav{-webkit-overflow-scrolling:touch;padding-bottom:var(--space-sm);gap:2px;overflow-x:auto}.tab-btn{white-space:nowrap;padding:8px 10px;font-size:.6875rem}.data-table{font-size:.75rem}.detail-grid{grid-template-columns:1fr}}.tab-nav{gap:var(--space-xs);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-xl);padding-bottom:0;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);letter-spacing:.01em;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-family:inherit;font-size:.8125rem;font-weight:600;position:relative;bottom:-1px}.tab-btn:hover{color:var(--text-secondary)}.tab-btn.active{color:var(--cyan-400);border-bottom-color:var(--cyan-400)}.tab-btn .tab-icon{margin-right:6px}.tab-content{animation:fade-in .3s var(--ease-out-expo) both}.data-table{border-collapse:collapse;width:100%;font-size:.8125rem}.data-table thead th{text-align:left;padding:var(--space-sm) var(--space-md);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-subtle);white-space:nowrap;font-size:.6875rem;font-weight:700}.data-table tbody td{padding:var(--space-sm) var(--space-md);color:var(--text-secondary);vertical-align:middle;border-bottom:1px solid #94a3b80d}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:#06b6d408}.data-table .cell-mono{color:var(--text-muted);font-family:SF Mono,Fira Code,monospace;font-size:.75rem}.data-table .cell-number{text-align:right;font-variant-numeric:tabular-nums}.data-table .cell-highlight{color:var(--cyan-400);font-weight:600}.detail-grid{gap:var(--space-lg);margin:var(--space-lg) 0;grid-template-columns:1fr 1fr;display:grid}.detail-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-lg)}.detail-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-md);font-size:.6875rem;font-weight:700}.detail-stat{padding:var(--space-xs) 0;justify-content:space-between;align-items:center;display:flex}.detail-stat-label{color:var(--text-secondary);font-size:.8125rem}.detail-stat-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600}.score-gauge{align-items:center;gap:var(--space-sm);display:flex}.score-bar{background:var(--bg-elevated);border-radius:var(--radius-full);flex:1;height:6px;position:relative;overflow:hidden}.score-fill{border-radius:var(--radius-full);height:100%;transition:width .8s var(--ease-out-expo)}.score-fill.high{background:linear-gradient(90deg, var(--rose-400), var(--rose-500))}.score-fill.medium{background:linear-gradient(90deg, var(--amber-400), #f59e0b)}.score-fill.low{background:linear-gradient(90deg, var(--emerald-400), var(--emerald-500))}.score-label{font-variant-numeric:tabular-nums;text-align:right;min-width:36px;font-size:.75rem;font-weight:700}.score-label.high{color:var(--rose-400)}.score-label.medium{color:var(--amber-400)}.score-label.low{color:var(--emerald-400)}.tier-badge{border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;font-weight:700;display:inline-flex}.tier-badge.boutique{color:var(--emerald-400);background:#34d3991f;border:1px solid #34d39940}.tier-badge.mid-market{color:var(--amber-400);background:#fbbf241f;border:1px solid #fbbf2440}.tier-badge.enterprise{color:var(--violet-400);background:#a78bfa1f;border:1px solid #a78bfa40}.timeline{padding-left:28px;position:relative}.timeline:before{content:"";background:var(--border-subtle);border-radius:var(--radius-full);width:2px;position:absolute;top:4px;bottom:4px;left:10px}.timeline-item{padding-bottom:var(--space-lg);position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{border:2px solid var(--bg-base);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-22px}.timeline-dot.submitted{background:var(--cyan-400)}.timeline-dot.responded{background:var(--amber-400)}.timeline-dot.rebuttal{background:var(--violet-400)}.timeline-dot.resolved{background:var(--emerald-400)}.timeline-dot.rejected{background:var(--rose-400)}.timeline-header{margin-bottom:var(--space-xs);justify-content:space-between;align-items:baseline;display:flex}.timeline-title{color:var(--text-primary);font-size:.8125rem;font-weight:600}.timeline-date{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.6875rem}.timeline-body{color:var(--text-secondary);font-size:.8125rem;line-height:1.5}.tag{border-radius:var(--radius-full);letter-spacing:.02em;align-items:center;padding:2px 10px;font-size:.6875rem;font-weight:600;display:inline-flex}.tag-vendor{color:var(--cyan-400);background:#06b6d41a;border:1px solid #06b6d433}.tag-file{color:var(--violet-400);background:#a78bfa1a;border:1px solid #a78bfa33}.tag-status-pending{color:var(--amber-400);background:#fbbf241a;border:1px solid #fbbf2433}.tag-status-resolved{color:var(--emerald-400);background:#34d3991a;border:1px solid #34d39933}.tag-status-failed{color:var(--rose-400);background:#f43f5e1a;border:1px solid #f43f5e33}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--text-muted)}.empty-state-icon{margin-bottom:var(--space-md);opacity:.5;font-size:2rem}.empty-state-text{font-size:.875rem}.confidence-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.confidence-dot.high{background:var(--emerald-400)}.confidence-dot.medium{background:var(--amber-400)}.confidence-dot.low{background:var(--rose-400)}.feature-row{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.feature-name{color:var(--text-secondary);flex-shrink:0;min-width:140px;font-size:.75rem}.feature-bar-track{background:var(--bg-elevated);border-radius:var(--radius-full);flex:1;height:8px;overflow:hidden}.feature-bar-fill{background:var(--gradient-primary);border-radius:var(--radius-full);height:100%;transition:width .8s var(--ease-out-expo)}.feature-pct{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;min-width:32px;font-size:.6875rem;font-weight:700}.container-dashboard{max-width:1100px}.claim-actions{margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.claim-actions-left{align-items:center;gap:var(--space-lg);display:flex}.claim-actions-right{gap:var(--space-sm);display:flex}.claim-count{color:var(--text-secondary);font-size:.875rem}.claim-count strong{color:var(--cyan-400);font-weight:700}.claim-variance{color:var(--emerald-400);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600}.claim-toggle{cursor:pointer;width:36px;height:20px;display:inline-block;position:relative}.claim-toggle input{opacity:0;width:0;height:0}.claim-toggle-slider{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-full);transition:background var(--transition-fast), border-color var(--transition-fast);position:absolute;inset:0}.claim-toggle-slider:before{content:"";background:var(--text-muted);width:14px;height:14px;transition:transform var(--transition-fast), background var(--transition-fast);border-radius:50%;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.claim-toggle input:checked+.claim-toggle-slider{background:#34d39926;border-color:#34d39966}.claim-toggle input:checked+.claim-toggle-slider:before{background:var(--emerald-400);transform:translateY(-50%)translate(16px)}.claim-row-excluded td{opacity:.35;text-decoration:line-through;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.claim-row-excluded td:first-child{opacity:1;text-decoration:none}@media (max-width:600px){.claim-actions{gap:var(--space-md);flex-direction:column;align-items:stretch}.claim-actions-left,.claim-actions-right{justify-content:center}}
