/* Chista Manager dashboard + sidebar refresh.
 * Presentation-only: no global form, data, route, or workflow overrides.
 * Colors intentionally soft and accessible for extended school-day use. */

#sidebar {
  background: #fff;
  border-left-color: #e6ecf6;
  box-shadow: -8px 0 34px rgba(33, 75, 140, .035);
}
body:not(.sidebar-collapsed) #sidebar .brand-row {
  gap: 12px;
  padding-bottom: 19px;
  border-bottom: 1px solid #eef2fa;
}
#sidebar .brand-copy strong { color: #173b77; font-size: 19px; }
#sidebar .brand-copy span { color: #70809e; }
#sidebar .product-brand-mark {
  border: 1px solid #e0ebfb;
  border-radius: 13px;
  box-shadow: 0 3px 10px rgba(50, 112, 212, .07);
}
#sidebar .school-switcher {
  background: #f2f7ff;
  border-color: #e2eafa;
  border-radius: 14px;
}
#sidebar .school-switcher:hover { background: #eef5ff; border-color: #cbdcf8; }
#sidebar .school-avatar { background: #e0edff; color: #2462ba; }
#sidebar .school-switcher-copy strong { color: #243e65; }
#sidebar .school-switcher-copy small { color: #7385a0; }
#sidebar .nav-groups { padding-bottom: 17px; }
#sidebar .nav-group-toggle {
  color: #8b9bb0;
  font-size: 11px;
  letter-spacing: .05px;
}
#sidebar .nav-group-toggle:hover { color: #376bba; }
#sidebar .nav-group-toggle:focus-visible,
#sidebar .nav-item:focus-visible,
#sidebar .sidebar-collapse-toggle:focus-visible {
  outline: 2px solid #4484ef;
  outline-offset: 2px;
}
#sidebar .nav-item {
  min-height: 43px;
  gap: 11px;
  border-radius: 12px;
  color: #536780;
  font-weight: 700;
}
#sidebar .nav-icon {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  color: #7389a9;
}
#sidebar .nav-item:hover {
  background: #f1f6fe;
  color: #235bc3;
}
#sidebar .nav-item:hover .nav-icon {
  background: #e7f0ff;
  color: #286bd3;
}
#sidebar .nav-item.active {
  color: #1e60d0;
  background: #e8f1ff;
  font-weight: 800;
}
#sidebar .nav-item.active::before {
  background: #3277e7;
  height: 23px;
}
#sidebar .nav-item.active .nav-icon {
  color: #276ce0;
  background: #dceaff;
}
#sidebar .signed-user {
  border-radius: 13px;
  background: #f6f9ff;
  padding: 10px 8px;
}
#sidebar .signed-user strong { color: #254269; }
#sidebar .user-avatar { background: #3278e4; color: #fff; }
#sidebar .sidebar-footer { border-top-color: #eaf0fa; }

.main-content:has(.manager-dashboard) {
  background: #f4f8ff;
}
.main-content:has(.manager-dashboard) > .topbar {
  min-height: 68px;
  padding: 12px 17px;
  background: #fff;
  border: 1px solid #e9effa;
  border-radius: 17px;
  box-shadow: 0 6px 22px rgba(27, 71, 137, .04);
}
.main-content:has(.manager-dashboard) .topbar-start h1 { color: #162f63; }
.main-content:has(.manager-dashboard) .topbar-start p { color: #7488a6; }
.main-content:has(.manager-dashboard) .search-box {
  background: #f4f8fe;
  border-color: #e7effc;
  border-radius: 12px;
}
.main-content:has(.manager-dashboard) .notification-button {
  border-radius: 12px;
  border-color: #e6efff;
}
.main-content:has(.manager-dashboard) #view { max-width: 1520px; }

.manager-dashboard {
  --dashboard-blue: #286de0;
  --dashboard-ink: #19345e;
  --dashboard-muted: #7082a0;
  display: grid;
  gap: 18px;
}
.manager-dashboard > * { min-width: 0; }
.manager-dashboard .welcome-card {
  min-height: 142px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 335px);
  gap: 19px;
  padding: 23px 26px;
  border-radius: 18px;
  border: 1px solid #dfeaff;
  background: #edf5ff;
  box-shadow: 0 7px 22px rgba(54, 105, 195, .04);
}
.manager-dashboard .welcome-card::after {
  left: -65px;
  bottom: -112px;
  border-color: rgba(63, 136, 235, .07);
}
.manager-dashboard .welcome-copy > span {
  color: #3478d6;
  margin-bottom: 5px;
}
.manager-dashboard .welcome-copy h2 {
  color: #143768;
  font-size: clamp(22px,2.3vw,28px);
}
.manager-dashboard .welcome-copy p {
  color: #56749c;
  margin: 6px 0 12px;
}
.manager-dashboard .welcome-actions .button {
  min-height: 36px;
  border-radius: 10px;
}
.manager-dashboard .welcome-actions .button.primary {
  color: #fff;
  background: #2e71dd;
  border-color: #2e71dd;
}
.manager-dashboard .welcome-actions .button.secondary {
  background: #fff;
  color: #2d66ba;
  border-color: #cbdcf8;
}
.manager-dashboard .day-summary {
  border-radius: 14px;
  padding: 16px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(255,255,255,.96);
  box-shadow: 0 5px 17px rgba(36, 98, 181, .04);
  backdrop-filter: none;
}
.manager-dashboard .day-summary strong {
  color: #1b4a8e;
  font-size: 25px;
}
.manager-dashboard .day-summary span { font-size: 11px; line-height: 1.7; }

.manager-dashboard .dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 11px;
}
.manager-dashboard .dashboard-kpis .metric-card {
  display: flex;
  flex-direction: column;
  min-height: 135px;
  padding: 16px 14px 15px;
  border-radius: 17px;
  border: 1px solid var(--dash-border, #e0e9f9);
  background: var(--dash-bg,#eef5ff);
  box-shadow: 0 5px 17px rgba(30, 76, 142, .035);
}
.manager-dashboard .dashboard-kpis .metric-card::before { display:none; }
.manager-dashboard .dashboard-kpis .metric-head {
  align-items: flex-start;
  gap: 7px;
  color: var(--dash-caption, #41659f);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.5;
}
.manager-dashboard .dashboard-kpis .metric-head > span:first-child { min-width: 0; }
.manager-dashboard .dashboard-kpis .metric-icon {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  color: var(--dash-accent,#286de0);
  background: var(--dash-icon,#dfeaff);
}
.manager-dashboard .dashboard-kpis .metric-card > strong {
  margin-top: 8px;
  font-size: clamp(23px,2.1vw,31px);
  line-height: 1.15;
  color: var(--dash-value,#1a3d80);
  font-variant-numeric: tabular-nums;
}
.manager-dashboard .dashboard-kpis .metric-card small {
  margin-top: auto;
  padding-top: 9px;
  color: var(--dash-caption,#6683ad);
  font-size: 10px;
  line-height: 1.6;
  white-space: normal;
}
.manager-dashboard .dashboard-kpis .metric-blue {
  --dash-bg: #edf5ff; --dash-border:#dceafb; --dash-accent:#2b76df;
  --dash-icon:#daebff; --dash-value:#1853b2; --dash-caption:#5473a5;
}
.manager-dashboard .dashboard-kpis .metric-teal {
  --dash-bg:#eafaf7; --dash-border:#d7f2eb; --dash-accent:#11987d;
  --dash-icon:#d4f4eb; --dash-value:#0a8068; --dash-caption:#528b80;
}
.manager-dashboard .dashboard-kpis .metric-violet {
  --dash-bg:#f3efff; --dash-border:#e8dfff; --dash-accent:#8060d7;
  --dash-icon:#e9e0ff; --dash-value:#6042ba; --dash-caption:#7b6eaa;
}
.manager-dashboard .dashboard-kpis .metric-green {
  --dash-bg:#eaf9f1; --dash-border:#d8f2e2; --dash-accent:#24955b;
  --dash-icon:#d7f4e4; --dash-value:#167948; --dash-caption:#598877;
}
.manager-dashboard .dashboard-kpis .metric-orange {
  --dash-bg:#fff7ea; --dash-border:#f9ead3; --dash-accent:#dc901d;
  --dash-icon:#ffebc7; --dash-value:#b16b12; --dash-caption:#9a7750;
}
.manager-dashboard .dashboard-kpis .metric-rose {
  --dash-bg:#fff0f2; --dash-border:#fae1e6; --dash-accent:#d74f67;
  --dash-icon:#ffe0e7; --dash-value:#b62f50; --dash-caption:#a87381;
}

.manager-dashboard .panel {
  padding: 20px;
  border: 1px solid #e4ecf8;
  border-radius: 17px;
  box-shadow: 0 5px 18px rgba(27, 69, 131, .032);
}
.manager-dashboard .panel-head { align-items: center; }
.manager-dashboard .panel-title h3 {
  color: var(--dashboard-ink);
  font-size: 18px;
}
.manager-dashboard .panel-title p {
  color: var(--dashboard-muted);
  font-size: 11px;
}
.manager-dashboard .count-chip {
  background: #edf3ff;
  color: #286be0;
  border-radius: 9px;
  font-size: 12px;
  min-width: 30px;
  height: 30px;
}
.manager-dashboard .dashboard-classes {
  background: #fff;
}
.manager-dashboard .dashboard-section-kicker {
  color: #2c73d6;
  font-size: 11px;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  margin-bottom: 6px;
  font-weight: 700;
}
.manager-dashboard .dashboard-section-link,
.manager-dashboard .dashboard-class-action {
  border: 0;
  color: #2b71dc;
  background: #f0f6ff;
  border-radius: 9px;
  min-height: 34px;
  padding: 6px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-weight: 700;
  font-size: 11px;
}
.manager-dashboard .dashboard-section-link:hover,
.manager-dashboard .dashboard-class-action:hover { background: #e2edff; }
.manager-dashboard .dashboard-classes-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}
.manager-dashboard .dashboard-class-card {
  --class-tint:#e9f2ff;
  --class-accent:#2d70da;
  min-width: 0;
  padding: 15px;
  border: 1px solid #e3eaf7;
  border-radius: 15px;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.manager-dashboard .dashboard-class-tone-2 { --class-tint:#e7f8ef; --class-accent:#1f9a69; }
.manager-dashboard .dashboard-class-tone-3 { --class-tint:#fff4e7; --class-accent:#d18b22; }
.manager-dashboard .dashboard-class-tone-4 { --class-tint:#f2eaff; --class-accent:#835dcc; }
.manager-dashboard .dashboard-class-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.manager-dashboard .dashboard-class-symbol {
  display: grid;
  place-items: center;
  background: var(--class-tint);
  color: var(--class-accent);
  width: 42px;
  height: 42px;
  border-radius: 12px;
}
.manager-dashboard .dashboard-class-count {
  background: #f5f8fe;
  border-radius: 50px;
  color: #72819a;
  padding: 5px 10px;
  font-size: 10px;
}
.manager-dashboard .dashboard-class-card h4 {
  color: #263c61;
  margin: 0;
  font-size: 17px;
  overflow-wrap: anywhere;
}
.manager-dashboard .dashboard-class-card p {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: #70819b;
  font-size: 11px;
}
.manager-dashboard .dashboard-class-action {
  width: 100%;
  margin-top: auto;
  justify-content: space-between;
  background: #f4f8ff;
}

.manager-dashboard .rule-banner {
  border-radius: 13px;
  border-color: #e3ecf8;
  background: #f9fbff;
}
.manager-dashboard .dashboard-grid {
  grid-template-columns: minmax(0,1.36fr) minmax(270px,.88fr);
  align-items: start;
  gap: 15px;
}
.manager-dashboard .attention-list { gap: 8px; }
.manager-dashboard .attention-item {
  min-height: 69px;
  padding: 12px;
  border: 1px solid #ecf1fa;
  border-radius: 12px;
  background: #fbfcff;
}
.manager-dashboard .attention-item:first-child { padding-top:12px; }
.manager-dashboard .attention-icon { width:39px; height:39px; border-radius:11px; }
.manager-dashboard .attention-copy strong { font-size: 12px; color: #334764; }
.manager-dashboard .attention-copy span {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  color: #73849b;
  font-size: 10px;
}
.manager-dashboard .row-action {
  color: #286de0;
  border-radius: 9px;
}
.manager-dashboard .finance-total { border-bottom-color:#eef1f9; }
.manager-dashboard .finance-total strong { color: #246bc7; }
.manager-dashboard .progress-track { background:#edf2fa; }
.manager-dashboard .progress-bar { accent-color:#2e9c7b; }
.manager-dashboard button:focus-visible {
  outline: 2px solid #3178e7;
  outline-offset: 3px;
}

@media (max-width: 1250px) {
  .manager-dashboard .dashboard-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .manager-dashboard .dashboard-classes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1050px) {
  .manager-dashboard .dashboard-grid { grid-template-columns:1fr; }
  .manager-dashboard .welcome-card { grid-template-columns:1fr; }
  .manager-dashboard .day-summary { max-width: 500px; }
}
@media (max-width: 820px) {
  .main-content:has(.manager-dashboard) > .topbar { padding: 12px; }
  #sidebar .signed-user { padding: 9px 7px; }
  .manager-dashboard .dashboard-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .manager-dashboard { gap: 13px; }
  .manager-dashboard .welcome-card { padding: 20px; }
  .manager-dashboard .dashboard-kpis { gap: 8px; }
  .manager-dashboard .dashboard-kpis .metric-card { padding: 12px; min-height: 130px; }
  .manager-dashboard .dashboard-kpis .metric-head { font-size: 10px; }
  .manager-dashboard .dashboard-kpis .metric-icon { width: 29px; height: 29px; flex-basis: 29px; }
  .manager-dashboard .dashboard-kpis .metric-card > strong { font-size: 24px; }
  .manager-dashboard .dashboard-classes-grid { grid-template-columns:1fr; }
  .manager-dashboard .panel { padding: 15px; }
  .manager-dashboard .panel-head { align-items: flex-start; }
  .manager-dashboard .dashboard-classes .panel-head { flex-wrap: wrap; }
  .manager-dashboard .dashboard-section-link { margin-top: 4px; }
  .manager-dashboard .attention-item { grid-template-columns:34px minmax(0,1fr); }
  .manager-dashboard .attention-item .row-action { grid-column:2; justify-self:start; }
}
@media (prefers-reduced-motion: reduce) {
  #sidebar .nav-item { transition: none; }
}


/* Dashboard insight rows: existing published educational data only. */
.manager-dashboard .dashboard-insights {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .9fr);
  gap: 15px;
  align-items: stretch;
}
.manager-dashboard .dashboard-insights > .panel { min-width: 0; }
.manager-dashboard .dashboard-insights .panel-head h3 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.manager-dashboard .dashboard-insights .panel-head h3 svg { color: #2d74df; }
.manager-dashboard .dashboard-attendance-panel .panel-head,
.manager-dashboard .dashboard-quick-report-panel .panel-head,
.manager-dashboard .dashboard-recent-panel .panel-head { flex-wrap: wrap; }
.manager-dashboard .dashboard-attendance-content {
  display: grid;
  grid-template-columns: 140px minmax(100px, .55fr) minmax(190px, 1fr);
  gap: 15px;
  align-items: center;
  min-height: 185px;
  padding: 13px;
  border-radius: 13px;
  background: #f9fbff;
  border: 1px solid #edf2fc;
}
.manager-dashboard .dashboard-attendance-ring-wrap {
  width: 140px;
  height: 140px;
  position: relative;
  display: grid;
  place-items: center;
}
.manager-dashboard .dashboard-attendance-ring { width: 140px; height: 140px; transform: rotate(-90deg); }
.manager-dashboard .dashboard-attendance-ring circle {
  fill: none;
  stroke-width: 13px;
}
.manager-dashboard .dashboard-ring-base { stroke: #e9eff8; }
.manager-dashboard .dashboard-ring-absent { stroke: #e35b7b; }
.manager-dashboard .dashboard-ring-late { stroke: #f3b15e; }
.manager-dashboard .dashboard-attendance-ring-label {
  position: absolute;
  display: grid;
  gap: 1px;
  text-align: center;
}
.manager-dashboard .dashboard-attendance-ring-label strong { color: #254773; font-size: 26px; }
.manager-dashboard .dashboard-attendance-ring-label small { color: #8c9eb7; font-size: 9px; }
.manager-dashboard .dashboard-attendance-stats { display: grid; gap: 12px; }
.manager-dashboard .dashboard-attendance-stats > div {
  display: grid;
  grid-template-columns: 9px 1fr auto;
  align-items: center;
  gap: 7px;
  color: #536b8b;
  font-size: 12px;
}
.manager-dashboard .dashboard-attendance-stats strong { color: #254773; font-size: 16px; }
.manager-dashboard .dashboard-attendance-stats p {
  margin: 0;
  color: #8294ab;
  font-size: 10px;
  line-height: 1.65;
}
.manager-dashboard .dashboard-attendance-dot { width: 9px; height: 9px; border-radius: 50%; }
.manager-dashboard .dashboard-attendance-dot.absent { background: #e35b7b; }
.manager-dashboard .dashboard-attendance-dot.late { background: #f3b15e; }
.manager-dashboard .dashboard-class-attendance { display: grid; gap: 12px; }
.manager-dashboard .dashboard-class-attendance-row,
.manager-dashboard .dashboard-coverage-row {
  display: grid;
  grid-template-columns: minmax(78px, .75fr) minmax(75px,1.2fr) auto;
  gap: 8px;
  align-items: center;
  font-size: 11px;
  color: #637a9a;
}
.manager-dashboard .dashboard-class-attendance-row > span,
.manager-dashboard .dashboard-coverage-row > span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.manager-dashboard .dashboard-class-attendance-row strong,
.manager-dashboard .dashboard-coverage-row strong { font-size: 12px; color: #284e80; }
.manager-dashboard .dashboard-class-attendance-row progress,
.manager-dashboard .dashboard-coverage-row progress {
  display: block;
  width: 100%;
  height: 10px;
  appearance: none;
  border: none;
  overflow: hidden;
  border-radius: 999px;
  background: #edf1f9;
}
.manager-dashboard .dashboard-class-attendance-row progress::-webkit-progress-bar,
.manager-dashboard .dashboard-coverage-row progress::-webkit-progress-bar { background:#edf1f9; border-radius:999px; }
.manager-dashboard .dashboard-class-attendance-row progress::-webkit-progress-value { background:#29b3b6; border-radius:999px; }
.manager-dashboard .dashboard-class-attendance-row progress::-moz-progress-bar { background:#29b3b6; border-radius:999px; }
.manager-dashboard .dashboard-coverage-row progress::-webkit-progress-value { background:#448bf1; border-radius:999px; }
.manager-dashboard .dashboard-coverage-row progress::-moz-progress-bar { background:#448bf1; border-radius:999px; }
.manager-dashboard .dashboard-quick-report-grid {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(160px,.9fr);
  gap: 12px;
}
.manager-dashboard .dashboard-trend-panel,
.manager-dashboard .dashboard-coverage-panel {
  min-width: 0;
  padding: 13px;
  border: 1px solid #edf1fa;
  border-radius: 13px;
  background: #fbfcff;
}
.manager-dashboard .dashboard-quick-report-grid h4 {
  margin: 0 0 10px;
  color: #324b71;
  font-size: 13px;
}
.manager-dashboard .dashboard-trend-panel .report-trend-wrap { max-width:100%; overflow-x:auto; }
.manager-dashboard .dashboard-trend-panel .report-line-chart { min-width: 300px; }
.manager-dashboard .dashboard-trend-panel .report-chart-legend { font-size: 10px; }
.manager-dashboard .dashboard-coverage-panel { display: grid; align-content: start; gap: 8px; }
.manager-dashboard .dashboard-family-coverage {
  display: grid;
  place-items: center;
  padding: 9px;
  min-height: 100px;
  background: #eef5ff;
  border-radius: 13px;
}
.manager-dashboard .dashboard-family-coverage strong { color: #216bd3; font-size: 29px; }
.manager-dashboard .dashboard-family-coverage small { color: #7992b4; font-size: 10px; }
.manager-dashboard .dashboard-recent-list { display: grid; gap: 9px; }
.manager-dashboard .dashboard-recent-row {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 10px;
  border: 1px solid #ebf1fb;
  border-radius: 12px;
  background: #fbfcff;
}
.manager-dashboard .dashboard-recent-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  color: #3278df;
  background: #e9f2ff;
  border-radius: 10px;
}
.manager-dashboard .dashboard-recent-info { min-width: 0; display: grid; gap: 2px; }
.manager-dashboard .dashboard-recent-info strong { color: #354d71; font-size: 12px; }
.manager-dashboard .dashboard-recent-info small { color: #8998ad; font-size: 10px; }
.manager-dashboard .dashboard-recent-row time {
  color: #7a8ca5;
  font-size: 10px;
  white-space: nowrap;
}
.manager-dashboard .dashboard-empty-note {
  padding: 15px;
  color: #8393a9;
  font-size: 12px;
  line-height: 1.7;
}
.manager-dashboard .dashboard-finance-row .dashboard-finance-summary-panel { width:100%; }
.manager-dashboard .dashboard-finance-row .progress-stack {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 13px 23px;
}
.manager-dashboard .dashboard-finance-row .finance-total { justify-content: flex-start; gap: 28px; }

@media (max-width: 1330px) {
  .manager-dashboard .dashboard-attendance-content { grid-template-columns: 130px 1fr; }
  .manager-dashboard .dashboard-class-attendance { grid-column: 1 / -1; }
  .manager-dashboard .dashboard-insights { grid-template-columns: minmax(0,1fr) minmax(270px,.85fr); }
}
@media (max-width: 1050px) {
  .manager-dashboard .dashboard-insights { grid-template-columns: 1fr; }
  .manager-dashboard .dashboard-attendance-content { grid-template-columns:140px minmax(0,1fr) minmax(170px,1.2fr); }
  .manager-dashboard .dashboard-class-attendance { grid-column: auto; }
}
@media (max-width: 720px) {
  .manager-dashboard .dashboard-attendance-content { grid-template-columns: 140px minmax(0,1fr); }
  .manager-dashboard .dashboard-class-attendance { grid-column:1 / -1; }
  .manager-dashboard .dashboard-quick-report-grid { grid-template-columns:1fr; }
  .manager-dashboard .dashboard-finance-row .progress-stack { grid-template-columns:1fr; }
}
@media (max-width: 420px) {
  .manager-dashboard .dashboard-attendance-content { grid-template-columns:1fr; }
  .manager-dashboard .dashboard-attendance-ring-wrap { margin:auto; }
  .manager-dashboard .dashboard-class-attendance { grid-column:auto; }
  .manager-dashboard .dashboard-recent-row { grid-template-columns:32px minmax(0,1fr); }
  .manager-dashboard .dashboard-recent-row time { grid-column:2; }
}


/* V3 charts: dashboard only. No inline styles, external libraries, or new data sources. */
.manager-dashboard .dashboard-classes .panel-head { margin-bottom: 12px; }
.manager-dashboard .dashboard-class-card { gap: 7px; padding: 13px; }
.manager-dashboard .dashboard-classes-grid { align-items: start; }
.manager-dashboard .dashboard-chart-placeholder {
  display: grid;
  gap: 9px;
  padding: 4px 0;
}
.manager-dashboard .dashboard-placeholder-bar {
  height: 11px;
  border-radius: 30px;
  background: repeating-linear-gradient(90deg,#e6edf8 0 8px,#f2f6fc 8px 16px);
}
.manager-dashboard .dashboard-placeholder-bar:nth-child(1) { width: 85%; }
.manager-dashboard .dashboard-placeholder-bar:nth-child(2) { width: 63%; }
.manager-dashboard .dashboard-placeholder-bar:nth-child(3) { width: 72%; }
.manager-dashboard .dashboard-chart-placeholder small { color: #8294ae; line-height: 1.8; font-size: 10px; }
.manager-dashboard .dashboard-minichart-caption {
  color: #587292;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 5px;
}
.manager-dashboard .dashboard-attendance-content {
  min-height: 199px;
  border: 1px solid #e6eefb;
  background: #f7faff;
  grid-template-columns: 142px minmax(100px,.65fr) minmax(155px,1.1fr);
}
.manager-dashboard .dashboard-attendance-content.is-unavailable { background: #fbfcff; }
.manager-dashboard .dashboard-attendance-content.is-unavailable .dashboard-ring-base {
  stroke: #e4eaf5;
  stroke-dasharray: 9 6;
}
.manager-dashboard .dashboard-attendance-ring,
.manager-dashboard .dashboard-finance-ring,
.manager-dashboard .dashboard-family-ring { display: block; }
.manager-dashboard .dashboard-quick-report-grid { grid-template-columns: minmax(0,1.45fr) minmax(225px,.9fr); }
.manager-dashboard .dashboard-trend-panel,
.manager-dashboard .dashboard-coverage-panel {
  border-radius: 15px;
  background: #fbfcff;
}
.manager-dashboard .dashboard-chart-title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 9px;
}
.manager-dashboard .dashboard-chart-caption {
  color: #3e83d8;
  background: #edf5ff;
  font-size: 10px;
  padding: 3px 9px;
  border-radius: 999px;
}
.manager-dashboard .dashboard-trend-graphic { padding: 4px 0 0; }
.manager-dashboard .dashboard-compact-line-chart { display: block; width: 100%; height: auto; max-height: 220px; overflow: visible; }
.manager-dashboard .dashboard-compact-line-chart text { fill: #8c9bb2; font-family: inherit; font-size: 10px; }
.manager-dashboard .dashboard-chart-guide { stroke: #e6edf9; stroke-width: 1.2; stroke-dasharray: 4 6; }
.manager-dashboard .dashboard-chart-fill-absent { fill: #e95b7c; opacity: .10; stroke: none; }
.manager-dashboard .dashboard-chart-line-absent {
  fill: none; stroke: #e85b78; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round;
}
.manager-dashboard .dashboard-chart-line-late {
  fill: none; stroke: #f5a848; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round;
}
.manager-dashboard .dashboard-chart-key {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  color: #6782a0;
  font-size: 11px;
  margin-top: 8px;
}
.manager-dashboard .dashboard-chart-key > span { display: inline-flex; align-items: center; gap: 6px; }
.manager-dashboard .dashboard-chart-key i {
  display: inline-block; width: 19px; height: 4px; border-radius: 30px;
}
.manager-dashboard .dashboard-chart-key i.absent { background: #e85b78; }
.manager-dashboard .dashboard-chart-key i.late { background: #f5a848; }
.manager-dashboard .dashboard-class-bars-graphic { min-height: 170px; display: grid; align-content: center; gap: 14px; padding: 4px 0; }
.manager-dashboard .dashboard-class-stacked-row {
  display: grid;
  grid-template-columns: minmax(70px,1fr) minmax(110px,1.8fr) 25px;
  align-items: center;
  gap: 11px;
  color: #607594;
  font-size: 11px;
}
.manager-dashboard .dashboard-class-stacked-row > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.manager-dashboard .dashboard-class-stacked-row > strong { font-size: 12px; color: #2e527d; }
.manager-dashboard .dashboard-class-stacked-track { width: 100%; height: 12px; border-radius: 20px; overflow: hidden; }
.manager-dashboard .dashboard-class-stacked-track .track { fill: #ebf1fb; }
.manager-dashboard .dashboard-class-stacked-track .absent { fill: #e85b78; }
.manager-dashboard .dashboard-class-stacked-track .late { fill: #f5a848; }
.manager-dashboard .dashboard-trend-empty { position: relative; min-height: 177px; display: grid; place-items: center; }
.manager-dashboard .dashboard-trend-empty svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: #c0cde1;
}
.manager-dashboard .dashboard-trend-empty p {
  position: relative;
  margin: 0;
  padding: 9px 13px;
  border-radius: 9px;
  border: 1px solid #e4ebf7;
  background: rgba(255,255,255,.93);
  color: #7a8aa4;
  font-size: 11px;
  text-align: center;
}
.manager-dashboard .dashboard-chart-caveat { color: #8a9cb3; line-height: 1.75; font-size: 10px; }
.manager-dashboard .dashboard-coverage-panel { display: grid; align-content: start; gap: 11px; }
.manager-dashboard .dashboard-family-chart {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: #eef5ff;
  border: 1px solid #e6effe;
  border-radius: 13px;
  padding: 9px;
}
.manager-dashboard .dashboard-family-ring-wrap,
.manager-dashboard .dashboard-finance-ring-wrap {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 124px;
  width: 124px;
  height: 124px;
}
.manager-dashboard .dashboard-family-ring,
.manager-dashboard .dashboard-finance-ring { width: 120px; height: 120px; transform: rotate(-90deg); }
.manager-dashboard .dashboard-family-ring circle,
.manager-dashboard .dashboard-finance-ring circle { fill: none; stroke-width: 13px; }
.manager-dashboard .dashboard-family-ring-base { stroke: #d7e5fa; }
.manager-dashboard .dashboard-family-ring-value { stroke: #3a80ec; stroke-linecap: round; }
.manager-dashboard .dashboard-family-ring-label,
.manager-dashboard .dashboard-finance-ring-label { position: absolute; display: grid; gap: 2px; text-align: center; }
.manager-dashboard .dashboard-family-ring-label strong { color: #235fc4; font-size: 25px; line-height: 1.1; }
.manager-dashboard .dashboard-family-ring-label small { color: #7690b4; font-size: 11px; }
.manager-dashboard .dashboard-family-coverage-text { display: grid; gap: 6px; min-width: 0; }
.manager-dashboard .dashboard-family-coverage-text strong { font-size: 16px; color: #36699f; }
.manager-dashboard .dashboard-family-coverage-text small { color: #8196b2; line-height: 1.8; font-size: 10px; }
.manager-dashboard .dashboard-coverage-bars { display: grid; gap: 10px; }
.manager-dashboard .dashboard-activity-timeline { position: relative; padding-right: 0; gap: 0; }
.manager-dashboard .dashboard-activity-timeline::before {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  right: 25px;
  width: 2px;
  background: #e7eefb;
}
.manager-dashboard .dashboard-timeline-row {
  position: relative;
  border: 0;
  border-bottom: 1px solid #eef2fa;
  border-radius: 0;
  background: transparent;
  padding: 15px 5px;
  column-gap: 14px;
}
.manager-dashboard .dashboard-timeline-row:last-child { border-bottom: 0; }
.manager-dashboard .dashboard-timeline-row .dashboard-recent-icon {
  position: relative;
  box-shadow: 0 0 0 4px #fff;
  border: 1px solid #e5edfa;
  width: 39px;
  height: 39px;
  border-radius: 12px;
}
.manager-dashboard .dashboard-timeline-tone-1 { background: #eaf2ff; color: #2d72dd; }
.manager-dashboard .dashboard-timeline-tone-2 { background: #e8f7f1; color: #238a65; }
.manager-dashboard .dashboard-timeline-tone-3 { background: #fff2e0; color: #b87d22; }
.manager-dashboard .dashboard-timeline-tone-4 { background: #f2eaff; color: #7958c8; }
.manager-dashboard .dashboard-timeline-row .dashboard-recent-info strong { font-size: 13px; }
.manager-dashboard .dashboard-timeline-row .dashboard-recent-info small { font-size: 11px; }
.manager-dashboard .dashboard-timeline-row time { color: #8397b2; }
.manager-dashboard .dashboard-finance-visual {
  display: grid;
  grid-template-columns: minmax(155px, .27fr) minmax(0, 1fr);
  align-items: center;
  gap: 25px;
  background: #fafdff;
  border-radius: 15px;
  border: 1px solid #eaf0fa;
  padding: 15px 24px;
}
.manager-dashboard .dashboard-finance-ring-wrap { margin: auto; width: 150px; height: 150px; }
.manager-dashboard .dashboard-finance-ring { width: 146px; height: 146px; }
.manager-dashboard .dashboard-finance-ring-base { stroke: #e8eef8; }
.manager-dashboard .dashboard-finance-ring-paid { stroke: #1b9a7d; stroke-linecap: round; }
.manager-dashboard .dashboard-finance-ring-label strong { font-size: 27px; color: #157d66; line-height: 1.1; }
.manager-dashboard .dashboard-finance-ring-label small { font-size: 11px; color: #748ba4; }
.manager-dashboard .dashboard-finance-details { min-width: 0; }
.manager-dashboard .dashboard-finance-details .finance-total { margin: 0 0 9px; }
.manager-dashboard .dashboard-finance-legend {
  display: flex; gap: 12px 23px; flex-wrap: wrap; margin: 10px 0 16px; color: #6683a1;
  font-size: 11px;
}
.manager-dashboard .dashboard-finance-legend > span { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.manager-dashboard .dashboard-finance-legend i { width: 10px; height: 10px; border-radius: 50%; }
.manager-dashboard .dashboard-finance-legend i.paid { background: #1b9a7d; }
.manager-dashboard .dashboard-finance-legend i.remaining { background: #dce7f4; }
.manager-dashboard .dashboard-finance-legend strong { color: #2a5274; }
.manager-dashboard .dashboard-finance-row .progress-stack { gap: 10px 18px; }

@media (max-width: 1300px) {
  .manager-dashboard .dashboard-quick-report-grid { grid-template-columns: 1fr; }
  .manager-dashboard .dashboard-coverage-bars { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .manager-dashboard .dashboard-quick-report-grid { grid-template-columns: minmax(0,1fr) minmax(220px,.75fr); }
  .manager-dashboard .dashboard-attendance-content { grid-template-columns: 142px minmax(0,1fr); }
  .manager-dashboard .dashboard-class-attendance { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
  .manager-dashboard .dashboard-quick-report-grid { grid-template-columns: 1fr; }
  .manager-dashboard .dashboard-coverage-bars { grid-template-columns: 1fr; }
  .manager-dashboard .dashboard-attendance-content { grid-template-columns: 1fr; }
  .manager-dashboard .dashboard-attendance-ring-wrap { margin: auto; }
  .manager-dashboard .dashboard-class-attendance { grid-column: auto; }
  .manager-dashboard .dashboard-finance-visual { grid-template-columns: 1fr; padding: 14px; }
  .manager-dashboard .dashboard-finance-ring-wrap { width: 130px; height: 130px; }
  .manager-dashboard .dashboard-finance-ring { width: 126px; height: 126px; }
}
