:root{--bg: #f7f8fa;--panel: #ffffff;--ink: #1a2233;--muted: #5b6577;--line: #e3e7ee;--accent: #2456c4;--accent-soft: #e8eefb;--sys: #2456c4;--sys-bg: #e8eefb;--usr: #9a6200;--usr-bg: #fdf3dd;--mix: #6b4fa1;--mix-bg: #f0eafa;--ok: #1d7f4f;--ok-bg: #e2f4ea;--warn: #b3560e;--warn-bg: #fdeee0;--bad: #b3261e;--bad-bg: #fbeae9}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}button{font:inherit;cursor:pointer}h1,h2,h3,h4{line-height:1.25}.app-header{background:var(--panel);border-bottom:1px solid var(--line);padding:10px 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.app-header h1{font-size:17px;margin:0}.app-header .sub{color:var(--muted);font-size:12.5px}.spacer{flex:1}.persona-switch{display:flex;gap:4px;align-items:center;font-size:13px}.persona-switch button{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:3px 10px;color:var(--muted)}.persona-switch button.active{background:var(--accent);border-color:var(--accent);color:#fff}.config-tag{font-size:12px;color:var(--muted);border:1px dashed var(--line);border-radius:6px;padding:2px 8px}.main{max-width:980px;margin:0 auto;padding:20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:14px}.card h3{margin-top:0}.case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.case-card{cursor:pointer;transition:border-color .15s}.case-card:hover{border-color:var(--accent)}.case-card h3{font-size:15px;margin:0 0 6px}.case-card .meta{color:var(--muted);font-size:12.5px}.tabs{display:flex;gap:6px;margin:14px 0;flex-wrap:wrap}.tabs button{border:1px solid var(--line);background:var(--panel);padding:6px 14px;border-radius:8px;color:var(--muted)}.tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.tabs .badge{background:var(--bad);color:#fff;border-radius:9px;font-size:11px;padding:0 6px;margin-left:6px}.chip{display:inline-block;font-size:11.5px;border-radius:11px;padding:1px 9px;white-space:nowrap;vertical-align:middle}.chip-small{font-size:10.5px;padding:0 7px}.chip-system_calculated{background:var(--sys-bg);color:var(--sys)}.chip-user_provided{background:var(--usr-bg);color:var(--usr)}.chip-mixed{background:var(--mix-bg);color:var(--mix)}.vtag{font-size:11.5px;margin-left:8px}.vtag-verified{color:var(--ok)}.vtag-corrected_pending_review{color:var(--warn)}.vtag-disputed{color:var(--bad)}.conf{font-size:12.5px;color:var(--muted);margin-top:4px}.conf-low .conf-value{color:var(--warn);font-weight:600}.conf-reasons{margin:4px 0 0;padding-left:18px}.band{border-radius:6px;padding:2px 10px;font-weight:600;font-size:13px}.band-strong{background:var(--ok-bg);color:var(--ok)}.band-moderate{background:var(--warn-bg);color:var(--warn)}.band-weak{background:var(--bad-bg);color:var(--bad)}.meter{height:8px;background:var(--line);border-radius:4px;overflow:hidden}.meter-fill{height:100%;background:var(--accent);border-radius:4px}.meter-user .meter-fill{background:var(--usr)}.banner{border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:13.5px}.banner-info{background:var(--accent-soft);color:var(--accent)}.banner-warn{background:var(--warn-bg);color:var(--warn)}.banner-error{background:var(--bad-bg);color:var(--bad)}.banner-ok{background:var(--ok-bg);color:var(--ok)}.collapsible{border-top:1px solid var(--line)}.collapsible-head{width:100%;text-align:left;background:none;border:none;padding:10px 2px;font-size:14px;color:var(--ink);display:flex;align-items:center;gap:8px}.collapsible-arrow{color:var(--muted);font-size:11px}.collapsible-body{padding:2px 2px 14px 21px}.skeleton-line{height:12px;background:var(--line);border-radius:6px;margin:8px 0;animation:pulse 1.2s infinite}.skeleton-note{color:var(--muted);font-size:13px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.wizard-progress{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.wizard-progress button{border:1px solid var(--line);background:var(--panel);border-radius:14px;font-size:12px;padding:2px 10px;color:var(--muted)}.wizard-progress button.current{border-color:var(--accent);color:var(--accent);font-weight:600}.wizard-progress button.done{background:var(--ok-bg);color:var(--ok);border-color:transparent}.question{font-size:16.5px;font-weight:600;margin:4px 0 14px}.option-list{display:flex;flex-direction:column;gap:8px}.option-list button{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:10px 14px}.option-list button.selected{border-color:var(--accent);background:var(--accent-soft)}.wizard-nav{display:flex;gap:10px;margin-top:18px;align-items:center}.wizard-nav .spacer{flex:1}.btn{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:7px 16px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-quiet{border-color:transparent;color:var(--muted);background:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff}textarea,input[type=text],input[type=number]{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font:inherit;background:var(--panel);color:var(--ink)}.char-note{font-size:12px;color:var(--muted);text-align:right}.reassure{color:var(--muted);font-size:13px;margin:-6px 0 12px}.record-card{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:10px}.record-card .rec-title{font-weight:600}.record-card .rec-fields{color:var(--muted);font-size:13px;margin:4px 0 8px}.record-actions{display:flex;gap:8px}.neighbor-card{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin-bottom:8px}.neighbor-card .n-title{font-weight:600;font-size:14px}.neighbor-card .n-meta{color:var(--muted);font-size:12.5px}table.plain{border-collapse:collapse;width:100%;font-size:13.5px}table.plain th,table.plain td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--line)}table.plain th{color:var(--muted);font-weight:600;font-size:12.5px}.jobstate{font-size:12.5px;font-weight:600;border-radius:6px;padding:1px 8px}.jobstate-complete{background:var(--ok-bg);color:var(--ok)}.jobstate-degraded{background:var(--warn-bg);color:var(--warn)}.jobstate-running{background:var(--accent-soft);color:var(--accent)}.jobstate-queued{background:var(--line);color:var(--muted)}.jobstate-failed{background:var(--bad-bg);color:var(--bad)}.check{display:flex;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line)}.check .mark{font-weight:700}.check.met .mark{color:var(--ok)}.check.unmet .mark{color:var(--bad)}.check .rem{color:var(--muted);font-size:12.5px}.audit{font-size:12.5px;color:var(--muted);max-height:260px;overflow-y:auto}.report-summary{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.ds-big{font-size:52px;font-weight:700;line-height:1}.ds-big .of{font-size:16px;color:var(--muted);font-weight:400}.component-row{display:flex;align-items:center;gap:10px;margin:7px 0}.component-row .c-name{width:190px;font-size:13.5px}.component-row .c-val{width:44px;text-align:right;font-weight:600;font-size:13.5px}.component-row .meter{flex:1}.subrow{display:flex;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px dashed var(--line);flex-wrap:wrap}.subrow .s-label{flex:1;min-width:220px}.subrow .s-val{font-weight:600}.subrow .s-w{color:var(--muted);font-size:12px}.both-values{background:var(--mix-bg);border-radius:8px;padding:10px 14px;margin:8px 0;font-size:13.5px}.flip{border-left:3px solid var(--accent);padding:8px 12px;margin:8px 0;background:var(--accent-soft);border-radius:0 8px 8px 0;font-size:13.5px}.flip.flip-down{border-left-color:var(--warn);background:var(--warn-bg)}.flip .flip-nums{color:var(--muted);font-size:12.5px}.methodology dt{font-weight:600;margin-top:10px}.methodology dd{margin:2px 0 0;color:var(--muted);font-size:13.5px}.evidence{background:var(--bg);border-radius:8px;padding:10px 14px;margin-top:8px;font-size:13px}.evidence h5{margin:0 0 6px;font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.snapshot-footer{display:none}@media print{.app-header,.tabs,.no-print,.wizard-progress{display:none!important}body{background:#fff}.main{max-width:none;padding:0}.card{border:none;padding:8px 0;break-inside:avoid}.snapshot-footer{display:block;position:fixed;bottom:0;left:0;right:0;font-size:10px;color:#777;text-align:center;border-top:1px solid #ccc;padding:3px;background:#fff}}
