.app-shell { display: grid; grid-template-rows: auto minmax(0, 1fr); block-size: 100dvb; min-block-size: 640px; background: var(--neutral-050); }
.company-hud { position: relative; z-index: 20; display: grid; grid-template-columns: minmax(13rem, 1fr) auto minmax(13rem, 1fr); align-items: center; gap: var(--space-4); min-block-size: var(--hud-block); padding: var(--space-2) var(--space-4); color: var(--surface-000); background: var(--navy-950); box-shadow: 0 2px 0 var(--navy-alpha); }
.company-brand, .hud-status, .hud-status > span, .hud-button, .location-chip { display: flex; align-items: center; }
.company-brand { gap: var(--space-3); min-inline-size: 0; }
.company-brand > div { display: grid; min-inline-size: 0; }
.company-brand strong { font-size: var(--type-16); }
.company-brand span { overflow: hidden; color: var(--neutral-350); font-size: var(--type-12); text-overflow: ellipsis; white-space: nowrap; }
.hud-icon, .hud-status svg, .hud-button svg, .location-chip svg { inline-size: 22px; block-size: 22px; flex: none; }
.location-chip { gap: var(--space-2); min-block-size: var(--target-min); padding-inline: var(--space-4); border: var(--line-thin) solid var(--glass-500); border-radius: var(--radius-md); background: var(--navy-850); font-weight: 700; }
.location-chip svg { color: var(--glass-150); }
.hud-status { justify-content: flex-end; gap: var(--space-3); }
.hud-status > span { gap: var(--space-2); white-space: nowrap; }
.hud-button { gap: var(--space-2); min-block-size: var(--target-min); padding-inline: var(--space-3); color: var(--surface-000); border: var(--line-thin) solid var(--neutral-350); border-radius: var(--radius-sm); background: transparent; cursor: pointer; }
.hud-button:hover, .hud-button[aria-expanded="true"] { background: var(--navy-850); }
.user-badge { min-inline-size: 5.5rem; justify-content: center; padding: var(--space-2) var(--space-3); border-radius: var(--radius-round); background: var(--company-accent-600); font-weight: 700; }
.simulation-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(20rem, 1fr); min-block-size: 0; overflow: hidden; }
.world-region { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto auto auto; min-inline-size: 0; min-block-size: 0; border-inline-end: var(--line-thin) solid var(--neutral-350); background: var(--neutral-100); }
.context-panel { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); min-inline-size: 0; min-block-size: 0; background: var(--surface-000); }
.fatal-state { position: fixed; inset: 0; z-index: 200; display: grid; place-content: center; gap: var(--space-3); padding: var(--space-8); color: var(--status-error-700); background: var(--status-error-100); text-align: center; }
