/* Reference dashboard: navy navigation, blue accents and light surfaces. */
.dashboard-home .dashboard-image-banner {
    position: relative;
    display: block;
    height: auto;
    min-height: 0;
    padding: 0;
    margin: 0 0 12px;
    overflow: hidden;
    border: 1px solid #dceafb;
    border-radius: 14px;
    background: #eef6ff;
    line-height: 0;
}
.dashboard-home .dashboard-image-banner img {
    position: static;
    transform: none;
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.app-shell #siteNav.snav,
.app-shell:has(.dashboard-home) #siteNav.snav {
    --snav-bg: #0d2440; --snav-panel: #153251; --snav-border: #25415e;
    --snav-text: #e3edfa; --snav-muted: #bfd4ec; --snav-faint: #96b9dc;
    --snav-hover: #193c66; --snav-active-bg: #1b54b3; --snav-active-fg: #fff;
    --snav-accent: #68b5ff; --snav-focus: #80c4ff;
    --snav-footer-bg: #0d2440; --snav-user-bg: #142f50;
    background: linear-gradient(155deg,#102945,#0b203b); box-shadow: 3px 0 16px #10294516;
}
.app-shell #siteNav .snav__brand { min-height: 78px; padding: 14px; gap: 10px; }
.app-shell #siteNav .snav__brand-icon { background: linear-gradient(135deg,#339eff,#1551c7); border-radius: 12px; color: white; }
.app-shell #siteNav .snav__appname { font-size: 16px; color: #fff; letter-spacing: -.4px; }
.app-shell #siteNav .snav__eyebrow { font-size: 11px; color: #a9c9eb; text-transform: none; letter-spacing: 0; margin-top: 4px; }
.app-shell #siteNav .snav__icon { color: #a6d6ff; background: transparent; box-shadow: none; }
.app-shell #siteNav .snav__link.active { background: linear-gradient(100deg,#2265ce,#194da6); color: #fff; box-shadow: inset 0 0 0 1px #5197ff55; }
.app-shell #siteNav .snav__group-title--open { background: #1a3c68; }
.app-shell #siteNav .snav__group-content { border-left-color: #385d80; }
.app-shell #siteNav .snav__avatar { background: linear-gradient(135deg,#dcf5ff,#69b3ef); color: #13335b; border-radius: 50%; }
.app-shell #siteNav .snav__footer { background: #0d2440; border-color: #29425f; }
.app-shell #siteNav .snav__user { background: #173352; border-color: #2a4c72; }
.app-shell #siteNav :is(.snav__link,.snav__group-title,.snav__action-link,.snav__theme-toggle) { color: #dce9f8; }
.app-shell #siteNav .snav__group-content .snav__link { color: #c1d5ed; }
.app-shell #siteNav :is(.snav__link,.snav__group-title,.snav__action-link,.snav__theme-toggle):hover { background: #1b3d64; color: #fff; }
.app-shell #siteNav .snav__link.active { color: #fff; }
.app-shell #siteNav .snav__uname { color: #f1f6ff; }
.app-shell #siteNav .snav__urole { color: #a6c4e6; }
.app-shell #siteNav .snav__action-link--logout { color: #ff8b99; }
.app-shell #siteNav .snav__action-link--logout .snav__icon { color: inherit; }
.app-shell #siteNav :is(.snav__collapse-btn,.snav__close) { color: #cde2fa; background: #193857; border-color: #355476; }
.snav__section-label { color: #a7c9ed; padding: 20px 12px 8px; font-size: 10px; letter-spacing: .06em; }
.snav--collapsed .snav__section-label { display: none; }
.dashboard-home { --home-accent: #2789ff; --home-primary: #2563eb; --home-primary-soft: #eaf3ff; --home-ink: #0b1c46; --home-text: #344c74; --home-muted: #7c8daf; --home-border: #e0eaf7; --home-bg: #f0f5fb; padding: 0 18px 24px; background: #f0f5fb; }
.dashboard-utility { display: flex; align-items: center; gap: 18px; min-height: 64px; margin: 0 -18px 16px; padding: 10px 20px; background: #f9fbff; border-bottom: 1px solid #e0eaf7; }
.dashboard-search { position: relative; display: flex; align-items: center; gap: 12px; width: min(500px,45%); margin-right: auto; padding: 10px 14px; border: 1px solid #e0eaf7; border-radius: 9px; background: white; color: #406191; }
.dashboard-search input { min-width: 0; width: 100%; border: 0; outline: none; background: transparent; color: #203c66; font-size: 12px; }
.dashboard-search:focus-within { outline: 2px solid #70b5ff; }
.dashboard-search__results { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 30; background: white; border: 1px solid #dce7f6; border-radius: 10px; padding: 6px; box-shadow: 0 12px 28px #12345a22; }
.dashboard-search__results a { display: block; padding: 10px; color: #173c70; text-decoration: none; font-size: 13px; }
.dashboard-search__results a:hover { background: #edf5ff; }
.dashboard-search__results p { padding: 10px; margin: 0; font-size: 12px; }
.dashboard-utility__date { font-size: 11px; white-space: nowrap; padding: 10px; background: white; border: 1px solid #e0eaf7; border-radius: 9px; }
.dashboard-utility__bell { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: white; color: #173c70; }
.dashboard-home .home-dashboard__avatar { width: 38px; height: 38px; border-radius: 50%; }
.dashboard-home .home-dashboard__topbar { min-height: 108px; padding: 16px 24px; border: 1px solid #fff; background: radial-gradient(ellipse at 80% 70%,#c9e1f3,transparent 60%),linear-gradient(110deg,#fff 35%,#e5f1fc); border-radius: 14px; }
.dashboard-home .home-dashboard__title { font-size: 26px; color: #0a1b44; }
.dashboard-home .home-dashboard__eyebrow { color: #2977f5; font-size: 10px; }
.dashboard-school { display: flex; gap: 12px; align-items: center; padding: 14px; border-radius: 12px; background: #ffffffee; border: 1px solid #e0eaf7; }
.dashboard-school > i { font-size: 26px; color: #277afb; background: #eaf4ff; padding: 8px; border-radius: 9px; }
.dashboard-school small,.dashboard-school strong { display: block; }
.dashboard-school small { color: #7c8daf; font-size: 10px; margin-bottom: 3px; }
.dashboard-school strong { font-size: 14px; }
.dashboard-home .home-dashboard__kpi-card { min-height: 106px; border-radius: 12px; padding: 14px 16px; }
.dashboard-home .home-dashboard__kpi-icon { width: 44px; height: 44px; font-size: 21px; border-radius: 12px; }
.dashboard-home .home-dashboard__kpi-value { font-size: 24px; }
.dashboard-home .home-dashboard__kpi-trend { margin-top: 12px; }
.dashboard-home .home-card { border-radius: 14px; padding: 16px; box-shadow: 0 4px 18px #31619406; }
.dashboard-home .home-dashboard__flagship-grid { grid-template-columns: minmax(0,1.36fr) minmax(0,1fr); gap: 14px; --flagship-feature-bg: #fff; --flagship-feature-overlay: none; --flagship-feature-title: #0b1c46; --flagship-feature-accent-chip-bg: #e5f2ff; --flagship-feature-accent-chip-border: #d2e8ff; --flagship-feature-accent-chip-text: #267bfb; }
.dashboard-home .home-card__eyebrow { color: #1470ff; font-size: 10px; }
.dashboard-home .home-card__title { font-size: 16px; }
.dashboard-home .home-card__action { font-size: 11px; border-radius: 9px; }
.dashboard-home .home-solver__ring { background: conic-gradient(from 0deg,#3fcecf 0%,#2582ff var(--progress),#e4edf7 var(--progress) 100%); box-shadow: 0 0 0 6px #e4f3ff,0 0 0 12px #f3faff; }
.dashboard-home .home-solver__ring-shell::before,.dashboard-home .home-solver__ring-shell::after { display: none; }
.dashboard-home .home-solver__ring-inner { background: #fff; box-shadow: none; }
.dashboard-home .home-solver__ring-inner strong { font-size: 34px; }
.dashboard-home .home-solver__ring-icon { display: none; }
.dashboard-home .home-solver__ring-marker { background: #2c99ff; box-shadow: 0 0 0 3px #a9ddff; }
.dashboard-home .home-solver__quality { border: 1px solid #e2ebf7; border-radius: 10px; padding: 14px; }
.dashboard-home .home-progress { height: 8px; background: #e4edf7; }
.dashboard-home .home-progress__fill { background: linear-gradient(90deg,#10a982,#35d68b); }
.dashboard-home .home-tasks__group { background: linear-gradient(130deg,#f9fbff,#f5f8fc); border: 1px solid #e3edf8; border-radius: 11px; padding: 12px; }
.dashboard-task-empty { min-height: 64px; display: flex; justify-content: center; align-items: center; gap: 18px; color: #7b8eae; font-size: 11px; }
.dashboard-task-empty > i { font-size: 38px; color: #c2cedd; }
.dashboard-task-empty strong { font-size: 11px; font-weight: 500; }
.dashboard-task-empty p { font-size: 10px; margin: 5px 0 0; color: #91a0b9; }
.dashboard-home .home-dashboard__secondary-grid { gap: 12px; }
.dashboard-home .home-tone--blue { background: #e4f1ff; color: #1269ff; }
.dashboard-home .home-solver__stat { background: #fff; border: 1px solid #dfe9f7; border-radius: 9px; }
.dashboard-home .home-card--feature .home-card__action--onDark { background: linear-gradient(120deg,#153e78,#0c3269); color: #fff; }
.dashboard-home .home-dashboard__kpi-card::after { content: ''; position: absolute; bottom: -14px; right: -8px; width: 100px; height: 38px; border-radius: 50%; background: linear-gradient(0deg,transparent,color-mix(in srgb,var(--edge-color) 15%,transparent)); transform: rotate(-18deg); pointer-events: none; }
body.dark .dashboard-home { --home-surface: #14263d; --home-surface-alt: #192e47; --home-ink: #e6efff; --home-text: #c2d4ed; --home-muted: #9fb4d0; --home-border: #2a4261; background: #0d1c30; }
body.dark .dashboard-utility,body.dark .dashboard-home .home-dashboard__topbar,body.dark .dashboard-home .home-card,body.dark .dashboard-home .home-tasks__group,body.dark .dashboard-school,body.dark .dashboard-search,body.dark .dashboard-search__results { background: #14263d; color: #e6efff; }
body.dark .dashboard-home .home-dashboard__title,body.dark .dashboard-search input,body.dark .dashboard-search__results a { color: #e6efff; }
@media(min-width:1200px) { .dashboard-home .home-solver__quality-item { display: grid; grid-template-columns: 104px 1fr; gap: 12px; align-items: center; position: relative; padding-right: 42px; } .dashboard-home .home-solver__quality-meta strong { position: absolute; right: 0; } }
@media(max-width:1199px) { .dashboard-utility__date { display: none; } .dashboard-home .home-dashboard__flagship-grid { grid-template-columns: 1fr; } }
@media(max-width:767.98px) { .dashboard-utility { padding-left: 62px; gap: 8px; flex-wrap: wrap; } .dashboard-search { width: auto; flex: 1; } .dashboard-utility .home-dashboard__user > div:last-child { display: none; } .dashboard-home { padding: 0 12px 18px; } .dashboard-utility { margin: 0 -12px 12px; } .dashboard-home .home-dashboard__topbar { grid-template-columns: 1fr; padding: 16px; gap: 10px; } .dashboard-school { display: none; } .dashboard-home .home-dashboard__title { font-size: 21px; } .dashboard-home .home-dashboard__kpis { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; } .dashboard-home .home-solver__main { grid-template-columns: 1fr; justify-items: center; } .dashboard-home .home-solver__summary { width: 100%; } }

/* Compact navigation keeps the available height for applications. */
.app-shell #siteNav .snav__body { padding: 6px 12px; }
.app-shell #siteNav .snav__section-label { padding: 12px 10px 5px; }
.app-shell #siteNav .snav__group + .snav__group { margin-top: 3px; }
.app-shell #siteNav .snav__group-title { gap: 6px; font-size: 12px; }
.app-shell #siteNav .snav__group-title > span:not(.snav__icon) { white-space: normal; text-overflow: clip; line-height: 1.4; }
.app-shell #siteNav .snav__group-title .snav__icon { width: 25px; min-width: 25px; }
.app-shell #siteNav .snav__footer { padding: 8px 12px; }
.app-shell #siteNav .snav__user { min-height: 46px; padding: 6px 8px; margin-bottom: 4px; }
@media(min-width:768px) {
    .app-shell #siteNav :is(.snav__link,.snav__group-title) { min-height: 38px; padding-top: 5px; padding-bottom: 5px; }
    .app-shell #siteNav .snav__group-content .snav__link { min-height: 34px; padding: 4px 6px; }
    .app-shell #siteNav .snav__footer :is(.snav__action-link,.snav__theme-toggle) { min-height: 34px; padding: 4px 8px; }
}

/* Readable supporting text; status colors retain their semantic meaning. */
.dashboard-home { --home-muted: #596d89; --home-warning: #946000; --home-warning-soft: #fff5dc; --home-danger: #c83747; --home-danger-soft: #ffedf0; --home-success: #12835e; --home-success-soft: #e3f6ed; }
.dashboard-home :is(.home-dashboard__kpi-trend,.home-solver__stat > span,.home-report__content p,.home-tasks__group-header p,.home-task__desc,.home-task__meta) { font-size: 12px; line-height: 1.6; }
.dashboard-home .home-solver__quality-meta > span { color: var(--home-muted); font-size: 12px; }
.dashboard-home .dashboard-task-empty { color: var(--home-muted); }
.dashboard-home .dashboard-task-empty strong { color: var(--home-muted); font-size: 12px; }
.dashboard-home .dashboard-task-empty p { color: var(--home-muted); font-size: 11px; line-height: 1.6; }
.dashboard-home .home-kpi__trend--neutral { color: var(--home-muted); }
.dashboard-home .home-tone-edge--home-tone--blue { --edge-color: #3489f4; }
.dashboard-home .home-tone-edge--home-tone--amber { --edge-color: #d49724; }
.dashboard-home .home-progress__fill.is-good { background: linear-gradient(90deg,#10a57d,#34c98d); }
.dashboard-home .home-progress__fill.is-warn { background: linear-gradient(90deg,#d79a25,#edbd59); }
.dashboard-home .home-progress__fill.is-danger { background: linear-gradient(90deg,#d54757,#ee7a84); }
.dashboard-home .home-progress__fill.is-info { background: linear-gradient(90deg,#2884f4,#55a8fa); }
.dashboard-home .home-badge--neutral { color: #52657c; background: #edf2f7; }
body.dark .dashboard-home .home-badge--neutral { color: #c2d4ed; background: #283e58; }
