/* Navbar colours — consumed by shared/navbar.css.
 *
 * Every chain below ends in a literal. A page that mounts the bar without
 * `shared/theme.css` leaves every `--theme-*` undefined, and a chain with no
 * terminal fallback then resolves to nothing: the colour becomes `unset`, the
 * bar paints white, and a project's own override — light text for a dark bar —
 * writes white on white. The storage portal was in exactly that state. Loading
 * the palette is the fix; ending every chain is what keeps the next page that
 * forgets it merely unbranded rather than unreadable.
 *
 * Static on purpose: every value is the theme's own, read through `--theme-*`,
 * so a palette change rewrites `shared/theme.css` and nothing else.
 *
 * Scoped to `.gs-navbar` rather than `:root` because navbar.css declares its own
 * `:root` fallbacks and is injected after this file, so a `:root` rule here
 * would tie on specificity and lose.
 *
 * The `--theme-nav-*` fallbacks are how a coloured navbar arrives: a palette
 * declaring `navBg` emits them into theme.css.
 */
.gs-navbar, .gs-navbar * {
  --nav-bg: var(--theme-nav-bg, #ffffff);
  --nav-bg-scroll: var(--theme-nav-bg-scroll, var(--theme-nav-bg, #ffffff));
  --nav-dropdown-border: var(--theme-primary-dark, rgba(15, 23, 42, 0.12));

  /* The panels that open below the bar — the user menu and the language menu —
     are drawn on a light surface of their own, so they read the *page's*
     palette rather than the bar's.
     Borrowing `--nav-text` put #e2e8f0 on #fff wherever `navBg` was dark, which
     is nearly every data space: the user menu came out at 1.15:1, unreadable,
     and no `branding.overrides` could reach it — the nav text tokens are
     constants in `tokens.nav_tokens()`, not derived values the document can
     pin. On a light navbar these resolve to what they already resolved to, so
     nothing changes there. */
  --nav-dropdown-bg: #ffffff;
  --nav-dropdown-text: var(--theme-text, #334155);
  --nav-dropdown-text-muted: var(--theme-text-muted, #64748b);
  --nav-dropdown-hover-bg: var(--theme-nav-dropdown-hover-bg);
  --nav-dropdown-edge: var(--theme-border, rgba(15, 23, 42, 0.12));
  --nav-border: var(--theme-nav-border, var(--theme-border, rgba(15, 23, 42, 0.12)));
  --nav-text: var(--theme-nav-text, var(--theme-text, #4a5568));
  --nav-text-dark: var(--theme-nav-text-dark, var(--theme-text, #2d3748));
  --nav-text-muted: var(--theme-nav-text-muted, var(--theme-text-muted, #a0aec0));
  --nav-accent: var(--theme-accent, #3f83f8);
  --nav-accent-hover: var(--theme-accent-hover, #2563eb);
  --nav-accent-bg: var(--theme-nav-accent-bg, var(--theme-accent-bg, #eff6ff));
  --nav-accent-shadow: var(--theme-accent-shadow, rgba(59, 130, 246, 0.15));
  /* Left to the stylesheet's own `currentColor` wash unless a space states
     one: a fixed light colour cannot stay legible under light text. */
  --nav-hover-bg: var(--theme-nav-hover-bg);
  --nav-active-bg: var(--theme-nav-active-bg, var(--theme-primary-light, #edf2f7));
  --nav-avatar-bg: linear-gradient(
    135deg,
    var(--theme-accent, #3f83f8) 0%,
    var(--theme-accent-hover, #2563eb) 100%
  );
  --nav-avatar-color: #ffffff;
  --nav-danger: #ef4444;
  --nav-danger-bg: rgba(239, 68, 68, 0.12);
}

/* === Project navbar extras (navbar-extras.css) === */
/* sc-dixae navbar + DSR overrides — navy (#102136) bar, light blue (#6aa0ff) accents,
   white header text, white sign-in button with navy text. Appended after the
   auto-generated navbar-theme.css so these win. */

.gs-navbar, .gs-navbar * {
  --nav-height: 64px;
  /* Header letters in white */
  --nav-text: #ffffff;
  --nav-text-dark: #ffffff;
  --nav-text-muted: rgba(255, 255, 255, 0.72);
  --nav-border: rgba(255, 255, 255, 0.14);
  --nav-accent: #6aa0ff;
  --nav-hover-bg: rgba(255, 255, 255, 0.08);
  --nav-active-bg: rgba(106, 160, 255, 0.18);
}
.gs-navbar { border-bottom: none; }
.gs-navbar img.gs-navbar-logo { height: 40px; width: auto; }

/* Main nav links — white, teal underline on hover/active */
.gs-navbar .gs-navbar-links a { color: #ffffff; font-weight: 500; letter-spacing: 0.02em; position: relative; }
.gs-navbar .gs-navbar-links a:hover,
.gs-navbar .gs-navbar-links a.active { color: #6aa0ff; background: transparent; }
.gs-navbar .gs-navbar-links a::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 2px;
  background: #6aa0ff; transform: scaleX(0); transform-origin: center; transition: transform .2s ease;
}
.gs-navbar .gs-navbar-links a:hover::after,
.gs-navbar .gs-navbar-links a.active::after { transform: scaleX(1); }

/* Sign-in button — WHITE background, NAVY text */
.gs-navbar .gs-navbar-login {
  background: #ffffff !important;
  color: #102136 !important;
  font-weight: 600 !important;
  border: 1px solid #ffffff !important;
  border-radius: 6px;
}
.gs-navbar .gs-navbar-login:hover {
  background: #e6effb !important;
  color: #0A1626 !important;
}
.gs-navbar .gs-navbar-lang-btn { color: #ffffff; }

/* ─── DSR frontend (Angular) content centering (kept from base) ─── */
.inner-container, .main-container, .page-container { width:100% !important; max-width:100% !important; margin:0 !important; }
.main-content, [class*="mainContent"], #main-content { width:100% !important; max-width:100% !important; margin:0 !important; padding:24px !important; box-sizing:border-box !important; }
.MuiChip-root { width:auto !important; max-width:max-content !important; display:inline-flex !important; }
.MuiLinearProgress-root { flex-shrink:0; }

/* ─── DSR sub-navbar — navy bar, teal active ─── */
.gs-subnav {
  top: 64px !important; height: 52px !important;
  background: linear-gradient(90deg, #102136 0%, #0A1626 100%) !important;
  border-bottom: 1px solid rgba(106, 160, 255,0.2) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.gs-subnav-inner { justify-content:center !important; gap:8px !important; }
.gs-subnav-link { color:#bfe0dc !important; font-family:'Inter',sans-serif !important; font-size:15px !important; font-weight:500 !important; padding:10px 18px !important; border-radius:6px !important; text-decoration:none !important; white-space:nowrap !important; }
.gs-subnav-link:hover { color:#ffffff !important; background:rgba(106, 160, 255,0.15) !important; }
.gs-subnav-link.active { color:#ffffff !important; background:rgba(106, 160, 255,0.22) !important; box-shadow: inset 0 -3px 0 0 #6aa0ff !important; font-weight:600 !important; }

/* DSR header */
header.header { background:#102136; border-bottom:1px solid rgba(106, 160, 255,0.2); }
header.header .logo-section, header.header .brand-text .brand-name { color:#ffffff; }
header.header .nav-links a { color:#bfe0dc; text-decoration:none; transition:color .2s ease; }
header.header .nav-links a:hover { color:#6aa0ff; }
header.header .nav-links a.active, header.header .nav-links a[aria-current="page"] { color:#6aa0ff; border-bottom:2px solid #6aa0ff; }

/* Active page-menu buttons / primary chips — teal */
.page-menu .button-active, .MuiChip-filledPrimary { background-color:#6aa0ff !important; color:#0A1626 !important; }
.page-menu .button-active .MuiSvgIcon-root, .MuiChip-filledPrimary .MuiSvgIcon-root { color:#0A1626 !important; }

/* Navbar dropdown — navy panel, white text, teal section */
.gs-navbar-dropdown { background-color:#102136 !important; border:1px solid #0A1626 !important; border-radius:6px; color:#ffffff !important; }
.gs-navbar-dropdown a { color:#ffffff !important; border-bottom:1px solid rgba(255,255,255,0.12) !important; display:flex !important; align-items:center !important; gap:10px !important; }
.gs-navbar-dropdown a:last-child { border-bottom:none !important; }
.gs-navbar-dropdown a:hover { background:rgba(106, 160, 255,0.15) !important; }
.gs-navbar-dropdown-section { color:#6aa0ff !important; font-weight:600 !important; padding:8px 16px !important; }
.gs-navbar-dropdown-icon { color:#6aa0ff !important; }
.gs-navbar-dropdown-divider { display:none !important; }
.MuiChip-filledSuccess, .MuiChip-filledSuccess .MuiChip-label, .MuiChip-filledSuccess .MuiSvgIcon-root { color:#ffffff !important; }

/* Hide the DOME Marketplace tab — not surfaced in DS4S3. */
.gs-navbar .gs-navbar-links a[data-page="dome-catalog"],
.gs-navbar .gs-navbar-links a[data-testid="nav-marketplace"] { display: none !important; }
