.dashboard section{margin-bottom:20px}.dashboard h3{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.dashboard .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;border:1px solid var(--border);background:var(--bg-elevated)}.dashboard .cell{padding:12px 14px;border-right:1px solid var(--border);color:inherit;display:block}.dashboard .cell:last-child{border-right:none}.dashboard a.cell:hover{background:var(--bg-hover);text-decoration:none}.dashboard .cell .n{font-size:20px;font-weight:500;color:var(--text);line-height:1.2;display:flex;align-items:center;gap:8px}.dashboard .cell .k{margin-top:4px;font-size:11px;color:var(--text-dim);text-transform:lowercase;letter-spacing:.02em}.findings-toolbar{display:flex;gap:6px;align-items:center;padding:8px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-bottom:none}.findings-toolbar select{max-width:160px}.findings-toolbar input{flex:1}.findings-table{border:1px solid var(--border)}.findings-table td.slug{font-family:var(--mono);font-size:11.5px;white-space:nowrap}.findings-table td.title{color:var(--text);max-width:480px}.findings-table td.title a{color:inherit}.findings-table td.title a:hover{color:var(--link)}.findings-table td.sla-overdue{color:var(--sev-crit)}.findings-table td.file-ref{font-family:var(--mono);font-size:11.5px;color:var(--text-dim);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.findings-modal-scrim{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:50}.findings-modal{width:min(520px,92%);padding:18px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px}.findings-modal h3{margin:0 0 14px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-weight:600}.findings-modal-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:12px}.findings-modal .err{color:var(--sev-crit);font-size:11.5px;margin:-4px 0 6px}.finding-detail-shell{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}@media(max-width:900px){.finding-detail-shell{grid-template-columns:1fr}}.finding-detail-shell section{background:var(--bg-elevated);border:1px solid var(--border);padding:14px 16px;margin-bottom:12px}.finding-detail-shell h3{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.finding-detail-shell h3.spaced{margin-top:14px}.finding-detail-shell pre.body{white-space:pre-wrap;word-break:break-word;font-family:var(--font);font-size:13px;color:var(--text);margin:0;line-height:1.5}.finding-detail-shell .file-ref{margin-top:10px;font-size:12px;color:var(--text-dim)}.finding-detail-shell .file-ref code{background:var(--bg);padding:2px 6px;border:1px solid var(--border);border-radius:2px}.finding-detail-shell .sidebar-block{font-size:12.5px;color:var(--text)}.finding-detail-shell .sidebar-block .unassigned{color:var(--text-mute)}.timeline{list-style:none;padding-left:14px;margin:0;border-left:1px solid var(--border)}.timeline li{position:relative;padding:0 0 12px 14px;font-size:12.5px}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";position:absolute;left:-4px;top:5px;width:7px;height:7px;background:var(--text-dim);border:1px solid var(--bg-elevated)}.timeline li.commented:before{background:var(--link)}.timeline .who{font-weight:500}.timeline .what{color:var(--text-dim);margin-left:4px}.timeline .note{margin-top:3px;color:var(--text)}.timeline .when{color:var(--text-mute);font-size:11px;margin-top:2px}.timeline .empty{color:var(--text-mute)}.finding-detail-shell .comment-row{display:flex;gap:6px;margin-top:12px}.finding-crumbs{font-size:12px;color:var(--text-mute);margin-bottom:4px}.finding-crumbs a{color:var(--text-dim)}.finding-crumbs a:hover{color:var(--text)}.finding-slug{font-family:var(--mono);font-size:13px;color:var(--text)}.availability-table{border:1px solid var(--border)}.availability-table td.service .name{font-weight:500;color:var(--text)}.availability-table td.service .slug{font-family:var(--mono);font-size:11px;color:var(--text-mute);margin-top:1px}.availability-table td.status{white-space:nowrap;text-transform:uppercase;font-size:11.5px;letter-spacing:.02em;color:var(--text)}.availability-table td.status.DOWN{color:var(--down)}.availability-table td.status.DEGRADED{color:var(--degraded)}.availability-table td.status.UNKNOWN{color:var(--text-mute)}.availability-table td.latency{text-align:right;font-family:var(--mono);font-size:11.5px;color:var(--text-dim)}.availability-table td.url{font-family:var(--mono);font-size:11.5px;color:var(--text-dim);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-history{margin-top:16px;padding:14px 16px;background:var(--bg-elevated);border:1px solid var(--border)}.availability-history h3{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.availability-history .meta{font-size:12.5px;color:var(--text-dim);margin-bottom:10px}.availability-history .meta b{color:var(--text)}.ping-strip{display:flex;gap:2px;flex-wrap:wrap;padding:8px;background:var(--bg);border:1px solid var(--border)}.ping-strip .ping{width:6px;height:22px}.compliance-section{margin-bottom:20px;border:1px solid var(--border)}.compliance-section h3{margin:0;padding:8px 14px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);background:var(--bg-header);border-bottom:1px solid var(--border)}.compliance-section td.ctrl{font-family:var(--mono);font-size:11.5px;color:var(--text);width:80px}.compliance-section td.status-cell{width:200px}.compliance-section td.count-cell{width:80px;text-align:right;color:var(--text-dim)}.compliance-section tr{cursor:pointer}.compliance-detail{padding:12px 16px;background:var(--bg)}.compliance-detail .desc{font-size:12.5px;color:var(--text-dim);margin:0 0 10px}.compliance-evidence{list-style:none;padding:0;margin:0 0 10px}.compliance-evidence li{padding:6px 0;border-bottom:1px solid var(--border);font-size:12.5px}.compliance-evidence li:last-child{border-bottom:none}.compliance-evidence .title{font-weight:500}.compliance-evidence .uploader{color:var(--text-mute)}.compliance-evidence .note{color:var(--text-dim);margin-top:2px}.compliance-evidence .when{font-size:11px;color:var(--text-mute);margin-top:2px}.compliance-add{display:flex;gap:6px;flex-wrap:wrap}.compliance-add input.title-input{flex:1;min-width:180px}.compliance-add input.note-input{flex:2;min-width:220px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{width:320px;padding:20px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px}.login-title{margin:0 0 4px;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}.login-sub{margin:0 0 18px;font-size:12px;color:var(--text-dim)}.login-err{min-height:16px;margin:4px 0 10px;font-size:11.5px;color:var(--sev-crit)}.login-card .primary{width:100%;padding:6px 12px}:root{color-scheme:dark;--bg: #0e0f11;--bg-elevated: #16181b;--bg-header: #191b1f;--bg-hover: #1d2025;--border: #24272c;--border-strong: #2f3339;--text: #d7dade;--text-dim: #8b9099;--text-mute: #5f636b;--text-invert: #0e0f11;--link: #79a7e8;--focus: #4a83c9;--sev-crit: #e5484d;--sev-high: #f5a623;--sev-med: #e0c33c;--sev-low: #6ab7d9;--up: #4cae50;--degraded: #e0c33c;--down: #e5484d;--unknown: #5f636b;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI Variable", "Segoe UI", Roboto, system-ui, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.45 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--mono);font-size:12px}button{font:inherit;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);padding:5px 10px;cursor:pointer;border-radius:3px}button:hover{background:var(--bg-hover);border-color:var(--border-strong)}button:disabled{opacity:.5;cursor:default}button.primary{background:#2c5a95;border-color:#3a72b8;color:#fff}button.primary:hover{background:#34689f}button.danger{color:var(--sev-crit);border-color:#573034}button.danger:hover{background:#2a1c1e}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:5px 8px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--focus)}input::placeholder,textarea::placeholder{color:var(--text-mute)}label.field{display:block;margin-bottom:10px}label.field>span{display:block;font-size:11px;color:var(--text-dim);margin-bottom:4px}.shell{display:grid;grid-template-columns:200px 1fr;min-height:100vh}.sidebar{background:var(--bg-elevated);border-right:1px solid var(--border);padding:12px 0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{padding:4px 14px 14px;border-bottom:1px solid var(--border);margin-bottom:8px}.brand-name{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}.brand-sub{font-size:11px;color:var(--text-mute);margin-top:2px}.nav{display:flex;flex-direction:column}.nav-link{display:block;padding:6px 14px;font-size:13px;color:var(--text-dim);border-left:2px solid transparent}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--bg-hover);text-decoration:none}.nav-link.active{border-left-color:var(--focus)}.whoami{margin-top:auto;padding:10px 14px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-dim)}.whoami-name{color:var(--text)}.whoami button{padding:3px 8px;font-size:11px}.main{padding:20px 24px 40px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:12.5px}thead th{padding:6px 12px;text-align:left;font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);background:var(--bg-header);border-bottom:1px solid var(--border);border-top:1px solid var(--border)}tbody td{padding:6px 12px;border-bottom:1px solid var(--border);vertical-align:top}tbody tr:hover td{background:var(--bg-hover)}td.empty{text-align:center;color:var(--text-mute);padding:20px}.chip{display:inline-block;padding:1px 6px;font-size:11px;font-weight:600;letter-spacing:.02em;border:1px solid var(--border-strong);border-radius:2px;background:transparent;color:var(--text-dim);text-transform:uppercase;white-space:nowrap}.chip.sev-CRITICAL{color:var(--sev-crit);border-color:#5a2325}.chip.sev-HIGH{color:var(--sev-high);border-color:#5a4423}.chip.sev-MEDIUM{color:var(--sev-med);border-color:#545023}.chip.sev-LOW{color:var(--sev-low);border-color:#244a5a}.chip.st-OPEN{color:var(--sev-high)}.chip.st-IN_PROGRESS{color:var(--link)}.chip.st-FIXED,.chip.st-VERIFIED{color:var(--up)}.chip.st-WONT_FIX,.chip.st-DUPLICATE{color:var(--text-mute)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot.UP{background:var(--up)}.dot.DEGRADED{background:var(--degraded)}.dot.DOWN{background:var(--down)}.dot.UNKNOWN{background:var(--unknown)}h1.page-title{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--text)}p.page-sub{margin:0 0 20px;font-size:12.5px;color:var(--text-dim)}p.page-sub.error{color:var(--sev-crit)}.page-count{margin-left:6px;font-weight:500;color:var(--text-mute);font-size:13px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
