:root{
  --bg:#f5f6f8; --surface:#ffffff; --sunken:#eef0f3; --hover:#f8f9fb; --line:#e3e6eb; --line-2:#cbd0d8;
  --ink:#15171c; --ink-2:#434954; --ink-3:#5f6672;
  --top:#16181d; --top-2:#272a32; --top-line:#353943; --top-ink:#b7bcc6;
  --accent:#4647c8; --accent-h:#3a3bb0; --accent-weak:#ededfb; --accent-on-dark:#aeb0ff;
  --red:#bf3326; --red-weak:#fcecea; --amber:#955800; --amber-weak:#fbf1df; --green:#25704a; --green-weak:#e6f2eb;
  --add:#e5f3ea; --add-ink:#1c5634; --del:#fcebe9; --del-ink:#8e1f15;
  --mono:"Cascadia Mono","Cascadia Code",Consolas,ui-monospace,"SF Mono",Menlo,monospace;
  --sans:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --r:6px; --r2:8px; --w:1200px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a,a:hover,a:focus{text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
.mono{font-family:var(--mono);font-size:12px}
.muted{color:var(--ink-3)}
.ink2{color:var(--ink-2)}
.small{font-size:12px;line-height:1.45}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2,h3{margin:0;font-weight:600}
h1{font-size:22px;line-height:1.25;letter-spacing:-.01em}
h2{font-size:16px;line-height:1.3}
h3{font-size:14px}

/* side bar (dark, inverted L with the page band) */
.bar{position:fixed;left:0;top:0;bottom:0;width:228px;z-index:5;background:var(--top);color:var(--top-ink)}
.bar-in{display:flex;flex-direction:column;height:100%;padding:16px 12px 12px}
.brand{display:flex;align-items:center;gap:9px;font-weight:600;color:#fff;white-space:nowrap;padding:0 8px;font-size:15px}
.ws{font-size:12px;color:#8d939e;padding:0 8px 0 39px;margin-top:-1px}
.bar .up{margin:18px 0 18px;justify-content:flex-start;width:100%;height:32px}
.nav{display:flex;flex-direction:column;gap:2px;scrollbar-width:none}
.nav a{display:flex;align-items:center;gap:10px;padding:0 10px;height:34px;border-radius:6px;color:var(--top-ink);white-space:nowrap;font-weight:500}
.nav a:hover{color:#fff;background:var(--top-2)}
.nav a[aria-current=page]{color:#fff;background:#2c2f39}
.nav .count{margin-left:auto;font-weight:600;color:#fff;font-size:12px}
.nav .count.new{color:var(--accent-on-dark)}
.nav svg{stroke:currentColor;fill:none;stroke-width:1.5;flex:none}
.side-foot{margin-top:auto;border-top:1px solid var(--top-line);padding-top:12px}
.who{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--top-ink);line-height:1.3;padding:6px 8px;border-radius:6px}
.who:hover{background:var(--top-2)}
.who b{display:block;color:#fff;font-weight:600;font-size:13px}
.who .av{background:#353943;color:#fff}
.bar :focus-visible{outline-color:#fff}
#view{margin-left:228px}
body.nobar #view{margin-left:0}
/* avatars and plugin monograms: neutral, never a state */
.av{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--sunken);color:var(--ink-2);font:600 11px/1 var(--sans);letter-spacing:.02em}
.mono-t{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:7px;background:#e7e9ee;color:#3a404b;font:650 13px/1 var(--sans);letter-spacing:.01em}
.mono-t.lg{width:48px;height:48px;border-radius:10px;font-size:17px}
.mono-t.sm{width:26px;height:26px;border-radius:6px;font-size:11px}
.pcell{display:flex;gap:12px;align-items:flex-start}

/* page header band */
.band{background:var(--surface);border-bottom:1px solid var(--line)}
.band-in{max-width:var(--w);margin:0 auto;padding:20px 24px 0}
.band-in.pad{padding-bottom:20px}
.crumb{font-size:12px;color:var(--ink-3);margin-bottom:4px}
.crumb a{color:var(--ink-3)}
.lead{margin:4px 0 0;color:var(--ink-2)}
.tabs{display:flex;gap:4px;margin-top:16px;overflow-x:auto;scrollbar-width:none}
.tabs a{padding:8px 10px 9px;color:var(--ink-2);font-weight:500;border-bottom:2px solid transparent;white-space:nowrap}
.tabs a:hover{color:var(--ink);text-decoration:none}
.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}
.tabs .n{color:var(--ink-3);font-weight:600;margin-left:5px}
.tabs .n.new{color:var(--accent)}

/* fleet metric tabs (they are the filter) */
.metrics{display:flex;gap:0;margin-top:18px;overflow-x:auto;scrollbar-width:none}
.metric{background:none;border:0;border-bottom:2px solid transparent;padding:4px 28px 10px 0;margin-right:4px;text-align:left;cursor:pointer;font:inherit;color:var(--ink-2);flex:none}
.metric .lbl{display:block;font-size:12px;font-weight:500;color:var(--ink-3)}
.metric .num{display:block;font-size:26px;line-height:1.15;font-weight:600;color:var(--ink);letter-spacing:-.02em}
.metric .num.red{color:var(--red)} .metric .num.amber{color:var(--amber)}
.metric:hover .lbl{color:var(--ink)}
.metric[aria-pressed=true]{border-bottom-color:var(--ink)}
.metric[aria-pressed=true] .lbl{color:var(--ink);font-weight:600}
.opn .small{white-space:nowrap}
/* plugin detail history chart */
.hchart{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.hchart .cap{font-size:12px;color:var(--ink-3)}
.hchart svg text{font:11px var(--sans);fill:var(--ink-3)}
.hchart svg .lbl-v{fill:var(--ink);font-weight:600}
.weekline{font-size:12px;color:var(--ink-3);text-align:right;line-height:1.5}
.weekline b{color:var(--ink);font-weight:600}

/* layout */
.page{max-width:var(--w);margin:0 auto;padding:20px 24px 64px}
.row{display:flex;gap:10px;align-items:center}
.spread{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2)}
.sect{margin-top:28px}
.sect:first-child{margin-top:0}
.sect-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--r);font:500 13px/1 var(--sans);cursor:pointer;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);white-space:nowrap;text-decoration:none}
.btn:hover{background:var(--sunken);text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-h)}
.btn.quiet{border-color:transparent;background:transparent;color:var(--ink-2)}
.btn.quiet:hover{background:var(--sunken);color:var(--ink)}
.btn.quiet[aria-pressed=true]{background:var(--sunken);color:var(--ink);font-weight:600}
.btn.danger{color:var(--red)}
.btn.dark{background:var(--top-2);border-color:var(--top-line);color:#fff}
.btn.dark:hover{background:#30333c}
.btn[disabled]{opacity:.48;cursor:not-allowed;transform:none}
.btn[disabled]:hover{background:var(--surface)}
.btn.primary[disabled]:hover{background:var(--accent)}
.btn svg{stroke:currentColor;fill:none;stroke-width:1.6}
.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.seg button{height:30px;border:0;background:transparent;padding:0 12px;font:500 13px var(--sans);color:var(--ink-2);cursor:pointer;border-right:1px solid var(--line)}
.seg button:last-child{border-right:0}
.seg button:hover{background:var(--sunken);color:var(--ink)}
.seg button[aria-pressed=true]{background:var(--sunken);color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--ink)}

/* pager */
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3);flex-wrap:wrap}
.pager .pg{display:flex;gap:2px;align-items:center}
.pager .btn{height:28px;padding:0 9px;min-width:28px}
.pager .btn[aria-current=page]{background:var(--sunken);color:var(--ink);font-weight:600;border-color:transparent}
.pager .gap{padding:0 4px;color:var(--ink-3)}

/* inputs */
label.f{display:block;font-weight:600;font-size:13px;margin-bottom:4px}
.hint{font-size:12px;color:var(--ink-3);margin:-2px 0 6px}
input.t,textarea.t{height:32px;width:100%;border:1px solid var(--line-2);border-radius:var(--r);padding:0 10px;font:14px var(--sans);color:var(--ink);background:var(--surface)}
textarea.t{height:auto;padding:8px 10px;font:12px/1.6 var(--mono)}
input.t:focus,textarea.t:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.field{margin-bottom:14px}
.err-msg{color:var(--red);font-weight:600;font-size:13px;margin:0 0 6px}
.field.has-err input.t{border-color:var(--red)}
.search{position:relative}
.search input{padding-left:30px}
.search svg{position:absolute;left:9px;top:9px;stroke:var(--ink-3);fill:none;stroke-width:1.6}

/* status words */
.sv{font-weight:600}
.sv.red{color:var(--red)} .sv.amber{color:var(--amber)} .sv.green{color:var(--green)} .sv.grey{color:var(--ink-2)}

/* tables */
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.toolbar .search{width:280px}
.toolbar .end{margin-left:auto}
table.grid{width:100%;border-collapse:collapse}
table.grid th{font-size:12px;font-weight:600;color:var(--ink-2);text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--hover)}
table.grid td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
table.grid tbody tr:last-child td{border-bottom:0}
table.grid td .btn.quiet{margin:-5px 0}
table.grid tbody tr.click{cursor:pointer}
table.grid tbody tr.click:hover td{background:var(--hover)}
.tbl{border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;background:var(--surface)}
.pname{font-weight:600;color:var(--ink)}
.pname:hover{color:var(--accent)}
.psub{font-size:12px;color:var(--ink-3);margin-top:1px;white-space:nowrap}
.fbar{display:flex;align-items:center;gap:8px}
.fbar .segs{display:flex;height:10px;gap:2px}
.fbar .segs i{display:block;height:100%;width:14px;border-radius:1px}
.fbar .n{font-weight:600;min-width:12px;text-align:right}
i.c,i.h{background:var(--red)} i.m{background:#d4891a} i.l{background:#e6bf6e} i.u{background:#b6bbc4}
.why{max-width:440px}
.loc{font-family:var(--mono);font-size:12px;color:var(--ink-2);overflow-wrap:anywhere}
.flag{font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap}
.retired td{color:var(--ink-3)}
.skel{height:12px;border-radius:3px;background:linear-gradient(90deg,var(--sunken),#f7f8fa,var(--sunken));background-size:200% 100%;animation:sh 1.4s linear infinite}
@keyframes sh{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.skel{animation:none}}
.empty{padding:8px 0 24px}
.empty h2{margin-bottom:6px}
.empty p{color:var(--ink-2);max-width:60ch;margin:0 0 16px}
.panel.empty{background:none;border:0;border-radius:0}
.drop{display:block;padding:32px 24px;text-align:center;cursor:pointer;border:1.5px dashed var(--line-2);border-radius:var(--r2)}
.drop:hover{border-color:var(--ink-3);background:var(--hover)}
.glyph{display:block;margin:0 auto 14px;stroke:var(--ink-3);fill:none;stroke-width:1.4}
.notice{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;background:var(--amber-weak);border-radius:var(--r2);margin-bottom:14px}
.notice svg{flex:none;margin-top:2px;stroke:var(--amber);fill:none;stroke-width:1.6}

/* detail */
.d-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}
.d-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dside{display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.metaline{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;color:var(--ink-2);font-size:13px}
.statusline{margin-top:8px;font-size:15px}
.findings .f{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:4px 14px;padding:12px 14px;border-bottom:1px solid var(--line)}
.findings .f:last-child{border-bottom:0}
.findings .f .t{font-weight:600}
.findings .f .s{font-size:12px;color:var(--ink-3);margin-top:2px}
.findings .f .act{text-align:right;font-size:12px;max-width:230px}
dl.kv{margin:0;display:grid;grid-template-columns:112px minmax(0,1fr);font-size:13px}
dl.kv dt{color:var(--ink-3);padding:6px 0;border-bottom:1px solid var(--line)}
dl.kv dd{margin:0;padding:6px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.rail h3{margin:24px 0 4px}
.rail h3:first-child{margin-top:0}
.libs{font-size:13px}
.libs div{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}
.inline-form{display:grid;grid-template-columns:1fr 1.3fr 150px auto;gap:10px;align-items:end;padding:14px;background:var(--sunken);border-radius:var(--r2);margin-bottom:12px}
.inline-form .field{margin:0}

/* two pane */
.split{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:540px}
.list{border-right:1px solid var(--line);overflow:auto;padding-right:12px}
.list .grp{font-size:12px;font-weight:600;color:var(--ink-2);padding:0 10px 8px}
.li{display:block;padding:10px;border-radius:var(--r);color:var(--ink);cursor:pointer}
.li:hover{background:var(--sunken);text-decoration:none}
.li[aria-current=true]{background:var(--surface);box-shadow:0 1px 2px rgba(21,23,28,.08)}
.li .t{font-weight:500;display:flex;justify-content:space-between;gap:8px}
.li.is-new .t{font-weight:650}
.li .s{font-size:12px;color:var(--ink-3);margin-top:2px}
.pane{padding:0 0 0 28px;min-width:0}
.note{margin:12px 0 0;color:var(--ink-2);max-width:72ch}
.note b{color:var(--ink);font-weight:600}
.diff{border:1px solid var(--line);border-radius:var(--r2);overflow:auto;margin-top:16px;background:var(--surface)}
.diff-h{display:flex;justify-content:space-between;gap:8px;padding:7px 12px;border-bottom:1px solid var(--line);font:12px var(--mono);color:var(--ink-2);background:var(--hover)}
.diff-h .plain{font-family:var(--sans)}
.diff table{border-collapse:collapse;width:100%;font:12px/1.65 var(--mono)}
.diff td{padding:0 10px;white-space:pre;vertical-align:top}
.diff td.ln{width:1%;color:var(--ink-3);text-align:right;user-select:none;padding:0 8px}
.diff tr.add td{background:var(--add)} .diff tr.add td.code{color:var(--add-ink)}
.diff tr.del td{background:var(--del)} .diff tr.del td.code{color:var(--del-ink)}
.diff td.sign{width:1%;padding:0 4px;color:var(--ink-3);font-weight:700}
.decide{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}
.decide .confirm{flex-basis:100%}
.callout{padding:12px 14px;border-radius:var(--r2);background:var(--sunken);margin-top:14px}
.callout.warn{background:var(--amber-weak)}
.callout.bad{background:var(--red-weak)}
.callout.ok{background:var(--green-weak)}
.callout b{font-weight:600}
.facts{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--ink-2);margin-top:6px}
pre.code{margin:6px 0 0;padding:10px 12px;background:var(--hover);border:1px solid var(--line);border-radius:var(--r);font:12px/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}

/* activity */
.act-ico{stroke:var(--ink-3);fill:none;stroke-width:1.5;vertical-align:-3px;margin-right:8px;flex:none}
.what{display:flex;align-items:flex-start}
td.when{white-space:nowrap;color:var(--ink-2);font-size:13px}

/* settings */
.big{font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.1}
.big small{font-size:15px;font-weight:500;color:var(--ink-2);letter-spacing:0}
.setting{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;padding:20px}

/* sign in */
.signin{min-height:100vh;display:grid;place-items:center;padding:24px}
.signin .box{width:100%;max-width:380px}
.signin .panel{padding:24px}

.mlab{display:none}
td.acts{text-align:right;white-space:nowrap}

/* responsive */
@media (max-width:1080px){
  .d-grid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .list{border-right:0;border-bottom:1px solid var(--line);max-height:none;overflow:visible;padding:0 0 12px}
  .pane{padding:20px 0 0}
  .setting{grid-template-columns:1fr;gap:16px}
}
@media (max-width:960px){
  #view{margin-left:0}
  .bar{position:sticky;bottom:auto;width:auto}
  .bar-in{flex-direction:row;flex-wrap:wrap;align-items:center;height:auto;padding:0 12px;gap:0 10px}
  .brand{height:48px;padding:0}
  .ws{display:none}
  .bar .up{order:2;margin:0 0 0 auto;width:auto;height:30px}
  .side-foot{order:3;margin:0;border:0;padding:0}
  .who{padding:4px}
  .nav{order:4;flex-direction:row;flex:0 0 calc(100% + 24px);margin:0 -12px;padding:0 6px;height:42px;border-top:1px solid var(--top-line);overflow-x:auto}
  .nav a{height:100%;border-radius:0;padding:0 9px;gap:6px;border-bottom:2px solid transparent;background:none}
  .nav a:hover{background:none}
  .nav a[aria-current=page]{background:none;border-bottom-color:#fff}
  .nav .count{margin-left:2px}
}
@media (max-width:760px){
  .nav a{padding:0 6px;gap:4px}
  .nav svg{display:none}
  .who .av{display:none}
  .who .who-t{font-size:0;line-height:1}
  .who b{font-size:12px;max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand span{display:none}
            .hchart{align-items:flex-start}
  .dside{align-items:flex-start}
  .d-actions{justify-content:flex-start}
  .dhead{flex-wrap:wrap}
  .band-in{padding:16px 14px 0}
  .band-in.pad{padding-bottom:16px}
  .page{padding:16px 14px 72px}
  .metric{padding-right:18px}
  .metric .num{font-size:22px}
  .weekline{text-align:left}
  .mlab{display:inline;color:var(--ink-3)}
  .toolbar .search{width:100%}
  .toolbar .end{margin-left:0}
  table.resp thead{display:none}
  table.resp tr{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:12px;border-bottom:1px solid var(--line)}
  table.resp td{padding:0;border:0}
  table.resp td.c-1{grid-column:1;grid-row:1}
  table.resp td.c-2{grid-column:2;grid-row:1}
  table.resp td.c-3{grid-column:2}
  table.resp td.c-2 .mono-t{display:none}
  table.resp td.c-full{grid-column:1 / -1;padding-top:3px}
  table.resp td.c-meta{grid-column:1 / -1;font-size:12px;color:var(--ink-3)}
  table.stack thead{display:none}
  table.stack tr{display:block;padding:12px;border-bottom:1px solid var(--line)}
  table.stack td{display:block;padding:0 0 3px;border:0}
  table.stack td.acts{text-align:left;white-space:normal;margin:6px 0 0 -12px}
  .ucol{display:none}
  .findings .f{grid-template-columns:1fr}
  .findings .f .act{text-align:left;max-width:none}
  .inline-form{grid-template-columns:1fr}
  .diff-h{flex-direction:column;gap:2px}
  .pager{justify-content:center}
  .pager > span{flex-basis:100%;text-align:center}
}
/* fleet status board (revision 6): five filter cells over one measured composition bar */
.sboard{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 4px;margin:20px -12px 0}
.scell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;background:none;border:0;border-radius:var(--r);padding:10px 12px 12px;text-align:left;font:inherit;color:var(--ink-2);cursor:pointer}
.scell:hover{background:var(--hover)}
.scell[aria-pressed=true]{background:var(--sunken)}
.scell .lbl{font-size:12px;font-weight:500;color:var(--ink-3)}
.scell[aria-pressed=true] .lbl{color:var(--ink);font-weight:600}
.scell .num{font-size:36px;line-height:1.05;margin:2px 0;font-weight:600;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.scell .num.red{color:var(--red)} .scell .num.amber{color:var(--amber)} .scell .num.green{color:var(--green)}
.scell .sub{font-size:12px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.comp{display:flex;gap:2px;width:100%;max-width:200px;height:6px;margin:5px 0 4px}
.comp i{display:block;min-width:4px;border-radius:1px}
.comp i.red{background:var(--red)} .comp i.amber{background:#c98a1e} .comp i.grey{background:#b6bbc4} .comp i.green{background:#4c9a6f}
.comp i.off{opacity:.25}
/* fleet table (revision 7): fixed columns, one severity strip, one-line issue, exposure and age */
table.fleet{table-layout:fixed}
table.fleet col.c-plug{width:228px} table.fleet col.c-sev{width:128px} table.fleet col.c-live{width:144px} table.fleet col.c-chg{width:108px} table.fleet col.c-chk{width:104px}
table.fleet td{padding:9px 12px}
table.fleet tr.gh th{background:var(--surface);padding:14px 12px 7px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink);text-align:left}
table.fleet tbody tr.gh:first-child th{padding-top:10px}
table.fleet .gn{margin-left:8px;color:var(--ink);font-variant-numeric:tabular-nums}
table.fleet .gd{margin-left:12px;font-weight:400;color:var(--ink-3);font-size:12px}
table.fleet .one{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.fleet .sub2{font-size:12px;color:var(--ink-3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.fleet .sub2 .loc{color:var(--ink-2);overflow-wrap:normal}
table.fleet .sub2 a{font-weight:600}
table.fleet .num-l{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
table.fleet th.sevh{padding-left:12px;padding-right:0}
table.fleet .irow{display:flex;gap:8px;min-width:0;align-items:baseline}
table.fleet .irow .one{flex:1 1 auto;min-width:0}
table.fleet .irow .more{flex:none;color:var(--ink-3)}
table.fleet .irow .fw{flex:none}
.sevs{display:grid;grid-template-columns:repeat(4,26px);gap:2px}
.sevs span{display:grid;place-items:center;height:22px;border-radius:3px;font:600 12px/1 var(--sans);font-variant-numeric:tabular-nums}
.sevs .z{background:var(--hover);box-shadow:inset 0 0 0 1px #edf0f3}
.sevs .c{background:var(--red);color:#fff} .sevs .h{background:var(--red-weak);color:var(--red)} .sevs .m{background:var(--amber-weak);color:var(--amber)} .sevs .l{background:var(--sunken);color:var(--ink-2)}
th.sevh .sevs span{height:auto;font-weight:600;color:var(--ink-3);background:none;box-shadow:none}
table.fleet tr.r-green td,table.fleet tr.r-retired td,table.fleet tr.r-grey td{padding-top:7px;padding-bottom:7px}
table.fleet .stale{font-weight:600;color:var(--ink)}
.hz{color:#c3c8d0}
.nil{color:#b0b6c0}
@media (max-width:1080px){.sboard{grid-template-columns:repeat(3,minmax(0,1fr))}table.fleet col.c-chg{width:96px}table.fleet col.c-chk{width:96px}table.fleet col.c-live{width:128px}table.fleet col.c-plug{width:200px}}
@media (max-width:760px){
  .sboard{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px -8px 0}
  .scell{padding:8px}
  .scell.all{grid-column:1 / -1}
  .scell .num{font-size:24px}
  .scell .sub{white-space:normal}
  table.fleet{table-layout:auto}
  table.fleet colgroup{display:none}
  table.fleet tr.gh{display:block;padding:0}
  table.fleet tr.gh th{display:block;padding:14px 12px 6px}
  table.fleet .gd{display:block;margin:2px 0 0}
  table.resp.fleet tr{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
  table.resp.fleet td.c-2{grid-column:1;grid-row:1;min-width:0}
  table.resp.fleet td.c-sev{grid-column:2;grid-row:1}
  table.resp.fleet td.c-full{grid-column:1 / -1}
  table.resp.fleet td,table.resp.fleet tr.r-green td,table.resp.fleet tr.r-retired td,table.resp.fleet tr.r-grey td{padding:0}
  table.resp.fleet td.c-meta{font-size:12px;color:var(--ink-2)}
  table.resp.fleet td.m-live{grid-column:1 / -1;padding-top:4px}
  table.resp.fleet td.m-chg{grid-column:1}
  table.resp.fleet td.m-chk{grid-column:2;text-align:right}
  table.resp.fleet td.c-meta > div{display:inline}
  table.resp.fleet td.c-meta .sub2{display:inline;margin:0 0 0 6px;white-space:normal}
  table.fleet .one{white-space:normal}
}

/* ---- build additions: classes that replace the preview's inline styles (strict CSP: no inline style) ---- */
.mt0{margin-top:0}.mt6{margin-top:6px}.mt10{margin-top:10px}.mt12{margin-top:12px}.mt14{margin-top:14px}.mt16{margin-top:16px}.mt18{margin-top:18px}
.mb0{margin-bottom:0}.mb4{margin-bottom:4px}.mb8{margin-bottom:8px}.mb10{margin-bottom:10px}.mb12{margin-bottom:12px}.mb14{margin-bottom:14px}.mb20{margin-bottom:20px}.mb24{margin-bottom:24px}
.m0{margin:0}.w600{font-weight:600}.f16{font-size:16px}.f20{font-size:20px}.nowrap{white-space:nowrap}.gap6{gap:6px}.gap8{gap:8px}.wrap{flex-wrap:wrap}.flex1{flex:1;min-width:0}
.end-row{justify-content:flex-end}.between{justify-content:space-between}
.narrow-860{max-width:860px}.narrow-900{max-width:900px}.narrow-600{max-width:600px}.narrow-560{max-width:560px}.narrow-280{max-width:280px}.ml-auto{margin-left:auto}
.callout.top{margin:0 0 14px}
.panel.pad{padding:20px 24px}.panel.pad20{padding:20px}.panel.pad-kv{padding:4px 16px}.panel.empty.pad28{padding:28px}.panel.empty.pad8{padding:8px 0 16px}
.empty.pad24{padding:24px 0}.empty.pad32{padding:32px}
.steps{margin:0;padding-left:20px}.steps li{padding:3px 0}.steps li.todo{color:var(--ink-3)}
.td-min190{min-width:190px}.th-when{width:150px}.th-who{width:170px}
.audit-row{border-bottom:1px solid var(--line)}.audit-row summary{cursor:pointer;padding:12px 16px;display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:12px;align-items:baseline}
.audit-row .body{padding:0 16px 14px}.audit-row .diff{margin-top:0}
.seg-label{display:block;font-weight:600;font-size:13px;margin-bottom:4px}
.perm{margin:6px 0 0;text-align:right}
.retry{margin-top:10px}
.skel.w60{width:60px}.skel.w70{width:70px}.skel.w90{width:90px}.skel.w100{width:100px}.skel.w104{width:104px}.skel.w110{width:110px}.skel.w140{width:140px}.skel.w160{width:160px}.skel.w200{width:200px}.skel.w240{width:240px}.skel.w320{width:320px}
.skel.h9{height:9px;margin-top:6px}.skel.blk{display:block}.skel.lbl{width:70px;height:10px}.skel.num{width:34px;height:24px;margin-top:8px}.skel.sub{width:110px;height:9px;margin-top:8px}
.signin-brand{margin-bottom:20px}.signin-sub{margin:0 0 18px}.signin-actions{justify-content:flex-end;margin-top:18px}
.fw-sep{margin-left:6px}
.pw-actions{justify-content:space-between}
.btn.linkish{height:auto;padding:0;border:0;background:none;color:var(--accent);font-weight:600;font-size:inherit}
.btn.linkish:hover{background:none;color:var(--accent-h)}
@media (max-width:760px){.audit-row summary{grid-template-columns:1fr}.perm{text-align:left}}
.inline-form .span-all{grid-column:1 / -1}
.drop.over{border-color:var(--accent);background:var(--hover)}

/* Approved Design Contract v9, UA-021. */
@font-face{font-family:Geist;src:url(/geist-latin.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root{
  --bg:#f1efec;--surface:#fff;--sunken:#f1f0ed;--hover:#f8f7f4;--line:#e5e4e0;--line-2:#d4d4ce;
  --ink:#17181b;--ink-2:#41423f;--ink-3:#686964;--top:#fff;--top-2:#f5f4f1;--top-line:#e5e4e0;--top-ink:#41423f;
  --accent:#4647c8;--accent-h:#393ab1;--accent-weak:#eeeefa;--accent-on-dark:#4647c8;
  --red:#9d352c;--red-weak:#f9eeeb;--amber:#825d20;--amber-weak:#f7f2e8;--green:#376b4f;--green-weak:#edf5ef;
  --add:#eeeeF8;--add-ink:#2c2d64;--del:#f4f3ef;--del-ink:#4f504b;
  --sans:Geist,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:ui-monospace,"SF Mono",Consolas,monospace;
  --r:8px;--r2:10px;--w:1260px;
}
body{padding:32px 18px 0;font-size:14px;background:var(--bg)}
.bar{position:relative;inset:auto;width:100%;max-width:1330px;margin:auto;background:#fff;color:var(--ink-2);border:1px solid #deddd9;border-bottom:0;border-radius:20px 20px 0 0;box-shadow:0 16px 48px #17181b0a}
.bar-in{height:auto;min-height:70px;padding:0 24px;display:flex;flex-direction:row;align-items:center;gap:0 18px}
.brand{color:var(--ink);font-size:17px;font-weight:650;padding:0;gap:10px}
.brand svg{border-radius:7px}
.ws{display:none}
.nav{margin-left:24px;flex-direction:row;gap:2px;overflow:visible}
.nav a{height:36px;padding:0 10px;border-radius:7px;color:var(--ink-2);font-weight:500}
.nav a:hover{background:var(--hover);color:var(--ink)}
.nav a[aria-current=page]{background:var(--sunken);color:var(--ink);font-weight:600}
.nav .count{color:var(--ink-2)}.nav .count.new{color:var(--accent)}
.bar .up{order:2;margin:0 0 0 auto;width:auto;justify-content:center;height:32px}
.side-foot{order:3;margin:0;border:0;padding:0}
.who,.who b{color:var(--ink)}.who{white-space:nowrap}.who:hover{background:var(--hover)}
.who .av{background:var(--sunken);color:var(--ink)}
.bar :focus-visible{outline-color:var(--accent)}
#view,body.nobar #view{max-width:1330px;min-height:calc(100vh - 104px);margin:0 auto;background:#fff;border:1px solid #deddd9;border-top:0;border-radius:0 0 20px 20px;box-shadow:0 24px 65px #17181b0c;overflow:hidden}
body.nobar #view{border:1px solid #deddd9;border-radius:20px;min-height:calc(100vh - 64px)}
.band{border-bottom:1px solid var(--line)}.band-in{padding-top:30px}.band-in.pad{padding-bottom:26px}
.crumb{font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:9px;color:#71726d}
h1{font-size:34px;line-height:1.12;font-weight:570;letter-spacing:-.04em}
h2{font-size:20px;font-weight:590;letter-spacing:-.025em}
.pane h2{font-size:28px;line-height:1.16;letter-spacing:-.035em}
h3{font-weight:590}
.lead{font-size:15px;color:var(--ink-3);margin-top:8px}
.page{padding-top:28px;padding-bottom:68px}
.panel,.tbl,.diff{border-color:#e2e1dc}
.panel{box-shadow:0 2px 12px #17181b05}
.btn{height:32px;font-weight:560;border-radius:8px;padding:0 12px}
.btn.quiet{border-color:var(--line-2);background:#fff;color:var(--ink-2)}
.btn.quiet:hover{background:var(--sunken);color:var(--ink)}
.btn.quiet[aria-pressed=true]{background:var(--sunken);border-color:var(--line-2);color:var(--ink)}
.btn.dark{background:#fff;border-color:var(--line-2);color:var(--ink)}.btn.dark:hover{background:var(--sunken)}
.btn.primary{box-shadow:0 1px 2px #17181b16}
.tabs{gap:14px}.tabs a{padding:10px 8px 12px}
.tabs a[aria-current=page]{border-bottom-color:var(--ink)}
.sboard{margin-top:28px;border:1px solid var(--line);border-radius:10px;overflow:hidden;gap:0}
.scell{border-radius:0;min-height:94px;padding:16px;border-right:1px solid var(--line)}
.scell:last-child{border-right:0}.scell[aria-pressed=true]{background:#f8f7f4}
.scell .lbl{font-size:13px}.scell .num{font-size:32px;font-weight:570;letter-spacing:-.035em;margin:4px 0}
.scell .num.red,.scell .num.amber,.scell .num.green{color:var(--ink)}
.scell .sub{color:var(--ink-3)}
.comp{display:none}
.sv.red{color:var(--red)}.sv.amber{color:var(--amber)}.sv.green{color:var(--green)}
.sevs .c{background:#4a4a4e;color:white}.sevs .h{background:#e6e5e1;color:var(--ink)}
.sevs .m{background:#f0efeb;color:var(--ink-2)}.sevs .l{background:#f6f5f2;color:var(--ink-2)}
.sevs .z{background:transparent;box-shadow:none;color:var(--ink-3)}
table.grid th{background:#faf9f7}table.grid td{padding-top:13px;padding-bottom:13px}
table.fleet td{padding-top:14px;padding-bottom:14px}
.li[aria-current=true]{box-shadow:none;background:#f4f3f0}
.diff-h{background:#f7f6f3}.diff tr.add td{background:var(--add)}
.callout{border:1px solid var(--line)}
.mono-t{background:#f0efec;color:#434441}.mono-t.lg{border-radius:8px}
.signin{background:transparent}.signin .box{max-width:430px}.signin .panel{padding:32px;border-radius:12px}

@media(max-width:1180px){
  .bar-in{gap:0 10px;padding:0 16px}.nav{margin-left:8px}.nav a{padding:0 7px}.nav svg{display:none}
  .who .av{display:none}.who .who-t{font-size:0;line-height:1}.who b{font-size:12px}
}
@media(max-width:960px){
  body{padding:14px 10px 0}
  .bar{position:relative;width:100%;border-radius:14px 14px 0 0}
  .bar-in{min-height:0;display:flex;flex-wrap:wrap;padding:0 12px;gap:0 8px}
  .brand{height:52px;font-size:16px}.bar .up{order:2;margin-left:auto}.side-foot{order:3}
  .nav{order:4;flex:0 0 calc(100% + 24px);margin:0 -12px;padding:0 6px;height:44px;border-top:1px solid var(--line);overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;scrollbar-width:thin}
  .nav a{height:42px;border-radius:0;border-bottom:2px solid transparent;flex:none}
  .nav a[aria-current=page]{background:none;border-bottom-color:var(--ink)}
  #view,body.nobar #view{margin:0;min-height:calc(100vh - 112px);border-radius:0 0 14px 14px}
  .sboard{grid-template-columns:repeat(3,minmax(0,1fr))}.scell{border-bottom:1px solid var(--line)}
}
@media(max-width:760px){
  .brand span{display:inline}.bar-in{gap:0 6px}.brand{font-size:14px;gap:5px}
  .bar .up{padding:0 8px;font-size:12px}.bar .up svg{display:none}
  .who b{font-size:11px;max-width:none;overflow:visible}
  .nav{justify-content:space-between;scrollbar-width:none}.nav a{padding:0 5px;font-size:12px}.nav .count{margin-left:2px}
  .band-in{padding:22px 16px 0}.band-in.pad{padding-bottom:22px}.page{padding:22px 16px 56px}
  h1{font-size:30px}.lead{font-size:14px}.sboard{grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0 0}
  .pane h2{font-size:24px}
  .scell{padding:12px;min-height:82px}.scell.all{grid-column:1 / -1}.scell .num{font-size:27px}
  .scell:nth-child(2n){border-right:0}.scell.all{border-right:0}
  input.t,textarea.t{font-size:16px}
}
@media(min-width:761px) and (max-width:1060px){
  table.fleet{table-layout:auto}
  table.fleet colgroup,table.fleet thead{display:none}
  table.fleet tr.gh{display:block;padding:0}
  table.fleet tr.gh th{display:block;padding:14px 14px 8px}
  table.fleet tbody tr.click{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:14px;border-bottom:1px solid var(--line)}
  table.fleet tbody tr.click td{display:block;border:0;padding:0;min-width:0}
  table.fleet td.c-2{grid-column:1;grid-row:1}
  table.fleet td.c-sev{grid-column:2;grid-row:1}
  table.fleet td.c-full,table.fleet td.m-live{grid-column:1 / -1}
  table.fleet td.m-chg{grid-column:1}
  table.fleet td.m-chk{grid-column:2;text-align:right}
  table.fleet .one,table.fleet .sub2{white-space:normal;overflow:visible;text-overflow:clip}
  table.fleet .mlab{display:inline}
}
