/* ui547: final PC acceptance pass. This layer is intentionally small: it
   clarifies the existing cockpit hierarchy without changing behavior. */
:root {
  --ui547-copy: #b6c5cc;
  --ui547-copy-strong: #d9e5e9;
  --ui547-line: rgba(180, 214, 225, 0.16);
  --ui547-signal: #72d9ee;
}

/* Customer empty states: one clear task, one route, one quiet status line. */
@media (min-width: 821px) {
  html body #portal-root#portal-root#portal-root main.portal-shell.no-project
    .client-command-console.no-project-gate.no-project-simple {
    gap: 10px !important;
    padding: 10px !important;
  }

  html body #portal-root#portal-root#portal-root main.portal-shell.no-project
    .client-command-console.no-project-gate.no-project-simple .client-command-hero {
    min-height: 220px !important;
    padding: 22px 24px !important;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.42fr) !important;
  }

  html body #portal-root#portal-root#portal-root main.portal-shell.no-project
    .client-command-console.no-project-gate.no-project-simple .client-command-copy h1 {
    max-width: 15em !important;
    font-size: 34px !important;
  }

  html body #portal-root#portal-root#portal-root main.portal-shell.no-project
    .client-flight-route {
    grid-template-columns: minmax(220px, 1.05fr) repeat(3, minmax(0, 1fr)) !important;
    min-height: 88px !important;
    padding: 10px !important;
  }

  html body #portal-root#portal-root#portal-root main.portal-shell.no-project
    .no-project-compact-status {
    min-height: 72px !important;
    padding: 12px 16px !important;
  }
}

/* The active section keeps the signal color; copy remains neutral and easy
   to scan so the dashboard does not become a wall of colored labels. */
html body #portal-root#portal-root#portal-root main.portal-shell
  .portal-content-stage :is(p, small, .client-flight-route small, .no-project-compact-status p) {
  color: var(--ui547-copy) !important;
  -webkit-text-fill-color: var(--ui547-copy) !important;
}

html body #portal-root#portal-root#portal-root main.portal-shell
  .portal-content-stage :is(.client-command-copy strong, .client-route-title strong) {
  color: var(--ui547-copy-strong) !important;
  -webkit-text-fill-color: var(--ui547-copy-strong) !important;
}

/* Admin first fold: command result first, metric row second, long operational
   panels below. This keeps the same data and actions while reducing competition
   between the hero and the rail. */
@media (min-width: 821px) {
  html body #root#root#root main.geo-admin-shell
    .admin-dashboard-v2 .admin-command-layout {
    grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.5fr) !important;
    gap: 12px !important;
    align-items: start !important;
  }

  html body #root#root#root main.geo-admin-shell
    .admin-dashboard-v2 .admin-command-primary,
  html body #root#root#root main.geo-admin-shell
    .admin-dashboard-v2 .admin-command-rail {
    min-width: 0 !important;
  }

  html body #root#root#root main.geo-admin-shell
    .admin-dashboard-v2 .geo-kpi-grid {
    gap: 8px !important;
    margin-top: 10px !important;
  }
}

html body #root#root#root main.geo-admin-shell .geo-content
  :is(.geo-copy, .geo-empty, .geo-panel p, .geo-panel small, .geo-kpi p,
      .admin-flight-command small, .admin-flight-decision-grid small,
      .admin-flight-priority small) {
  color: var(--ui547-copy) !important;
  -webkit-text-fill-color: var(--ui547-copy) !important;
}

html body #root#root#root main.geo-admin-shell .geo-content
  :is(.geo-kpi span, .geo-panel > header span, .geo-command-copy > span,
      .admin-flight-lead > p) {
  color: #a9bbc3 !important;
  -webkit-text-fill-color: #a9bbc3 !important;
}

html body :is(#portal-root, #root) :is(button, a[role="button"]):focus-visible {
  outline: 2px solid var(--ui547-signal) !important;
  outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
  html body :is(#portal-root, #root) * {
    transition-duration: 0.01ms !important;
  }
}
