/* AIHA Office additions · © 2025–2026 Russo-Got Marius Mihail & PIR2-IT. All rights reserved. */
.kpi .v.bad{color:var(--bad)}
.demo-note.blue{border-color:var(--blue);background:var(--blueSoft)}.demo-note.blue b{color:var(--blue)}
.pagefoot{margin-top:40px;padding-top:14px;border-top:1px solid var(--rule);font-size:12px;color:var(--mute)}
.applinks{margin-top:22px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.applinks .eyebrow{margin-right:6px}
a.chip{text-decoration:none}a.chip:hover{background:var(--ink);color:var(--paper)}
tr.cur td{background:var(--blueSoft)}
.seg{display:inline-flex;flex-wrap:wrap;border:1.5px solid var(--ink)}
.seg button{border:0;border-right:1px solid var(--rule);background:var(--card);padding:7px 11px;cursor:pointer;font-size:13px}
.seg button:last-child{border-right:0}.seg button.on{background:var(--ink);color:var(--paper)}
.tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:2px solid var(--ink);margin:14px 0 16px}
.tabs button{border:1.5px solid var(--ink);border-bottom:0;background:var(--card);padding:8px 14px;margin-right:-1.5px;cursor:pointer;font-weight:600;font-size:13.5px}
.tabs button.on{background:var(--ink);color:var(--paper)}
.deprow{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:6px}.encgrp{display:flex;flex-direction:column;gap:4px}
.toolbar .sp{flex:1}
.form{display:grid;gap:12px;max-width:520px}.form label{display:grid;gap:4px;font-size:13px}.form input,.form select{border:1.5px solid var(--ink);background:var(--card);padding:8px 10px}
.stagewrap{overflow-x:auto}.stages.six{grid-template-columns:repeat(6,minmax(170px,1fr))}
.escal{margin:0;padding-left:20px}.escal li{padding:6px 0;border-bottom:1px dashed var(--rule)}
td.raci{text-align:center;font-family:'Geist Mono',monospace;font-weight:700}
td.r-A,td.r-AR{background:var(--ink);color:var(--paper)}td.r-R{background:var(--accent);color:var(--ink)}td.r-C{background:var(--blueSoft);color:var(--blue)}td.r-I{color:var(--mute)}
.sw{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;cursor:pointer}
.cxq{padding:8px 0;border-bottom:1px solid var(--rule)}.cxq b{display:block;margin-bottom:6px;font-size:13.5px}
tr.tot td{border-top:2px solid var(--ink)}tr.pro td{background:var(--okSoft)}
.facts.one{grid-template-columns:1fr}
td.hl{background:#FFF1EA}
/* architecture */
.archwrap{overflow-x:auto;background:var(--card);border:1px solid var(--rule)}
svg.arch{width:100%;min-width:1000px;height:auto;display:block}
body.wide .shell{grid-template-columns:220px minmax(0,1fr)}body.wide .ctx{display:none}
.arch .encl{fill:none;stroke-width:2;stroke-dasharray:6 4}.arch .enc-cloud{stroke:var(--blue)}.arch .enc-sov{stroke:#5A3E99}
.arch .gplane{fill:#FFF5EF;stroke:var(--accent);stroke-width:1.5}
.arch .enctx{font-family:'Geist Mono',monospace;font-size:11px;fill:var(--mute);letter-spacing:.06em;text-transform:uppercase}
.arch .lyr{font-family:'Geist Mono',monospace;font-size:10.5px;fill:var(--accentText);text-transform:uppercase;letter-spacing:.05em}
.arch .nd rect{stroke:var(--ink);stroke-width:1;transition:stroke-width .2s,filter .2s}.arch .nd{cursor:default}
.arch .nt{font-size:11.8px;font-weight:700;fill:var(--ink)}.arch .ns{font-size:10.5px;fill:var(--ink2)}
.loc-c rect,i.loc-c{fill:#DCE5F6;background:#DCE5F6}.loc-d rect,i.loc-d{fill:#D6EEEA;background:#D6EEEA}.loc-o rect,i.loc-o{fill:#E4E3DC;background:#E4E3DC}
.loc-a rect,i.loc-a{fill:#E7DFF5;background:#E7DFF5}.loc-x rect,i.loc-x{fill:#FCE3D3;background:#FCE3D3}.loc-g rect,i.loc-g{fill:#FFFFFF;background:#FFF}
.arch .nd.na rect{fill:#F1F0EB;stroke-dasharray:4 3;stroke:var(--mute)}.arch .nd.na .nt{fill:var(--mute)}
.arch .nd.hot rect{stroke:var(--accent);stroke-width:3.5}
.arch .trail{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-dasharray:6 5;opacity:.75}
.pkt{fill:var(--accent);stroke:#fff;stroke-width:2}
i.lg{display:inline-block;width:14px;height:10px;border:1px solid var(--ink);margin-right:5px;vertical-align:-1px;border-radius:0}
ol.steps{margin:0;padding-left:20px;font-size:13px}ol.steps li{padding:4px 2px;cursor:pointer;border-left:3px solid transparent}ol.steps li.on{background:#FFF1EA;border-left-color:var(--accent)}
/* zones */
.zones .zn{stroke:var(--ink);stroke-width:1.5}.zones .z-c{fill:#DCE5F6}.zones .z-o{fill:#E4E3DC}.zones .z-a{fill:#E7DFF5}
.zones .zh{font-weight:800;font-size:16px}.zones .zc{font-size:11.5px;fill:var(--ink2)}.zones .zi{fill:#fff;stroke:var(--rule)}.zones .zit{font-size:12.5px}.zones .zl{font-size:12px;fill:var(--ink2)}
.zones .zf{stroke-width:3;stroke:var(--ink);stroke-dasharray:8 6;animation:dash 1.2s linear infinite}.zones .zf.one{stroke:#5A3E99}.zones .zf.guard{stroke:var(--mute);stroke-dasharray:2 5}
.zones .ahd{fill:var(--ink)}
@keyframes dash{to{stroke-dashoffset:-28}}
/* k8s */
.k8s{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.kcl{border:1.5px solid var(--rule);background:var(--card);padding:10px;display:grid;gap:6px}.kcl.on{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}
.kns{display:flex;flex-wrap:wrap;gap:4px}.kns .ns{font-family:'Geist Mono',monospace;font-size:10.5px;padding:2px 6px;border:1px solid var(--ink)}
.kns .t3,.kns .t4{background:var(--badSoft)}.kpool{font-size:12px;padding:4px 6px;background:var(--ink);color:var(--paper)}.kmesh{font-size:11.5px;color:var(--mute);border-top:1px dashed var(--rule);padding-top:4px}
/* workflow */
svg.wf{min-width:760px;width:100%;height:auto;display:block}.archwrap svg.wf{border:0}.graph.wf,.graph.hcg,.graph.vv,.graph.zones{overflow:visible}
.wf .ws,.hcg .ws{fill:var(--card);stroke:var(--ink);stroke-width:1.5}.wt{font-size:13px;font-weight:700}.wa{font-size:11px;fill:var(--ink2)}
.wl{stroke:var(--mute);stroke-width:1.5}.wl.fail{stroke:var(--warn);stroke-dasharray:4 4}
.wr{fill:#FFF1EA;stroke:var(--accent);stroke-width:1.5}
.wo{stroke:var(--ink);stroke-width:1.5}.o-auto{fill:var(--okSoft);background:#1F7A4D;color:#fff}.o-hitl{fill:var(--warnSoft);background:#C98A00;color:#fff}.o-exp{fill:var(--badSoft);background:var(--bad);color:#fff}
circle.dot.o-auto{fill:#1F7A4D}circle.dot.o-hitl{fill:#C98A00}circle.dot.o-exp{fill:var(--bad)}
.routebar{display:flex;height:26px;border:1.5px solid var(--ink);margin:12px 0 6px;font-size:12px;font-family:'Geist Mono',monospace}
.routebar i{display:flex;align-items:center;justify-content:center;font-style:normal;overflow:hidden;white-space:nowrap}
.hitlq{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
/* hallucination */
.hcg .gate{fill:#fff;stroke:var(--ink);stroke-width:1.5}
.okc{color:var(--ok);font-weight:700}.bad{color:var(--bad);font-weight:700}
tr.failrow td{background:#FBEDEA}.fix{font-size:12px;color:var(--bad);margin-top:4px}
.tm td.ok{text-align:center;color:var(--ok)}
/* V&V */
.vv .vl{fill:var(--blueSoft);stroke:var(--ink)}.vv .vr{fill:var(--okSoft);stroke:var(--ink)}.vv text{font-size:12.5px}.vv .vg{font-family:'Geist Mono',monospace;font-size:11px;fill:var(--accentText)}
.vv .vlink{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:5 4;animation:dash 1.6s linear infinite}
.vvrow{animation:fadein .6s both}@keyframes fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* culture flow */
.cflow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.cst{border:1.5px solid var(--rule);background:var(--card);padding:10px;display:grid;gap:4px;font-size:13px;transition:border-color .3s,background .3s}
.cst .n{font-family:'Geist Mono',monospace;font-size:11px;color:var(--mute)}.cst small{color:var(--ink2);font-size:12px}
.cst.on{border-color:var(--accent);background:#FFF1EA}.cst.done{border-color:var(--ink)}
ul.dont li::marker{content:"✗  ";color:var(--bad)}
.eng p{font-size:13.5px}.eng ul{font-size:13px;margin:0 0 10px;padding-left:18px}
/* e-learning */
ol.lessons{padding-left:20px}ol.lessons li{padding:6px 0}
.qq{border:1px solid var(--rule);margin:0 0 10px;padding:10px 12px}.qq legend{font-weight:600;padding:0 4px}.qq label{display:block;padding:3px 0;font-size:13.5px;cursor:pointer}
.qq.ok{border-color:var(--ok);background:var(--okSoft)}.qq.ko{border-color:var(--bad);background:#FBEDEA}
.meta{font-size:12.5px;color:var(--mute)}
@media (max-width:900px){.cflow{grid-template-columns:repeat(2,minmax(0,1fr))}.k8s{grid-template-columns:repeat(2,minmax(0,1fr))}.deprow{flex-direction:column}.tabs button{font-size:12.5px;padding:7px 10px}}
@media (prefers-reduced-motion:reduce){.zones .zf,.vv .vlink,.vvrow{animation:none}}
.tm.ctl td,.tm.ctl th{white-space:normal}.tm.ctl td:first-child{min-width:190px}
