/* ASTRAL 3.3.4 · shared material, spacing and interaction contract.
   Structural containers, maps and topology canvases retain their native layout. */
:root{
 --r-card:18px;--r-control:10px;--r-space:26px;
 --r-elevation:0 1px 2px #173b4305,0 8px 32px #173b4306;
 --r-edge:#ffffffb3;--r-hover:0 12px 32px #173b4310;
 --r-primary:linear-gradient(145deg,#237a65,#155e4e);
}
:root[data-theme=dark]{
 --r-elevation:0 1px 1px #0003,0 8px 32px #00000018;
 --r-edge:#ffffff09;--r-hover:0 12px 32px #00000030;
 --r-primary:linear-gradient(145deg,#b4ead5,#8fd4b9);
}
body[data-workspace] :is(.panel,.console-card,.project-card,.studio-card,.ops-flow,.network-flow-card,.sig26-card,.horizon-panel,.nx-panel,.stat-card,.metric-card,.host-card,.ops-policy,.ops-artifact){
 background:var(--c-surface)!important;color:var(--c-text);border:1px solid var(--c-border)!important;
 border-radius:var(--r-card)!important;box-shadow:inset 0 1px 0 var(--r-edge),var(--r-elevation);
 min-width:0;overflow-wrap:anywhere;
}
body[data-workspace] :is(.project-card,.studio-card,.ops-flow,.network-flow-card,.sig26-card){padding:var(--r-space)}
body[data-workspace] :is(.panel-head,.console-card-heading,.horizon-panel-head){padding:22px var(--r-space);gap:18px;border-bottom:1px solid var(--c-border);background:transparent}
body[data-workspace] :is(.panel-body,.console-card-body){padding:var(--r-space)}
body[data-workspace] :is(.panel-title,.console-card-heading h2,.horizon-panel-head h2,.ops-flow h3){font-weight:600;line-height:1.6;letter-spacing:-.015em;color:var(--c-text)}
body[data-workspace] :is(.panel-subtitle,.panel-head p,.ops-flow p){line-height:1.85}
body[data-workspace] :is(.panel-head,.console-card-heading)>:first-child{min-width:0}
body[data-workspace] :is(.ops-toolbar,.toolbar,.project-actions,.row-actions,.dialog-actions,.form-actions){gap:12px;flex-wrap:wrap}
body[data-workspace] :is(.button,.mini-button,.nx-table-action,.nx-inline,.horizon-inline,.console-row-action){
 display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;
 padding:9px 15px!important;border:1px solid var(--c-border-strong)!important;border-radius:var(--r-control)!important;
 font-family:var(--a-heading)!important;font-size:13px!important;font-weight:550!important;line-height:1.6;
 color:var(--c-text)!important;background:var(--c-surface)!important;text-decoration:none;cursor:pointer;
 box-shadow:inset 0 1px 0 var(--r-edge),0 1px 2px #00000005;
 transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s;
}
body[data-workspace] :is(.button.button-primary,.mini-button.primary,.login-submit){
 background:var(--r-primary)!important;border-color:var(--c-primary)!important;color:var(--c-on-primary)!important;
 box-shadow:inset 0 1px 0 #ffffff26,0 3px 9px #176b581b;
}
body[data-workspace] :is(.button.button-ghost,.mini-button){background:var(--c-layer)!important;color:var(--c-muted)!important;border-color:var(--c-border)!important}
body[data-workspace] :is(.button-danger,.button.delete,.project-delete,.button[data-danger=true]){
 color:var(--c-danger)!important;border-color:var(--c-danger)!important;background:var(--c-surface)!important;
}
body[data-workspace] :is(.button,.mini-button,.nx-table-action,.nx-inline,.horizon-inline,.console-row-action):disabled,
body[data-workspace] :is(.button,.mini-button)[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important;filter:none!important;pointer-events:none}
body[data-workspace] :is(.button,.mini-button):active:not(:disabled){transform:translateY(0);box-shadow:inset 0 1px 3px #0002}
body[data-workspace] :is(.icon-button,.nx-tool){display:inline-grid;place-items:center;border-radius:10px;border:1px solid var(--c-border);background:var(--c-layer);color:var(--c-muted);min-width:36px;min-height:36px}
body[data-workspace] :is(.button,.mini-button,.icon-button) svg{flex-shrink:0;width:16px;height:16px}
body[data-workspace] :is(.project-tabs,.sig26-tabs,.sig-tabs,.ops-tabs){gap:6px;padding:5px;border:1px solid var(--c-border);border-radius:12px;background:var(--c-layer);overflow:auto}
body[data-workspace] :is(.project-tabs,.sig26-tabs,.sig-tabs,.ops-tabs)>button{min-height:40px;padding:10px 18px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--c-muted);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}
body[data-workspace] :is(.project-tabs,.sig26-tabs,.sig-tabs,.ops-tabs)>button:is([aria-selected=true],.active,.is-active){color:var(--c-primary);background:var(--c-surface);border-color:var(--c-border);box-shadow:0 2px 5px #00000008}
body[data-workspace] :is(.ops-flow,.network-flow-card) details{margin-top:12px;border:1px solid var(--c-border);border-radius:11px;background:var(--c-layer);min-width:0}
body[data-workspace] :is(.ops-flow,.network-flow-card) details>summary{padding:15px 18px;line-height:1.8;cursor:pointer;overflow-wrap:anywhere}
body[data-workspace] :is(.ops-flow,.network-flow-card) details>pre{margin:0 14px 14px;padding:16px;border-radius:9px;white-space:pre-wrap;overflow-wrap:anywhere}
body[data-workspace] :is(.ops-flow,.network-flow-card) progress{accent-color:var(--c-primary);height:5px;border-radius:9px;width:100%;margin:15px 0}
body[data-workspace] :is(.panel,.studio-card,.project-card) form{min-width:0}
body[data-workspace] :is(.form-fields,.project-fields){column-gap:22px;row-gap:20px}
body[data-workspace] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){border-radius:var(--r-control)!important}
body[data-workspace] :is(.table-wrap,.data-table-wrap){border:1px solid var(--c-border);border-radius:12px}
body[data-workspace] :is(.ops-flow,.network-flow-card,.sig26-card)>:first-child{margin-top:0}
body[data-workspace] :is(.ops-flow,.network-flow-card,.sig26-card)>:last-child{margin-bottom:0}
body[data-workspace] .project-card-foot{padding-top:19px;margin-top:auto;gap:12px}
body[data-workspace] .project-card h2{font-size:19px;letter-spacing:-.025em}
body[data-workspace] .project-card>p{line-height:1.9}
body[data-workspace] .studio-panel{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
body[data-density=compact]{--r-space:20px}
body[data-density=compact] :is(.button,.mini-button,.nx-table-action,.nx-inline,.horizon-inline,.console-row-action){min-height:34px;padding:6px 12px!important}
@media(hover:hover) and (pointer:fine){
 body[data-workspace] :is(.button,.mini-button,.nx-table-action,.nx-inline,.horizon-inline,.console-row-action):hover:not(:disabled):not([aria-disabled=true]){border-color:var(--c-primary)!important;color:var(--c-primary)!important;box-shadow:0 3px 12px #176b5810;transform:translateY(-1px)}
 body[data-workspace] .button.button-primary:hover:not(:disabled){color:var(--c-on-primary)!important;filter:brightness(1.04)}
 body[data-workspace] :is(.button-danger,.button.delete,.project-delete):hover:not(:disabled){color:var(--c-danger)!important;border-color:var(--c-danger)!important}
 body[data-workspace] .project-card:hover{border-color:var(--c-border-strong)!important;box-shadow:inset 0 1px 0 var(--r-edge),var(--r-hover)}
}
@media(max-width:850px){
 :root{--r-space:21px;--r-card:15px}
 body[data-workspace] :is(.panel-head,.console-card-heading,.horizon-panel-head){padding:19px var(--r-space);gap:14px;flex-wrap:wrap}
 body[data-workspace] :is(.button,.mini-button){max-width:100%;white-space:normal}
 body[data-workspace] :is(.project-tabs,.sig26-tabs)>button{padding:10px 14px}
 body[data-workspace] :is(.ops-toolbar,.toolbar,.form-actions){gap:10px}
}
@media(prefers-reduced-motion:no-preference){body[data-workspace] .project-card{transition:border-color .2s,box-shadow .2s}}
@media(prefers-reduced-motion:reduce){body[data-workspace] :is(.button,.mini-button,.project-card){transition:none!important;transform:none!important}}
@media(forced-colors:active){body[data-workspace] :is(.button,.mini-button,.panel,.studio-card,.ops-flow,.network-flow-card){border:1px solid CanvasText!important;box-shadow:none!important}}

/* Large operation scopes stay reviewable without pushing failed tasks away. */
body[data-workspace] .operation-impact-list{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 18px;max-height:260px;overflow:auto}
body[data-workspace] .operation-impact-list code{padding:5px 8px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface);font-size:11px}
body[data-workspace] #oc-graph{max-height:560px;overflow:auto}
body[data-workspace] #oc-graph thead{position:sticky;top:0;z-index:1}
body[data-workspace] .network-flow-card>.resource-line{align-items:center;gap:16px;flex-wrap:wrap;padding:14px 16px}
body[data-workspace] .network-flow-card>.resource-line h3{font-size:16px;line-height:1.7;margin:0;flex:1 1 220px;min-width:0}
body[data-workspace] .network-flow-card>details>.resource-line{padding:16px 18px;gap:12px;border-top:1px solid var(--c-border)}
