:root{--color-primary: #1e3a8a;--color-primary-hover: #1e40af;--color-accent: #059669;--color-warning: #dc2626;--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #e2e8f0;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--font-primary: "Source Sans Pro", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--button-height: 2.5rem;--input-height: 2.75rem;--content-max: 1200px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-primary);font-size:var(--text-base);line-height:1.5;color:var(--color-text-primary);background:var(--color-bg-secondary)}.container{max-width:var(--content-max);margin:0 auto;padding:var(--space-8) var(--space-4)}header.app-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-bg-tertiary);height:4rem;display:flex;align-items:center;padding:0 var(--space-6);gap:var(--space-6)}header.app-header .brand{font-weight:700;color:var(--color-primary);font-size:var(--text-xl)}header.app-header nav{display:flex;gap:var(--space-4)}header.app-header a{color:var(--color-text-secondary);text-decoration:none;font-weight:600}header.app-header a.active{color:var(--color-primary)}header.app-header .spacer{flex:1}h1{font-size:var(--text-2xl);margin:0 0 var(--space-6)}h2{font-size:var(--text-xl);margin:0 0 var(--space-4)}.card{background:var(--color-bg-primary);border:1px solid var(--color-bg-tertiary);border-radius:8px;padding:var(--space-4);box-shadow:0 1px 3px #0000001a;margin-bottom:var(--space-4)}label.form-label{display:block;margin-bottom:var(--space-2);font-weight:600}.form-input,select.form-input{width:100%;height:var(--input-height);padding:var(--space-3) var(--space-4);border:1px solid var(--color-bg-tertiary);border-radius:6px;font-size:var(--text-base);font-family:inherit;margin-bottom:var(--space-4)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.btn-primary{background:var(--color-primary);color:#fff;border:none;border-radius:6px;height:var(--button-height);padding:0 var(--space-6);font-weight:600;cursor:pointer;transition:background-color .15s ease}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:6px;height:var(--button-height);padding:0 var(--space-4);font-weight:600;cursor:pointer}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--color-bg-tertiary);font-size:var(--text-sm)}th{color:var(--color-text-secondary);font-weight:600}.badge{display:inline-block;padding:2px var(--space-3);border-radius:999px;font-size:var(--text-sm);font-weight:600}.badge-processing{background:#fef9c3;color:#854d0e}.badge-ready{background:#dcfce7;color:var(--color-accent)}.badge-error{background:#fee2e2;color:var(--color-warning)}.badge-published{background:#dbeafe;color:var(--color-primary)}.muted{color:var(--color-text-muted);font-size:var(--text-sm)}.error-text{color:var(--color-warning);font-size:var(--text-sm)}.toast{position:fixed;bottom:var(--space-6);right:var(--space-6);padding:var(--space-3) var(--space-6);border-radius:6px;color:#fff;font-weight:600;box-shadow:0 4px 12px #00000026}.toast-success{background:var(--color-accent)}.toast-error{background:var(--color-warning)}.checkbox-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.checkbox-row input{width:1.1rem;height:1.1rem}.summary-band{margin-bottom:var(--space-4)}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.stat-card{background:var(--color-bg-primary);border:1px solid var(--color-bg-tertiary);border-radius:8px;padding:var(--space-4);display:flex;flex-direction:column;gap:2px;box-shadow:0 1px 3px #0000000f}.stat-card.stat-warn{border-color:var(--color-warning);background:#fef2f2}.stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary);line-height:1.1}.stat-card.stat-warn .stat-value{color:var(--color-warning)}.stat-label{font-weight:600;font-size:var(--text-sm);color:var(--color-text-secondary)}.stat-sub{font-size:var(--text-sm);color:var(--color-text-muted)}.breakdowns{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4);margin-top:var(--space-4)}.breakdown{background:var(--color-bg-primary);border:1px solid var(--color-bg-tertiary);border-radius:8px;padding:var(--space-4)}.breakdown-title{font-weight:600;font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-3)}.bar-row{display:grid;grid-template-columns:5.5rem 1fr 2.5rem;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.bar-label{font-size:var(--text-sm);color:var(--color-text-secondary);text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:8px;background:var(--color-bg-tertiary);border-radius:999px;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--color-primary);border-radius:999px}.bar-value{font-size:var(--text-sm);font-weight:600;text-align:right}.query-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.query-bar .form-input{margin-bottom:0;width:auto;height:var(--button-height);padding:0 var(--space-3);font-size:var(--text-sm)}.query-bar .query-search{flex:1 1 220px;min-width:180px}.query-count{margin-left:auto;white-space:nowrap}.expand-cell{width:1.5rem;padding-right:0}.expand-toggle{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:var(--text-base);padding:0;line-height:1;width:1.25rem}.detail-row>td{background:var(--color-bg-secondary);padding:var(--space-3) var(--space-4)}.questions-cell{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.questions-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:50}.modal{max-width:460px;width:100%;max-height:90vh;overflow-y:auto}.modal-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}.fieldset{border:1px solid var(--color-bg-tertiary);border-radius:6px;padding:var(--space-3);margin-bottom:var(--space-4)}.fieldset legend{font-weight:600;font-size:var(--text-sm);color:var(--color-text-secondary);padding:0 var(--space-2)}.fieldset .checkbox-row{margin-bottom:var(--space-2)}.warn-panel{border:1px solid var(--color-warning);border-radius:6px;padding:var(--space-3);margin:var(--space-4) 0;background:#fef2f2}.question-card{margin-bottom:var(--space-4)}.question-card.rejected{opacity:.6}.question-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.question-text{font-weight:600;margin:0 0 var(--space-3)}.options{list-style:none;padding:0;margin:0 0 var(--space-3)}.options li{padding:var(--space-2) var(--space-3);border:1px solid var(--color-bg-tertiary);border-radius:4px;margin-bottom:var(--space-2)}.options li.correct{border-color:var(--color-accent);background:#ecfdf5;font-weight:600}.answer,.explanation{font-size:var(--text-sm);margin:var(--space-2) 0}.references{font-size:var(--text-sm);color:var(--color-text-secondary)}.references blockquote{margin:var(--space-2) 0;padding-left:var(--space-3);border-left:2px solid var(--color-bg-tertiary)}.upload-rows{width:100%;margin:var(--space-4) 0}.upload-rows td{vertical-align:top;padding:var(--space-2)}.upload-rows td .form-input{margin-bottom:0}.dup-flag{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-warning)}.figure{margin:var(--space-3) 0;max-width:360px}.figure svg{max-width:100%;height:auto;border:1px solid var(--color-bg-tertiary);border-radius:6px;background:#fff}.run-summary{margin-top:var(--space-2)}.run-line{display:block;font-size:var(--text-sm);color:var(--color-text-secondary)}.run-details{margin-top:var(--space-1, 4px)}.run-details>summary{cursor:pointer;font-size:var(--text-sm);color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.run-details[open]>summary{margin-bottom:var(--space-2)}.run-req{margin:0 0 var(--space-2);font-size:var(--text-sm)}.run-req>div{display:flex;gap:var(--space-2);padding:1px 0}.run-req dt{flex:0 0 5.5rem;color:var(--color-text-secondary);margin:0}.run-req dd{margin:0}.run-cells{width:100%;font-size:var(--text-sm);border-collapse:collapse}.run-cells th,.run-cells td{text-align:left;padding:2px var(--space-2);border-bottom:1px solid var(--color-bg-tertiary)}.run-cells th{color:var(--color-text-secondary);font-weight:600}.btn-sm{padding:var(--space-1, 4px) var(--space-2);font-size:var(--text-sm)}.qa-bar{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;border-top:1px solid var(--color-bg-tertiary);padding-top:var(--space-3)}.qa-hint{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.qa-hint .form-input{margin-bottom:0;flex:1 1 220px}.qa-proposal{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-bg-tertiary);border-left:3px solid var(--color-accent, #4a7);border-radius:6px;background:var(--color-bg-secondary, rgba(0,0,0,.02))}.qa-proposal.qa-error{border-left-color:var(--color-error, #c44)}.qa-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--space-2)}.qa-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.leak-flag{background:var(--color-warning, #b8860b);color:#fff;cursor:help}
