/* Human UX iteration 1: final cascade for the map-dominant tablet workspace. */
.toc-command-shell{grid-template-rows:auto auto auto minmax(0,1fr);gap:.35rem;padding:.4rem}
.orion-simulation-banner,.orion-live-status{min-height:2rem;padding:.32rem .62rem}
.orion-simulation-banner span,.orion-live-status span:last-child{font-size:.72rem}
.orion-simulation-actions button{min-height:2rem;padding:.25rem .58rem}
.toc-command-bar{grid-template-columns:minmax(250px,auto) minmax(0,1fr) auto;grid-template-areas:"brand menu actions";align-items:center;gap:.5rem;padding:.38rem .62rem}
.toc-command-menu-strip{justify-content:center;padding:0}.toc-command-overview-strip{display:none}
.toc-command-grid,html.orion-embedded .toc-command-grid{grid-template-columns:minmax(0,1fr) 0;gap:0;height:100%!important;min-height:0!important;overflow:hidden;transition:grid-template-columns 240ms cubic-bezier(.2,.8,.2,1)}
.toc-command-grid-rail-open,html.orion-embedded .toc-command-grid-rail-open{grid-template-columns:minmax(0,1fr) minmax(300px,23vw)}
.toc-command-map-column,.toc-map-panel-shell,.toc-map-panel-shell .toc-operations-panel{min-width:0;min-height:0!important;height:100%}
.toc-command-side-rail,html.orion-embedded .toc-command-side-rail{grid-column:2;width:max(300px,23vw);min-width:300px;height:100%;max-height:none;opacity:1;overflow:hidden;transform:translateX(0);transition:transform 240ms cubic-bezier(.2,.8,.2,1),opacity 160ms ease;will-change:transform}
.toc-command-rail-closed,html.orion-embedded .toc-command-rail-closed{pointer-events:none;opacity:0;transform:translateX(100%)}
.toc-command-rail-edge-handle,html.orion-embedded .toc-command-rail-edge-handle{top:50%;right:0;min-width:3rem!important;min-height:6rem;padding:.5rem .35rem;border-radius:12px 0 0 12px;transform:translateY(-50%);transition:right 240ms cubic-bezier(.2,.8,.2,1),background 160ms ease;touch-action:manipulation}
.toc-command-rail-edge-handle,html.orion-embedded .toc-command-rail-edge-handle{border:1px solid rgba(247,185,85,.55);background:rgba(7,14,24,.95);color:#f3e6ad;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.toc-command-grid-rail-open .toc-command-rail-edge-handle,html.orion-embedded .toc-command-grid-rail-open .toc-command-rail-edge-handle{right:max(300px,23vw)}
.toc-command-rail-handle-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.65rem;letter-spacing:.12em}
.toc-command-rail-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.toc-command-rail-tab{min-height:2.6rem;padding:.42rem .2rem;font-size:.64rem}
.toc-context-rail .toc-map-detail{position:static;display:grid;width:100%;max-height:none;padding:0;border:0;background:transparent;box-shadow:none}
.has-maplibre .toc-map-board-shell>.toc-map-detail{display:none}
.has-maplibre .toc-map-board-shell>.toc-summary-list[data-testid="tactical-map-cluster-list"]{display:none}
.toc-map-layer-menu{position:absolute;top:3.9rem;left:.65rem;z-index:8}
.orion-maplibre-actions{top:5.2rem;right:auto;left:.75rem;flex-direction:column;width:4.6rem;align-items:stretch}
.orion-maplibre-actions button{width:100%;padding:0 .35rem}
.orion-maplibre-compass{position:relative;align-self:center;width:3.5rem;height:3.5rem;margin-bottom:.15rem;border:1px solid rgba(247,185,85,.55);border-radius:50%;background:radial-gradient(circle at 50% 48%,rgba(24,38,42,.98),rgba(7,14,24,.96));color:#f4f5ef;box-shadow:0 8px 22px rgba(0,0,0,.32),inset 0 0 0 1px rgba(255,255,255,.05)}
.orion-maplibre-compass::before,.orion-maplibre-compass::after{position:absolute;color:rgba(241,243,233,.55);font:600 .48rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.orion-maplibre-compass::before{content:'W';top:50%;left:.28rem;transform:translateY(-50%)}
.orion-maplibre-compass::after{content:'E';top:50%;right:.28rem;transform:translateY(-50%)}
.orion-maplibre-compass-cardinal{position:absolute;top:.2rem;left:50%;z-index:2;transform:translateX(-50%);color:#f08b74;font:800 .58rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.orion-maplibre-compass-needle{position:absolute;inset:.72rem 50%;width:0;height:2.05rem;transform-origin:50% 50%;transition:transform 180ms ease}
.orion-maplibre-compass-needle::before,.orion-maplibre-compass-needle::after{content:'';position:absolute;left:-.24rem;border-right:.24rem solid transparent;border-left:.24rem solid transparent}
.orion-maplibre-compass-needle::before{top:0;border-bottom:.92rem solid #f08b74}
.orion-maplibre-compass-needle::after{bottom:0;border-top:.92rem solid #e8eee7}
.orion-map-filterbar{left:.75rem;bottom:4.35rem}
.toc-map-layer-menu>summary{display:inline-flex;align-items:center;min-height:2.65rem;padding:.42rem .7rem;border:1px solid rgba(247,185,85,.38);border-radius:10px;background:rgba(7,14,24,.92);color:var(--toc-text);cursor:pointer;font-size:.72rem;font-weight:700;letter-spacing:.08em;list-style:none;touch-action:manipulation}
.toc-map-layer-menu>summary::-webkit-details-marker{display:none}
.toc-map-layer-menu-panel{width:min(20rem,calc(100vw - 3rem));margin-top:.35rem;padding:.65rem;background:rgba(7,14,24,.96);box-shadow:0 16px 40px rgba(0,0,0,.38);backdrop-filter:blur(12px)}
.toc-map-layer-menu-panel .toc-map-layer-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.orion-map-marker-label{font-size:.78rem;font-weight:800;letter-spacing:.045em;text-shadow:0 1px 3px #000,0 0 5px #000}.orion-map-marker.is-selected{z-index:12!important;filter:drop-shadow(0 0 9px rgba(255,211,109,.95))}
.orion-map-marker[data-map-label-lane="0"] .orion-map-marker-label{transform:translateX(-42%)}
.orion-map-marker[data-map-label-lane="1"] .orion-map-marker-label{transform:translateX(42%)}
.orion-map-marker[data-map-label-lane="2"] .orion-map-marker-label{transform:translate(-42%,.5rem)}
.orion-map-marker[data-map-label-lane="3"] .orion-map-marker-label{transform:translate(42%,.5rem)}
.orion-map-marker.is-selected .orion-map-marker-label{transform:none}
.gpc-callsigns-hidden .orion-map-marker-label,.gpc-callsigns-hidden .orion-map-marker-stale{display:none}.orion-declutter-clean .orion-map-marker:not(.is-selected) .orion-map-marker-label{max-width:5.5rem;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1280px){body,html.orion-embedded body{height:100vh;overflow:hidden}#app,.toc-command-shell,html.orion-embedded #app,html.orion-embedded .toc-command-shell{height:100vh}.toc-command-grid,html.orion-embedded .toc-command-grid{grid-template-columns:minmax(0,1fr) 0;height:100%!important;overflow:hidden}.toc-command-grid-rail-open,html.orion-embedded .toc-command-grid-rail-open{grid-template-columns:minmax(0,1fr) 300px}.toc-command-side-rail,html.orion-embedded .toc-command-side-rail{width:300px;min-width:300px;height:100%;overflow:hidden}.toc-command-grid-rail-open .toc-command-rail-edge-handle,html.orion-embedded .toc-command-grid-rail-open .toc-command-rail-edge-handle{right:300px}.toc-map-panel-shell .toc-operations-panel,.toc-operations-panel-mapfirst .toc-map-board-shell,.toc-operations-panel-mapfirst .toc-map-board,.orion-maplibre-shell{min-height:0!important;height:100%}}
@media(prefers-reduced-motion:reduce){.toc-command-grid,.toc-command-side-rail,.toc-command-rail-edge-handle{transition-duration:1ms}}

/* Human UX iteration 2: true fullscreen map with secondary UI in the Tactical rail. */
.toc-command-shell{grid-template-rows:minmax(0,1fr);gap:0;padding:0}
.toc-command-shell-simulation{grid-template-rows:auto minmax(0,1fr)}
.orion-live-status,.toc-command-bar{display:none!important}
.toc-command-shell>.toc-visually-hidden{display:none!important}
.toc-command-grid,html.orion-embedded .toc-command-grid{border:0;border-radius:0}
.toc-command-shell>.toc-command-grid,html.orion-embedded .toc-command-shell>.toc-command-grid{height:100%!important;min-height:0!important;max-height:none!important;align-self:stretch}
.toc-command-map-column,.toc-map-panel-shell,.toc-operations-panel-mapfirst,.toc-map-board-shell,.orion-maplibre-shell{border-radius:0!important}
.toc-operations-panel-mapfirst{padding:0!important;border:0!important;background:#07100c}
.toc-map-board-shell{border:0!important}
.toc-command-rail-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.toc-command-rail-exit{margin-left:auto;min-height:2rem;padding:.28rem .5rem;border:1px solid rgba(247,185,85,.36);border-radius:7px;background:rgba(247,185,85,.08);color:#f3e6ad;font:inherit;font-size:.62rem;font-weight:800;letter-spacing:.08em}
.toc-command-rail-titlebar .toc-command-rail-close{margin-left:.25rem}
.toc-map-layer-menu{display:none!important}
html.orion-embedded #app,html.orion-embedded .toc-command-shell{width:100%;max-width:none;margin:0;padding:0}
html.orion-embedded .toc-map-panel-shell,html.orion-embedded .toc-map-panel-shell .toc-operations-panel,html.orion-embedded .toc-tactical-map-layout,html.orion-embedded .toc-operations-panel-mapfirst .toc-map-board-shell,html.orion-embedded .orion-maplibre-shell{height:100%!important;min-height:0!important;max-height:none!important}

/* Iteration 2 readability pass: stable tablet type without WebView font boosting. */
html.orion-embedded{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html.orion-embedded .orion-simulation-banner span{font-size:.68rem;line-height:1.25}
html.orion-embedded .orion-simulation-actions button{font-size:.68rem;line-height:1}
html.orion-embedded .toc-map-toolbar{font-size:.72rem}
html.orion-embedded .toc-map-mode-button{font-size:.7rem;line-height:1.15}
html.orion-embedded .toc-map-mode-note{font-size:.66rem;line-height:1.2}
html.orion-embedded .toc-map-legend{font-size:.68rem;line-height:1.2}
html.orion-embedded .orion-map-marker-label{font-size:.72rem;line-height:1.15}
html.orion-embedded .orion-map-marker-stale{font-size:.58rem;line-height:1.1}
html.orion-embedded .toc-activity-log-summary{font-size:.68rem}
html.orion-embedded .toc-command-rail{font-size:.75rem}
html.orion-embedded .toc-command-rail-titlebar{line-height:1.1}
html.orion-embedded .toc-command-rail-titlebar>strong{font-size:.86rem;letter-spacing:.035em}
html.orion-embedded .toc-command-rail-titlebar>span{font-size:.78rem}
html.orion-embedded .toc-command-rail-exit{font-size:.58rem}
html.orion-embedded .toc-command-rail-close{font-size:.8rem;line-height:1}
html.orion-embedded .toc-command-rail-tab{min-height:2.35rem;padding:.38rem .16rem;font-size:.62rem;line-height:1;letter-spacing:.045em}
html.orion-embedded .toc-command-rail-panel{padding-bottom:4.5rem}
html.orion-embedded .toc-command-rail-panel .toc-tactical-map-section,
html.orion-embedded .toc-command-rail-panel .toc-review-rail-panel{padding:.72rem}
html.orion-embedded .toc-command-action-grid{gap:.38rem}
html.orion-embedded .toc-command-action{
  display:grid;
  grid-template-columns:1rem minmax(0,1fr);
  grid-template-areas:"symbol title" "symbol detail";
  align-content:center;
  column-gap:.35rem;
  row-gap:.08rem;
  min-height:3.15rem;
  padding:.42rem .48rem;
  text-align:left;
  letter-spacing:.025em;
}
html.orion-embedded .toc-command-action-symbol{grid-area:symbol;align-self:center;font-size:.62rem;text-align:center}
html.orion-embedded .toc-command-action-title{grid-area:title;font-size:.66rem;line-height:1.15;overflow-wrap:anywhere}
html.orion-embedded .toc-command-action-detail{grid-area:detail;font-size:.58rem;line-height:1.15;letter-spacing:.035em;overflow-wrap:anywhere}
/* Auth V1 gate keeps the accepted Tactical workspace unchanged after login. */
.toc-auth-gate { max-width: 34rem; margin: 8vh auto; padding: 2rem; color: #eef4f7; background: #0b1520; border: 1px solid #334354; border-radius: 1rem; }
.toc-auth-gate h1 { margin: .4rem 0 1rem; font-size: 2rem; }
.toc-auth-gate label { display: grid; gap: .45rem; margin-top: 1.25rem; color: #aebac5; font-weight: 800; letter-spacing: .04em; }
.toc-auth-gate input { min-height: 3.25rem; padding: 0 .9rem; color: #fff; background: #101e2a; border: 1px solid #425364; border-radius: .65rem; font-size: 1.1rem; }
.toc-auth-gate button { width: 100%; min-height: 3.4rem; margin-top: 1.5rem; color: #fff; background: #80611e; border: 1px solid #c99d3c; border-radius: .7rem; font-weight: 900; }
.toc-auth-gate button:disabled { opacity: .65; }
.toc-auth-gate .toc-auth-secondary { margin-top: .75rem; color: #d8e1e8; background: transparent; border-color: #425364; }
.toc-auth-gate small { color: #82909d; font-weight: 600; letter-spacing: 0; }
.toc-registration-card { max-width: 58rem; margin-block: 1rem; padding: 1.5rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; }
.toc-registration-card > .toc-kicker,
.toc-registration-card > h1,
.toc-registration-card > p,
.toc-registration-card > button { grid-column: 1 / -1; }
.toc-registration-card > h1 { margin-bottom: .25rem; }
.toc-registration-card > label { margin-top: .8rem; }
.toc-registration-card > button { margin-top: .75rem; }
.toc-auth-notice { padding: .8rem 1rem; color: #baf5cd; background: #10291f; border: 1px solid #34704d; border-radius: .65rem; }
.toc-auth-error { color: #ff9188; }
@media (max-width: 700px) { .toc-registration-card { display: block; margin: 1rem; } }
