/* ui436-cockpit-launch-motion: business-state-driven command deck feedback. */
:root {
  --cockpit-ink: #071017;
  --cockpit-surface: #101c25;
  --cockpit-signal: #79d8f2;
  --cockpit-signal-strong: #b8efff;
  --cockpit-warning: #d7a75d;
  --cockpit-motion-fast: 160ms;
  --cockpit-motion-base: 260ms;
  --cockpit-motion-enter: 420ms;
  --cockpit-motion-ease: cubic-bezier(0.22, 0.72, 0.2, 1);
}

html body #portal-root#portal-root#portal-root main.portal-shell,
html body #root#root#root main.geo-admin-shell {
  --cockpit-launch-border: rgba(121, 216, 242, 0.72);
  --cockpit-launch-shadow: rgba(44, 157, 190, 0.24);
}

html body #portal-root#portal-root#portal-root .cockpit-launch-action,
html body #root#root#root .cockpit-launch-action {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  border-color: var(--cockpit-launch-border) !important;
  background-color: #112631 !important;
  background-image:
    linear-gradient(90deg, rgba(121, 216, 242, 0.12) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
    linear-gradient(135deg, #153846 0%, #102630 54%, #0b1a22 100%) !important;
  background-size: 12px 12px, 12px 12px, auto !important;
  color: #effbff !important;
  -webkit-text-fill-color: #effbff !important;
  box-shadow: inset 0 1px 0 rgba(223, 250, 255, 0.19), inset 0 -2px 0 rgba(67, 178, 210, 0.42), 0 10px 22px rgba(0, 0, 0, 0.27), 0 0 0 1px rgba(121, 216, 242, 0.08) !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.36);
  transform: translateZ(0);
  transition: transform var(--cockpit-motion-fast) var(--cockpit-motion-ease), border-color var(--cockpit-motion-base) var(--cockpit-motion-ease), box-shadow var(--cockpit-motion-base) var(--cockpit-motion-ease), background-color var(--cockpit-motion-base) var(--cockpit-motion-ease) !important;
}

html body #portal-root#portal-root#portal-root .cockpit-launch-action > *,
html body #root#root#root .cockpit-launch-action > * {
  position: relative;
  z-index: 1;
}

html body #portal-root#portal-root#portal-root .cockpit-launch-action::before,
html body #root#root#root .cockpit-launch-action::before {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 -42%;
  width: 34%;
  opacity: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(200, 247, 255, 0.62), transparent);
  transform: skewX(-18deg) translateX(-180%);
}

html body #portal-root#portal-root#portal-root .cockpit-launch-action::after,
html body #root#root#root .cockpit-launch-action::after {
  content: '';
  position: absolute;
  z-index: 0;
  right: 10px;
  bottom: 7px;
  width: 28px;
  height: 3px;
  border-radius: 99px;
  opacity: 0.86;
  background: var(--cockpit-signal);
  box-shadow: 0 0 9px rgba(121, 216, 242, 0.75);
  pointer-events: none;
  transform-origin: right center;
}

html body #portal-root#portal-root#portal-root .cockpit-launch-action:not(:disabled):is(:hover, :focus-visible),
html body #root#root#root .cockpit-launch-action:not(:disabled):is(:hover, :focus-visible) {
  border-color: var(--cockpit-signal-strong) !important;
  background-color: #173744 !important;
  box-shadow: inset 0 1px 0 rgba(235, 253, 255, 0.29), inset 0 -2px 0 rgba(121, 216, 242, 0.76), 0 12px 26px rgba(0, 0, 0, 0.31), 0 0 0 3px rgba(121, 216, 242, 0.12), 0 0 25px var(--cockpit-launch-shadow) !important;
  transform: translateY(-1px) translateZ(0);
}

html body #portal-root#portal-root#portal-root .cockpit-launch-action:not(:disabled):is(:hover, :focus-visible)::before,
html body #root#root#root .cockpit-launch-action:not(:disabled):is(:hover, :focus-visible)::before {
  opacity: 0.9;
  animation: cockpit-launch-lock 620ms var(--cockpit-motion-ease) both;
}

html body #portal-root#portal-root#portal-root .cockpit-launch-action:not(:disabled):active,
html body #root#root#root .cockpit-launch-action:not(:disabled):active {
  transform: translateY(1px) scale(0.985) translateZ(0);
  transition-duration: 90ms !important;
}

html body #portal-root#portal-root#portal-root main.portal-shell[data-cockpit-ignition='arming'] .cockpit-launch-action[data-portal-action='run'],
html body #portal-root#portal-root#portal-root main.portal-shell[data-cockpit-ignition='charging'] .cockpit-launch-action[data-portal-action='run'],
html body #portal-root#portal-root#portal-root main.portal-shell[data-cockpit-ignition='launching'] .cockpit-launch-action[data-portal-action='run'] {
  border-color: var(--cockpit-warning) !important;
  box-shadow: inset 0 1px 0 rgba(255, 244, 213, 0.25), inset 0 -2px 0 rgba(215, 167, 93, 0.72), 0 0 0 3px rgba(215, 167, 93, 0.12), 0 0 26px rgba(215, 167, 93, 0.2) !important;
}

html body #portal-root#portal-root#portal-root main.portal-shell[data-cockpit-ignition='charging'] .cockpit-launch-action[data-portal-action='run']::after {
  width: calc(100% - 20px);
  background: var(--cockpit-warning);
  box-shadow: 0 0 14px rgba(215, 167, 93, 0.78);
  animation: cockpit-charge 1120ms var(--cockpit-motion-ease) both;
}

html body #portal-root#portal-root#portal-root main.portal-shell[data-cockpit-ignition='launching'] .cockpit-launch-action[data-portal-action='run']::before {
  opacity: 0.92;
  animation: cockpit-launch-wave 680ms var(--cockpit-motion-ease) both;
}

html body #portal-root#portal-root#portal-root main.portal-shell[data-cockpit-busy='true'] .cockpit-launch-action.is-cockpit-launching::after,
html body #root#root#root main.geo-admin-shell[data-cockpit-busy='true'] .cockpit-launch-action.is-cockpit-launching::after {
  opacity: 1;
  animation: cockpit-power-flow 1.15s linear infinite;
}

html body #portal-root#portal-root#portal-root main.portal-shell[data-cockpit-busy='true'] .cockpit-launch-action.is-cockpit-launching,
html body #root#root#root main.geo-admin-shell[data-cockpit-busy='true'] .cockpit-launch-action.is-cockpit-launching {
  border-color: var(--cockpit-signal-strong) !important;
}

html body #portal-root#portal-root#portal-root .portal-content-stage > :is(section, article, .panel),
html body #root#root#root .geo-content > :is(section, article, .geo-panel, .admin-dashboard-v2) {
  animation: cockpit-surface-arrive var(--cockpit-motion-enter) var(--cockpit-motion-ease) both;
}

html body #portal-root#portal-root#portal-root :is(.metric-card, .client-core-card, .live-metric-card, .mission-metric),
html body #root#root#root :is(.geo-command-metric, .geo-kpi-card, .admin-dashboard-metric, .geo-stat-card) {
  transition: transform var(--cockpit-motion-base) var(--cockpit-motion-ease), border-color var(--cockpit-motion-base) var(--cockpit-motion-ease), box-shadow var(--cockpit-motion-base) var(--cockpit-motion-ease);
}

html body #portal-root#portal-root#portal-root :is(.metric-card, .client-core-card, .live-metric-card, .mission-metric):hover,
html body #root#root#root :is(.geo-command-metric, .geo-kpi-card, .admin-dashboard-metric, .geo-stat-card):hover {
  border-color: rgba(121, 216, 242, 0.46) !important;
  box-shadow: inset 2px 0 0 rgba(121, 216, 242, 0.8), 0 13px 26px rgba(0, 0, 0, 0.22) !important;
  transform: translateY(-2px);
}

html body #portal-root#portal-root#portal-root :is(.client-chart, .live-signal-chart, .tracking-score-card) svg :is(path, polyline, line),
html body #root#root#root :is(.geo-chart, .geo-launch-score, .admin-chart) svg :is(path, polyline, line) {
  stroke-dasharray: 360;
  stroke-dashoffset: 360;
  animation: cockpit-vector-arrive 820ms var(--cockpit-motion-ease) 100ms both;
}

html body #portal-root#portal-root#portal-root :is(.client-chart, .live-signal-chart, .tracking-score-card) svg :is(circle, rect),
html body #root#root#root :is(.geo-chart, .geo-launch-score, .admin-chart) svg :is(circle, rect) {
  transform-box: fill-box;
  transform-origin: center;
  animation: cockpit-signal-arrive 420ms var(--cockpit-motion-ease) 360ms both;
}

@keyframes cockpit-launch-lock { from { transform: skewX(-18deg) translateX(-180%); } to { transform: skewX(-18deg) translateX(520%); } }
@keyframes cockpit-charge { 0% { transform: scaleX(0.08); opacity: 0.38; } 66% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(0.78); opacity: 0.78; } }
@keyframes cockpit-launch-wave { from { transform: skewX(-18deg) translateX(-180%); } to { transform: skewX(-18deg) translateX(590%); } }
@keyframes cockpit-power-flow { 0% { transform: scaleX(0.32); opacity: 0.42; } 52% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(0.32); opacity: 0.42; } }
@keyframes cockpit-surface-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes cockpit-vector-arrive { to { stroke-dashoffset: 0; } }
@keyframes cockpit-signal-arrive { from { opacity: 0; transform: scale(0.72); } to { opacity: 1; transform: scale(1); } }

@media (max-width: 640px) {
  html body #portal-root#portal-root#portal-root .cockpit-launch-action,
  html body #root#root#root .cockpit-launch-action { background-size: 10px 10px, 10px 10px, auto !important; }
}

/* ui436-responsive-collision-guard: keep compact navigation out of the next row. */
@media (min-width: 821px) and (max-width: 1550px) {
  html body #root#root#root main.geo-admin-shell.section-dashboard .geo-admin-command-strip,
  html body #root#root#root main.geo-admin-shell.section-dashboard .admin-command-rail .geo-admin-command-strip {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body #root#root#root main.geo-admin-shell.section-dashboard .geo-admin-command-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body #root#root#root main.geo-admin-shell.section-dashboard .geo-admin-command-step {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }
}

@media (max-width: 820px) {
  html body #root#root#root main.geo-admin-shell .geo-sidebar {
    height: 170px !important;
    min-height: 170px !important;
    max-height: 170px !important;
    z-index: 2 !important;
  }

  html body #root#root#root main.geo-admin-shell .geo-sidebar::before,
  html body #root#root#root main.geo-admin-shell .geo-sidebar::after {
    display: none !important;
    pointer-events: none !important;
  }

  html body #root#root#root main.geo-admin-shell .geo-brand,
  html body #root#root#root main.geo-admin-shell .geo-nav,
  html body #root#root#root main.geo-admin-shell .geo-nav .geo-nav-group,
  html body #root#root#root main.geo-admin-shell .geo-nav .geo-nav-children,
  html body #root#root#root main.geo-admin-shell .geo-nav .geo-nav-children > button {
    position: relative !important;
    z-index: 3 !important;
    pointer-events: auto !important;
  }

  html body #root#root#root main.geo-admin-shell .geo-nav {
    height: 48px !important;
    min-height: 48px !important;
    align-items: stretch !important;
  }

  html body #root#root#root main.geo-admin-shell .geo-topbar {
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
  }

  html body #portal-root#portal-root#portal-root main.portal-shell .portal-header {
    height: 124px !important;
    min-height: 124px !important;
    max-height: 124px !important;
  }

  html body #portal-root#portal-root#portal-root main.portal-shell .portal-logout-button {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body #portal-root#portal-root#portal-root .cockpit-launch-action,
  html body #root#root#root .cockpit-launch-action,
  html body #portal-root#portal-root#portal-root .portal-content-stage > :is(section, article, .panel),
  html body #root#root#root .geo-content > :is(section, article, .geo-panel, .admin-dashboard-v2),
  html body #portal-root#portal-root#portal-root svg *,
  html body #root#root#root svg * { animation: none !important; transition-duration: 0.01ms !important; }
}
