/* ---------- theme tokens ----------
   Light is the default. Dark applies when the user picks Dark (data-theme="dark"),
   or picks System and the device prefers dark (and hasn't forced data-theme="light"). */
:root{
  color-scheme:light;
  --bg:#F5F6F8;--surface:#FFFFFF;--surface-2:#F9FAFB;--surface-3:#F3F4F6;--hover:#FAFBFC;
  --text:#111827;--muted:#4B5563;--subtle:#6B7280;--ink-2:#374151;
  --line:#E5E7EB;--line-2:#F1F2F4;--field-border:#D1D5DB;--neutral-pill:#E5E7EB;
  --link:#1D4ED8;--link-hover:#1E3A8A;--focus:#1D4ED8;
  --accent:#1D4ED8;--accent-hover:#1E3A8A;--accent-soft:#DBEAFE;--accent-soft-ink:#1E3A8A;
  --side:#0F172A;--side-2:#1E293B;--side-ink:#CBD5E1;--side-muted:#94A3B8;
  --danger:#B91C1C;--danger-hover:#991B1B;
  --red-bg:#FEE2E2;--red-ink:#991B1B;--red-line:#FECACA;--red-soft:#FEF2F2;
  --amber-bg:#FEF3C7;--amber-ink:#92400E;--amber-soft:#FFFBEB;--amber-line:#FDE68A;
  --green-bg:#DCFCE7;--green-soft:#ECFDF5;--green-ink:#166534;--green-ink-2:#065F46;--green-line:#A7F3D0;--green-strong:#15803D;--teal:#0F766E;
  --indigo-bg:#E0E7FF;--indigo-ink:#3730A3;--indigo-soft:#EEF2FF;
  --purple-bg:#F3E8FF;--purple-ink:#6B21A8;
  --critical-bg:#7F1D1D;--critical-ink:#FFFFFF;
  --row-alert:#FFF7F7;--tally:#93A8E0;--tally-cur:#1D4ED8;
  --code-bg:#0F172A;--code-ink:#E2E8F0;
  --shadow:0 20px 50px rgba(15,23,42,.3);--backdrop:rgba(15,23,42,.55);
  --radius:12px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0B1220;--surface:#111A2B;--surface-2:#162133;--surface-3:#1D2A3F;--hover:#18243A;
    --text:#E6EAF0;--muted:#A3AEBF;--subtle:#8D99AB;--ink-2:#CBD3DF;
    --line:#26344A;--line-2:#1C2839;--field-border:#3A4A62;--neutral-pill:#263449;
    --link:#8AB4FF;--link-hover:#B7D0FF;--focus:#8AB4FF;
    --accent:#2F62D8;--accent-hover:#2552BE;--accent-soft:#1E3A6E;--accent-soft-ink:#CFE0FF;
    --side:#070C17;--side-2:#17223A;--side-ink:#CBD5E1;--side-muted:#94A3B8;
    --danger:#C53030;--danger-hover:#A82828;
    --red-bg:#3B1A1F;--red-ink:#FFA8A8;--red-line:#6B2A2F;--red-soft:#2A1519;
    --amber-bg:#3A2C0E;--amber-ink:#F8CF6B;--amber-soft:#221B0B;--amber-line:#5A4614;
    --green-bg:#12301F;--green-soft:#10291C;--green-ink:#86E0A6;--green-ink-2:#86E0A6;--green-line:#1F5A37;--green-strong:#3FBF6A;--teal:#2BB3A3;
    --indigo-bg:#232C57;--indigo-ink:#B9C3FF;--indigo-soft:#1B2347;
    --purple-bg:#2E1F47;--purple-ink:#D7B8FF;
    --critical-bg:#B42323;--critical-ink:#FFFFFF;
    --row-alert:#23161B;--tally:#33476F;--tally-cur:#6E9BFF;
    --code-bg:#070C17;--code-ink:#E2E8F0;
    --shadow:0 20px 50px rgba(0,0,0,.6);--backdrop:rgba(0,0,0,.65);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0B1220;--surface:#111A2B;--surface-2:#162133;--surface-3:#1D2A3F;--hover:#18243A;
  --text:#E6EAF0;--muted:#A3AEBF;--subtle:#8D99AB;--ink-2:#CBD3DF;
  --line:#26344A;--line-2:#1C2839;--field-border:#3A4A62;--neutral-pill:#263449;
  --link:#8AB4FF;--link-hover:#B7D0FF;--focus:#8AB4FF;
  --accent:#2F62D8;--accent-hover:#2552BE;--accent-soft:#1E3A6E;--accent-soft-ink:#CFE0FF;
  --side:#070C17;--side-2:#17223A;--side-ink:#CBD5E1;--side-muted:#94A3B8;
  --danger:#C53030;--danger-hover:#A82828;
  --red-bg:#3B1A1F;--red-ink:#FFA8A8;--red-line:#6B2A2F;--red-soft:#2A1519;
  --amber-bg:#3A2C0E;--amber-ink:#F8CF6B;--amber-soft:#221B0B;--amber-line:#5A4614;
  --green-bg:#12301F;--green-soft:#10291C;--green-ink:#86E0A6;--green-ink-2:#86E0A6;--green-line:#1F5A37;--green-strong:#3FBF6A;--teal:#2BB3A3;
  --indigo-bg:#232C57;--indigo-ink:#B9C3FF;--indigo-soft:#1B2347;
  --purple-bg:#2E1F47;--purple-ink:#D7B8FF;
  --critical-bg:#B42323;--critical-ink:#FFFFFF;
  --row-alert:#23161B;--tally:#33476F;--tally-cur:#6E9BFF;
  --code-bg:#070C17;--code-ink:#E2E8F0;
  --shadow:0 20px 50px rgba(0,0,0,.6);--backdrop:rgba(0,0,0,.65);
}

/* ---------- base ---------- */
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--link)}a:hover{color:var(--link-hover)}
h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.01em}
h2{margin:0;font-size:17px;font-weight:600}
h3{margin:0;font-size:15px;font-weight:600}
h4{margin:10px 0 2px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
input,select,textarea,button{font:inherit;color:inherit}
input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],input[type=date],input[type=month],input[type=search],input:not([type]),select,textarea{
  min-height:40px;padding:8px 10px;border:1px solid var(--field-border);border-radius:8px;background:var(--surface);color:var(--text);width:100%}
input::placeholder,textarea::placeholder{color:var(--subtle)}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--accent);flex:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)}.small{font-size:13px}.strong{font-weight:600;text-decoration:none}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}
.pre{white-space:pre-line}.center{text-align:center}.grow{flex:1;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ok{color:var(--green-strong);font-weight:700;font-size:16px}

/* ---------- layout ---------- */
.app{display:flex;flex-wrap:wrap;min-height:100vh}
.side{flex:0 0 240px;background:var(--side);color:#E2E8F0;padding:24px 16px;display:flex;flex-direction:column;gap:24px}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px}
.brand strong{display:block;color:#fff;font-size:15px}.brand span{display:block;font-size:12px;color:var(--side-muted)}
.brand.dark strong{color:var(--text)}.brand.dark span{color:var(--muted)}
.logo{width:32px;height:32px;border-radius:8px;background:#1D4ED8;color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.nav{display:flex;flex-direction:column;gap:4px}
.nav a{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:8px;color:var(--side-ink);text-decoration:none}
.nav a:hover{background:var(--side-2);color:#fff}.nav a.on{background:var(--side-2);color:#fff;font-weight:500}
.quick{display:flex;flex-direction:column;gap:2px;padding:0 8px}
.quick span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--side-muted);margin-bottom:4px}
.quick a{color:var(--side-ink);font-size:13px;min-height:32px;display:flex;align-items:center}
.quick a:hover{color:#fff}
.who{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 8px 0;border-top:1px solid var(--side-2);flex-wrap:wrap}
.who a{color:#fff;text-decoration:none;font-size:13px}.who span{display:block;font-size:12px;color:var(--side-muted)}
.who .link-btn{color:var(--side-ink)}
.side a:focus-visible,.side button:focus-visible{outline-color:#8AB4FF}
.main{flex:999 1 560px;min-width:0;padding:28px 32px 48px;display:flex;flex-direction:column;gap:20px}
.page-head{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between}
.page-head > div{display:flex;flex-direction:column;gap:6px}
.eyebrow{font-size:13px;color:var(--muted)}
.crumbs{display:flex;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.row-inline{display:flex;align-items:center;gap:8px}.row-inline.wrap,.wrap{flex-wrap:wrap}
.row-inline select{width:auto}.filters input[type=search]{width:200px}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:12px}
.card.flush{padding:0;gap:0}.card.narrow{max-width:520px}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.sep{border-top:1px solid var(--line);padding-top:14px;margin-top:4px}
.stack{display:flex;flex-direction:column;gap:12px}
.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:500}
.grid-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:1/-1}
@media (max-width:640px){.span-2,.span-3{grid-column:1/-1}.main{padding:20px 16px 40px}.side{flex-basis:100%}}
.actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.check{display:flex;align-items:center;gap:8px;min-height:36px;cursor:pointer}
.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 16px}
fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}legend{font-weight:600;margin-bottom:8px}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid var(--field-border);border-radius:8px;background:var(--surface);font-weight:500;cursor:pointer;text-decoration:none;color:var(--text);white-space:nowrap}
.btn:hover{background:var(--surface-2);color:var(--text)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}
.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.btn-danger:hover{background:var(--danger-hover);color:#fff}
.btn:disabled,.btn:disabled:hover{background:var(--surface-3);border-color:var(--line);color:var(--subtle);cursor:not-allowed}
.btn-ghost{border-color:transparent;background:transparent}.danger-text{color:var(--red-ink)}
.btn-sm{min-height:32px;padding:0 10px;font-size:13px}
.icon-btn{width:36px;height:36px;border:0;border-radius:6px;background:transparent;color:var(--subtle);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:16px;flex:none}
.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:default;background:transparent}
.icon-btn.sm{width:30px;height:30px;font-size:14px}
.link-btn{border:0;background:none;padding:4px 0;color:var(--link);cursor:pointer;font-size:13px}
form{margin:0}

.flash{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 14px;border-radius:8px;margin:0;font-size:14px}
.flash-ok{background:var(--green-soft);color:var(--green-ink-2);border:1px solid var(--green-line)}.flash-error{background:var(--red-soft);color:var(--red-ink);border:1px solid var(--red-line)}
.flash .icon-btn{color:inherit}

/* ---------- pills ---------- */
.pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--surface-3);color:var(--ink-2)}
.pill-no-issues,.pill-resolved{background:var(--green-soft);color:var(--green-ink-2)}
.pill-identified{background:var(--red-bg);color:var(--red-ink)}
.pill-queued-to-discuss,.pill-in-progress,.pill-warn,.pill-on-hold{background:var(--amber-bg);color:var(--amber-ink)}
.pill-waiting-on-client,.pill-type,.pill-under-development{background:var(--indigo-bg);color:var(--indigo-ink)}
.pill-trafficked,.pill-working-with-developer{background:var(--purple-bg);color:var(--purple-ink)}
.pill-not-resolvable,.pill-remove{background:var(--neutral-pill);color:var(--ink-2)}
.pill-complete,.pill-active{background:var(--green-bg);color:var(--green-ink)}
.ver-low{background:var(--amber-bg);color:var(--amber-ink);padding:1px 6px;border-radius:4px;font-weight:600}

/* ---------- board ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.tile{gap:6px}.tile strong{font-size:30px;font-weight:700;line-height:1.2}.tile small{font-size:16px;font-weight:500;color:var(--muted)}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden}.bar>div{height:100%;background:var(--tally-cur)}
.bar .bar-green{background:var(--green-strong)}.bar .bar-teal{background:var(--teal)}
.meter{display:flex;flex-direction:column;gap:6px}.meter-label{display:flex;justify-content:space-between;font-size:13px}
.dev-row{display:flex;align-items:center;gap:12px}
.avatar{width:34px;height:34px;border-radius:50%;background:#1D4ED8;color:#fff;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex:none}
.avatar.light{background:var(--accent-soft);color:var(--accent-soft-ink)}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line)}
.toolbar.plain{padding:0;border:0}
.tabs{display:flex;flex-wrap:wrap;gap:6px}
.tab{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:8px;border:1px solid var(--field-border);background:var(--surface);color:var(--text);text-decoration:none;font-size:13px;font-weight:500}
.tab span{opacity:.7}.tab:hover{color:var(--text);background:var(--surface-2)}
.tab.on,.tab.on:hover{background:var(--text);border-color:var(--text);color:var(--surface)}
.table-wrap{overflow-x:auto}
.table{width:100%;min-width:1100px;border-collapse:collapse;font-size:13px}
.table th{text-align:left;font-weight:600;color:var(--muted);background:var(--surface-2);padding:10px 12px;white-space:nowrap}
.table td{padding:10px 12px;border-top:1px solid var(--line-2);vertical-align:top}
.table th:first-child,.table td:first-child{padding-left:20px}
.table tbody tr:hover{background:var(--hover)}
.table-foot{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}

/* ---------- site ---------- */
.split{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.split-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:20px}
.split-side{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:20px}
.split-side.wide-side{flex-basis:380px}
.checklist{display:flex;flex-direction:column;gap:4px}
.check-item{display:flex;gap:10px;align-items:flex-start;padding:5px 0;cursor:pointer;line-height:1.45}
.check-item input{margin-top:2px}.check-item input:checked + span{color:var(--muted)}
.item-more summary{font-size:12px;color:var(--link);cursor:pointer}.item-more div{font-size:13px;color:var(--muted);padding:4px 0}
.tiny{width:80px!important;min-height:28px!important;padding:2px 6px!important;display:inline-block}
.inline-label{font-weight:400!important;font-size:13px!important}
.note{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line-2)}
.note:first-of-type{border-top:0}
.note-meta{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.note-body{font-size:14px;overflow-wrap:anywhere}
.note-actions{display:flex;gap:4px;align-items:center}
.note.resolved{opacity:.75}
.procedure{background:var(--amber-soft);border-color:var(--amber-line)}
.props{margin:0;display:grid;grid-template-columns:110px 1fr;gap:8px 12px;font-size:13px}
.props dt{color:var(--muted)}.props dd{margin:0;overflow-wrap:anywhere}
.plain{margin:0;padding-left:18px}
.hist{border-top:1px solid var(--line-2);padding:8px 0}
.hist summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;font-size:13px;flex-wrap:wrap}
.hist div{padding-top:6px}

/* ---------- procedures ---------- */
.proc-list{margin:0;padding-left:22px;display:flex;flex-direction:column}
.proc-list.notes{list-style:none;padding-left:0}
.proc-list li{padding:8px 0;border-top:1px solid var(--line-2)}
.proc-list li > *{vertical-align:top}
.proc-list li{display:list-item}
.proc-list li > .grow,.proc-list li > form.grow{display:inline-block;width:calc(100% - 160px)}
.proc-list li > form.grow{width:100%}
.item-tools{display:inline-flex;float:right;gap:2px}
.proc-body{margin-top:4px}
.note-title{display:block}
.add-item summary{cursor:pointer;color:var(--link);font-weight:500;min-height:36px;display:flex;align-items:center}
.add-item[open] summary{margin-bottom:8px}

/* ---------- settings ---------- */
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:20px;align-items:start}
@media (max-width:640px){.settings-grid{grid-template-columns:1fr}}
.span-all{grid-column:1/-1}
.list-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line-2)}
.list-row.archived,.value-row.archived{opacity:.6}
.inline-edit{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:12px}
.lists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.list-box{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:10px;padding:12px}
.list-box h3{font-size:14px;margin-bottom:6px}
.value-row{display:flex;align-items:center;gap:4px;min-height:34px;font-size:13px;border-top:1px solid var(--line-2)}
.value-row form{display:inline-flex}
.rename-row,.add-row{display:flex;gap:6px;align-items:center;padding:6px 0}
.rename-row input,.add-row input{min-height:34px;padding:4px 8px}
.add-row{margin-top:6px}
.lock{color:var(--link);font-size:10px;vertical-align:middle}

/* ---------- dialog ---------- */
dialog{border:1px solid var(--line);border-radius:12px;padding:0;width:min(520px,calc(100vw - 32px));box-shadow:var(--shadow);background:var(--surface);color:var(--text)}
dialog::backdrop{background:var(--backdrop)}
.dialog-body{padding:24px;display:flex;flex-direction:column;gap:16px}
.dialog-head{display:flex;gap:12px;align-items:flex-start}.dialog-head h2{font-size:18px}.dialog-head p{margin:4px 0 0}
.warn-icon{width:40px;height:40px;border-radius:50%;background:var(--red-bg);color:var(--red-ink);display:flex;align-items:center;justify-content:center;flex:none}
.inuse{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--amber-line);background:var(--amber-soft);border-radius:8px}
.inuse strong{color:var(--amber-ink)}.inuse p{margin:0;font-size:13px}
.inuse legend{font-weight:400;font-size:13px;color:var(--ink-2)}
.inuse label{display:flex;align-items:center;gap:8px;min-height:36px;cursor:pointer}
.inuse select{flex:1}
.blocked{margin:0;padding:12px;border-radius:8px;background:var(--surface-3);font-size:14px}
.ack{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}

/* ---------- auth ---------- */
.bare{background:var(--bg)}
.bare-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.auth{width:100%;max-width:420px;gap:16px;padding:28px}.auth.wide{max-width:560px}.auth h1{font-size:24px}

/* ---------- small-screen safety ---------- */
.card,.check-item span,.proc-list,.note-body,.props dd{overflow-wrap:anywhere}
.settings-grid > *,.tiles > *,.two-col > *,.split > *{min-width:0}
.toolbar .row-inline,.page-head .row-inline{flex-wrap:wrap}
.filters input[type=search]{width:min(200px,100%)}
@media (max-width:640px){.toolbar{padding:12px 16px}.table-foot{padding:12px 16px}.props{grid-template-columns:96px 1fr}}
[hidden]{display:none!important}
.table td.mono,.table td:nth-child(7){white-space:nowrap}
.who .avatar{display:inline-flex;font-size:12px;color:#fff}
.code{background:var(--code-bg);color:var(--code-ink);padding:10px 12px;border-radius:8px;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}
.nowrap{white-space:nowrap}

/* ---------- vulnerabilities ---------- */
.subtabs{display:flex;gap:4px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.subtabs a{padding:10px 14px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.subtabs a.on{color:var(--text);font-weight:600;border-bottom-color:var(--tally-cur)}
.count-badge{background:var(--red-bg);color:var(--red-ink);font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;margin-left:4px;white-space:nowrap}
.nav .count-badge{background:#B91C1C;color:#fff;margin-left:auto}
.tile-alert{border-color:var(--red-line)}
.txt-ok{color:var(--green-ink);font-weight:600}.txt-bad{color:var(--red-ink);font-weight:600}
.pill.sev-critical{background:var(--critical-bg);color:var(--critical-ink)}.pill.sev-high{background:var(--red-bg);color:var(--red-ink)}.pill.sev-medium{background:var(--amber-bg);color:var(--amber-ink)}.pill.sev-low{background:var(--neutral-pill);color:var(--ink-2)}
.pill.prio-high{background:var(--red-bg);color:var(--red-ink)}.pill.prio-medium{background:var(--amber-bg);color:var(--amber-ink)}.pill.prio-low{background:var(--surface-3);color:var(--ink-2)}
.vuln-table tr.row-open{background:var(--row-alert)}
.vuln-table .w-toggle{width:36px}
.vuln-detail td{background:var(--surface-2);border-top:0}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:4px 0 8px}
.detail-grid h4{margin:0 0 6px}
.date-sm{width:auto!important;min-height:32px!important;padding:2px 8px!important}
.filter-sm{width:min(220px,100%)!important;min-height:32px!important;padding:2px 8px!important}
.hint{margin:0;font-size:13px;color:var(--green-ink);background:var(--green-soft);border-radius:6px;padding:8px 10px}
.inline-set{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}
.inline-set legend{font-size:13px;font-weight:600;margin-bottom:4px;width:100%}
.gap-lg{gap:28px}
.also-sites{border:1px solid var(--line);border-radius:10px;padding:14px}
.also-sites legend{padding:0 6px}
.site-pick{border-radius:6px;padding:0 6px}
.site-pick.suggested{background:var(--indigo-soft);font-weight:500}
.tally{display:flex;align-items:flex-end;gap:10px;height:150px;border-bottom:1px solid var(--field-border)}
.tally-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:4px;min-width:0}
.tally-bar{width:100%;max-width:44px;border-radius:4px 4px 0 0;background:var(--tally)}
.tally-bar.cur{background:var(--tally-cur)}
.tally-n{font-size:12px;color:var(--muted)}.tally-n.strong-n{color:var(--text);font-weight:600}
.tally-axis{display:flex;gap:10px}.tally-axis span{flex:1;text-align:center;font-size:12px;color:var(--muted);min-width:0}
@media (max-width:640px){.tally,.tally-axis{gap:4px}.tally-n{font-size:10px}}
.table th.num,.table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sort{color:var(--muted);text-decoration:none;display:inline-flex;min-height:28px;align-items:center;padding:0 4px;border-radius:4px}
.sort.on{color:var(--indigo-ink);background:var(--indigo-bg)}
.plain-link{color:var(--text);text-decoration:none}
.open-badge{display:inline-flex;min-width:24px;justify-content:center;padding:2px 8px;border-radius:999px;background:var(--red-bg);color:var(--red-ink);font-weight:700;font-size:12px;text-decoration:none}
input:disabled,select:disabled,textarea:disabled{background:var(--surface-3);color:var(--subtle);cursor:not-allowed}

/* ---------- appearance picker (My account) ---------- */
.theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.theme-option{position:relative;display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--field-border);border-radius:10px;cursor:pointer;background:var(--surface)}
.theme-option:has(input:checked){border-color:var(--tally-cur);box-shadow:0 0 0 1px var(--tally-cur)}
.theme-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}
.theme-option input{position:absolute;opacity:0;width:1px;height:1px}
.theme-option .lbl{display:flex;align-items:center;gap:8px;font-weight:600}
.theme-option .lbl::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--field-border);flex:none}
.theme-option:has(input:checked) .lbl::before{border-color:var(--tally-cur);background:radial-gradient(circle,var(--tally-cur) 45%,transparent 50%)}
.swatch{height:64px;border-radius:6px;border:1px solid var(--line);display:flex;overflow:hidden}
.swatch i{display:block}
.swatch .sw-side{width:22%;background:#0F172A}
.swatch .sw-main{flex:1;padding:8px;display:flex;flex-direction:column;gap:6px}
.swatch .sw-line{height:6px;border-radius:3px}
.swatch.light .sw-main{background:#F5F6F8}.swatch.light .sw-line{background:#D1D5DB}.swatch.light .sw-line.a{background:#1D4ED8;width:40%}
.swatch.dark .sw-side{background:#070C17}.swatch.dark .sw-main{background:#0B1220}.swatch.dark .sw-line{background:#26344A}.swatch.dark .sw-line.a{background:#6E9BFF;width:40%}
.swatch.system .sw-main{background:linear-gradient(90deg,#F5F6F8 50%,#0B1220 50%)}.swatch.system .sw-line{background:linear-gradient(90deg,#D1D5DB 50%,#26344A 50%)}.swatch.system .sw-line.a{background:linear-gradient(90deg,#1D4ED8 50%,#6E9BFF 50%);width:40%}
