:root {
  --programme-blue: #77bdfc;
  --programme-wash: #eaf6ff;
}
:root[data-theme="light"] .sidebar {
  background: radial-gradient(ellipse 120% 26% at 48% 5%, #fff 33%, #ffffffb8 64%, #ffffff00 100%),
    linear-gradient(165deg, #f5fbff 4%, #e3f2ff 36%, #c3e4ff 100%);
  color: #232356;
  border-right-color: #c6e0fa;
}
:root[data-theme="light"] .topbar {
  background: linear-gradient(100deg, #ffffff 2%, #e9f6ff 31%, #cce8ffeb 100%);
  color: #232356;
  border-bottom-color: #c6e0fa;
}
:root[data-theme="light"] .sidebar :is(.brandsub, .navgroup, .sidebarfooter, .navitem) { color: #232356; }
:root[data-theme="light"] .topbar :is(.breadcrumb, .topicon, .account-chip, .mobilemenu) { color: #232356; }
:root[data-theme="light"] .sidebar .stride-logo-light { display: block; }
:root[data-theme="light"] .sidebar .stride-logo-dark { display: none; }
.sidebar .navitem:hover, .sidebar .navitem:focus-visible {
  background: #f7bc78;
  color: #232356;
  box-shadow: 0 4px 12px #18183b29;
}
.sidebar .navitem.active:hover, .sidebar .navitem.active:focus-visible { background: #f3a851; color: #232356; }
:root[data-theme="light"] .topbar :is(.topicon, .account-chip):hover,
:root[data-theme="light"] .topbar :is(.topicon, .account-chip):focus-visible {
  background: #ffd29e;
  color: #232356;
  box-shadow: 0 4px 11px #23235620;
}
@media (prefers-reduced-motion: no-preference) {
  .sidebar .navitem, .topbar :is(.topicon, .account-chip) {
    transition: background-color .16s ease, color .16s ease, box-shadow .16s ease;
  }
}
.mobile-backdrop { display: none; }
.programme-kpis { display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin:0 0 22px; }
.programme-kpi { min-width:0;padding:18px 20px;min-height:128px;border-radius:15px;
  background:linear-gradient(146deg,#232356 12%,#303369 100%);color:#fff;box-shadow:0 8px 22px #18183d18; }
.programme-kpi .eyebrow { color:#cee8ff;letter-spacing:.07em; }
.programme-kpi strong { display:block;font-size:clamp(1.55rem,3vw,2rem);line-height:1.25;margin:6px 0;overflow-wrap:anywhere; }
.programme-kpi strong + div { color:#e2e9ff;font-size:.85rem; }
.programme-pipeline { display:grid;grid-template-columns:repeat(6,minmax(184px,1fr));gap:12px;overflow:auto;padding-bottom:12px; }
.pipeline-stage { background:var(--surface-raised);border:1px solid var(--border);border-radius:15px;padding:12px;min-height:210px; }
.pipeline-stage > h2 { display:flex;align-items:flex-start;justify-content:space-between;gap:8px;font-size:14px;margin-bottom:10px; }
.referral-card { padding:12px;margin:0 0 9px;background:var(--surface);border:1px solid var(--border);border-radius:12px; }
.referral-card h3 { margin:8px 0 1px; }
.referral-card .referral-next { margin:8px 0 0;font-size:.875rem; }
.referral-card .pill { white-space:normal; }
.programme-select { display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:700; }
.programme-select select { width:min(340px,100%); }
.programme-form-section, .programme-fieldset { border:1px solid var(--border);border-radius:10px;padding:12px;margin:12px 0;min-width:0; }
.programme-form-section > summary { cursor:pointer;font-weight:700; }
.programme-form-section > :not(summary), .programme-fieldset > .fields { margin-top:10px; }
.sharing-picker .permission-toggle { margin:0; }
.sharing-picker [hidden] { display:none; }
.sharing-picker h4 { margin:10px 0 5px; }
.sharing-picker .permission-grid { max-height:238px;overflow:auto; }
.programme-trends { display:grid;gap:10px; }
.programme-trend { display:grid;grid-template-columns:66px minmax(45px,1fr) 64px 76px;gap:9px;align-items:center; }
.programme-trend > :last-child { text-align:right; }
.programme-bar { background:var(--surface-raised);height:10px;border-radius:20px; }
.programme-bar > span { display:block;height:100%;background:linear-gradient(90deg,#337bc2,#77bdfc);border-radius:inherit; }
#programme-email-preview { display:block;width:100%;height:min(510px,60vh);margin:12px auto;border:1px solid var(--border);border-radius:10px;background:white; }
#programme-email-preview.email-mobile { max-width:390px; }
.hr-kpi-actions { margin:0 0 15px; }
@media (max-width: 760px) {
  .mobile-backdrop:not([hidden]) { display:block;position:fixed;inset:0;z-index:39;appearance:none;border:0;
    padding:0;margin:0;width:100%;height:100%;background:#171730a3;cursor:default; }
  .sidebar.open { z-index:40;box-shadow:8px 0 25px #14142f48 !important; }
  .programme-pipeline { grid-template-columns:repeat(6,minmax(172px,1fr)); }
  .programme-kpis { grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
  .programme-kpi { padding:12px;min-height:108px; }
  .programme-kpi .eyebrow { font-size:.72rem; }
}
