/* M.A.I.C. Semantic State Constitution v1.0
 * Terminal-wide presentation law.
 * Global vibe follows the governed signal; local states follow their own condition.
 * Presentation only: no authority, thresholds, evidence, routing or execution semantics.
 */
:root{
  --maic-gov-available:var(--maic-positive,#66f0aa);
  --maic-gov-restricted:var(--maic-warning,#ffd166);
  --maic-gov-denied:var(--maic-danger,#ff6868);
  --maic-gov-buffer:var(--maic-info,#5da9ff);
  --maic-gov-withheld:#728397;
  --maic-state-neutral:var(--maic-neutral,#93a4b5);
}

/* State tokens: white is reading hierarchy, never the semantic opposite of grey. */
[data-state="active"],[data-state="available"],[data-governance-state="authorized"]{--maic-local-state:var(--maic-gov-available)}
[data-state="restricted"],[data-state="watch"],[data-governance-state="restricted"],[data-governance-state="constrained"]{--maic-local-state:var(--maic-gov-restricted)}
[data-state="denied"],[data-state="risk"],[data-governance-state="denied"]{--maic-local-state:var(--maic-gov-denied)}
[data-state="buffer"],[data-governance-state="buffer"]{--maic-local-state:var(--maic-gov-buffer)}
[data-state="degraded"],[data-state="gap"],[data-state="missing"],[data-governance-state="withheld"]{--maic-local-state:var(--maic-gov-withheld)}

:is(.maic-v73-badge.active,.maic-v73-badge.available,.maic-v73-badge.open,.maic-v73-badge.authorized){color:var(--maic-gov-available)!important;border-color:color-mix(in srgb,var(--maic-gov-available) 52%,var(--maic-vc-line,rgba(179,204,230,.14)))!important}
:is(.maic-v73-badge.restricted,.maic-v73-badge.constrained,.maic-v73-badge.review,.maic-v73-badge.watch,.maic-v73-badge.warning){color:var(--maic-gov-restricted)!important;border-color:color-mix(in srgb,var(--maic-gov-restricted) 48%,var(--maic-vc-line,rgba(179,204,230,.14)))!important}
:is(.maic-v73-badge.denied,.maic-v73-badge.closed,.maic-v73-badge.risk,.maic-v73-badge.error){color:var(--maic-gov-denied)!important;border-color:color-mix(in srgb,var(--maic-gov-denied) 52%,var(--maic-vc-line,rgba(179,204,230,.14)))!important}
:is(.maic-v73-badge.neutral,.maic-v73-badge.missing,.maic-v73-badge.gap,.maic-v73-badge.withheld){color:var(--maic-gov-withheld)!important}

/* Phase 04 allocation route semantics. */
#tab-tactical-desk .maic-bucket-lane.open::before{background:var(--maic-gov-available)!important}
#tab-tactical-desk .maic-bucket-lane.restricted::before{background:var(--maic-gov-restricted)!important}
#tab-tactical-desk .maic-bucket-lane.closed::before{background:var(--maic-gov-denied)!important}
#tab-tactical-desk .maic-bucket-lane.open>strong{color:var(--maic-gov-available)!important}
#tab-tactical-desk .maic-bucket-lane.restricted>strong{color:var(--maic-gov-restricted)!important}
#tab-tactical-desk .maic-bucket-lane.closed>strong{color:var(--maic-gov-denied)!important}
/* Cash is a reserve/buffer route. Native wording such as CASH/WAIT may classify as restricted;
 * preserve buffer semantics unless the backend explicitly closes/denies the route. */
#tab-tactical-desk .maic-bucket-gates>.maic-bucket-lane:nth-child(4):not(.closed)::before{background:var(--maic-gov-buffer)!important}
#tab-tactical-desk .maic-bucket-gates>.maic-bucket-lane:nth-child(4):not(.closed)>strong{color:var(--maic-gov-buffer)!important}
#tab-tactical-desk .maic-bucket-lane.open .maic-bucket-weight>i{background:linear-gradient(90deg,var(--maic-gov-available) calc(var(--w)*1%),var(--maic-vc-line-faint,rgba(179,204,230,.07)) 0)!important}
#tab-tactical-desk .maic-bucket-lane.restricted .maic-bucket-weight>i{background:linear-gradient(90deg,var(--maic-gov-restricted) calc(var(--w)*1%),var(--maic-vc-line-faint,rgba(179,204,230,.07)) 0)!important}
#tab-tactical-desk .maic-bucket-lane.closed .maic-bucket-weight>i{background:linear-gradient(90deg,var(--maic-gov-denied) calc(var(--w)*1%),var(--maic-vc-line-faint,rgba(179,204,230,.07)) 0)!important}
#tab-tactical-desk .maic-bucket-gates>.maic-bucket-lane:nth-child(4):not(.closed) .maic-bucket-weight>i{background:linear-gradient(90deg,var(--maic-gov-buffer) calc(var(--w)*1%),var(--maic-vc-line-faint,rgba(179,204,230,.07)) 0)!important}

/* Phase 04 upstream connectors: Phase 02/03 line + chevron grammar, never a text glyph. */
#tab-tactical-desk .maic-routing-upstream>i{display:none!important}
#tab-tactical-desk .maic-routing-upstream>div{position:relative!important}
@media(min-width:981px){
  #tab-tactical-desk .maic-routing-upstream>div:not(:last-of-type)::before{content:"";position:absolute;left:50%;bottom:-9px;width:1px;height:9px;background:var(--maic-vc-line,rgba(179,204,230,.14));z-index:3}
  #tab-tactical-desk .maic-routing-upstream>div:not(:last-of-type)::after{content:"";position:absolute;left:calc(50% - 3px);bottom:-9px;width:5px;height:5px;border-right:1px solid var(--maic-vc-signal,var(--maic-signal-accent,#93a4b5));border-bottom:1px solid var(--maic-vc-signal,var(--maic-signal-accent,#93a4b5));transform:rotate(45deg);z-index:4}
}
@media(max-width:980px) and (min-width:761px){
  #tab-tactical-desk .maic-routing-upstream>div:not(:last-of-type)::before{content:"";position:absolute;right:-10px;top:50%;width:10px;height:1px;background:var(--maic-vc-line,rgba(179,204,230,.14));z-index:3}
  #tab-tactical-desk .maic-routing-upstream>div:not(:last-of-type)::after{content:"";position:absolute;right:-10px;top:calc(50% - 3px);width:5px;height:5px;border-top:1px solid var(--maic-vc-signal,var(--maic-signal-accent,#93a4b5));border-right:1px solid var(--maic-vc-signal,var(--maic-signal-accent,#93a4b5));transform:rotate(45deg);z-index:4}
}
@media(max-width:760px){
  #tab-tactical-desk .maic-routing-upstream>div:not(:last-of-type)::before{content:"";position:absolute;left:50%;bottom:-9px;width:1px;height:9px;background:var(--maic-vc-line,rgba(179,204,230,.14));z-index:3}
  #tab-tactical-desk .maic-routing-upstream>div:not(:last-of-type)::after{content:"";position:absolute;left:calc(50% - 3px);bottom:-9px;width:5px;height:5px;border-right:1px solid var(--maic-vc-signal,var(--maic-signal-accent,#93a4b5));border-bottom:1px solid var(--maic-vc-signal,var(--maic-signal-accent,#93a4b5));transform:rotate(45deg);z-index:4}
}

#tab-tactical-desk .maic-v95614-readiness-track>i{
  position:relative!important;display:block!important;align-self:center!important;width:100%!important;height:1px!important;
  background:var(--maic-vc-line,rgba(179,204,230,.14))!important;color:transparent!important;font-size:0!important;line-height:0!important;overflow:visible!important;
}
#tab-tactical-desk .maic-v95614-readiness-track>i::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid var(--maic-vc-signal,var(--maic-signal-accent,#93a4b5));border-right:1px solid var(--maic-vc-signal,var(--maic-signal-accent,#93a4b5));transform:rotate(45deg)}
#tab-tactical-desk .maic-v95614-planning-chain>i{position:relative!important;display:block!important;justify-self:center!important;width:1px!important;height:18px!important;background:var(--maic-vc-line,rgba(179,204,230,.14))!important;color:transparent!important;font-size:0!important;line-height:0!important}
#tab-tactical-desk .maic-v95614-planning-chain>i::after{content:"";position:absolute;left:-3px;bottom:0;width:6px;height:6px;border-right:1px solid var(--maic-vc-signal,var(--maic-signal-accent,#93a4b5));border-bottom:1px solid var(--maic-vc-signal,var(--maic-signal-accent,#93a4b5));transform:rotate(45deg)}
@media(max-width:760px){#tab-tactical-desk .maic-v95614-readiness-track>i{display:none!important}}

/* Phase 05 route ports inherit the same condition semantics. */
#tab-sector-network .maic-portfolio-role-ports>.open>strong{color:var(--maic-gov-available)!important}
#tab-sector-network .maic-portfolio-role-ports>.restricted>strong{color:var(--maic-gov-restricted)!important}
#tab-sector-network .maic-portfolio-role-ports>.closed>strong{color:var(--maic-gov-denied)!important}
#tab-sector-network .maic-portfolio-role-ports>.open>i{background:var(--maic-gov-available)!important}
#tab-sector-network .maic-portfolio-role-ports>.restricted>i{background:var(--maic-gov-restricted)!important}
#tab-sector-network .maic-portfolio-role-ports>.closed>i{background:var(--maic-gov-denied)!important}
#tab-sector-network .maic-portfolio-role-ports>div:nth-child(4):not(.closed)>strong{color:var(--maic-gov-buffer)!important}
#tab-sector-network .maic-portfolio-role-ports>div:nth-child(4):not(.closed)>i{background:var(--maic-gov-buffer)!important}
