/* Shared analytical semantics. Deliberately scoped outside tenant design tokens. */
.ga-workspace,.ga-dialog{--ga-bg:var(--gd-panel,var(--orb-surface,#0a1714));--ga-ink:var(--gd-text,var(--orb-ink,#f1f8f5));--ga-muted:var(--gd-muted,var(--orb-ink-soft,#b0c3bd));--ga-line:var(--gd-line,var(--orb-line-strong,#52665f));--ga-accent:var(--orb-cyan,#68bad9);color:var(--ga-ink);background:var(--ga-bg);font:400 13px/1.5 Avenir,sans-serif;box-sizing:border-box}
.ga-workspace{border:1px solid var(--ga-line);border-radius:12px;margin:0 0 24px;overflow:hidden;min-width:0;scroll-margin-top:20px}
.ga-workspace *,.ga-dialog *{box-sizing:border-box}
.ga-workspace [hidden]{display:none!important}
.ga-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;background:linear-gradient(100deg,color-mix(in srgb,var(--ga-accent) 9%,var(--ga-bg)),var(--ga-bg))}
.ga-heading{display:grid;gap:3px;min-width:0}.ga-heading strong{font-size:16px;line-height:1.4}.ga-eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--ga-accent)}
.ga-workspace small,.ga-note,.ga-legend,.ga-dialog small{color:var(--ga-muted);font-size:12px}.ga-body{padding:0 20px 20px}.ga-header-actions,.ga-result-tools,.ga-actions,.ga-pagination{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ga-result-tools{justify-content:space-between;margin:18px 0 12px}
.ga-workspace :is(button,select,input,textarea),.ga-dialog :is(button,input,textarea){font:inherit;color:var(--ga-ink);border:1px solid var(--ga-line);background:var(--ga-bg);border-radius:6px;min-height:34px;padding:7px 10px;max-width:100%;box-shadow:none;text-transform:none;letter-spacing:normal}
.ga-workspace button,.ga-dialog button{cursor:pointer;white-space:normal;font-weight:600}.ga-workspace button:hover,.ga-dialog button:hover{border-color:var(--ga-accent);background:color-mix(in srgb,var(--ga-accent) 12%,var(--ga-bg))}.ga-workspace button:disabled,.ga-dialog button:disabled{opacity:.45;cursor:not-allowed}
.ga-workspace :is(button,input,select,summary):focus-visible,.ga-dialog :is(button,input,textarea):focus-visible{outline:3px solid var(--ga-accent);outline-offset:3px}
.ga-workspace .ga-primary{border-color:var(--ga-accent);color:var(--ga-accent);font-weight:700}.ga-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px 0}.ga-controls label{display:flex;flex-direction:column;gap:6px;color:var(--ga-muted);font-size:12px;min-width:0}.ga-controls select,.ga-controls input{width:100%;color:var(--ga-ink)}.ga-entity-picker{display:grid;gap:6px}
.ga-workspace details{border-top:1px solid var(--ga-line);padding:12px 0}.ga-workspace summary{cursor:pointer;font-weight:650;min-height:28px;color:var(--ga-ink)}.ga-workspace p{margin:8px 0;color:inherit}.ga-status{min-height:22px}.ga-status[data-state=partial],.ga-warning{border-left:3px dashed var(--ga-accent);padding-left:12px}.ga-status[data-state=error]{border-left:3px solid #ff6965;padding-left:12px}
.ga-provenance{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;padding:12px;background:color-mix(in srgb,var(--ga-accent) 7%,var(--ga-bg));border:1px solid var(--ga-line);border-radius:8px;font-size:12px}.ga-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ga-line);padding:2px 8px;border-radius:20px;font-size:11px;line-height:1.7;white-space:nowrap;color:var(--ga-ink)}.ga-badge:before{content:'◇';font-weight:900;color:var(--ga-accent)}.ga-badge[data-state=supported]:before,.ga-badge[data-state=observed]:before{content:'◆'}.ga-badge[data-state=blocked]:before{content:'⊘'}.ga-badge[data-state=unknown],.ga-badge[data-state=possible_impact]{border-style:dashed}.ga-badge[data-state=unknown]:before{content:'?'}
.ga-path,.ga-candidate,.ga-impact,.ga-lineage{border:1px solid var(--ga-line);border-radius:9px;margin:10px 0;padding:12px 14px;background:color-mix(in srgb,var(--ga-accent) 3%,var(--ga-bg))}.ga-path-title,.ga-candidate-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ga-path-title>button{margin-left:auto}.ga-path-lane{display:flex;align-items:center;overflow-x:auto;gap:14px;padding:18px 0 10px;scrollbar-width:thin}.ga-workspace .ga-entity{min-width:140px;max-width:210px;flex:0 0 165px;padding:14px 12px;overflow-wrap:anywhere;border-radius:8px;text-align:left;font-weight:700;border-left:3px solid var(--ga-accent)}.ga-transition{display:grid;justify-items:center;gap:4px;flex:0 0 116px;text-align:center}.ga-transition>span:first-child{font-size:22px;color:var(--ga-accent)}.ga-transition button{border:0;padding:2px;font-weight:500;min-height:22px}.ga-transition small{font-size:10px}
.ga-lineage,.ga-impact{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.ga-lineage>.ga-entity,.ga-impact>.ga-entity{min-width:0;flex:1}.ga-lineage>small{flex-basis:100%}.ga-candidate small{display:block}.ga-candidate .ga-actions{margin-top:12px}.ga-empty{padding:32px 20px;border:1px dashed var(--ga-line);border-radius:9px;margin-top:10px}.ga-empty strong{font-size:16px}.ga-pagination{justify-content:flex-end;padding:12px 0}.ga-table-scroll{overflow:auto;max-height:560px;max-width:100%}.ga-workspace table{border-collapse:collapse;min-width:100%;font-size:12px}.ga-workspace :is(td,th){padding:10px 12px;text-align:left;border-bottom:1px solid var(--ga-line);vertical-align:middle;min-width:100px}.ga-workspace th{position:sticky;top:0;background:var(--ga-bg);z-index:1}.ga-workspace caption{text-align:left;padding:12px 0;font-weight:650}.ga-workspace th .ga-entity{min-width:100px;width:140px;padding:7px;font-size:11px}.ga-workspace .ga-matrix-cell{border:0;font-size:22px;color:var(--ga-accent);width:100%}
.ga-inspector{border:1px solid var(--ga-accent);border-radius:10px;padding:18px;margin-top:20px;scroll-margin:18px}.ga-inspector h3,.ga-scenario h3{font-size:18px;margin:0}.ga-workspace pre,.ga-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:360px;overflow:auto;padding:14px;border:1px solid var(--ga-line);font:12px/1.6 Avenir,sans-serif;color:var(--ga-ink)}.ga-evidence-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--ga-line)}.ga-evidence-row small{overflow-wrap:anywhere}.ga-prerequisite{padding:10px 0}.ga-prerequisite strong{margin-left:12px}.ga-scenario{margin:16px 0;padding:18px;border:1px solid var(--ga-accent);border-radius:10px}.ga-scenario-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.ga-scenario-counts>div{display:grid;gap:4px;padding:14px;border-left:2px solid var(--ga-accent)}.ga-scenario-counts strong{font-size:28px}.ga-scenario-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.ga-scenario-pair h4{margin:14px 0 6px}.ga-scenario-pair .ga-path-lane{gap:8px}.ga-scenario-pair .ga-entity{flex-basis:130px}.ga-scenario-pair .ga-transition{flex-basis:80px}.ga-dialog{width:min(660px,92vw);max-height:88vh;overflow:auto;padding:24px;border:1px solid var(--ga-line);border-radius:12px}.ga-dialog::backdrop{background:#0009}.ga-dialog input,.ga-dialog textarea{display:block;width:100%;margin:8px 0 16px}.ga-dialog h2{font-size:22px}.ga-dialog textarea{min-height:90px}
.ga-workspace:fullscreen{overflow:auto;margin:0;padding:20px;max-width:none;border-radius:0}.ga-workspace:fullscreen .ga-header{position:sticky;top:0;z-index:3}
.ga-mark-selected{outline:3px solid #68bad9!important;outline-offset:3px}.ga-mark-related{outline:3px double #68bad9!important;outline-offset:3px}.ga-mark-unknown{outline-style:dashed!important}.ga-mark-muted{opacity:.2!important}.ga-visual-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;font:12px Avenir,sans-serif}.ga-visual-tools button{font:inherit;border:1px solid var(--orb-line-strong);border-radius:5px;padding:5px 9px;color:inherit;background:transparent;cursor:pointer}.ga-chart-table{max-height:320px;overflow:auto}.ga-chart-table table{min-width:100%;border-collapse:collapse}.ga-chart-table :is(td,th){padding:8px;border-bottom:1px solid var(--orb-line-strong);text-align:left}
@media(max-width:1100px){.ga-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-scenario-pair{grid-template-columns:1fr}.ga-header{align-items:flex-start}.ga-header-actions{justify-content:flex-end}}
@media(max-width:680px){.ga-header{flex-direction:column;gap:12px}.ga-body{padding:0 12px 12px}.ga-controls{grid-template-columns:1fr}.ga-header-actions{justify-content:flex-start}.ga-scenario-counts{grid-template-columns:1fr}.ga-pagination{justify-content:flex-start}.ga-workspace .ga-entity{flex-basis:135px}.ga-path-title>button{margin-left:0}}
@media(prefers-reduced-motion:reduce){.ga-workspace *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* A panel and its nested chart share one contextual entry point. */
:is(.gd-panel,.lm-panel,.si-panel,[data-analysis-panel])>.ga-visual-tools[data-analysis-visual]~.ga-visual-tools[data-analysis-visual],:is(.gd-panel,.lm-panel,.si-panel,[data-analysis-panel])>.ga-visual-tools[data-analysis-visual]~* .ga-visual-tools[data-analysis-visual]{display:none}
.ga-chart-surface:fullscreen{background:var(--gd-panel,var(--orb-surface,#141721));padding:24px;display:flex;flex-direction:column;overflow:auto}
.ga-chart-surface:fullscreen>[role=img]{flex:1;min-height:65vh!important}

.ga-fullscreen-visual:fullscreen{overflow:auto;padding:24px;box-sizing:border-box;background:var(--gd-panel,var(--lm-panel,var(--si-panel,var(--aws-surface,var(--orb-surface,#101917)))))}

.ga-context-note{margin:0;padding:0 22px 16px;font-size:12px;line-height:1.6;color:var(--ga-muted)}
/* The shared panel is a sibling of the AWS root, so explicitly follow its
   console theme, including native select popups and body-mounted dialogs. */
.shell[data-vertical=aws] .ga-workspace,body:has(.shell[data-vertical=aws])>.ga-dialog{--ga-bg:#fff;--ga-ink:#0f141a;--ga-muted:#414d5c;--ga-line:#7d8998;--ga-accent:#005ea8;--select-popup-bg:var(--ga-bg);--select-popup-text:var(--ga-ink);--select-popup-muted:var(--ga-muted);color-scheme:light}
.shell[data-vertical=aws]:has(.aws-root[data-aws-theme=dark]) .ga-workspace,body:has(.shell[data-vertical=aws] .aws-root[data-aws-theme=dark])>.ga-dialog{--ga-bg:#162334;--ga-ink:#e9ebed;--ga-muted:#b8c5d5;--ga-line:#728299;--ga-accent:#75baff;color-scheme:dark}
.shell[data-vertical=aws] .ga-workspace select{color-scheme:inherit;-webkit-text-fill-color:var(--ga-ink)}
.shell[data-vertical=aws] :is(.ga-mark-selected,.ga-mark-related){outline-color:#0972d3!important}
.shell[data-vertical=aws]:has(.aws-root[data-aws-theme=dark]) :is(.ga-mark-selected,.ga-mark-related){outline-color:#75baff!important}
/* Keep a complete path legible in each synchronized scenario column. */
.ga-scenario-pair .ga-path-lane{flex-direction:column;align-items:stretch;overflow:visible}.ga-scenario-pair .ga-entity{flex:0 0 auto;max-width:none;min-width:0}.ga-scenario-pair .ga-transition{flex:0 0 auto}.ga-scenario-pair .ga-transition>span:first-child{transform:rotate(90deg)}
/* Keep scope, vertical and account controls reachable beside the desktop sidebar. */
@media(min-width:768px) and (max-width:1100px){body:has(.ga-workspace) .topbar{flex-wrap:wrap}body:has(.ga-workspace) .topbar-spacer{display:none}body:has(.ga-workspace) .topbar>*{max-width:100%}body:has(.ga-workspace) .topbar .context-control{min-width:0}}
