/* ui539: signal-grade vector instruments for the Lingxi command cockpit. */
:root {
  --ui539-void: #040b10;
  --ui539-window: #0a2028;
  --ui539-window-deep: #06141b;
  --ui539-cyan: #67e9f4;
  --ui539-ice: #f0fdff;
  --ui539-blue: #b6c7d9;
  --ui539-frame: #427785;
  --ui539-grid: #244653;
  --ui539-quiet: #203640;
  --ui539-mint: #8de7c6;
  --ui539-amber: #ffbf6b;
  --ui539-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Every icon is a small instrument: a cut chassis, a viewport, a lock
   aperture, one semantic glyph and one outbound status beacon. */
html body :is(#portal-root, #root) svg.cockpit-vector-icon {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--ui539-ice) !important;
  shape-rendering: geometricPrecision !important;
  transform: translateZ(0) !important;
  filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.7)) !important;
  transition: color 160ms var(--ui539-ease), transform 160ms var(--ui539-ease), filter 160ms var(--ui539-ease) !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(path, rect, circle, line, polyline, polygon) {
  vector-effect: non-scaling-stroke !important;
  stroke-linecap: square !important;
  stroke-linejoin: bevel !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-plate {
  display: none !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-chassis {
  fill: rgba(103, 233, 244, 0.028) !important;
  stroke: var(--ui539-frame) !important;
  stroke-width: 0.74 !important;
  stroke-dasharray: 9 3 1 5 !important;
  opacity: 1 !important;
  animation: ui539ChassisBoot 520ms var(--ui539-ease) both !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-window {
  fill: var(--ui539-window-deep) !important;
  stroke: var(--ui539-frame) !important;
  stroke-width: 0.56 !important;
  opacity: 1 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-aperture {
  fill: var(--ui539-window) !important;
  stroke: var(--ui539-cyan) !important;
  stroke-width: 0.72 !important;
  stroke-dasharray: 10 2 1 4 !important;
  filter: drop-shadow(0 0 3px rgba(103, 233, 244, 0.44)) !important;
  animation: ui539LensAcquire 560ms var(--ui539-ease) 40ms both !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-grid {
  fill: none !important;
  stroke: var(--ui539-grid) !important;
  stroke-width: 0.28 !important;
  stroke-dasharray: 1 3.5 !important;
  opacity: 0.58 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(.glyph-tech-crosshair, .glyph-tech-vector) {
  fill: none !important;
  stroke: var(--ui539-blue) !important;
  stroke-width: 0.42 !important;
  opacity: 0.7 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(.glyph-tech-microticks, .glyph-tech-calibration) {
  fill: none !important;
  stroke: var(--ui539-blue) !important;
  stroke-width: 0.34 !important;
  stroke-dasharray: 2 2 !important;
  opacity: 0.62 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(.glyph-tech-route, .glyph-tech-bus, .glyph-tech-circuit, .glyph-tech-beam) {
  fill: none !important;
  stroke: var(--ui539-cyan) !important;
  stroke-width: 0.62 !important;
  stroke-dasharray: 7 2 1 4 !important;
  opacity: 0.82 !important;
  animation: ui539RouteReceive 620ms var(--ui539-ease) 70ms both !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-data-rail {
  fill: none !important;
  stroke: var(--ui539-mint) !important;
  stroke-width: 0.52 !important;
  stroke-dasharray: 1 2 4 2 !important;
  opacity: 0.76 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-diode {
  fill: var(--ui539-mint) !important;
  stroke: var(--ui539-ice) !important;
  stroke-width: 0.38 !important;
  filter: drop-shadow(0 0 3px rgba(141, 231, 198, 0.64)) !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(.glyph-tech-rail, .glyph-tech-connector) {
  fill: none !important;
  stroke: var(--ui539-quiet) !important;
  stroke-width: 0.46 !important;
  stroke-dasharray: 2 4 !important;
  opacity: 0.82 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-orbit {
  fill: none !important;
  stroke: var(--ui539-blue) !important;
  stroke-width: 0.34 !important;
  stroke-dasharray: 2 5 7 3 !important;
  opacity: 0.46 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(.glyph-tech-target, .glyph-tech-spokes) {
  fill: none !important;
  stroke: var(--ui539-ice) !important;
  stroke-width: 0.44 !important;
  opacity: 0.8 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-scanline {
  display: none !important;
  fill: none !important;
  stroke: var(--ui539-ice) !important;
  stroke-width: 0.8 !important;
  stroke-dasharray: 3 2 10 3 !important;
  opacity: 0 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-core-ring {
  fill: none !important;
  stroke: var(--ui539-cyan) !important;
  stroke-width: 0.62 !important;
  stroke-dasharray: 3 2 7 3 !important;
  opacity: 0.92 !important;
  filter: drop-shadow(0 0 4px rgba(103, 233, 244, 0.58)) !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-pulse {
  fill: none !important;
  stroke: var(--ui539-cyan) !important;
  stroke-width: 0.4 !important;
  opacity: 0.16 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(.glyph-tech-core, .glyph-node, .glyph-tech-beacon) {
  fill: var(--ui539-ice) !important;
  stroke: var(--ui539-cyan) !important;
  stroke-width: 0.68 !important;
  filter: drop-shadow(0 0 4px rgba(103, 233, 244, 0.78)) !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-node-ring {
  fill: none !important;
  stroke: var(--ui539-cyan) !important;
  stroke-width: 0.4 !important;
  stroke-dasharray: 1 2 3 2 !important;
  opacity: 0.9 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-main {
  fill: none !important;
  stroke: var(--ui539-ice) !important;
  stroke-width: 1.16 !important;
  opacity: 1 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-signal {
  fill: none !important;
  stroke: var(--ui539-cyan) !important;
  stroke-width: 1.62 !important;
  filter: drop-shadow(0 0 5px rgba(103, 233, 244, 0.76)) !important;
}

html body :is(#portal-root, #root) :is(button, a, summary):is(:hover, :focus-visible) svg.cockpit-vector-icon {
  color: #ffffff !important;
  transform: translate3d(1px, -1px, 0) scale(1.07) !important;
  filter: drop-shadow(0 0 10px rgba(103, 233, 244, 0.76)) !important;
}

html body :is(#portal-root, #root) :is(button, a, summary):is(:hover, :focus-visible) svg.cockpit-vector-icon .glyph-tech-scanline {
  display: block !important;
  opacity: 1 !important;
  animation: ui539ScanLock 360ms var(--ui539-ease) both !important;
}

html body :is(#portal-root, #root) :is(button.active, a[aria-current="page"]):not(:disabled) svg.cockpit-vector-icon {
  color: #ffffff !important;
  filter: drop-shadow(0 0 11px rgba(103, 233, 244, 0.82)) !important;
}

html body :is(#portal-root, #root) :is(button.active, a[aria-current="page"]):not(:disabled) svg.cockpit-vector-icon .glyph-tech-aperture {
  stroke: var(--ui539-ice) !important;
  animation: ui539ActiveLock 420ms var(--ui539-ease) both !important;
}

html body :is(#portal-root, #root) :is(button, a, summary):is(:hover, :focus-visible, .active) svg.cockpit-vector-icon .glyph-tech-orbit {
  opacity: 0.86 !important;
  animation: ui539OrbitLock 620ms var(--ui539-ease) both !important;
}

html body :is(#portal-root, #root) :is(button, a, summary):is(:hover, :focus-visible) svg.cockpit-vector-icon .glyph-tech-beacon {
  animation: ui539BeaconFlash 360ms var(--ui539-ease) both !important;
}

/* Distinguish instrument families without introducing a second palette. */
html body :is(#portal-root, #root) svg.cockpit-vector-icon[data-vector-name="search"] .glyph-tech-orbit,
html body :is(#portal-root, #root) svg.cockpit-vector-icon[data-vector-name="aiSearch"] .glyph-tech-orbit,
html body :is(#portal-root, #root) svg.cockpit-vector-icon[data-vector-name="tracking"] .glyph-tech-orbit {
  stroke-dasharray: 9 2 1 2 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon[data-vector-name="chart"] .glyph-tech-route,
html body :is(#portal-root, #root) svg.cockpit-vector-icon[data-vector-name="trend"] .glyph-tech-route,
html body :is(#portal-root, #root) svg.cockpit-vector-icon[data-vector-name="actions"] .glyph-tech-route {
  stroke: var(--ui539-mint) !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon[data-vector-name="publisher"] .glyph-tech-bus,
html body :is(#portal-root, #root) svg.cockpit-vector-icon[data-vector-name="reports"] .glyph-tech-bus,
html body :is(#portal-root, #root) svg.cockpit-vector-icon[data-vector-name="api"] .glyph-tech-bus {
  stroke-dasharray: 2 2 6 2 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon[data-vector-name="notifications"] .glyph-tech-beacon,
html body :is(#portal-root, #root) svg.cockpit-vector-icon[data-vector-name="bell"] .glyph-tech-beacon {
  fill: var(--ui539-amber) !important;
  stroke: var(--ui539-amber) !important;
  filter: drop-shadow(0 0 4px rgba(255, 191, 107, 0.72)) !important;
}

/* A running task gets a short, repeatable instrument pulse. It stops after
   three passes, so the page never becomes an ambient animation wall. */
html body :is(main.portal-shell[data-cockpit-busy="true"], main.geo-admin-shell[data-cockpit-busy="true"]) svg.cockpit-vector-icon .glyph-tech-pulse,
html body :is(main.portal-shell[data-cockpit-busy="true"], main.geo-admin-shell[data-cockpit-busy="true"]) svg.cockpit-vector-icon .glyph-tech-orbit,
html body :is(main.portal-shell, main.geo-admin-shell) :is(button, a).is-cockpit-launching svg.cockpit-vector-icon .glyph-tech-pulse {
  animation: ui539ExecutionPulse 760ms linear 3 !important;
}

html body :is(main.portal-shell[data-cockpit-busy="true"], main.geo-admin-shell[data-cockpit-busy="true"]) svg.cockpit-vector-icon .glyph-tech-beacon {
  animation: ui539ExecutionBeacon 820ms var(--ui539-ease) 2 !important;
}

/* Generated admin CSS contains older high-specificity color gates. Keep the
   final SVG layer authoritative without touching unrelated admin controls. */
html body #root#root#root#root#root#root#root#root main.geo-admin-shell svg.cockpit-vector-icon .glyph-main,
html body #root#root#root#root#root#root#root#root main.geo-admin-shell svg.cockpit-vector-icon .glyph-tech-aperture,
html body #root#root#root#root#root#root#root#root main.geo-admin-shell svg.cockpit-vector-icon .glyph-tech-target,
html body #root#root#root#root#root#root#root#root main.geo-admin-shell svg.cockpit-vector-icon .glyph-tech-spokes {
  fill: none !important;
  stroke: var(--ui539-ice) !important;
}

html body #root#root#root#root#root#root#root#root main.geo-admin-shell svg.cockpit-vector-icon .glyph-signal,
html body #root#root#root#root#root#root#root#root main.geo-admin-shell svg.cockpit-vector-icon .glyph-tech-core,
html body #root#root#root#root#root#root#root#root main.geo-admin-shell svg.cockpit-vector-icon .glyph-node,
html body #root#root#root#root#root#root#root#root main.geo-admin-shell svg.cockpit-vector-icon .glyph-tech-beacon {
  fill: var(--ui539-ice) !important;
  stroke: var(--ui539-cyan) !important;
  filter: drop-shadow(0 0 4px rgba(103, 233, 244, 0.76)) !important;
}

html body #root#root#root#root#root#root#root#root main.geo-admin-shell svg.cockpit-vector-icon .glyph-tech-window,
html body #root#root#root#root#root#root#root#root main.geo-admin-shell svg.cockpit-vector-icon .glyph-tech-registration {
  stroke: var(--ui539-frame) !important;
}

html body #root#root#root#root#root#root#root#root main.geo-admin-shell svg.cockpit-vector-icon .glyph-tech-scanline {
  stroke: var(--ui539-ice) !important;
}

html body #root#root#root#root#root#root#root#root main.geo-admin-shell .geo-nav button:hover svg.cockpit-vector-icon .glyph-tech-scanline,
html body #root#root#root#root#root#root#root#root main.geo-admin-shell .geo-nav button:focus-visible svg.cockpit-vector-icon .glyph-tech-scanline {
  display: block !important;
  opacity: 1 !important;
  animation: ui539ScanLock 360ms var(--ui539-ease) both !important;
}

/* Charts are data instruments, not decorative cards: one grid, one signal,
   one terminal. The frame and calibration marks stay subordinate. */
html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) {
  isolation: isolate !important;
  overflow: visible !important;
  background: var(--ui539-void) !important;
  border-color: rgba(103, 233, 244, 0.5) !important;
  box-shadow: inset 0 0 0 1px rgba(240, 253, 255, 0.08), 0 14px 28px rgba(0, 0, 0, 0.46) !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) :is(.vector-frame, .vector-corners, .vector-bracket-inner, .vector-signal-gate) {
  fill: none !important;
  stroke: var(--ui539-frame) !important;
  stroke-width: 0.76 !important;
  stroke-dasharray: 13 3 2 6 !important;
  opacity: 1 !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) :is(.vector-grid path, .vector-axis, .vector-ticks, .vector-calibration, .vector-data-rail) {
  fill: none !important;
  stroke: rgba(182, 199, 217, 0.27) !important;
  stroke-width: 0.34 !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) .vector-scan-band {
  fill: rgba(103, 233, 244, 0.055) !important;
  stroke: none !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) .vector-sweep {
  fill: none !important;
  stroke: var(--ui539-ice) !important;
  stroke-width: 1 !important;
  filter: drop-shadow(0 0 7px rgba(103, 233, 244, 0.84)) !important;
  animation: ui539TelemetryArrive 720ms var(--ui539-ease) 80ms both !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) :is(.vector-reference, .vector-line-shadow, .trend-line-shadow) {
  fill: none !important;
  stroke: var(--ui539-cyan) !important;
  stroke-width: 3.8 !important;
  opacity: 0.12 !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) :is(.vector-line, .trend-line-main, polyline) {
  fill: none !important;
  stroke: var(--ui539-ice) !important;
  stroke-width: 1.58 !important;
  filter: drop-shadow(0 0 5px rgba(103, 233, 244, 0.78)) !important;
  animation: ui539TraceReceive 820ms var(--ui539-ease) 120ms both !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) :is(.vector-line.competitor, .vector-terminal.competitor, .vector-node.competitor) {
  stroke: var(--ui539-blue) !important;
  filter: none !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) .vector-area {
  fill: rgba(133, 246, 255, 0.09) !important;
  stroke: none !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) :is(.vector-node, .vector-terminal, .trend-dot, .vector-bar-cap) {
  fill: var(--ui539-ice) !important;
  stroke: var(--ui539-cyan) !important;
  stroke-width: 0.76 !important;
  filter: drop-shadow(0 0 5px rgba(103, 233, 244, 0.82)) !important;
  animation: ui539NodeReceive 380ms var(--ui539-ease) 200ms both !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) :is(.vector-terminal-ring, .vector-lock) {
  fill: none !important;
  stroke: var(--ui539-ice) !important;
  stroke-width: 0.78 !important;
  stroke-dasharray: 2 3 7 2 !important;
  filter: drop-shadow(0 0 6px rgba(103, 233, 244, 0.78)) !important;
  animation: ui539TerminalLock 480ms var(--ui539-ease) 260ms both !important;
}

/* Login and server-rendered report vectors use the same cockpit grammar. */
html body .wrap :is(svg.login-vector, .login-link-card svg) {
  color: var(--ui539-ice) !important;
  filter: drop-shadow(0 0 8px rgba(103, 233, 244, 0.58)) !important;
}

html body .wrap svg.login-vector :is(path, circle, rect) {
  vector-effect: non-scaling-stroke !important;
  stroke-linecap: square !important;
  stroke-linejoin: bevel !important;
}

html body .wrap svg.login-vector :is(.login-vector-frame, .login-vector-bus) {
  fill: none !important;
  stroke: var(--ui539-cyan) !important;
  stroke-width: 0.84 !important;
  stroke-dasharray: 8 2 1 4 !important;
}

html body .wrap svg.login-vector :is(.login-vector-window, .login-vector-aperture) {
  fill: var(--ui539-window-deep) !important;
  stroke: var(--ui539-frame) !important;
  stroke-width: 0.66 !important;
}

html body .wrap svg.login-vector :is(.login-vector-grid, .login-vector-calibration, .login-vector-vector, .login-vector-lock) {
  fill: none !important;
  stroke: var(--ui539-blue) !important;
  stroke-width: 0.46 !important;
  opacity: 0.74 !important;
}

html body .wrap svg.login-vector .login-vector-signal {
  fill: none !important;
  stroke: var(--ui539-ice) !important;
  stroke-width: 1.64 !important;
  filter: drop-shadow(0 0 5px rgba(103, 233, 244, 0.78)) !important;
}

html body .wrap svg.login-vector :is(.login-vector-core, .login-vector-pulse) {
  fill: rgba(103, 233, 244, 0.14) !important;
  stroke: var(--ui539-cyan) !important;
  stroke-width: 0.8 !important;
}

@keyframes ui539ChassisBoot { from { stroke-dashoffset: 28; opacity: 0.1; } to { stroke-dashoffset: 0; opacity: 1; } }
@keyframes ui539LensAcquire { from { stroke-dashoffset: 28; opacity: 0.1; transform: scale(0.78); transform-origin: center; } to { stroke-dashoffset: 0; opacity: 1; transform: scale(1); transform-origin: center; } }
@keyframes ui539RouteReceive { from { stroke-dashoffset: 28; opacity: 0.08; } to { stroke-dashoffset: 0; opacity: 0.86; } }
@keyframes ui539ScanLock { from { stroke-dashoffset: 24; opacity: 0.1; } to { stroke-dashoffset: -24; opacity: 1; } }
@keyframes ui539ActiveLock { from { opacity: 0.16; transform: scale(0.78); transform-origin: center; } 72% { opacity: 1; transform: scale(1.08); transform-origin: center; } to { opacity: 1; transform: scale(1); transform-origin: center; } }
@keyframes ui539TelemetryArrive { from { stroke-dashoffset: 1; opacity: 0.08; } to { stroke-dashoffset: 0; opacity: 1; } }
@keyframes ui539TraceReceive { from { stroke-dashoffset: 1; opacity: 0.08; } to { stroke-dashoffset: 0; opacity: 1; } }
@keyframes ui539NodeReceive { from { opacity: 0.1; transform: scale(0.68); transform-origin: center; } to { opacity: 1; transform: scale(1); transform-origin: center; } }
@keyframes ui539TerminalLock { from { opacity: 0.08; transform: scale(0.68); transform-origin: center; } to { opacity: 1; transform: scale(1); transform-origin: center; } }
@keyframes ui539OrbitLock { from { stroke-dashoffset: 22; opacity: 0.22; transform: rotate(-18deg); transform-origin: center; } to { stroke-dashoffset: 0; opacity: 0.86; transform: rotate(0deg); transform-origin: center; } }
@keyframes ui539BeaconFlash { from { opacity: 0.18; transform: scale(0.72); transform-origin: center; } 68% { opacity: 1; transform: scale(1.22); transform-origin: center; } to { opacity: 0.86; transform: scale(1); transform-origin: center; } }
@keyframes ui539ExecutionPulse { 0% { opacity: 0.12; transform: scale(0.82); transform-origin: center; } 42% { opacity: 0.86; transform: scale(1.06); transform-origin: center; } 100% { opacity: 0.12; transform: scale(1.18); transform-origin: center; } }
@keyframes ui539ExecutionBeacon { from { opacity: 0.28; transform: scale(0.74); transform-origin: center; } 55% { opacity: 1; transform: scale(1.18); transform-origin: center; } to { opacity: 0.72; transform: scale(1); transform-origin: center; } }

@media (prefers-reduced-motion: reduce) {
  html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-vector-icon, svg.cockpit-vector-icon *, svg.cockpit-data-vector, svg.cockpit-data-vector *, svg.chart, svg.chart *, svg.login-vector, svg.login-vector *) {
    animation: none !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ui541b: an empty project has one status payload, so let that payload use
   the full status rail instead of leaving a dead right-hand column. */
@media (min-width: 1040px) {
  html body #portal-root#portal-root#portal-root main.portal-shell.no-project .portal-status-strip.empty-project-status {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body #portal-root#portal-root#portal-root main.portal-shell.no-project .portal-status-strip.empty-project-status .status-project,
  html body #portal-root#portal-root#portal-root main.portal-shell.no-project .portal-status-strip.empty-project-status .status-actions,
  html body #portal-root#portal-root#portal-root main.portal-shell.no-project .portal-status-strip.empty-project-status .portal-secondary-actions {
    grid-column: 1 / -1 !important;
  }
}

/* ui542a: navigation icons carry one semantic outline and one signal mark.
   The full instrument stack remains available for data visuals and launch
   states, but it is too dense for a repeated sidebar rhythm. */
html body :is(#portal-root, #root) :is(.client-nav-group, .geo-nav) svg.cockpit-vector-icon {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  filter: none !important;
  transform: none !important;
}

html body :is(#portal-root, #root) :is(.client-nav-group, .geo-nav) svg.cockpit-vector-icon :is(
  .glyph-chassis,
  .glyph-tech-window,
  .glyph-tech-aperture,
  .glyph-tech-grid,
  .glyph-tech-crosshair,
  .glyph-tech-microticks,
  .glyph-tech-route,
  .glyph-tech-registration,
  .glyph-tech-calibration,
  .glyph-tech-bus,
  .glyph-tech-data-rail,
  .glyph-tech-diode,
  .glyph-tech-rail,
  .glyph-tech-connector,
  .glyph-tech-circuit,
  .glyph-tech-beam,
  .glyph-tech-orbit,
  .glyph-tech-vector,
  .glyph-tech-target,
  .glyph-tech-scanline,
  .glyph-tech-core-ring,
  .glyph-tech-spokes,
  .glyph-tech-core,
  .glyph-tech-pulse,
  .glyph-node,
  .glyph-node-ring,
  .glyph-tech-beacon
) {
  display: none !important;
  animation: none !important;
  filter: none !important;
}

html body :is(#portal-root, #root) :is(.client-nav-group, .geo-nav) svg.cockpit-vector-icon .glyph-main {
  fill: none !important;
  stroke: var(--ui539c-ice) !important;
  stroke-width: 1.55 !important;
  opacity: 0.92 !important;
}

html body :is(#portal-root, #root) :is(.client-nav-group, .geo-nav) svg.cockpit-vector-icon .glyph-signal {
  fill: none !important;
  stroke: var(--ui539c-signal) !important;
  stroke-width: 1.7 !important;
  filter: none !important;
}

html body :is(#portal-root, #root) :is(.client-nav-group, .geo-nav) :is(button, a):is(:hover, :focus-visible, .active) svg.cockpit-vector-icon {
  filter: drop-shadow(0 0 5px rgba(114, 237, 255, 0.38)) !important;
  transform: translate3d(1px, -1px, 0) !important;
}

/* ui542c: fill the available desktop work area. Historical page-specific
   cockpit decks capped themselves at 1240px, leaving a dead rail on wide
   monitors even though their parent stage was already fluid. */
@media (min-width: 1040px) {
  html body #portal-root#portal-root#portal-root#portal-root main.portal-shell .portal-status-strip,
  html body #portal-root#portal-root#portal-root#portal-root main.portal-shell .portal-content-stage,
  html body #root#root#root#root main.geo-admin-shell .geo-workspace,
  html body #root#root#root#root main.geo-admin-shell .geo-content {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  html body #portal-root#portal-root#portal-root#portal-root main.portal-shell .portal-content-stage > :where(section, article, div):not(.global-action-feedback),
  html body #root#root#root#root main.geo-admin-shell .geo-content > :where(section, article, div) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
  }

  html body #portal-root#portal-root#portal-root#portal-root main.portal-shell .portal-content-stage :is(
    .client-home-command-deck,
    .client-core-command-deck,
    .page-control-tower,
    .tracking-command,
    .executive-report-cockpit,
    .report-delivery-cockpit,
    .compliance-sandbox-cockpit,
    .prompt-flight-deck,
    .flight-cockpit,
    .publisher-command-center
  ),
  html body #portal-root#portal-root#portal-root#portal-root main.portal-shell .portal-status-strip,
  html body #root#root#root#root main.geo-admin-shell .geo-content :is(
    .geo-overview-hero,
    .admin-flight-command,
    .geo-command,
    .geo-module-story,
    .geo-panel,
    .geo-table-card
  ) {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ui540a: use the desktop viewport instead of leaving a narrow 1280px island
   in the middle of wide monitors. Keep 1280px as the minimum PC canvas. */
:root {
  --ui540a-canvas: min(1680px, calc(100vw - 32px));
}

html {
  width: 100% !important;
  min-width: 1280px !important;
  max-width: none !important;
  margin: 0 !important;
}

html body,
html body #portal-root,
html body #root,
html body #portal-root main.portal-shell,
html body #root main.geo-admin-shell,
html body #root > :is(.site-header, main, footer, .root-shell-loading),
html body :is(.wrap, .login-shell, .signup-shell, .reset-shell) {
  width: var(--ui540a-canvas) !important;
  max-width: var(--ui540a-canvas) !important;
}

html body #portal-root,
html body #root,
html body #portal-root main.portal-shell,
html body #root main.geo-admin-shell,
html body :is(.wrap, .login-shell, .signup-shell, .reset-shell) {
  min-width: 1280px !important;
}

html body #portal-root main.portal-shell,
html body #root main.geo-admin-shell {
  margin-inline: auto !important;
}

html body #portal-root main.portal-shell .portal-content-stage,
html body #root main.geo-admin-shell .geo-workspace,
html body #root main.geo-admin-shell .geo-content {
  width: auto !important;
  max-width: none !important;
}

/* Server-rendered account pages carry an older nested width lock with higher
   specificity. Match it here so their shell follows the same desktop rail. */
html body .wrap .login-shell,
html body .wrap .signup-shell,
html body .wrap .reset-shell {
  width: var(--ui540a-canvas) !important;
  max-width: var(--ui540a-canvas) !important;
  min-width: 1280px !important;
}

/* At the smallest supported desktop width, the legacy 16px page edge and a
   1280px minimum shell otherwise add up to 1312px and trigger overflow. */
@media (min-width: 1280px) and (max-width: 1311px) {
  html body #portal-root,
  html body #root {
    width: calc(100% - 32px) !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  html body #portal-root main.portal-shell,
  html body #root main.geo-admin-shell {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* ui539c: a more legible instrument language. The icon is built as a
   chassis, aperture, semantic payload and one outbound signal path. */
:root {
  --ui539c-void: #050b10;
  --ui539c-panel: #0a1a22;
  --ui539c-aperture: #0d2630;
  --ui539c-ice: #eefcff;
  --ui539c-signal: #72edff;
  --ui539c-data: #9cf4d3;
  --ui539c-frame: #3c6b78;
  --ui539c-grid: #28505d;
  --ui539c-dim: #668b96;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon {
  color: var(--ui539c-ice) !important;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.75)) !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(path, rect, circle, line, polyline, polygon) {
  stroke-linecap: square !important;
  stroke-linejoin: bevel !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-chassis {
  fill: none !important;
  stroke: var(--ui539c-frame) !important;
  stroke-width: 0.8 !important;
  stroke-dasharray: none !important;
  filter: drop-shadow(0 0 2px rgba(114, 237, 255, 0.16)) !important;
  animation: ui539ChassisBoot 460ms var(--ui539-ease) both !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-window {
  fill: var(--ui539c-panel) !important;
  stroke: var(--ui539c-frame) !important;
  stroke-width: 0.68 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-aperture {
  fill: var(--ui539c-aperture) !important;
  stroke: var(--ui539c-signal) !important;
  stroke-width: 0.78 !important;
  stroke-dasharray: 12 2 2 3 !important;
  filter: drop-shadow(0 0 4px rgba(114, 237, 255, 0.48)) !important;
  animation: ui539LensAcquire 500ms var(--ui539-ease) 30ms both !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-grid {
  fill: none !important;
  stroke: var(--ui539c-grid) !important;
  stroke-width: 0.32 !important;
  stroke-dasharray: none !important;
  opacity: 0.76 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(.glyph-tech-crosshair, .glyph-tech-vector) {
  fill: none !important;
  stroke: var(--ui539c-dim) !important;
  stroke-width: 0.46 !important;
  opacity: 0.92 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(.glyph-tech-microticks, .glyph-tech-calibration) {
  fill: none !important;
  stroke: var(--ui539c-dim) !important;
  stroke-width: 0.34 !important;
  stroke-dasharray: none !important;
  opacity: 0.74 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(.glyph-tech-route, .glyph-tech-bus, .glyph-tech-circuit, .glyph-tech-beam) {
  fill: none !important;
  stroke: var(--ui539c-signal) !important;
  stroke-width: 0.72 !important;
  stroke-dasharray: 4 3 !important;
  opacity: 0.94 !important;
  animation: ui539RouteReceive 540ms var(--ui539-ease) 60ms both !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-data-rail {
  fill: none !important;
  stroke: var(--ui539c-data) !important;
  stroke-width: 0.7 !important;
  stroke-dasharray: 1 2 !important;
  opacity: 0.9 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-diode {
  fill: var(--ui539c-data) !important;
  stroke: var(--ui539c-ice) !important;
  stroke-width: 0.42 !important;
  filter: drop-shadow(0 0 4px rgba(156, 244, 211, 0.74)) !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(.glyph-tech-rail, .glyph-tech-connector) {
  fill: none !important;
  stroke: var(--ui539c-frame) !important;
  stroke-width: 0.48 !important;
  stroke-dasharray: 2 3 !important;
  opacity: 0.82 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-orbit {
  fill: none !important;
  stroke: var(--ui539c-frame) !important;
  stroke-width: 0.56 !important;
  stroke-dasharray: 1 4 8 3 !important;
  opacity: 0.88 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(.glyph-tech-target, .glyph-tech-spokes) {
  fill: none !important;
  stroke: var(--ui539c-ice) !important;
  stroke-width: 0.5 !important;
  opacity: 0.92 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-scanline {
  display: none !important;
  fill: none !important;
  stroke: var(--ui539c-ice) !important;
  stroke-width: 0.9 !important;
  opacity: 0 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-core-ring {
  fill: none !important;
  stroke: var(--ui539c-signal) !important;
  stroke-width: 0.9 !important;
  stroke-dasharray: 4 2 1 3 !important;
  opacity: 1 !important;
  filter: drop-shadow(0 0 5px rgba(114, 237, 255, 0.7)) !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-tech-pulse {
  fill: none !important;
  stroke: var(--ui539c-signal) !important;
  stroke-width: 0.5 !important;
  opacity: 0 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon :is(.glyph-tech-core, .glyph-node, .glyph-tech-beacon) {
  fill: var(--ui539c-ice) !important;
  stroke: var(--ui539c-signal) !important;
  stroke-width: 0.72 !important;
  filter: drop-shadow(0 0 5px rgba(114, 237, 255, 0.82)) !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-node-ring {
  fill: none !important;
  stroke: var(--ui539c-data) !important;
  stroke-width: 0.48 !important;
  stroke-dasharray: 1 2 3 2 !important;
  opacity: 1 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-main {
  fill: none !important;
  stroke: var(--ui539c-ice) !important;
  stroke-width: 1.2 !important;
  opacity: 1 !important;
}

html body :is(#portal-root, #root) svg.cockpit-vector-icon .glyph-signal {
  fill: none !important;
  stroke: var(--ui539c-signal) !important;
  stroke-width: 1.72 !important;
  filter: drop-shadow(0 0 5px rgba(114, 237, 255, 0.78)) !important;
}

html body :is(#portal-root, #root) :is(button, a, summary):is(:hover, :focus-visible) svg.cockpit-vector-icon {
  transform: translate3d(1px, -1px, 0) scale(1.06) !important;
  filter: drop-shadow(0 0 11px rgba(114, 237, 255, 0.84)) !important;
}

html body :is(#portal-root, #root) :is(button, a, summary):is(:hover, :focus-visible) svg.cockpit-vector-icon .glyph-tech-scanline {
  display: block !important;
  opacity: 1 !important;
  animation: ui539ScanLock 340ms var(--ui539-ease) both !important;
}

html body :is(#portal-root, #root) :is(button.active, a[aria-current="page"]):not(:disabled) svg.cockpit-vector-icon {
  filter: drop-shadow(0 0 12px rgba(114, 237, 255, 0.9)) !important;
}

html body :is(#portal-root, #root) :is(button.active, a[aria-current="page"]):not(:disabled) svg.cockpit-vector-icon .glyph-tech-aperture {
  stroke: var(--ui539c-ice) !important;
  animation: ui539ActiveLock 400ms var(--ui539-ease) both !important;
}

html body :is(#portal-root, #root) :is(button, a, summary):is(:hover, :focus-visible, .active) svg.cockpit-vector-icon .glyph-tech-orbit {
  opacity: 1 !important;
  animation: ui539OrbitLock 580ms var(--ui539-ease) both !important;
}

html body :is(#portal-root, #root) :is(button, a, summary):is(:hover, :focus-visible) svg.cockpit-vector-icon .glyph-tech-beacon {
  animation: ui539BeaconFlash 340ms var(--ui539-ease) both !important;
}

html body .wrap :is(svg.login-vector, .login-link-card svg) {
  color: var(--ui539c-ice) !important;
  filter: drop-shadow(0 0 8px rgba(114, 237, 255, 0.58)) !important;
}

html body .wrap svg.login-vector :is(path, circle, rect) {
  vector-effect: non-scaling-stroke !important;
  stroke-linecap: square !important;
  stroke-linejoin: bevel !important;
}

html body .wrap svg.login-vector .login-vector-frame {
  fill: none !important;
  stroke: var(--ui539c-frame) !important;
  stroke-width: 0.84 !important;
  stroke-dasharray: none !important;
}

html body .wrap svg.login-vector :is(.login-vector-window, .login-vector-aperture) {
  fill: var(--ui539c-panel) !important;
  stroke: var(--ui539c-signal) !important;
  stroke-width: 0.72 !important;
}

html body .wrap svg.login-vector .login-vector-aperture {
  fill: var(--ui539c-aperture) !important;
  stroke-dasharray: 12 2 2 3 !important;
}

html body .wrap svg.login-vector :is(.login-vector-grid, .login-vector-calibration, .login-vector-vector, .login-vector-lock) {
  fill: none !important;
  stroke: var(--ui539c-dim) !important;
  stroke-width: 0.46 !important;
  opacity: 0.84 !important;
}

html body .wrap svg.login-vector .login-vector-bus {
  fill: none !important;
  stroke: var(--ui539c-signal) !important;
  stroke-width: 0.72 !important;
  stroke-dasharray: 4 3 !important;
}

html body .wrap svg.login-vector .login-vector-signal {
  fill: none !important;
  stroke: var(--ui539c-ice) !important;
  stroke-width: 1.72 !important;
  filter: drop-shadow(0 0 5px rgba(114, 237, 255, 0.8)) !important;
}

html body .wrap svg.login-vector :is(.login-vector-core, .login-vector-pulse) {
  fill: var(--ui539c-aperture) !important;
  stroke: var(--ui539c-signal) !important;
  stroke-width: 0.86 !important;
}

/* The chart uses the same language, with a single trace and readable
   calibration marks instead of a wall of competing lines. */
html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) {
  background: var(--ui539c-void) !important;
  border-color: rgba(114, 237, 255, 0.56) !important;
  box-shadow: inset 0 0 0 1px rgba(238, 252, 255, 0.08), 0 14px 28px rgba(0, 0, 0, 0.5) !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) :is(.vector-frame, .vector-corners, .vector-bracket-inner, .vector-signal-gate) {
  fill: none !important;
  stroke: var(--ui539c-frame) !important;
  stroke-width: 0.82 !important;
  stroke-dasharray: none !important;
  opacity: 1 !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) :is(.vector-grid path, .vector-axis, .vector-ticks, .vector-calibration, .vector-data-rail) {
  fill: none !important;
  stroke: rgba(156, 196, 207, 0.26) !important;
  stroke-width: 0.36 !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) .vector-scan-band {
  fill: rgba(114, 237, 255, 0.06) !important;
  stroke: none !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) .vector-sweep {
  fill: none !important;
  stroke: var(--ui539c-ice) !important;
  stroke-width: 1.1 !important;
  filter: drop-shadow(0 0 8px rgba(114, 237, 255, 0.9)) !important;
  animation: ui539TelemetryArrive 680ms var(--ui539-ease) 60ms both !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) :is(.vector-line, .trend-line-main, polyline) {
  fill: none !important;
  stroke: var(--ui539c-ice) !important;
  stroke-width: 1.68 !important;
  filter: drop-shadow(0 0 5px rgba(114, 237, 255, 0.82)) !important;
  animation: ui539TraceReceive 780ms var(--ui539-ease) 100ms both !important;
}

html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-data-vector, svg.chart) :is(.vector-node, .vector-terminal, .trend-dot, .vector-bar-cap) {
  fill: var(--ui539c-ice) !important;
  stroke: var(--ui539c-signal) !important;
  stroke-width: 0.82 !important;
  filter: drop-shadow(0 0 5px rgba(114, 237, 255, 0.84)) !important;
  animation: ui539NodeReceive 360ms var(--ui539-ease) 180ms both !important;
}

/* ui540f: final narrow-desktop override. Runtime admin styles may add a
   stronger 1280px minimum after the shared shell is mounted. */
@media (min-width: 1280px) and (max-width: 1311px) {
  html body {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  html body #portal-root#portal-root#portal-root,
  html body #root#root#root {
    width: calc(100% - 32px) !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  html body #portal-root#portal-root#portal-root#portal-root#portal-root#portal-root#portal-root#portal-root#portal-root#portal-root#portal-root#portal-root main.portal-shell,
  html body #root#root#root#root#root#root#root#root#root#root#root#root main.geo-admin-shell {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body :is(#portal-root, #root, .wrap) :is(svg.cockpit-vector-icon, svg.cockpit-vector-icon *, svg.cockpit-data-vector, svg.cockpit-data-vector *, svg.chart, svg.chart *, svg.login-vector, svg.login-vector *) {
    animation: none !important;
    transform: none !important;
    transition: none !important;
  }
}
