/* Global light overlay. Removing this file reference restores the original dark theme. */
:root {
  --bg: #f3f7fb;
  --bg-soft: #eaf2fa;
  --panel: #ffffff;
  --panel-border: #d9e6f2;
  --surface: #ffffff;
  --surface-strong: #ffffff;
  --surface-soft: #f5f9fd;
  --border-soft: #d9e6f2;
  --text: #17324d;
  --muted: #617991;
  --text-muted: #617991;
  --accent: #f59e0b;
  --accent-2: #2478b7;
  --primary-soft: #fde68a;
  --success: #168b65;
  --shadow: 0 10px 28px rgba(25, 60, 96, .09);
}

body.shell {
  color: var(--text);
  background: linear-gradient(180deg, #f8fbff 0%, #edf4fb 100%);
}

.site-topbar,
.public-header {
  border-color: #dce7f2;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 1px 8px rgba(28, 66, 106, .06);
}

.topbar-brand .brand,
.brand-name,
.topbar-nav a,
.public-login-link,
.topbar-context strong {
  color: #17324d;
}

.topbar-nav a:hover,
.topbar-nav a:focus-visible,
.topbar-nav a.is-active,
.sidebar-nav a:hover,
.sidebar-nav a:focus-visible,
.sidebar-nav a.is-active,
.sidebar-logout:hover,
.sidebar-logout:focus-visible,
.subnav a:hover,
.subnav a:focus-visible,
.subnav a.is-active {
  color: #17324d;
  border-color: #a9c9e4;
  background: #eaf5ff;
}

.topbar-nav-context .topbar-subnav,
.subnav a,
.sidebar-nav a,
.sidebar-logout,
.field,
.modal-summary,
.notification-body {
  border-color: #dce7f2;
  background: #f5f9fd;
}

.panel,
.hero-panel,
.shell-card,
.section-card,
.status-card,
.glass-card,
.modal-dialog {
  border-color: #dce7f2;
  background: #fff;
  box-shadow: var(--shadow);
}

.glass-card {
  background: #fff;
}

.public-showcase-media {
  border-color: #dce7f2;
  background: linear-gradient(135deg, #eaf4ff, #f7fbff);
}

.public-showcase-placeholder .material-symbols-outlined {
  color: #8aacc9;
}

.eyebrow,
.status-badge,
.notification-badge {
  background: #e8f4ff;
  color: #175a91;
}

.lede,
.hero-panel ul,
.checklist,
.micro-list,
.muted,
.context-note,
.context-label,
.items-control-label,
.metric-label,
.detail-list dt,
.challenge-card__details dt,
.notification-details dt,
.field-group label,
.drawer-field label,
.topbar-context,
.sidebar-note,
.brand-tag {
  color: #617991;
}

.button.secondary {
  color: #175a91;
  border-color: #b9d2e8;
  background: #f8fbff;
}

.button.secondary:hover,
.button.secondary:focus-visible {
  color: #0e4f85;
  border-color: #4a97d3;
  background: #eaf5ff;
}

input,
select,
textarea,
.field {
  color: #17324d;
  border-color: #a9c2da;
  background: #fff;
}

input::placeholder,
textarea::placeholder {
  color: #8095aa;
}

.data-table th,
.data-table td,
.item-detail-row td {
  border-color: #dce7f2;
}

.data-table th {
  color: #617991;
}

.data-table a,
.table-action-link,
.topbar-context a {
  color: #1267aa;
}

.data-table tbody tr:hover {
  background: #f5f9fd;
}

.modal-overlay,
.shell-backdrop {
  background: rgba(20, 42, 65, .42);
}

.item-drawer .drawer-header,
.listing-lightbox-header {
  background: #fff;
}

.public-progress-value {
  color: #17324d;
  text-shadow: none;
}

.public-progress-track {
  border-color: #cfe0ef;
  background: #e6f0f8;
}

.topbar-logout {
  border-color: #c7d9e8;
}

/* Keep the public overview hero aligned with the overview grid. */
.public-hero {
  width: 100%;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.overview-admin-actions,
.overview-editor {
  width: 100%;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.overview-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: flex-end;
  margin-bottom: 1rem;
}

.overview-editor {
  margin-bottom: 1rem;
}

.overview-editor h2 {
  margin-top: 0;
}

.public-showcase-hero h1 {
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: 1.15;
}

.public-showcase-hero > .lede {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.public-hero-copy {
  width: 100%;
  max-width: none;
  margin: .2rem 0 0;
}

.public-progress-track {
  height: 1.25rem;
}

.public-progress-fill {
  background: #2478b7;
}
