*{box-sizing:border-box}
:root{--sidew:212px;--ink:#1d2733;--mute:#66737f;--line:#c5cdd5;--line2:#e1e6eb;--panel:#fff;--bg:#e9edf1;--head:#dfe5ea;--acc:#e07b24;--acc2:#c96b17;
  --good:#2e8540;--bad:#b03a2e;--warn:#d68910;--info:#1f618d;--top:#1f2d3a}
body{margin:0;font:13px/1.45 Tahoma,"Segoe UI",Verdana,sans-serif;color:var(--ink);background:var(--bg)}
a{color:#1b4f72}
.btn{background:#f4f6f8;border:1px solid #93a1ae;padding:4px 11px;font:inherit;cursor:pointer;border-radius:2px;color:var(--ink);white-space:nowrap;text-decoration:none;display:inline-block;line-height:1.4}
.btn:hover{background:#e3e8ed}
.btn.pri{background:var(--acc);border-color:#b35e14;color:#fff}.btn.pri:hover{background:var(--acc2)}
.btn.danger{border-color:#b03a2e;color:#8e2a20}.btn.danger:hover{background:#fbecea}
.btn.sm{padding:1px 7px;font-size:11.5px}
.btn:disabled{opacity:.45;cursor:default}
.btn.on{background:#1f2d3a;color:#fff;border-color:#1f2d3a}
.muted{color:var(--mute)}.small{font-size:11px}.nowrap{white-space:nowrap}.mono{font-family:Consolas,"Lucida Console",monospace;font-size:12px}
main{padding:14px 20px 40px;margin-left:var(--sidew)}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-bottom:10px}
.kpi{background:#fff;border:1px solid var(--line);border-left:5px solid #7b8894;padding:7px 10px}
.kpi.link{cursor:pointer}.kpi.link:hover{background:#fbfcfd;border-color:#93a1ae}
.kpi .v{font-size:21px;font-weight:bold;font-variant-numeric:tabular-nums}
.kpi .l{font-size:10px;color:#5b6773;text-transform:uppercase;letter-spacing:.4px}
.kpi.good{border-left-color:var(--good)}.kpi.bad{border-left-color:var(--bad)}.kpi.warn{border-left-color:var(--warn)}.kpi.info{border-left-color:var(--info)}
.section-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#5b6773;margin:8px 0 5px;font-weight:bold}
.panel{background:#fff;border:1px solid var(--line);margin-bottom:12px}
.panel>h3{margin:0;padding:6px 10px;background:var(--head);border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.6px;display:flex;align-items:center;gap:8px}
.panel>h3 .r{margin-left:auto;display:flex;gap:6px;align-items:center;text-transform:none;letter-spacing:0;font-weight:normal}
.pb{padding:10px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cols3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media(max-width:1250px){.cols2,.cols3{grid-template-columns:1fr}}
.bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:7px 10px;background:#f4f6f8;border-bottom:1px solid var(--line)}
.filters input[type=text],.filters select,.filters input[type=date],input.inp,select.inp,textarea.inp{font:inherit;padding:3px 6px;border:1px solid #93a1ae;border-radius:2px;background:#fff}
.filters label{display:flex;gap:4px;align-items:center;white-space:nowrap}
table.grid{width:100%;border-collapse:collapse}
.grid th{background:#eef1f4;text-align:left;padding:5px 8px;border-bottom:1px solid #aab5c0;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.3px;cursor:pointer;white-space:nowrap;user-select:none;color:#3c4853;position:sticky;top:0}
.grid th:hover{background:#e3e8ed}
.grid th.asc:after{content:" \25B2";font-size:8px}.grid th.desc:after{content:" \25BC";font-size:8px}
.grid td{padding:4px 8px;border-bottom:1px solid var(--line2);vertical-align:top}
.grid tbody tr:nth-child(even) td{background:#f8f9fb}
.grid tbody tr.click{cursor:pointer}.grid tbody tr.click:hover td{background:#fdf0e3}
.grid tbody tr.sel td{background:#fde3c8!important}
.grid td.num{text-align:right;font-variant-numeric:tabular-nums}
.empty{text-align:center;color:var(--mute);padding:18px!important}
.pager{display:flex;gap:6px;align-items:center;padding:5px 10px;border-top:1px solid var(--line);background:#f4f6f8;font-size:12px}
.pager select{font:inherit;padding:1px 3px}
.tag{display:inline-block;padding:0 6px;font-size:11px;border:1px solid;border-radius:2px;white-space:nowrap;line-height:17px;vertical-align:baseline}
.t-good{color:#1e6b2f;border-color:#8fc49b;background:#eaf6ec}
.t-bad{color:#8e2a20;border-color:#dd9f98;background:#fbecea}
.t-warn{color:#835400;border-color:#e3bf72;background:#fdf5e3}
.t-info{color:#1b4f72;border-color:#98bedc;background:#eaf2fa}
.t-mute{color:#4d5a66;border-color:#c3ccd4;background:#f1f4f6}
.bars .row{display:grid;grid-template-columns:190px 1fr 55px;gap:8px;align-items:center;padding:2px 0;cursor:pointer}
.bars .row:hover{background:#f8f9fb}
.bars .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bars .track{background:#eef1f4;height:13px;border:1px solid #d3dae0}
.bars .fill{height:100%}
.bars .n{text-align:right;font-weight:bold;font-variant-numeric:tabular-nums}
.f-good{background:var(--good)}.f-bad{background:var(--bad)}.f-warn{background:var(--warn)}.f-info{background:var(--info)}.f-mute{background:#8795a1}
dl.kv{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;margin:0;column-gap:14px}
dl.kv dt{color:#5b6773;padding:3px 0;border-bottom:1px dotted var(--line2);white-space:nowrap}
dl.kv dd{margin:0;padding:3px 0;border-bottom:1px dotted var(--line2);word-break:break-word}
.crumbs{margin-bottom:4px;font-size:12px;color:var(--mute)}
.crumbs a{color:var(--mute)}
h2.title{margin:0 0 3px;font-size:18px}
.notice{padding:7px 10px;border:1px solid #e3bf72;background:#fdf5e3;margin-bottom:8px}
.notice.err{border-color:#dd9f98;background:#fbecea}
.notice.info{border-color:#98bedc;background:#eaf2fa}
.notice.good{border-color:#8fc49b;background:#eaf6ec}
#modal{position:fixed;inset:0;background:rgba(15,25,35,.5);display:flex;align-items:flex-start;justify-content:center;padding-top:50px;z-index:40}
#modal.hidden{display:none}
.mbox{background:#fff;border:1px solid #4d5a66;width:min(980px,95vw);max-height:86vh;display:flex;flex-direction:column}
.mbox h3{margin:0;padding:8px 12px;background:var(--top);color:#fff;font-size:13px}
.mbox .mc{padding:12px;overflow:auto}
.mbox .mf{padding:8px 12px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;background:#f4f6f8}
pre{background:#f4f6f8;border:1px solid var(--line);padding:8px;white-space:pre-wrap;max-height:420px;overflow:auto;font-size:11.5px;margin:0;font-family:Consolas,"Lucida Console",monospace}
.toast{position:fixed;right:16px;bottom:16px;background:var(--top);color:#fff;padding:9px 14px;border-left:5px solid var(--acc);z-index:50;max-width:520px}
.toast.err{border-left-color:var(--bad)}
.warnrow td{color:#8e2a20}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px;margin-bottom:14px}
.rcard{background:#fff;border:1px solid var(--line);border-top:3px solid var(--info);padding:11px 13px;cursor:pointer}
.rcard:hover{background:#fbfcfd;border-color:#93a1ae}
.rcard h4{margin:0 0 4px;font-size:13px}
.rcard p{margin:0;font-size:11.5px;color:#5b6773}
.rcard h4:last-child{margin:0}
.alertlist{display:grid;gap:5px}
.alertrow{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;padding:5px 8px;border:1px solid var(--line2);cursor:pointer;background:#fff}
.alertrow:hover{background:#fdf0e3}
.alertrow .n{font-size:20px;font-weight:bold;text-align:right;font-variant-numeric:tabular-nums}
.alertrow.bad .n{color:var(--bad)}.alertrow.warn .n{color:var(--warn)}.alertrow.good .n{color:var(--good)}
.chip{white-space:nowrap}
.chip .x{color:var(--mute);font-size:10px;margin-left:5px;text-decoration:none}
.chip .x:hover{color:var(--acc)}
.reportnote{background:#f4f6f8;border-left:4px solid var(--info);padding:8px 11px;margin-bottom:10px;font-size:12px}

/* ---------- autocomplete ---------- */
.ac{position:absolute;background:#fff;border:1px solid #4d5a66;z-index:45;display:none;box-shadow:0 8px 22px rgba(0,0,0,.3);max-height:70vh;overflow:auto}
.ac.on{display:block}
.ac a{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;padding:6px 10px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line2)}
.ac a.hl,.ac a:hover{background:#fdf0e3}
.ac .nm{font-weight:bold}
.ac .sub{color:var(--mute);font-size:11px}
.ac .why{font-size:11px;color:#1b4f72;text-align:right}
.ac mark{background:#fde3a7;color:inherit;padding:0}
.ac .foot{padding:5px 10px;font-size:11px;color:var(--mute);background:#f4f6f8}

/* ---------- status dots, pills ---------- */
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#aab5c0;vertical-align:middle}
.dot.on{background:#2eb04a;box-shadow:0 0 0 2px rgba(46,176,74,.18)}
.dot.stale{background:var(--bad)}
.pill{display:inline-block;min-width:17px;padding:0 4px;height:16px;line-height:16px;font-size:10px;font-weight:bold;text-align:center;border-radius:2px;margin-right:2px;color:#fff;background:#aab5c0;vertical-align:middle}
.pill.g{background:var(--good)}.pill.b{background:var(--bad)}.pill.w{background:var(--warn)}.pill.m{background:#aab5c0}.pill.i{background:var(--info)}
.cnt{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;font-size:10.5px;font-weight:bold;color:#fff;text-align:center;line-height:16px}
.cnt.b{background:var(--bad)}.cnt.w{background:var(--warn)}
.spin{display:inline-block;width:11px;height:11px;border:2px solid #c3ccd4;border-top-color:var(--acc);border-radius:50%;animation:sp .8s linear infinite;vertical-align:middle}
@keyframes sp{to{transform:rotate(360deg)}}
.meter{display:inline-block;width:80px;height:8px;background:#eef1f4;border:1px solid #d3dae0;vertical-align:middle;margin-right:5px}
.meter i{display:block;height:100%}

/* ---------- workstations page ---------- */
.mlayout{display:grid;grid-template-columns:260px 1fr;gap:12px;align-items:start}
@media(max-width:1000px){.mlayout{grid-template-columns:1fr}.clients{position:static!important;max-height:260px}}
.clients{background:#fff;border:1px solid var(--line);position:sticky;top:66px;max-height:calc(100vh - 80px);display:flex;flex-direction:column}
.clients .cl-head{padding:7px;border-bottom:1px solid var(--line);background:var(--head)}
.clients .cl-head input{width:100%;font:inherit;padding:4px 7px;border:1px solid #93a1ae;border-radius:2px}
.clients .cl-list{overflow:auto}
.cl{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:5px 9px;border-bottom:1px solid var(--line2);cursor:pointer;font-size:12px}
.cl:hover{background:#fdf0e3}
.cl.on{background:#1f2d3a;color:#fff}
.cl.on .n{color:#c3cdd6}
.cl .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl .n{color:var(--mute);font-variant-numeric:tabular-nums;font-size:11px}
.cl.all{font-weight:bold}
.mhead{display:flex;align-items:flex-end;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.mhead h2{margin:0;font-size:20px}
.mhead .sub{color:var(--mute);font-size:12px}
.seg{display:inline-flex;border:1px solid #93a1ae;border-radius:2px;overflow:hidden}
.seg button{border:0;background:#f4f6f8;padding:4px 11px;font:inherit;cursor:pointer;border-right:1px solid #c3ccd4}
.seg button:last-child{border-right:0}
.seg button.on{background:#1f2d3a;color:#fff}
.bigsearch{position:relative;margin-bottom:8px}
.bigsearch input{width:100%;font:inherit;font-size:15px;padding:9px 12px 9px 34px;border:2px solid #93a1ae;border-radius:3px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2366737f' stroke-width='2.4'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 11px center}
.bigsearch input:focus{outline:none;border-color:var(--acc)}
.bigsearch .ac{top:44px;left:0;right:0}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.fchip{border:1px solid #c3ccd4;background:#fff;border-radius:12px;padding:2px 10px;font:inherit;font-size:12px;cursor:pointer;display:inline-flex;gap:5px;align-items:center}
.fchip:hover{border-color:#93a1ae;background:#f8f9fb}
.fchip b{font-variant-numeric:tabular-nums;color:var(--mute);font-weight:normal}
.fchip.on{background:#1f2d3a;border-color:#1f2d3a;color:#fff}.fchip.on b{color:#f5b041}
.fchip.bad b{color:var(--bad);font-weight:bold}.fchip.warn b{color:var(--warn);font-weight:bold}
.fchip.on.bad b,.fchip.on.warn b{color:#f5b041}
.mname{font-weight:bold}
.msub{color:var(--mute);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}

/* ---------- machine page ---------- */
.hero{background:#fff;border:1px solid var(--line);border-top:4px solid var(--top);padding:10px 14px;margin-bottom:10px;display:grid;grid-template-columns:1fr auto;gap:12px}
.hero h1{margin:0 0 4px;font-size:24px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hero h1 .id{font-size:12px;color:var(--mute);font-weight:normal}
.facts{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;margin:2px 0}
.facts span{white-space:nowrap}
.facts b{font-weight:normal;color:var(--mute);margin-right:3px}
.verdict{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.vchip{font-size:11.5px;padding:2px 8px;border-radius:2px;border:1px solid}
.vchip.a{background:#fbecea;color:#8e2a20;border-color:#dd9f98}
.vchip.w{background:#fdf5e3;color:#835400;border-color:#e3bf72}
.vchip.ok{background:#eaf6ec;color:#1e6b2f;border-color:#8fc49b}
.hero-r{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:200px}
.hero-r .row{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.probebar{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px;align-items:center}
.pq{font-size:11px;border:1px solid #c3ccd4;background:#fff;padding:1px 7px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.pq:hover{border-color:var(--acc)}
.pq.ok{border-color:#8fc49b}.pq.err{border-color:#dd9f98;background:#fbecea}.pq.run{border-color:var(--acc);background:#fdf0e3}.pq.never{color:var(--mute);border-style:dashed}
.tabs{display:flex;flex-wrap:wrap;border-bottom:2px solid var(--top);margin-bottom:10px;gap:1px}
.tabs a{padding:6px 12px;text-decoration:none;color:var(--ink);background:#dfe5ea;border:1px solid var(--line);border-bottom:0;font-size:12.5px;white-space:nowrap}
.tabs a:hover{background:#eef1f4}
.tabs a.on{background:var(--top);color:#fff;border-color:var(--top)}
.tabs a .cnt{margin-left:4px}
.ogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:10px;align-items:start}
.ocard{background:#fff;border:1px solid var(--line)}
.ocard>h4{margin:0;padding:6px 10px;background:var(--head);border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.6px;display:flex;gap:6px;align-items:center}
.ocard>h4 a.go{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:normal;font-size:11px}
.ocard .ob{padding:8px 10px}
.ocard .of{padding:4px 10px;border-top:1px solid var(--line2);font-size:10.5px;color:var(--mute);display:flex;gap:6px;align-items:center;background:#fafbfc}
.ocard .of button{margin-left:auto}
.srcline{font-size:11px;color:var(--mute);display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:5px 10px;background:#fafbfc;border-bottom:1px solid var(--line2)}
.findings{margin:0;padding:0;list-style:none}
.findings li{padding:4px 8px 4px 26px;border-bottom:1px solid var(--line2);position:relative}
.findings li:before{position:absolute;left:8px;top:4px;font-weight:bold}
.findings li.a:before{content:"!";color:#fff;background:var(--bad);border-radius:50%;width:13px;height:13px;font-size:10px;text-align:center;line-height:13px;top:6px}
.findings li.w:before{content:"!";color:#fff;background:var(--warn);border-radius:50%;width:13px;height:13px;font-size:10px;text-align:center;line-height:13px;top:6px}
.findings li.i:before{content:"i";color:#fff;background:var(--info);border-radius:50%;width:13px;height:13px;font-size:10px;text-align:center;line-height:13px;top:6px}
.findings li.ok:before{content:"\2713";color:var(--good)}
.agentcard{border:1px solid var(--line);border-left:5px solid #aab5c0;padding:8px 10px;background:#fff;min-width:0;overflow:hidden}
.agentcard.good{border-left-color:var(--good)}.agentcard.info{border-left-color:var(--info)}.agentcard.bad{border-left-color:var(--bad)}.agentcard.warn{border-left-color:var(--warn)}
.agentcard h5{margin:0 0 4px;font-size:13px;display:flex;gap:8px;align-items:center}
.agentcard h5 .r{margin-left:auto;display:flex;gap:4px}
.agents{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;margin-bottom:10px}
.spark{display:inline-flex;align-items:flex-end;gap:1px;height:26px;vertical-align:middle}
.spark i{display:block;width:4px;background:var(--info)}
details.raw summary{cursor:pointer;color:var(--mute);font-size:11px;padding:4px 10px}
.tbl-sm td,.tbl-sm th{padding:3px 6px!important;font-size:12px}
.big{font-size:22px;font-weight:bold}

/* ---------- terminal ---------- */
.term{background:#0e1621;color:#d6e2ee;font-family:Consolas,"Lucida Console",monospace;font-size:12.5px;min-height:340px;max-height:62vh;overflow:auto;padding:10px 12px;border:1px solid #0b1220}
.term .ent{margin-bottom:12px;border-left:3px solid #33475a;padding-left:9px}
.term .ent.run{border-left-color:var(--acc)}.term .ent.ok{border-left-color:#2eb04a}.term .ent.bad{border-left-color:#e05545}
.term .pr{color:#f5b041;white-space:pre-wrap;word-break:break-word}
.term .pr .who{color:#7fb4e6}
.term .meta{color:#7b8b99;font-size:11px}
.term .out{white-space:pre-wrap;word-break:break-word;margin-top:3px;color:#d6e2ee}
.term .hint{color:#f0a36e;font-size:11.5px;margin-top:3px}
.termbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:7px 10px;background:#1f2d3a;color:#c3cdd6}
.termbar .seg button{background:#2b3b4a;color:#c3cdd6;border-right-color:#1f2d3a}
.termbar .seg button.on{background:var(--acc);color:#fff}
.termin{display:flex;gap:0;border:1px solid #0b1220;border-top:0}
.termin textarea{flex:1;background:#0b1220;color:#fff;border:0;font-family:Consolas,"Lucida Console",monospace;font-size:13px;padding:8px 10px;resize:vertical;min-height:40px}
.termin textarea:focus{outline:none}
.termin button{border-radius:0}
.snips{display:flex;gap:4px;flex-wrap:wrap;padding:6px 0}
.snips button{font-size:11px;padding:1px 7px}

@media print{
  #side,#bar,.filters,.pager,#modal,.bar,.clients,.tabs,.hero-r,.probebar{display:none!important}
  #shellmain,main{margin-left:0!important}
  body{background:#fff}main{padding:0;max-width:none}.mlayout{display:block}
  .panel{border:0}.panel>h3{background:#fff;border-bottom:2px solid #000}
  .kpi{border:1px solid #999}table.grid{font-size:10px}
  .grid tbody tr:nth-child(even) td{background:#fff}
}
.nw{white-space:nowrap}

/* ---------- v5.1 readiness / deadlines / versions ---------- */
.kpi.sel{outline:2px solid var(--acc);outline-offset:-2px;background:#fdf0e3}
.dlhead{display:flex;gap:10px;align-items:baseline;margin:2px 0 6px}
.dlhead b{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#5b6773}
.dlhead a{font-size:11.5px}
.dlcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;margin-bottom:12px}
.dlcard{background:#fff;border:1px solid var(--line);border-top:4px solid var(--info);padding:9px 12px;cursor:pointer;display:flex;flex-direction:column;gap:3px}
.dlcard:hover{background:#fbfcfd;border-color:#93a1ae}
.dlcard.bad{border-top-color:var(--bad)}.dlcard.warn{border-top-color:var(--warn)}.dlcard.info{border-top-color:var(--info)}
.dl-when{font-size:12px;display:flex;gap:8px;align-items:baseline}
.dl-when span{color:var(--mute);font-size:11px}
.dlcard.bad .dl-when span{color:var(--bad);font-weight:bold}.dlcard.warn .dl-when span{color:#835400;font-weight:bold}
.dl-title{font-weight:bold;font-size:13px}
.dl-n{color:var(--mute)}.dl-n .big{color:var(--ink);margin-right:3px}
.dlcard.bad .dl-n .big{color:var(--bad)}
.dl-sub{display:flex;flex-wrap:wrap;gap:4px}
.dl-desc{font-size:11.5px;color:#5b6773}
.dlcards.compact{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.dlcards.compact .dlcard{padding:7px 10px}
.dlcards.compact .dl-desc{display:none}
.dlcards.compact .big{font-size:18px}
.vfams{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-bottom:10px}
.vfam{background:#fff;border:1px solid var(--line);border-left:5px solid #7b8894;padding:7px 10px;cursor:pointer}
.vfam:hover{background:#fbfcfd;border-color:#93a1ae}
.vfam.on{border-left-color:var(--acc);background:#fdf0e3}
.vfam h4{margin:0 0 4px;font-size:13px}
.vnums{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:3px}
.intelbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;padding:6px 10px;background:#f4f6f8;border:1px solid var(--line);margin-bottom:8px}

/* ---------- v5.2 vulnerabilities ---------- */
.cvss{display:inline-block;min-width:34px;text-align:center;font-weight:bold;font-size:11px;border-radius:2px;padding:0 4px;color:#fff;line-height:17px;font-variant-numeric:tabular-nums}
.cvss.cv-c{background:#7b1f16}.cvss.cv-h{background:#c0392b}.cvss.cv-m{background:#d68910}.cvss.cv-l{background:#5b6773}.cvss.cv-n{background:#aab5c0}
.filters input[type=range]{vertical-align:middle;accent-color:var(--acc)}
.seg button[data-cv],.seg button[data-vw]{padding:2px 9px}
.mbox.wide{width:min(1320px,96vw)}
.actrow{padding:3px 0;border-bottom:1px dotted var(--line2)}
.actrow .st-run{color:#b35e14}

/* ---------- v5.2 shell: sidebar + slim top bar ---------- */
#side{position:fixed;left:0;top:0;bottom:0;width:var(--sidew);background:#17222d;color:#c3cdd6;display:flex;flex-direction:column;z-index:30;border-right:1px solid #0e161e}
#side .brand{font-weight:bold;letter-spacing:3px;padding:0 18px;height:52px;display:flex;align-items:center;gap:8px;cursor:pointer;color:#fff;font-size:14px;border-bottom:1px solid #22303d;white-space:nowrap}
#side .brand small{letter-spacing:0;color:#f5b041;font-size:10px;font-weight:normal}
#nav{flex:1;overflow-y:auto;padding:6px 0 14px;scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable}
#nav:hover{scrollbar-color:#34475a transparent}
#nav::-webkit-scrollbar{width:6px}
#nav::-webkit-scrollbar-track{background:transparent}
#nav::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}
#nav:hover::-webkit-scrollbar-thumb{background:#34475a}
#nav .nsec{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#6f8090;padding:11px 18px 4px;font-weight:bold}
#nav a{display:flex;align-items:center;gap:11px;padding:6px 18px 6px 15px;color:#b7c3ce;text-decoration:none;font-size:13px;border-left:3px solid transparent;white-space:nowrap}
#nav a svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
#nav a:hover{background:#1f2e3b;color:#fff}
#nav a.on{background:#233444;color:#fff;border-left-color:var(--acc);font-weight:bold}
#nav a.on svg{opacity:1;color:#f5b041}
#bar{position:sticky;top:0;z-index:25;margin-left:var(--sidew);height:52px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 20px}
#navtoggle{display:none;background:none;border:0;cursor:pointer;padding:6px;flex-direction:column;gap:4px}
#navtoggle span{display:block;width:20px;height:2px;background:#3c4853}
#gsearch{position:relative;flex:1;max-width:560px}
#gs{width:100%;font:inherit;padding:7px 12px 7px 34px;border:1px solid #c3ccd4;border-radius:18px;background:#f4f6f8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%2366737f' stroke-width='2.4'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px center;color:var(--ink)}
#gs:focus{outline:none;border-color:var(--acc);background-color:#fff}
#gsres{top:42px;left:0;width:min(620px,calc(100vw - 30px))}
.bar-r{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0}
.pill-status{display:inline-flex;align-items:center;gap:7px;max-width:520px;overflow:hidden;white-space:nowrap;font:inherit;font-size:12.5px;cursor:pointer;
  background:#f4f6f8;border:1px solid #c3ccd4;border-radius:16px;padding:5px 12px;color:var(--ink)}
.pill-status:hover{border-color:#93a1ae;background:#eef1f4}
.pill-status.busy{background:#fdf0e3;border-color:#e3bf72}
.pill-status.err{border-color:#dd9f98}
.pill-status b{font-weight:bold;overflow:hidden;text-overflow:ellipsis}
.pill-status .muted{font-variant-numeric:tabular-nums}
.pill-status .sb{font-size:11px;background:#fff;border:1px solid #d3dae0;border-radius:9px;padding:0 7px;color:#3c4853}
.pill-status .sb.bad{color:#8e2a20;border-color:#dd9f98;background:#fbecea}
.dd{position:relative}
.dd .caret{font-size:9px;margin-left:3px}
.ddmenu{display:none;position:absolute;right:0;top:40px;width:370px;background:#fff;border:1px solid #93a1ae;box-shadow:0 10px 26px rgba(0,0,0,.22);z-index:45;padding:4px 0}
.dd.open .ddmenu{display:block}
.ddmenu button{display:grid;grid-template-columns:1fr auto;gap:1px 10px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line2);padding:8px 14px;font:inherit;cursor:pointer;color:var(--ink)}
.ddmenu button:hover{background:#fdf0e3}
.ddmenu button b{grid-column:1}
.ddmenu button span{grid-column:1 / span 2;font-size:11.5px;color:var(--mute)}
.ddmenu button em{grid-column:2;grid-row:1;font-style:normal;font-size:11px;color:var(--mute);white-space:nowrap}
.ddmenu button em.bad{color:var(--bad);font-weight:bold}
.ddfoot{display:flex;justify-content:space-between;gap:8px;padding:7px 14px 4px;font-size:11px;color:var(--mute)}
@media(max-width:1000px){
  :root{--sidew:0px}
  #side{transform:translateX(-100%);transition:transform .15s;width:230px;box-shadow:0 0 30px rgba(0,0,0,.35)}
  body.navopen #side{transform:none}
  #navtoggle{display:flex}
  .pill-status .sb{display:none}
}

/* ---------- v5.3 reports ---------- */
.rcard .rc-top{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:5px}
.rcard .rc-group{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#5b6773;font-weight:bold}
.rcard.rc-vulnerabilities,.rcard.rc-security{border-top-color:var(--bad)}.rcard.rc-patching{border-top-color:var(--acc)}
.rcard.rc-lifecycle,.rcard.rc-hardware{border-top-color:var(--warn)}.rcard.rc-management{border-top-color:#1f2d3a}.rcard.rc-identity{border-top-color:#6c3483}
.rcard.rc-operations{border-top-color:#7b8894}
.rp-cad{margin-bottom:6px}
.rp-cadh{display:flex;gap:10px;align-items:baseline;margin:6px 0 6px}
.rp-cadh b{font-size:13px}.rp-cadh span{color:var(--mute);font-size:12px}
.rp-links{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.rp-toolbar,.rp-crumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.rp-crumb{margin-bottom:4px}
.rdoc{background:#fff;border:1px solid var(--line);padding:22px 28px;max-width:1180px}
.rdoc h3{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#3c4853;border-bottom:2px solid #1f2d3a;padding-bottom:3px;margin:18px 0 8px}
.rdoc-h{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:3px solid var(--acc);padding-bottom:12px}
.rdoc-h h1{margin:2px 0 4px;font-size:26px}
.rdoc-co{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#5b6773;font-weight:bold}
.kpis-sm{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.kpis-sm .kpi .v{font-size:17px}
.rdoc-f{margin-top:18px;border-top:1px solid var(--line);padding-top:8px;font-size:11px;color:#5b6773}
.rdoc-f p{margin:4px 0}
.rdoc-scope{border-collapse:collapse;font-size:12px}.rdoc-scope th{text-align:left;font-weight:normal;color:#5b6773;padding:1px 14px 1px 0}.rdoc-scope td{text-align:right;font-weight:bold;font-variant-numeric:tabular-nums}
.rdoc-fresh{border-collapse:collapse;margin:3px 0 6px}.rdoc-fresh td{padding:1px 16px 1px 0}
tr.fr-bad td:first-child{border-left:3px solid var(--bad)}tr.fr-warn td:first-child{border-left:3px solid var(--warn)}tr.fr-info td:first-child{border-left:3px solid var(--info)}
.print-only{display:none}
@media print{
  .rp-toolbar,.rp-crumb,.rp-links,#r-bycl-p{display:none!important}
  .print-only{display:block}.rp-phead{border-bottom:2px solid #000;margin-bottom:6px;padding-bottom:3px;font-size:11px}
  .rdoc{border:0;padding:0;max-width:none}
  .rdoc tr,.rdoc li,.kpi{break-inside:avoid}
  .tag,.cvss,.meter i,.bars .fill{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .noprint{display:none}
  .chip .x{display:none}
}
[hidden]{display:none!important}

/* ---------- v5.3 patching ---------- */
.selbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 10px;background:#fdf6ee;border-bottom:1px solid var(--line)}
.selbar .sep,.bar .sep{width:1px;height:18px;background:var(--line)}
.pd-sum{font-size:14px;margin-bottom:8px}
.pd-scroll{max-height:320px;overflow:auto;border:1px solid var(--line2);margin-bottom:6px}
.pd-kbs{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:11.5px}
.pd-kbs label{display:inline-flex;gap:3px;align-items:center;white-space:nowrap}

/* per-client refresh */
.ddscope{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line2);background:#f6f8fa;font-size:12px;color:var(--mute)}
.ddscope select{flex:1;min-width:0;font:inherit;font-size:12.5px;padding:3px 4px}
.ddmenu.scoped button[data-sync] b::after{content:" - " attr(data-client);font-weight:normal;font-size:12px;color:var(--mute)}
.ddmenu.scoped .ddscope{background:#fdf0e3}
#clientref{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crf-sec{margin:12px 0 4px;font-weight:bold}
.crf-row{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--line2)}
.crf-row .d{grid-column:2;font-size:11.5px;color:var(--mute)}
.crf-row .t{grid-column:3;grid-row:1;font-size:11.5px;color:var(--mute);white-space:nowrap}
.crf-live{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 14px;margin:4px 0}
.crf-live label{display:flex;gap:6px;align-items:baseline}
.crf-live small{color:var(--mute)}
@media (max-width:1000px){#clientref{max-width:130px}}

/* many machines: selection bar, script picker, custom query */
.selbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 10px;margin:0 0 6px;background:#fdf0e3;border:1px solid #e3bf72}
.selbar .sep{width:1px;height:20px;background:#e3bf72;margin:0 4px}
.sr-list{max-height:240px;overflow:auto;border:1px solid var(--line2);margin:6px 0}
.sr-list a{display:block;padding:5px 9px;border-bottom:1px solid var(--line2);color:var(--ink);text-decoration:none}
.sr-list a:hover{background:#f4f6f8}.sr-list a.on{background:#fdf0e3}
.q-cols{grid-template-columns:minmax(220px,1fr) 2.2fr}
.q-saved a{display:block;padding:7px 12px;border-bottom:1px solid var(--line2);color:var(--ink);text-decoration:none}
.q-saved a:hover{background:#f4f6f8}.q-saved a.on{background:#fdf0e3}.q-saved a span{display:block}
.q-code{background:#f6f8fa;border:1px solid var(--line2);padding:8px 10px;white-space:pre-wrap;max-height:220px;overflow:auto}
pre.q-ans{margin:0;white-space:pre-wrap;max-height:160px;overflow:auto;font-size:12px}
@media (max-width:1000px){.q-cols{grid-template-columns:1fr}}
.pd-list{max-height:230px;overflow:auto;border:1px solid var(--line2);padding:4px 8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 12px}
.pd-m{display:flex;gap:6px;align-items:baseline;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* trends: one series per chart, recessive grid, end label, crosshair tooltip */
.tr-filters{align-items:center}
.tr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;margin-bottom:10px}
.tr-grid-sm{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.tr-card{background:#fff;border:1px solid var(--line);padding:8px 10px 4px;min-width:0}
.tr-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.tr-l{font-size:10.5px;color:#5b6773;text-transform:uppercase;letter-spacing:.4px}
.tr-v{font-size:21px;font-weight:bold;font-variant-numeric:tabular-nums;line-height:1.2}
.tr-c{position:relative;height:110px;margin-top:2px}
.tr-svg{display:block;overflow:visible;outline:none}
.tr-svg:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.tr-gl{stroke:#e1e6eb;stroke-width:1}
.tr-tick{font-size:10px;fill:#66737f;font-variant-numeric:tabular-nums}
.tr-end{font-size:11px;fill:#1d2733;font-weight:bold;font-variant-numeric:tabular-nums}
.tr-x{stroke:#93a1ae;stroke-width:1;stroke-dasharray:2 2}
.tr-tip{position:absolute;top:-4px;background:#1f2d3a;color:#fff;font-size:11.5px;padding:3px 7px;border-radius:2px;pointer-events:none;white-space:nowrap}
.tr-tip b{font-variant-numeric:tabular-nums}
.tr-delta{font-size:11.5px;color:var(--mute);white-space:nowrap}
.tr-delta.up-good{color:var(--good)}.tr-delta.up-bad{color:var(--bad)}
.tr-empty{padding:40px 0;text-align:center}
.tr-table summary{cursor:pointer;padding:8px 12px;font-weight:bold}
.tr-table td.num{text-align:right;font-variant-numeric:tabular-nums}
@media print{.tr-card{break-inside:avoid}.tr-tip,.tr-x,.tr-dot{display:none}}

/* Huntress console */
.hn-brks{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 18px}
.hn-brk > b{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:#5b6773;margin-bottom:4px}
.hn-bv{display:inline-block;margin:0 6px 4px 0;padding:2px 7px;border:1px solid var(--line);border-radius:2px;cursor:pointer;font-size:12px;background:#fff}
.hn-bv:hover{border-color:#93a1ae}.hn-bv.on{background:#1f2d3a;color:#fff;border-color:#1f2d3a}
.hn-top{align-items:center}
.hn-why{min-width:240px;max-width:420px}
.hn-iss{min-width:170px}
.hn-map{max-width:210px}
/* backups (Backup Radar): 31-day strip, colour + tooltip per day */
.bk-strip{display:inline-flex;gap:1px;vertical-align:middle;padding:1px 0}
.bk-strip i{display:inline-block;width:4px;height:12px;border-radius:1px;background:#c9ced4}
.bk-strip.big i{width:8px;height:16px;cursor:pointer}.bk-strip.big i.bk-x{cursor:default}
.bk-S{background:#2e8540!important}.bk-W{background:#d68910!important}.bk-F{background:#b03a2e!important}.bk-N{background:#6c2a22!important}
.bk-P{background:#a7b2bc!important}.bk-x{background:#eef1f4!important;box-shadow:inset 0 0 0 1px #d3d9df}.bk-u{background:#7b8894!important}
.bk-legend{display:inline-flex;flex-wrap:wrap;gap:4px 10px;vertical-align:middle}.bk-legend span{display:inline-flex;align-items:center;gap:4px}
.bk-legend i{display:inline-block;width:9px;height:9px;border-radius:1px}
.bk-jl{margin:1px 0 4px;min-width:280px}.bk-jl .bk-strip{margin-left:2px}
.bk-job{padding:4px 0 6px;border-bottom:1px solid var(--line2)}.bk-job:last-of-type{border-bottom:0}
@media print{.bk-strip i,.bk-legend i{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
