/* Zero Point console v0.9 — no JavaScript, no inline styles (CSP style-src 'self'). Logical properties: one sheet for RTL and LTR. */
@font-face{font-family:Vazirmatn;src:url(fonts/Vazirmatn-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(fonts/Vazirmatn-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(fonts/Vazirmatn-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(fonts/Vazirmatn-Bold.woff2) format("woff2");font-weight:700 800;font-display:swap}

:root{color-scheme:light dark;
--bg:#eef2f7;--card:#fff;--card2:#f6f8fb;--card3:#edf1f7;--line:#dfe5ee;--line2:#ebeff5;--fg:#0f1b2d;--fg2:#2b3a52;--mut:#617089;
--acc:#2563eb;--acc2:#1d4fd8;--acc-soft:#2563eb14;--acc-fg:#fff;
--ok:#12a150;--warn:#d98a06;--bad:#e5484d;--crit:#b4233a;--info:#5b7fc7;--cap:#7c3aed;--gap:#d5dbe4;
--tb:#0a1428;--tb2:#13213d;--tb-fg:#c8d3e6;--nav:#fff;--nav-fg:#33425b;--nav-on:#2563eb14;
--r:12px;--r2:8px;--shadow:0 1px 2px #0f1b2d0f,0 2px 8px #0f1b2d08;--shadow2:0 8px 30px #0f1b2d1f}
:root[data-theme=light]{color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#080d17;--card:#0f1726;--card2:#141e31;--card3:#1a263c;--line:#1f2b42;--line2:#18233a;--fg:#e6edf8;--fg2:#c3cee0;--mut:#8b9bb6;--acc:#4f8bff;--acc2:#6b9dff;--acc-soft:#4f8bff1f;--ok:#2fd27f;--warn:#ffb03a;--bad:#ff6b70;--crit:#ff4d6a;--info:#7f9fd8;--cap:#a78bfa;--gap:#26324a;--tb:#050912;--tb2:#0d1626;--nav:#0b1220;--nav-fg:#b4c1d6;--nav-on:#4f8bff24;--shadow:0 1px 2px #0008;--shadow2:0 10px 30px #000a}}
:root[data-theme=dark]{color-scheme:dark;--bg:#080d17;--card:#0f1726;--card2:#141e31;--card3:#1a263c;--line:#1f2b42;--line2:#18233a;--fg:#e6edf8;--fg2:#c3cee0;--mut:#8b9bb6;--acc:#4f8bff;--acc2:#6b9dff;--acc-soft:#4f8bff1f;--ok:#2fd27f;--warn:#ffb03a;--bad:#ff6b70;--crit:#ff4d6a;--info:#7f9fd8;--cap:#a78bfa;--gap:#26324a;--tb:#050912;--tb2:#0d1626;--nav:#0b1220;--nav-fg:#b4c1d6;--nav-on:#4f8bff24;--shadow:0 1px 2px #0008;--shadow2:0 10px 30px #000a}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.6 Vazirmatn,system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{margin:0;line-height:1.35}h2{font-size:.95rem;font-weight:700}h3{font-size:.82rem;color:var(--mut);margin:0 0 .5rem;font-weight:600}
h2.sec{margin:1.6rem 0 .8rem;font-size:1.02rem}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}
code{background:var(--card3);padding:.12em .45em;border-radius:5px}
small{display:block;color:var(--mut);font-size:.8em;line-height:1.4}
.muted{color:var(--mut)}.lead{margin:0 0 1rem;color:var(--fg2)}.meta{color:var(--mut);margin:0 0 1rem}
.ic{inline-size:18px;block-size:18px;flex:none}
.logo{inline-size:30px;block-size:30px;flex:none}.logo-bg{fill:#2563eb}.logo-dot{fill:#fff}.logo-ring{stroke:#ffffff8c;stroke-width:1.5}

/* ---------- top bar ---------- */
.tb{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;block-size:56px;padding-inline:16px 14px;background:linear-gradient(90deg,var(--tb),var(--tb2));color:var(--tb-fg);border-block-end:1px solid #ffffff10}
.brand{display:flex;align-items:center;gap:10px;color:#fff;min-inline-size:214px}.brand:hover{text-decoration:none}
.brand b{display:block;font-size:.98rem;letter-spacing:.01em;line-height:1.1}.brand small{color:#8fa3c4;font-size:.7rem;line-height:1.2}
.tb-search{flex:1;max-inline-size:520px;position:relative;display:flex;align-items:center}
.tb-search .ic{position:absolute;inset-inline-start:11px;color:#8fa3c4;inline-size:16px;block-size:16px}
.tb-search input{margin:0;inline-size:100%;background:#ffffff12;border:1px solid #ffffff1a;color:#fff;border-radius:9px;padding:8px 12px;padding-inline-start:34px;font-size:.86rem}
.tb-search input::placeholder{color:#8fa3c4}.tb-search input:focus{outline:2px solid var(--acc);background:#ffffff1c}
.tb-r{margin-inline-start:auto;display:flex;align-items:center;gap:6px}
.tb-btn{display:inline-flex;align-items:center;justify-content:center;min-inline-size:36px;block-size:36px;padding:0 8px;border-radius:9px;color:var(--tb-fg);font-weight:700;font-size:.82rem}
.tb-btn:hover{background:#ffffff14;color:#fff;text-decoration:none}
.um{position:relative}.um summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;border-radius:9px;color:#fff}
.um summary::-webkit-details-marker{display:none}.um summary:hover{background:#ffffff14}
.um summary em{font-style:normal;font-size:.68rem;color:#9fb3d6;background:#ffffff14;padding:1px 7px;border-radius:99px}
.um .menu{position:absolute;inset-inline-end:0;top:calc(100% + 6px);min-inline-size:190px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow2);padding:6px;display:flex;flex-direction:column}
.um .menu a,.um .menu button{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;color:var(--fg);background:none;border:0;font:inherit;cursor:pointer;inline-size:100%;text-align:start}
.um .menu a:hover,.um .menu button:hover{background:var(--card2);text-decoration:none}
.um .menu form{margin:0}

/* ---------- frame ---------- */
.frame{display:flex;min-block-size:calc(100vh - 56px)}
.nav{inline-size:236px;flex:none;background:var(--nav);border-inline-end:1px solid var(--line);position:sticky;top:56px;block-size:calc(100vh - 56px);overflow:auto;display:flex;flex-direction:column;padding:12px 10px}
.nav nav{display:flex;flex-direction:column;gap:10px}
.grp p{margin:6px 10px 4px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
:root[lang=fa] .grp p,html[lang=fa] .grp p{letter-spacing:0;font-size:.74rem}
.grp a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:var(--nav-fg);font-weight:500;font-size:.88rem;position:relative}
.grp a .ic{inline-size:17px;block-size:17px;opacity:.85}
.grp a:hover{background:var(--card2);text-decoration:none;color:var(--fg)}
.grp a.on{background:var(--nav-on);color:var(--acc);font-weight:700}
.grp a.on::before{content:"";position:absolute;inset-inline-start:-10px;top:6px;bottom:6px;inline-size:3px;border-radius:0 3px 3px 0;background:var(--acc)}
.ver{margin:auto 10px 0;padding-block-start:14px;color:var(--mut);font-size:.72rem}
.content{flex:1;min-inline-size:0;display:flex;flex-direction:column}
.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:20px 28px 6px;flex-wrap:wrap}
.crumb{margin:0;font-size:.74rem;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
html[lang=fa] .crumb{letter-spacing:0;text-transform:none}
.ph h1{font-size:1.45rem;font-weight:800;letter-spacing:-.01em}
.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
main{padding:12px 28px 48px;max-inline-size:1440px;inline-size:100%}

/* ---------- grid & cards ---------- */
.grid{display:grid;gap:14px;margin-block-end:14px}
.k4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.k6{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.g12{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.tight{gap:12px;margin-block-end:8px}
.stack{display:flex;flex-direction:column;gap:14px}.stack .card{margin:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);margin-block-end:14px;min-inline-size:0}
.grid>.card,.grid>.stack{margin:0}
.card.flush{padding:0;overflow:hidden}.card.flush .card-h{padding:14px 18px;margin:0;border-block-end:1px solid var(--line2)}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-block-end:12px;flex-wrap:wrap}
.card-h h2{display:flex;align-items:center;gap:8px}
.card.highlight{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}
.more{font-size:.82rem;font-weight:600}
.card .sub{margin:-6px 0 12px;color:var(--mut);font-size:.84rem}

/* KPI (legacy) and status tiles */
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow);border-inline-start:4px solid var(--line);display:flex;flex-direction:column;gap:2px;min-inline-size:0}
.kpi.ok{border-inline-start-color:var(--ok)}.kpi.warn{border-inline-start-color:var(--warn)}.kpi.bad{border-inline-start-color:var(--bad)}.kpi.acc{border-inline-start-color:var(--acc)}
.kpi-l{color:var(--mut);font-size:.8rem;font-weight:500}
.kpi strong{font-size:1.75rem;line-height:1.2;font-weight:800}.kpi strong em{font-style:normal;font-size:.95rem;color:var(--mut);font-weight:500}
.kpi-s{color:var(--mut);font-size:.78rem}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow);display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;min-inline-size:0;position:relative;overflow:hidden}
.tile:hover{text-decoration:none;border-color:var(--acc)}
.tile .ti{grid-row:span 2;inline-size:42px;block-size:42px;border-radius:11px;display:grid;place-items:center;background:var(--card3);color:var(--mut)}
.tile .ti .ic{inline-size:21px;block-size:21px}
.tile .tl{color:var(--mut);font-size:.78rem;font-weight:600}
.tile .tv{font-size:1.55rem;font-weight:800;line-height:1.15;color:var(--fg)}.tile .tv em{font-style:normal;font-size:.9rem;color:var(--mut);font-weight:500}
.tile .ts{grid-column:1/-1;color:var(--mut);font-size:.76rem;border-block-start:1px solid var(--line2);padding-block-start:8px;margin-block-start:6px}
.tile.ok .ti{background:#12a1501a;color:var(--ok)}.tile.warn .ti{background:#d98a061f;color:var(--warn)}.tile.bad .ti{background:#e5484d1a;color:var(--bad)}.tile.acc .ti{background:var(--acc-soft);color:var(--acc)}.tile.cap .ti{background:#7c3aed1a;color:var(--cap)}
.tile::after{content:"";position:absolute;inset-block:0;inset-inline-start:0;inline-size:3px;background:transparent}
.tile.ok::after{background:var(--ok)}.tile.warn::after{background:var(--warn)}.tile.bad::after{background:var(--bad)}.tile.acc::after{background:var(--acc)}.tile.cap::after{background:var(--cap)}

/* pills, chips, badges */
.pill{display:inline-flex;align-items:center;gap:5px;padding:1px 9px;border-radius:99px;font-size:.74rem;font-weight:700;background:var(--card3);border:1px solid var(--line);color:var(--fg2);white-space:nowrap;line-height:1.7}
.pill::before{content:"";inline-size:6px;block-size:6px;border-radius:50%;background:currentColor;opacity:.8}
.pill.online,.pill.mode-block,.pill.ok,.pill.allow,.pill.t-challenge_passed{background:#12a1501a;color:var(--ok);border-color:#12a15040}
.pill.stale,.pill.mode-monitor,.pill.sev-medium,.pill.warn,.pill.t-would_block{background:#d98a061c;color:var(--warn);border-color:#d98a0640}
.pill.offline,.pill.sev-high,.pill.bad,.pill.block,.pill.t-blocked,.pill.t-banned,.pill.t-wp_xmlrpc_blocked,.pill.t-wp_user_enumeration_blocked,.pill.t-wp_upload_blocked{background:#e5484d1a;color:var(--bad);border-color:#e5484d40}
.pill.t-challenged,.pill.t-wp_captcha_failed,.pill.cap{background:#7c3aed17;color:var(--cap);border-color:#7c3aed3a}
.pill.t-wp_login_failed,.pill.info{background:#5b7fc71a;color:var(--info);border-color:#5b7fc740}
.pill.revoked{opacity:.7}
.pill.sev-critical{background:var(--crit);color:#fff;border-color:var(--crit)}
.pill.sev-low,.pill.sev-info{background:#5b7fc71a;color:var(--info);border-color:#5b7fc740}
.chip{display:inline-block;min-inline-size:1.7em;text-align:center;padding:0 7px;border-radius:6px;font-size:.76rem;font-weight:700;margin-inline-end:3px;background:var(--card3);color:var(--mut)}
.chip.sev-critical{background:var(--crit);color:#fff}.chip.sev-high{background:var(--bad);color:#fff}.chip.sev-medium{background:var(--warn);color:#1b1200}.chip.sev-low{background:var(--info);color:#fff}.chip.ok{background:#12a1501a;color:var(--ok)}
.cc{display:inline-block;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;font-weight:700;padding:0 5px;border-radius:4px;background:var(--card3);color:var(--fg2);border:1px solid var(--line)}
.ipl{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.84rem;direction:ltr;unicode-bidi:embed}

/* buttons & forms */
.btn,button.btn{display:inline-flex;align-items:center;gap:6px;background:var(--acc);color:var(--acc-fg);border:1px solid transparent;border-radius:var(--r2);padding:8px 15px;font:inherit;font-weight:600;cursor:pointer;line-height:1.4;white-space:nowrap}
.btn:hover{background:var(--acc2);text-decoration:none}
.btn.secondary{background:var(--card);color:var(--fg);border-color:var(--line)}.btn.secondary:hover{background:var(--card2)}
.btn.ghostbtn{background:transparent;color:var(--acc);border-color:transparent}
.btn.danger{background:var(--bad)}.btn.danger:hover{filter:brightness(1.05)}
.btn.sm{padding:4px 10px;font-size:.8rem;border-radius:7px}.btn.wide{inline-size:100%;justify-content:center}
.btn[disabled]{opacity:.45;cursor:not-allowed}.btn .ic{inline-size:16px;block-size:16px}
.inline{display:inline}
form label{display:block;margin-block-end:12px;font-size:.84rem;color:var(--fg2);font-weight:600}
form label small{font-weight:400;margin-block-start:3px}
input,select,textarea{display:block;inline-size:100%;margin-block-start:5px;padding:8px 11px;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:var(--r2);font:inherit;font-weight:400}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acc-soft);border-color:var(--acc)}
input[type=checkbox],input[type=radio]{display:inline-block;inline-size:auto;margin:0;accent-color:var(--acc)}
label.check{color:var(--fg);display:flex;align-items:center;gap:9px;font-weight:500}
.row{display:flex;gap:8px;margin-block-start:4px;align-items:center}
.row input,.row select{margin:0}
.filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.filters label{margin:0;min-inline-size:140px;flex:1}.filters .grow{flex:2}.filters .btn{margin-block-end:1px}
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 16px}
.flash{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;margin-block-end:14px;font-weight:600;border:1px solid}
.flash.ok{background:#12a1501a;color:var(--ok);border-color:#12a15040}.flash.err{background:#e5484d1a;color:var(--bad);border-color:#e5484d40}
.err{color:var(--bad);font-weight:600}
.note{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:10px 14px;color:var(--fg2);font-size:.86rem;margin:0 0 12px}
.note.warn{background:#d98a0612;border-color:#d98a0640}

/* radio cards (profiles) */
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-block-end:14px}
.choice{position:relative;display:block;border:1px solid var(--line);border-radius:11px;padding:12px 14px;cursor:pointer;background:var(--card);margin:0}
.choice input{position:absolute;inset-block-start:14px;inset-inline-end:14px}
.choice b{display:block;color:var(--fg);font-size:.95rem}.choice span{display:block;color:var(--mut);font-weight:400;font-size:.8rem;margin-block-start:2px}
.choice:has(input:checked){border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft);background:var(--acc-soft)}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}
.cats label{margin:0;display:flex;gap:9px;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:9px;font-weight:500;color:var(--fg)}
.cats code{margin-inline-start:auto;font-size:.72rem}

/* tables */
.tablewrap{overflow-x:auto}
table{inline-size:100%;border-collapse:collapse}
th{text-align:start;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);font-weight:700;padding:9px 14px;background:var(--card2);border-block-end:1px solid var(--line);white-space:nowrap}
html[lang=fa] th{letter-spacing:0;font-size:.78rem}
td{padding:10px 14px;border-block-end:1px solid var(--line2);vertical-align:middle}
tbody tr:last-child td{border-block-end:0}tbody tr:hover{background:var(--card2)}
tr.dim{opacity:.55}
td .name{font-weight:700;color:var(--fg)}td.num,.num{font-variant-numeric:tabular-nums;font-weight:700}
td.wrap{word-break:break-all;max-inline-size:340px}
td.path{max-inline-size:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:start;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem}
td.t{white-space:nowrap;color:var(--mut);font-size:.82rem}
.empty{color:var(--mut);text-align:center;padding:28px 10px;margin:0}
.allgood{color:var(--ok);margin:0;font-weight:600}
.pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;border-block-start:1px solid var(--line2);color:var(--mut);font-size:.84rem}
.pager div{display:flex;gap:6px}

/* attention list & feed */
.attn{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.attn li{display:flex;gap:10px;align-items:flex-start}.attn i{inline-size:9px;block-size:9px;border-radius:50%;background:var(--warn);margin-block-start:7px;flex:none}
.attn .lv-bad i,.attn .lv-critical i,.attn .lv-high i{background:var(--bad)}.attn .lv-info i{background:var(--info)}
.attn a{color:var(--fg)}
.feed{list-style:none;margin:0;padding:0}
.feed li{display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;align-items:center;padding:9px 18px;border-block-end:1px solid var(--line2)}
.feed li:last-child{border:0}.feed .what{min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}
.feed .what small{display:inline;margin-inline-start:6px}.feed .when{color:var(--mut);font-size:.76rem;white-space:nowrap}

/* charts */
.chart{inline-size:100%;block-size:auto;display:block}
.chartbox{padding-block-start:4px}
.grid line.grid,line.grid{stroke:var(--line);stroke-width:1}
.axis{fill:var(--mut);font-size:11px;font-family:Vazirmatn,system-ui,sans-serif}
.hit{fill:transparent}.hit:hover{fill:#7f8ea31a}
.c-ok{--c:var(--ok)}.c-gap{--c:var(--gap)}.c-bad{--c:var(--bad)}.c-warn{--c:var(--warn)}.c-info{--c:var(--info)}.c-acc{--c:var(--acc)}.c-crit{--c:var(--crit)}.c-cap{--c:var(--cap)}
rect[class^=c-],rect[class*=" c-"],circle.dot{fill:var(--c)}
.ln,.seg{stroke:var(--c);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.seg{stroke-width:16;stroke-linecap:butt}.ring-bg{stroke:var(--line);stroke-width:16}
.donut{inline-size:150px;block-size:150px;flex:none}.donut-n{fill:var(--fg);font-size:26px;font-weight:800}
.donutrow{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.legend-list{list-style:none;margin:0;padding:0;flex:1;min-inline-size:150px}
.legend-list li{display:flex;align-items:center;gap:8px;padding:5px 0}.legend-list b{margin-inline-start:auto}
.legend{display:flex;gap:16px;margin:8px 0 0;color:var(--mut);font-size:.8rem;flex-wrap:wrap}
.legend i,.legend-list i{display:inline-block;inline-size:10px;block-size:10px;border-radius:3px;background:var(--c);margin-inline-end:6px}
.legend-list i{margin:0}
.strip{inline-size:240px;max-inline-size:100%;block-size:20px;display:block}
.stripbox .strip{inline-size:100%;block-size:28px}
td .strip+small{margin-block-start:3px}
.spark{inline-size:70px;block-size:20px;display:block;margin-block-start:3px}
.hbars{display:flex;flex-direction:column;gap:9px}
.hb{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) auto;gap:10px;align-items:center;font-size:.84rem}
.hb-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-bar{inline-size:100%;block-size:8px}.hb-bg{fill:var(--line)}
.gauge{inline-size:100%;max-inline-size:260px;display:block;margin:0 auto}
.g-bg{stroke:var(--line);stroke-width:18;fill:none;stroke-linecap:round}
.g-arc{stroke-width:18;fill:none;stroke-linecap:round}
.g-low{stroke:var(--ok)}.g-guarded{stroke:var(--info)}.g-elevated{stroke:var(--warn)}.g-high{stroke:var(--bad)}
.g-needle{stroke:var(--fg);stroke-width:3;stroke-linecap:round}.g-hub{fill:var(--fg)}
.g-t{fill:var(--fg);font-size:20px;font-weight:800;font-family:Vazirmatn,system-ui,sans-serif}.g-s{fill:var(--mut);font-size:11px;font-family:Vazirmatn,system-ui,sans-serif}
.lvl{text-align:center;margin:4px 0 0}.lvl b{font-size:1.05rem}
.lvl-low{color:var(--ok)}.lvl-guarded{color:var(--info)}.lvl-elevated{color:var(--warn)}.lvl-high{color:var(--bad)}
.statline{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-block-end:14px;color:var(--mut)}.statline b{color:var(--fg);font-size:1.05rem}
.mini-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0}
.mini-kv div{background:var(--card2);border:1px solid var(--line2);border-radius:9px;padding:9px 12px}.mini-kv dt{color:var(--mut);font-size:.74rem;font-weight:600}.mini-kv dd{margin:0;font-weight:800;font-size:1.1rem}

details{margin-block-start:14px}summary{cursor:pointer;color:var(--acc);font-weight:600}
details.danger{background:var(--card);border:1px solid #e5484d55;border-radius:12px;padding:14px 18px}details.danger summary{color:var(--bad)}
.cmd{background:#0a1220;color:#d6e2f5;padding:14px;border-radius:10px;overflow:auto;white-space:pre-wrap;word-break:break-all;margin:10px 0;direction:ltr;text-align:left}
.steps{margin:8px 0 0;padding-inline-start:20px;color:var(--mut)}.steps li{margin-block-end:4px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0}.kv dt{color:var(--mut)}.kv dd{margin:0}
.searchbox{display:flex;gap:8px;margin-block-end:14px}.searchbox input{flex:1;margin:0}
ul.res{list-style:none;margin:0;padding:0}ul.res li{padding:8px 0;border-block-end:1px solid var(--line2)}ul.res li:last-child{border:0}

/* sign-in */
.plain{background:radial-gradient(1200px 600px at 80% -10%,#1e3a8a55,transparent),linear-gradient(160deg,#060b16,#0c1a33);min-block-size:100vh;color:#fff}
.auth-wrap{min-block-size:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);max-inline-size:1060px;margin:0 auto;align-items:center;gap:48px;padding:40px 24px}
.auth-brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.auth-brand .logo{inline-size:52px;block-size:52px}.auth-brand h1{font-size:2rem;font-weight:800}.auth-brand p{margin:0;color:#9fb3d6}
.auth-points{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:12px;color:#c8d3e6}
.auth-points li{display:flex;gap:10px;align-items:center}.auth-points .ic{color:#6b9dff}
.auth .card{background:var(--card);color:var(--fg);padding:24px;box-shadow:0 20px 60px #0008;border:0}
.auth-lang{text-align:center;margin-block-start:14px}.auth-lang a{color:#9fb3d6}
.captcha{display:grid;grid-template-columns:1fr;gap:6px;margin-block-end:14px}
.captcha>span{font-size:.84rem;color:var(--fg2);font-weight:600}
.captcha svg{inline-size:100%;block-size:auto;max-inline-size:240px;border-radius:9px;border:1px solid var(--line)}
.captcha input{margin:0;letter-spacing:.3em;text-align:center;font-size:1.1rem}

/* portal */
.portal-body{background:var(--bg)}
.portal{max-inline-size:920px;margin:0 auto;padding:28px 18px 48px}.portal .ph{display:flex;align-items:center;gap:12px;padding:0 0 18px}.portal .ph .logo{inline-size:40px;block-size:40px}.portal footer{margin-block-start:28px;color:var(--mut);text-align:center;font-size:.8rem}

/* print (reports) */
@media print{
.tb,.nav,.actions,.noprint{display:none!important}
body{background:#fff;color:#000}.frame{display:block}.content{display:block}main,.ph{padding:0 8px}
.card,.tile,.kpi{box-shadow:none;break-inside:avoid;border-color:#ccc}
}

/* responsive */
@media (max-width:1100px){.g21,.g12{grid-template-columns:1fr}.brand{min-inline-size:0}.brand small{display:none}}
@media (max-width:860px){
.tb{gap:10px;padding-inline:10px}.tb-search{display:none}.um summary span,.um summary em{display:none}
.frame{flex-direction:column}
.nav{position:sticky;top:56px;z-index:10;inline-size:auto;block-size:auto;flex-direction:row;padding:6px;border-inline-end:0;border-block-end:1px solid var(--line);overflow-x:auto}
.nav nav{flex-direction:row;gap:2px}.grp{display:contents}.grp p,.ver{display:none}
.grp a{white-space:nowrap;padding:7px 10px}.grp a span{display:none}.grp a.on span{display:inline}.grp a.on::before{display:none}
.ph,main{padding-inline:14px}
table.resp thead{display:none}table.resp,table.resp tbody,table.resp tr,table.resp td{display:block;inline-size:100%}
table.resp tr{padding:10px 14px;border-block-end:1px solid var(--line)}table.resp td{border:0;padding:4px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}
table.resp td::before{content:attr(data-l);color:var(--mut);font-size:.8rem}
.auth-wrap{grid-template-columns:1fr;gap:24px}.auth-points{display:none}
}
@media (prefers-reduced-motion:no-preference){.btn,.grp a,.tile{transition:background .15s,border-color .15s,color .15s}}
.sec2{margin:16px 0 8px}
html[dir=ltr] .frame{background:linear-gradient(to right,var(--nav) 236px,var(--line) 236px,var(--line) 237px,transparent 237px)}
html[dir=rtl] .frame{background:linear-gradient(to left,var(--nav) 236px,var(--line) 236px,var(--line) 237px,transparent 237px)}
.hb-l code{unicode-bidi:plaintext}
@media (max-width:860px){html[dir] .frame{background:none}}
.pill.t-wp_admin_login_new{background:#d98a061c;color:var(--warn);border-color:#d98a0640}.pill.t-wp_2fa_failed{background:#5b7fc71a;color:var(--info);border-color:#5b7fc740}
