/* ZT Assurance additions on top of the shared ops-center sheets (style.css + fleet.css).
   Every colour is a --gf-* token so the light/dark swap keeps working. */

/* intro rows (same as the scanner's scan.css) */
.title-row .page-desc + .page-desc{margin-top:6px;}
.how-row{list-style:none;margin:10px 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--gf-text-2);}
.how-row .k{font-family:var(--gf-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--gf-text-3);margin-right:7px;}
.demo-note{margin:0;font-size:11.5px;color:var(--gf-text-3);}
.demo-note b{color:var(--gf-yellow);font-weight:600;}
.kpi-row .how-row{margin:6px 0;font-size:11.5px;}
.kpi-row .demo-note{margin-top:5px;}

.st{font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid var(--gf-border);font-weight:500;white-space:nowrap;}
.st.met{color:var(--gf-green);border-color:color-mix(in srgb,var(--gf-green) 50%,transparent);}
.st.partial{color:var(--gf-yellow);border-color:color-mix(in srgb,var(--gf-yellow) 50%,transparent);}
.st.notmet{color:var(--gf-red);border-color:color-mix(in srgb,var(--gf-red) 50%,transparent);}
.st.na{color:var(--gf-text-3);}

.fleet.pillars{grid-template-columns:repeat(7,minmax(0,1fr));}
/* Two-line titles (e.g. "Automation & Orchestration") would push their rows down; reserve two lines on every tile so rows align. */
.pillar-card h3{align-items:flex-start;min-height:2.6em;line-height:1.3;}
.pillar-card h3 .dot{margin-top:.35em;}
.zt-stale #updated{color:var(--gf-yellow);font-weight:500;}
.pillar-card .score{font-family:var(--gf-mono);font-size:22px;font-weight:500;color:var(--gf-text-strong);margin:6px 0 0;}
.pillar-card.off{opacity:.55;}
.pillar-card .pfx{font-family:var(--gf-mono);font-size:10.5px;color:var(--gf-text-3);}
@media (max-width:1180px){.fleet.pillars{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:620px){.fleet.pillars{grid-template-columns:repeat(2,minmax(0,1fr));}}

.cap-head{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--gf-subhead-bg);font-size:12px;color:var(--gf-text-2);border-top:1px solid var(--gf-border-quiet);}
.cap-head:first-child{border-top:none;}
.cap-head b{color:var(--gf-text-strong);font-weight:500;}
.cap-head .mono{margin-left:auto;font-family:var(--gf-mono);font-size:11.5px;color:var(--gf-text-3);}

.kpi-row{padding:10px 12px;border-left:2px solid transparent;border-bottom:1px solid var(--gf-border-quiet);}
.kpi-row.met{border-left-color:var(--gf-green);}
.kpi-row.partial{border-left-color:var(--gf-yellow);}
.kpi-row.notmet{border-left-color:var(--gf-red);}
.kpi-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.kpi-id{font-family:var(--gf-mono);font-size:12px;color:var(--gf-text-strong);min-width:54px;}
.kpi-text{flex:1 1 320px;font-size:12.5px;color:var(--gf-text);}
.kpi-pct{font-family:var(--gf-mono);font-size:12px;color:var(--gf-text);min-width:110px;text-align:right;}
.kpi-bar{height:5px;background:var(--gf-code-bg);border-radius:2px;overflow:hidden;margin:7px 0 0 64px;position:relative;}
.kpi-bar i{display:block;height:100%;background:var(--gf-blue);}
.kpi-row.met .kpi-bar i{background:var(--gf-green);}
.kpi-row.partial .kpi-bar i{background:var(--gf-yellow);}
.kpi-row.notmet .kpi-bar i{background:var(--gf-red);}
.kpi-bar b{position:absolute;top:-2px;bottom:-2px;width:1px;background:var(--gf-text-2);}
.kpi-why{margin:5px 0 0 64px;font-size:11.5px;color:var(--gf-text-3);font-family:var(--gf-mono);}
.kpi-row details{margin-left:64px;}
.kpi-row table{font-size:11.5px;}
.hash{font-family:var(--gf-mono);font-size:10.5px;color:var(--gf-text-3);word-break:break-all;}
.mono{font-family:var(--gf-mono);}

.narrative{font-size:12.5px;line-height:1.5;color:var(--gf-text-2);}
.narrative h3{font-size:13px;font-weight:500;color:var(--gf-text-strong);margin:0 0 6px;}
.narrative p{margin:0 0 8px;}
.narrative ul{margin:0 0 8px;padding-left:18px;}
.narrative li{margin:0 0 3px;}

.review{border-bottom:1px solid var(--gf-border-quiet);padding:0 0 8px;margin:0 0 8px;}
.review:last-child{border-bottom:none;margin:0;padding:0;}
.review .rv-top{display:flex;align-items:center;gap:8px;}
.review p{margin:5px 0 0;font-size:12px;line-height:1.45;color:var(--gf-text-2);}
.review .cite{font-family:var(--gf-mono);font-size:10.5px;color:var(--gf-text-3);margin-top:4px;}

.prio.high{color:var(--gf-red);} .prio.medium{color:var(--gf-yellow);} .prio.low{color:var(--gf-blue);}
td.num{font-family:var(--gf-mono);text-align:right;white-space:nowrap;}
.agent-card .meta{margin:6px 0 0;font-family:var(--gf-mono);font-size:11px;color:var(--gf-text-3);}
.agent-card .meta.bad,.agent-card .note.bad{color:var(--gf-red);}

/* ---------- views (hash routed; classes on <html>, CSP-safe) ---------- */
.zt-v-home #view-pillar,.zt-v-pillar #view-home{display:none;}
.zt-p-on .p-off,.zt-p-off .p-on,html:not(.zt-p-on):not(.zt-p-off) .p-off{display:none;}
.zt-no-trend #p-history{display:none;}
.nav-crumbs .crumb-pillar b{font-weight:500;color:var(--gf-text-strong);}
.back-link{display:inline-block;margin:0 0 10px;font-size:12px;color:var(--gf-text-3);text-decoration:none;}
.back-link:hover{color:var(--gf-text);}
.flow-note{margin:-6px 0 10px;font-size:12px;color:var(--gf-text-3);}
.stat-value.muted,.score.muted,.big.muted{color:var(--gf-text-3);}

/* pillar tiles are links */
a.pillar-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;cursor:pointer;transition:border-color .12s,background .12s;}
a.pillar-card:hover{background:var(--gf-panel-alt);border-color:var(--gf-border-hover);opacity:1;}
a.pillar-card:focus-visible{outline:2px solid var(--gf-blue-dark);outline-offset:-2px;}
.pillar-card .score.ok{color:var(--gf-green);} .pillar-card .score.warn{color:var(--gf-yellow);} .pillar-card .score.bad{color:var(--gf-red);}
.dot.warn{background:var(--gf-yellow);}
.pillar-card .go{margin-top:auto;padding-top:8px;font-size:11px;color:var(--gf-text-3);}
a.pillar-card:hover .go{color:var(--gf-blue);}
.stack{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--gf-code-bg);margin:8px 0 0;}
.stack i{display:block;height:100%;}
.stack i.met{background:var(--gf-green);} .stack i.partial{background:var(--gf-yellow);} .stack i.notmet{background:var(--gf-red);}

/* agent pipeline */
.pipeline{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr);align-items:stretch;margin:0 0 16px;}
.pipe-arrow{display:flex;align-items:center;justify-content:center;color:var(--gf-text-3);font-size:16px;}
.stage h3 .step-no{font-family:var(--gf-mono);font-size:10.5px;color:var(--gf-text-3);border:1px solid var(--gf-border);border-radius:999px;padding:0 6px;}
.stage .io{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin:8px 0 0;font-size:11.5px;}
.stage .io dt{font-family:var(--gf-mono);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--gf-text-3);padding-top:1px;}
.stage .io dd{margin:0;color:var(--gf-text-2);}
.stage .tools{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;}
.stage .tools code{font-family:var(--gf-mono);font-size:10.5px;background:var(--gf-code-bg);color:var(--gf-text-2);padding:1px 6px;border-radius:4px;}
@media (max-width:1000px){.pipeline{grid-template-columns:1fr;}.pipe-arrow{transform:rotate(90deg);height:22px;}}

/* gaps + actions (home) */
.gap-row,.act-row{display:block;padding:9px 12px;border-bottom:1px solid var(--gf-border-quiet);border-left:2px solid transparent;text-decoration:none;color:inherit;}
.gap-row:last-child,.act-row:last-child{border-bottom:none;}
.gap-row:hover,.act-row:hover{background:var(--gf-row-hover);}
.gap-row.notmet{border-left-color:var(--gf-red);} .gap-row.partial{border-left-color:var(--gf-yellow);}
.gap-top{display:flex;align-items:center;gap:10px;}
.gap-text{flex:1;font-size:12.5px;color:var(--gf-text);min-width:0;}
.gap-row .kpi-bar,.gap-row .kpi-why,.act-row .kpi-why{margin-left:64px;}
.gap-row.notmet .kpi-bar i{background:var(--gf-red);} .gap-row.partial .kpi-bar i{background:var(--gf-yellow);}
.prio{font-size:11px;text-transform:capitalize;white-space:nowrap;}
.prio.critical{color:var(--gf-red);} .prio.moderate{color:var(--gf-yellow);}
.pad{padding:8px 12px;margin:0;font-size:11.5px;}

/* pillar view */
.pillar-hero{display:flex;gap:24px;align-items:flex-start;margin:0 0 14px;}
.pillar-hero .ph-main{flex:1;min-width:0;}
.pillar-hero h1{margin:0 0 4px;}
.ph-score{text-align:right;min-width:140px;}
.ph-score .big{font-family:var(--gf-mono);font-size:40px;font-weight:500;line-height:1;}
.ph-score .big.ok{color:var(--gf-green);} .ph-score .big.warn{color:var(--gf-yellow);} .ph-score .big.bad{color:var(--gf-red);}
.trend{border:1px solid var(--gf-border);border-radius:var(--gf-radius);background:var(--gf-panel);padding:10px 12px;margin:0 0 var(--gf-gutter);}
.trend-head{display:flex;gap:10px;font-size:12px;color:var(--gf-text-2);}
.trend-head b{font-weight:500;color:var(--gf-text-strong);}
.trend-head .mono{margin-left:auto;font-size:11.5px;color:var(--gf-text-3);}
.trend-bars{display:flex;align-items:flex-end;gap:3px;height:48px;margin-top:8px;}
.trend-bars i{flex:1;max-width:22px;background:var(--gf-blue);border-radius:2px 2px 0 0;}
.trend-bars i.ok{background:var(--gf-green);} .trend-bars i.warn{background:var(--gf-yellow);} .trend-bars i.bad{background:var(--gf-red);}
.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--gf-border-quiet);}
.chip{font:inherit;font-size:11.5px;padding:2px 10px;border-radius:999px;border:1px solid var(--gf-border);background:transparent;color:var(--gf-text-2);cursor:pointer;}
.chip:hover{border-color:var(--gf-border-hover);color:var(--gf-text);}
.chip.on{background:var(--gf-accent-soft);border-color:var(--gf-blue);color:var(--gf-text-strong);}
.chip-hint{margin-left:auto;font-size:11px;color:var(--gf-text-3);}
#kpis.f-notmet .kpi-row:not(.notmet),#kpis.f-partial .kpi-row:not(.partial),#kpis.f-met .kpi-row:not(.met),.cap-group.none{display:none;}
.kpi-row .moved{font-size:10.5px;font-family:var(--gf-mono);color:var(--gf-orange);border:1px dashed var(--gf-orange);border-radius:999px;padding:0 6px;}
.kpi-row.flash{animation:zt-flash 1.6s ease-out;}
@keyframes zt-flash{from{background:var(--gf-accent-soft);}to{background:transparent;}}
.review .rv-top a.kpi-id{text-decoration:none;}
td.k a{color:inherit;}

/* not-onboarded catalog */
.cat-row{display:flex;flex-wrap:wrap;gap:5px;padding:8px 12px 12px;}
.kpi-chip{font-family:var(--gf-mono);font-size:11px;padding:1px 7px;border-radius:4px;border:1px solid var(--gf-border);color:var(--gf-text-2);}
.gauge-section{margin:12px 0 4px;font-family:var(--gf-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--gf-text-3);}
ul.plain{margin:0;padding-left:16px;font-size:12px;line-height:1.55;color:var(--gf-text-2);}
#p-onboard .note{margin:0;font-size:12px;line-height:1.5;color:var(--gf-text-2);}
@media (max-width:760px){.pillar-hero{flex-direction:column;}.ph-score{text-align:left;}.chip-hint{margin-left:0;}}
