:root{color:#172033;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{color:#fff;cursor:pointer;background:#1d4ed8;border:0;border-radius:.45rem;padding:.7rem 1rem;font-weight:650}button:hover{background:#1e40af}button:disabled{cursor:wait;opacity:.6}.app-shell{max-width:1320px;margin:0 auto;padding:2.25rem 1.25rem 4rem}header{margin-bottom:1.75rem}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.3rem}h2{overflow-wrap:anywhere;font-size:1.35rem}.eyebrow{color:#1d4ed8;letter-spacing:.11em;margin-bottom:.45rem;font-size:.72rem;font-weight:800}.panel,.results,.error-banner{background:#fff;border:1px solid #dce3ef;border-radius:.8rem;padding:1.25rem;box-shadow:0 4px 18px #1720330a}.scan-form{max-width:720px}.scan-form label,.field{margin:1rem 0;font-weight:650;display:block}.scan-form input,.scan-form textarea,.toolbar input,.toolbar select{border:1px solid #b9c5d8;border-radius:.4rem;width:100%;margin-top:.4rem;padding:.65rem;display:block}textarea{resize:vertical;min-height:170px}.form-help{color:#526177;font-size:.88rem}.status-card{max-width:560px}.status{letter-spacing:.06em;border-radius:99px;padding:.35rem .7rem;font-size:.78rem;font-weight:800;display:inline-block}.queued{color:#1d4ed8;background:#dbeafe}.running{color:#92400e;background:#fef3c7}.completed{color:#166534;background:#dcfce7}.failed{color:#b91c1c;background:#fee2e2}.error-banner{color:#9f1239;background:#fff1f2;border-color:#fda4af;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.error-banner button{color:#9f1239;background:0 0;padding:.25rem}.results-header,.toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.results-actions,.trend-header{align-items:center;gap:1rem;display:flex}.current-score,.score{white-space:nowrap}.secondary{color:#172033;background:#e6ebf4}.secondary:hover{background:#d7dfeb}.health-trend{margin:1rem 0}.health-trend h3{margin-bottom:0}.score{border-radius:99px;padding:.45rem .75rem;font-size:1.1rem}.healthy{color:#166534;background:#dcfce7}.watch{color:#92400e;background:#fef3c7}.risk{color:#b91c1c;background:#fee2e2}.trend-chart{border-bottom:1px solid #b9c5d8;align-items:end;gap:.75rem;height:130px;margin-top:1rem;padding:0 .5rem;display:flex;overflow-x:auto}.trend-point{flex-direction:column;flex:0 0 2.2rem;justify-content:end;align-items:center;height:100%;display:flex}.trend-bar{border-radius:.3rem .3rem 0 0;width:100%;min-height:4px}.trend-point small{color:#526177;margin-top:.2rem;font-size:.7rem}.trend-help{color:#526177;margin:.75rem 0 0;font-size:.8rem}.app-nav{gap:.5rem;margin-top:1rem;display:flex}.app-nav button[aria-pressed=true]{color:#fff;background:#172033}.queue-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.queue-heading h2{margin-bottom:0}.queue-summary{background:#f3f6fa;border-left:4px solid #15803d;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.8rem 1rem;display:flex}.queue-summary strong{color:#166534}.queue-toolbar{align-items:center;gap:.6rem;margin:1.25rem 0 .75rem;display:flex}.queue-toolbar label{font-size:.88rem;font-weight:700}.queue-toolbar select{background:#fff;border:1px solid #b9c5d8;border-radius:.4rem;padding:.45rem .6rem}.scan-table-wrap{overflow-x:auto}.scan-table{border-collapse:collapse;text-align:left;width:100%;min-width:760px}.scan-table th{color:#37465c;text-transform:uppercase;background:#f3f6fa;font-size:.76rem}.scan-table th,.scan-table td{vertical-align:middle;border-bottom:1px solid #e5eaf2;padding:.75rem .65rem}.scan-table td{font-size:.87rem}.scan-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.scan-source{overflow-wrap:anywhere;max-width:300px}.scan-row-stuck{background:#fff7ed;box-shadow:inset 4px 0 #ea580c}.scan-row-stuck td{border-bottom-color:#fed7aa}.stuck-label{color:#9a3412;margin-top:.3rem;font-size:.72rem;font-weight:800;display:block}.results-link{color:#1d4ed8;font-weight:700}.empty-scans{color:#526177;text-align:center;padding:2rem!important}.queue-error{color:#9f1239;background:#fff1f2;padding:.7rem}.queue-pagination{justify-content:end;align-items:center;gap:.8rem;margin-top:1rem;display:flex}.queue-pagination button{padding:.5rem .8rem}.queue-pagination button:disabled{cursor:not-allowed}.toolbar{border-top:1px solid #e5eaf2;border-bottom:1px solid #e5eaf2;flex-wrap:wrap;align-items:end;margin:1.25rem 0;padding:.85rem 0}.toolbar label{flex:220px;font-size:.85rem;font-weight:700}.toolbar p{color:#526177;margin-bottom:.6rem;font-size:.9rem}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:1rem;display:grid}.graph-section{min-height:570px}.graph-canvas{width:100%;height:535px}.graph-empty{text-align:center;background:#f8fafc;border:1px dashed #b9c5d8;justify-content:center;align-items:center;min-height:570px;padding:2rem;display:flex}.graph-legend{color:#526177;flex-wrap:wrap;gap:1rem;font-size:.8rem;display:flex}.graph-legend span{align-items:center;gap:.3rem;display:flex}.graph-legend i{display:inline-block}.legend-node{background:#2563eb;border-radius:50%;width:.8rem;height:.8rem}.legend-cycle{border:3px double #f59e0b;border-radius:50%;width:.8rem;height:.8rem}.legend-edge{background:#dc2626;width:1.1rem;height:3px}aside{gap:1rem;min-height:0;display:grid}.violation-list,.details{border:1px solid #dce3ef;border-radius:.55rem;padding:.85rem}.violation-list{max-height:310px;overflow:auto}.violation-list h3,.details h3{margin-bottom:.65rem}.violation-item{color:#172033;text-align:left;background:#fff;border-bottom:1px solid #e5eaf2;border-radius:0;width:100%;padding:.7rem .25rem;font-weight:500;display:block}.violation-item:hover,.violation-item.selected{color:#9f1239;background:#fff1f2}.violation-item small{color:#526177;margin-top:.25rem;display:block}.details p{color:#37465c;line-height:1.5}.fallback{color:#92400e;font-weight:700}@media (width<=850px){.dashboard-grid{grid-template-columns:1fr}.graph-section{min-height:460px}.graph-canvas{height:425px}.results-header{align-items:start}}
