/* ag-switchboard · console with a kill switch on every row · 07 Govern (white band, console on the ivory .stage).
   The shared console styles in v4.css (.stage .app .app-bar .side .main .inv .st .stage-ctl) are used unchanged; this file only adds the
   Kill switch column, the row states (active · stopped · revoked), the four-outcome words in Last attempt, and the ink-outline Revoke button.
   Scoped under .aa-switchboard. Uses v4.css tokens (--ink-*, --ok, --blue-ink, --hold, --deny, --blue, --t1…--t7, --ease). */
.aa-switchboard{--sw-fade:.4}

/* Last attempt: tool + outcome word, the outcome swaps (fade out, then DENIED types in) */
.aa-switchboard .aa-sw-inv .last{white-space:nowrap}
.aa-switchboard .aa-sw-inv th.last{font-family:var(--sans);font-size:12px}
.aa-switchboard .aa-sw-oc{display:inline-grid;margin-left:6px;vertical-align:bottom}
.aa-switchboard .inv .last .aa-sw-oc em{grid-area:1/1;margin:0;font-style:normal;font-weight:500;justify-self:start}
.aa-switchboard .aa-sw-o0{transition:opacity var(--t3) var(--ease)}
.aa-switchboard .aa-o-allow{color:var(--ok)}
.aa-switchboard .aa-o-held{color:var(--blue-ink)}
.aa-switchboard .aa-o-rej{color:var(--hold)}
.aa-switchboard .inv .last .aa-sw-o1{--n:0;color:var(--deny);width:calc(var(--n)*1ch);overflow:hidden;white-space:nowrap}
.aa-switchboard .aa-sw-r[data-oc=deny] .aa-sw-o0{opacity:0}
.aa-switchboard .aa-sw-r[data-oc=deny] .aa-sw-o1{--n:6}

/* status pill: three stacked words so the pill never changes width; the dot turns --deny off-state */
.aa-switchboard .aa-sw-s{display:inline-grid}
.aa-switchboard .aa-sw-s>span{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity var(--t3) var(--ease),visibility 0s linear var(--t3)}
.aa-switchboard .aa-sw-r[data-state=active] [data-s=active],
.aa-switchboard .aa-sw-r[data-state=stopped] [data-s=stopped],
.aa-switchboard .aa-sw-r[data-state=revoked] [data-s=revoked]{opacity:1;visibility:visible;transition-delay:0s,0s}
.aa-switchboard .st{transition:color var(--t3) var(--ease),background-color var(--t3) var(--ease)}
.aa-switchboard .st i{transition:background-color var(--t3) var(--ease)}
.aa-switchboard .aa-sw-r:not([data-state=active]) .st i{background:var(--deny)}
.aa-switchboard .aa-sw-r[data-state=revoked] .st{color:var(--deny);background:rgba(190,46,49,.08)}

/* a stopped or revoked row greys out; status stays at full strength, and so does the new DENIED */
.aa-switchboard .aa-sw-inv td,.aa-switchboard .aa-sw-inv td.ag>*,.aa-switchboard .aa-sw-tool{transition:opacity var(--t3) var(--ease);transition-delay:var(--d,0ms)}
.aa-switchboard .aa-sw-r:not([data-state=active]) td.own,
.aa-switchboard .aa-sw-r:not([data-state=active]) td.tier,
.aa-switchboard .aa-sw-r:not([data-state=active]) td.ag>b,
.aa-switchboard .aa-sw-r:not([data-state=active]) td.ag>span,
.aa-switchboard .aa-sw-r:not([data-state=active]) .aa-sw-tool,
.aa-switchboard .aa-sw-r[data-state=revoked] td.aa-sw-ks{opacity:var(--sw-fade)}
.aa-switchboard .aa-sw-next{display:none;font:400 11px/14px var(--mono);font-style:normal;color:var(--deny);margin-top:2px}

/* kill switch: 28x16, on = ink track with the knob right, off = ink-15 track with the knob left */
.aa-switchboard th.aa-sw-ks,.aa-switchboard td.aa-sw-ks{width:64px;padding-right:0;text-align:right;white-space:nowrap}
.aa-switchboard .aa-sw-sw{position:relative;display:inline-block;vertical-align:middle;width:28px;height:16px;border-radius:9999px;background:var(--ink);transition:background-color var(--t2) var(--ease)}
.aa-switchboard .aa-sw-sw::before{content:"";position:absolute;inset:-10px -8px}
.aa-switchboard .aa-sw-sw i{position:absolute;left:14px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 .5px rgba(10,10,10,.08),0 1px 2px rgba(10,10,10,.18);transition:transform var(--t2) var(--ease)}
.aa-switchboard .aa-sw-sw[aria-checked=false]{background:var(--ink-15)}
.aa-switchboard .aa-sw-sw[aria-checked=false] i{transform:translateX(-12px)}
.aa-switchboard .aa-sw-sw:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:9999px}
.aa-switchboard .aa-sw-sw[aria-disabled=true]{cursor:not-allowed}

/* controls row: Revoke is an ink outline, so Book a demo stays the only solid button in view */
.aa-switchboard .aa-sw-rev{display:inline-grid;place-items:center;box-shadow:inset 0 0 0 1px var(--ink);color:var(--ink);background:#fff}
.aa-switchboard .aa-sw-rev:hover{box-shadow:inset 0 0 0 1px var(--ink),inset 0 0 0 999px rgba(10,10,10,.04)}
.aa-switchboard .aa-sw-rev>span{grid-area:1/1}
.aa-switchboard .aa-sw-rev-b,.aa-switchboard .aa-sw-rev[aria-pressed=true] .aa-sw-rev-a{visibility:hidden}
.aa-switchboard .aa-sw-rev[aria-pressed=true] .aa-sw-rev-b{visibility:visible}
.aa-switchboard .aa-sw-note{transition:opacity var(--t3) var(--ease)}
.aa-switchboard .aa-sw-note.is-swap{opacity:0;transition-duration:var(--t2)}

/* ?sim and reduced motion: states land without transitions */
.aa-switchboard.aa-sim *,.aa-switchboard.aa-sim *::before{transition:none!important}

@media (max-width:760px){
  .aa-switchboard .aa-sw-r:not([data-state=active]) .aa-sw-next{display:block}
  .aa-switchboard .aa-sw-ctl{flex-direction:column;align-items:flex-start;gap:12px}
  .aa-switchboard .aa-sw-ctl .l{flex-direction:column;align-items:flex-start;gap:10px}
}
@media (prefers-reduced-motion:reduce){
  .aa-switchboard *,.aa-switchboard *::before{transition:none!important}
}
@media (forced-colors:active){
  .aa-switchboard .aa-sw-sw{border:1px solid CanvasText;background:Canvas}
  .aa-switchboard .aa-sw-sw i{background:CanvasText}
  .aa-switchboard .aa-sw-sw[aria-checked=true]{background:Highlight}
}

/* 07 copy: the three ways to stop, as a stacked hairline list under the .shead body (same rhythm as 02's kinds list; no cards, no columns).
   It sits in the page's .shead, outside .aa-switchboard, so it is scoped by its own prefixed class. */
.aa-sw-stops{margin:28px 0 0;padding:0;list-style:none;max-width:600px;border-top:1px solid var(--ink-08)}
.aa-sw-stops li{padding:14px 0 15px;border-bottom:1px solid var(--ink-08)}
.aa-sw-stops h3{margin:0;font:500 15px/22px var(--sans);color:var(--ink)}
.aa-sw-stops p{margin:2px 0 0;font:400 14.5px/22px var(--sans);color:var(--ink-60)}
