/* VS-009 — Audit & Settings / Governance Administration Surface Pack */

.rv-g-panel{margin-bottom:12px;background:#fff;border:1px solid var(--rv-border-subtle);box-shadow:var(--rv-shadow-panel);overflow:hidden}
.rv-g-header{min-height:50px;padding:10px 12px;background:#f8fafc;border-bottom:1px solid var(--rv-border-subtle);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.rv-g-title strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.075em;color:var(--rv-text-primary)}
.rv-g-title span{display:block;margin-top:3px;font-size:11px;line-height:1.4;color:var(--rv-text-secondary)}
.rv-g-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.rv-g-badge{display:inline-flex;align-items:center;height:22px;padding:0 7px;background:#fff;border:1px solid var(--rv-border-subtle);color:var(--rv-text-secondary);font-size:9px;text-transform:uppercase;letter-spacing:.065em}
.rv-g-badge.live{color:var(--rv-state-ready);border-color:rgba(47,125,89,.35)}
.rv-g-layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:12px;padding:12px}
.rv-g-left{display:grid;gap:10px;min-width:0}
.rv-g-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.rv-g-kpi{border:1px solid var(--rv-border-subtle);background:#fff;padding:9px;cursor:help}
.rv-g-kpi span{display:block;color:var(--rv-text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}
.rv-g-kpi strong{display:block;margin-top:4px;color:var(--rv-text-primary);font-size:21px}
.rv-g-kpi small{display:block;margin-top:3px;color:var(--rv-text-secondary);font-size:10px;line-height:1.35}
.rv-g-stage{position:relative;min-height:690px;border:1px solid var(--rv-border-subtle);background:radial-gradient(circle at 50% 50%,rgba(31,111,159,.08),transparent 34%),linear-gradient(to right,rgba(25,37,50,.04) 1px,transparent 1px) 0 0/10% 100%,linear-gradient(to bottom,rgba(25,37,50,.04) 1px,transparent 1px) 0 0/100% 20%,#fff;overflow:hidden}
.rv-g-svg{width:100%;height:690px;display:block}
.rv-g-node,.rv-g-flow,.rv-g-cell,.rv-g-chain,.rv-g-seal,.rv-g-param,.rv-g-switch,.rv-g-core{cursor:pointer;transition:opacity .16s ease,stroke-width .16s ease,filter .16s ease,transform .16s ease}
.rv-g-flow{fill:none;stroke-width:3;stroke-linecap:round;stroke-dasharray:8 12;animation:rvGFlow 3.6s linear infinite;opacity:.58}
.rv-g-flow.active,.rv-g-flow:hover{opacity:.98;stroke-width:5.5}
@keyframes rvGFlow{from{stroke-dashoffset:0}to{stroke-dashoffset:-40}}
.rv-g-ready{stroke:rgba(47,125,89,.90);fill:rgba(47,125,89,.10)}
.rv-g-warning{stroke:rgba(168,110,0,.90);fill:rgba(168,110,0,.10)}
.rv-g-blocked{stroke:rgba(124,31,31,.90);fill:rgba(124,31,31,.10)}
.rv-g-future{stroke:rgba(91,74,125,.84);fill:rgba(91,74,125,.10)}
.rv-g-neutral{stroke:rgba(31,111,159,.82);fill:rgba(31,111,159,.10)}
.rv-g-node,.rv-g-cell,.rv-g-chain,.rv-g-seal,.rv-g-param,.rv-g-switch{stroke-width:2.2;opacity:.94}
.rv-g-node.active,.rv-g-node:hover,.rv-g-cell.active,.rv-g-cell:hover,.rv-g-chain.active,.rv-g-chain:hover,.rv-g-seal.active,.rv-g-seal:hover,.rv-g-param.active,.rv-g-param:hover,.rv-g-switch.active,.rv-g-switch:hover{filter:drop-shadow(0 0 7px rgba(31,111,159,.36));opacity:1}
.rv-g-center{fill:rgba(255,255,255,.98);stroke:rgba(25,37,50,.26);stroke-width:1.6}
.rv-g-center-pulse{fill:none;stroke:rgba(31,111,159,.18);stroke-width:2;animation:rvGCenterPulse 2.9s ease-in-out infinite}
.rv-g-center-pulse.two{animation-delay:1.45s}
@keyframes rvGCenterPulse{0%{r:74px;opacity:.9}100%{r:148px;opacity:.05}}
.rv-g-event-particle{fill:rgba(31,111,159,.96);opacity:0}
.rv-g-event-particle.active{opacity:1;animation:rvGParticle 1.2s ease-out 1}
@keyframes rvGParticle{0%{r:4px;opacity:1}100%{r:18px;opacity:0}}
.rv-g-label{font-size:11px;fill:var(--rv-text-primary);font-weight:760;text-transform:uppercase;letter-spacing:.05em;pointer-events:none}
.rv-g-sub{font-size:10px;fill:var(--rv-text-secondary);pointer-events:none}
.rv-g-mini{font-size:8.5px;fill:var(--rv-text-muted);text-transform:uppercase;letter-spacing:.05em;pointer-events:none}
.rv-g-caption{position:absolute;left:12px;bottom:10px;font-size:11px;color:var(--rv-text-muted)}
.rv-g-inspector{border:1px solid var(--rv-border-subtle);background:#fff;min-width:0}
.rv-g-inspector-head{min-height:50px;padding:10px 11px;background:#162331;color:#fff}
.rv-g-inspector-head strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em}
.rv-g-inspector-head span{display:block;margin-top:3px;opacity:.84;font-size:11px;line-height:1.35}
.rv-g-inspector-body{padding:10px;display:grid;gap:8px}
.rv-g-row{display:grid;grid-template-columns:118px minmax(0,1fr);gap:8px;padding-bottom:7px;border-bottom:1px solid var(--rv-border-subtle)}
.rv-g-row:last-child{border-bottom:0}
.rv-g-row label{color:var(--rv-text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}
.rv-g-row div{color:var(--rv-text-primary);font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.rv-g-facts{display:grid;gap:6px}
.rv-g-fact{border:1px solid var(--rv-border-subtle);background:#f8fafc;padding:7px;color:var(--rv-text-secondary);font-size:10px;line-height:1.35}
.rv-g-event-box{margin-top:8px;padding-top:10px;border-top:1px solid var(--rv-border-subtle)}
.rv-g-event-box strong{display:block;margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.rv-g-event-box button{display:block;width:100%;min-height:31px;margin-bottom:6px;border:1px solid var(--rv-border-subtle);background:#f8fafc;padding:0 8px;text-align:left;font-size:11px;cursor:pointer}
.rv-g-event-box button:hover{background:#edf4f9}
.rv-g-log{display:grid;gap:6px;margin-top:8px}
.rv-g-log-item{border:1px solid var(--rv-border-subtle);background:#f8fafc;padding:7px;color:var(--rv-text-secondary);font-size:10px;line-height:1.35}
.rv-g-tooltip{position:fixed;display:none;z-index:99999;max-width:340px;padding:10px 11px;background:#162331;color:#f6f8fb;border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 46px rgba(0,0,0,.24);font-size:11px;line-height:1.45;pointer-events:none}
.rv-g-tooltip strong{display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em}

@media (max-width:1180px){.rv-g-layout{grid-template-columns:1fr}}
@media (max-width:900px),(hover:none) and (pointer:coarse){
  .rv-g-header{grid-template-columns:1fr;gap:8px}
  .rv-g-badges{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .rv-g-badge{flex:0 0 auto}
  .rv-g-layout{padding:8px;gap:9px}
  .rv-g-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .rv-g-kpi{padding:8px}
  .rv-g-kpi strong{font-size:17px}
  .rv-g-stage{min-height:auto;width:100%;aspect-ratio:1/1.50;overflow:visible}
  .rv-g-svg{width:100%;height:auto;display:block}
  .rv-g-flow{stroke-width:4.8;opacity:.64}
  .rv-g-flow.active{stroke-width:7;opacity:.98}
  .rv-g-label{font-size:13px}
  .rv-g-sub{font-size:11px}
  .rv-g-mini{display:none}
  .rv-g-caption{position:static;padding:8px 2px 0;font-size:10.5px}
  .rv-g-row{grid-template-columns:1fr;gap:3px}
  .rv-g-tooltip{left:10px!important;right:10px;top:auto!important;bottom:12px;max-width:none}
}
@media (max-width:430px){
  .rv-g-stage{aspect-ratio:1/1.62}
  .rv-g-flow{stroke-width:5.2}
  .rv-g-label{font-size:14px}
  .rv-g-sub{font-size:11px}
}
