/* Shell controls stay outside the sandbox, including after a module failure. */
.module-stage { position: relative; flex: 1; min-width: 0; min-height: 0; overflow: hidden; }
#module-mount { position: absolute; inset: 0; }
#module-mount iframe { display: block; border: 0; width: 100%; height: 100%; color-scheme: dark; background: transparent; }
.module-status { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 16px; padding: 30px 10%; }
.module-status p { margin: 0; color: #b9cde4; font-size: 13px; line-height: 1.9; }
.module-status button { border: 1px solid #abccec45; border-radius: 8px; color: #d7e9ff; padding: 9px 18px; }
.module-status button:hover { background: #adcdf014; }
.workspace[data-mode=geo] .module-status { background:#f4f5f7; color:#38445c; }
.workspace[data-mode=geo] .module-status p { color:#52627b; }
.workspace[data-mode=geo] .module-status button { color:#594d9e; border-color:#bcb5d5; background:#fff; }
.workspace[data-mode=geo] .module-status button:hover { background:#eeebf7; }
.is-resizing #module-mount iframe { pointer-events: none; }
.future-card { text-align: left; padding: 0; }
.future-card .future-copy { position: absolute; inset: 0; }
.future-card:focus-visible { outline: 2px solid #c0e4ff; outline-offset: 5px; }
.workspace[data-mode=presentation] { grid-template-columns: minmax(0,1fr) 7px minmax(0,var(--split)); grid-template-areas: "agent divider business"; }
.workspace[data-mode=presentation] .business-panel { --space-accent: #d6c9ea; background: radial-gradient(ellipse at 90% 10%,#35284d66,transparent 65%),#100e18f5; }
.workspace[data-mode=commerce] .business-panel { --space-accent: #b9dce8; background: radial-gradient(ellipse at 10% 10%,#193d4566,transparent 65%),#08151af5; }
.is-fullscreen .workspace[data-mode=presentation] { grid-template-columns: 1fr; grid-template-areas: "business"; }
.without-adam .workspace { grid-template-columns: 1fr; grid-template-rows: 1fr; grid-template-areas: "business"; }
.without-adam .agent-panel, .without-adam .splitter { display: none; }
@media (max-width: 560px) {
  .workspace[data-mode=presentation] { grid-template-columns: 1fr; grid-template-rows: minmax(0,var(--split)) 7px minmax(0,1fr); grid-template-areas: "business" "divider" "agent"; }
  .is-fullscreen .workspace[data-mode=presentation], .without-adam .workspace[data-mode=presentation] { grid-template-columns: 1fr; grid-template-rows: 1fr; grid-template-areas: "business"; }
}

/* GEO alone: reserve more vertical space for the actual workbench. */
.workspace[data-mode=geo] .business-panel > .panel-top { height: 34px; padding: 0 17px; background: #0b1624c9; }
.workspace[data-mode=geo] .business-panel > .panel-top .icon-button { width: 27px; height: 27px; border-radius: 7px; }
.workspace[data-mode=geo] .business-panel > .panel-top .icon-button svg { width: 15px; height: 15px; }
.workspace[data-mode=geo] .business-panel > .panel-bottom { height: 27px; padding: 0 16px; border-top: 1px solid #9abef017; background: #0b1523e6; font-size: 8px; }
.workspace[data-mode=geo] .business-panel > .panel-bottom button { padding: 4px 5px; font-size: 8px; }

/* Connection feedback never covers or discards an open business form. */
.module-connection { position:absolute; top:8px; right:16px; z-index:2; margin:0; max-width:calc(100% - 32px); padding:7px 11px; border:1px solid #6a5939; border-radius:6px; background:#28251e; color:#dfc99b; font:12px/1.6 "Segoe UI","Microsoft YaHei",sans-serif; pointer-events:none; }
