:root{--bg:#fff;--fg:#1b1f23;--muted:#59636e;--line:#d0d7de;--accent:#0a55e0;--surface:#f6f8fa;--critical:#a4243b;--high:#b3263a;--medium:#8a5300;--low:#3f6e3f;--warn-bg:#fff4d6;--warn-fg:#6b4a00;--err-bg:#fdecee;--focus:#0a55e0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14171a;--fg:#e6e9ec;--muted:#a3adb8;--line:#2c3238;--accent:#7fb0ff;--surface:#1c2126;--critical:#ff8a9b;--high:#ff9a8a;--medium:#f0b45a;--low:#8fd18f;--warn-bg:#3a2f10;--warn-fg:#f5d58a;--err-bg:#3a1a1f;--focus:#7fb0ff}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}a{color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1:focus{outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--bg);z-index:10;padding:8px;position:absolute;top:0;left:-9999px}.skip-link:focus{left:8px}.app-header{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:10px 16px;display:flex}.brand{flex-direction:column;display:flex}.client-name{font-size:20px;font-weight:700}.product{color:var(--muted);font-size:12px}.app-header nav ul{flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;display:flex}.app-header nav a{padding:4px 2px;text-decoration:none}.app-header nav a[aria-current=page]{border-bottom:2px solid var(--accent);font-weight:700}.user{align-items:center;gap:12px;margin-left:auto;display:flex}.app{max-width:1280px;margin:0 auto;padding:16px}.page-heading h1{margin:8px 0 4px;font-size:20px}.page-heading p{margin:0 0 16px}h2{margin:0 0 8px;font-size:16px}h3{margin:16px 0 8px;font-size:14px}.section{margin:24px 0}.muted{color:var(--muted)}.error{color:var(--critical);font-weight:600}.centered{text-align:center;padding:64px 16px}.break,.uid{word-break:break-all}.uid{color:var(--muted);font-size:12px}code{word-break:break-all;font-size:12px}.notice{border:1px solid var(--line);background:var(--surface);border-radius:6px;margin:12px 0;padding:8px 12px}.notice.error{background:var(--err-bg);border-color:var(--critical);color:var(--fg);font-weight:400}.notice.warning{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-fg)}button{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:6px;padding:6px 14px}button:disabled{opacity:.6;cursor:not-allowed}button.link{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}button.danger{color:var(--critical)}form.search{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}fieldset{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:12px;min-width:0;margin:0 0 12px;padding:12px 16px;display:flex}fieldset.check-group{border:none;gap:4px 12px;padding:0}legend{color:var(--muted);padding:0 4px}.field{flex-direction:column;gap:4px;display:flex}.field.wide{flex-basis:100%}.field label,.inline-form label{color:var(--muted);font-size:12px}label.check{align-items:center;gap:6px;font-size:13px;line-height:1.3;display:inline-flex}.hint{color:var(--muted);flex-basis:100%;margin:0;font-size:12px}.field-error{color:var(--critical);flex-basis:100%;margin:0;font-size:12px;font-weight:600}input,select,textarea{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:6px;min-width:200px;padding:6px 8px}input[type=checkbox],input[type=radio]{flex:none;width:16px;min-width:0;height:16px;margin:0;padding:0}[aria-invalid=true]{border-color:var(--critical)}textarea{width:100%}.actions{align-items:center;gap:12px;width:100%;display:flex}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;margin:12px 0}caption{text-align:left;padding:4px 0;font-weight:600}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}th{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}td{word-break:break-word}tbody tr:hover{background:var(--surface)}.column-chooser summary{cursor:pointer;color:var(--accent)}.column-chooser fieldset{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2px 16px;margin-top:8px;display:grid}.column-chooser label.check{border-bottom:1px solid var(--line);padding:4px 0}.sev{text-transform:capitalize;font-weight:600}.sev-critical{color:var(--critical)}.sev-high{color:var(--high)}.sev-medium{color:var(--medium)}.sev-low{color:var(--low)}.status-accepted-risk,.status-false-positive{font-style:italic}dl.fields{margin:8px 0}dl.fields>div{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;gap:8px;padding:4px 0;display:grid}dt{color:var(--muted);font-size:12px}dd{word-break:break-word;margin:0}.json-viewer{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:8px}.json-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.json-toolbar label{color:var(--muted);font-size:12px}.json-tree,.json-tree ul{margin:0;padding-left:16px;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;list-style:none}.json-tree{max-height:70vh;padding-left:0;overflow:auto}.json-tree summary{cursor:pointer}.json-key{color:var(--fg);font-weight:600}.json-string{color:var(--low);word-break:break-all}.json-number,.json-boolean{color:var(--accent)}.json-null{color:var(--muted)}mark{color:#1b1f23;background:#ffe066}.facts{padding:0;list-style:none}.fact{border:1px solid var(--line);border-radius:6px;margin:8px 0;padding:8px 12px}.fact.unreviewed{border-left:4px solid var(--warn-fg)}.fact-text{margin:0 0 4px}.tag{border:1px solid var(--line);border-radius:10px;margin-right:6px;padding:0 6px;font-size:12px}.badge{border-radius:10px;margin-right:6px;padding:0 8px;font-size:12px;font-weight:600}.badge-warning{background:var(--warn-bg);color:var(--warn-fg)}@media (width<=640px){.app{padding:12px 16px}input,select,textarea{width:100%;min-width:0}.field{width:100%}dl.fields>div{grid-template-columns:1fr}.user{margin-left:0}}
