/* School-progress overview: isolated from legacy summary and report components. */
.overview-hero {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 20px;
  padding: 26px 30px;
  border: 1px solid #dce8fa;
  border-radius: 20px;
  color: #f8fbff;
  background: radial-gradient(circle at 10% 12%, rgba(116, 184, 255, .34), transparent 35%), linear-gradient(125deg, #183e7d, #132857 72%);
  box-shadow: 0 16px 36px rgba(20, 51, 105, .14);
}
.overview-hero-copy { min-width: 0; }
.overview-hero h2 { margin: 5px 0 7px; font-size: clamp(21px, 3vw, 30px); line-height: 1.25; }
.overview-hero p { max-width: 700px; margin: 0; color: #dbe9ff; font-size: 13px; line-height: 1.8; }
.overview-eyebrow { display: block; color: #6b8bd0; font-size: 11px; font-weight: 800; letter-spacing: .03em; }
.overview-hero .overview-eyebrow { color: #abccff; }
.overview-hero-value {
  display: grid;
  align-content: center;
  min-width: 150px;
  padding: 8px 0 8px 22px;
  border-inline-start: 1px solid rgba(220, 235, 255, .28);
  text-align: center;
}
.overview-hero-value span { color: #b9d3fc; font-size: 12px; }
.overview-hero-value strong { display: block; margin: 4px 0; font-size: 32px; line-height: 1.05; }
.overview-hero-value small { color: #dceaff; font-size: 11px; }

.overview-filter-panel { margin: 17px 0; padding: 15px 18px; border: 1px solid #dce5f1; border-radius: 16px; background: #fff; }
.overview-progress-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.overview-filter-field { display: grid; flex: 1 1 210px; gap: 6px; }
.overview-filter-field label { color: #334a6b; font-size: 12px; font-weight: 800; }
.overview-filter-field input, .overview-filter-field select { width: 100%; min-height: 40px; border: 1px solid #cbd8e9; border-radius: 10px; padding: 8px 10px; color: #152c51; background: #fbfdff; font: inherit; }
.overview-progress-filters .button { min-height: 40px; }

.overview-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin: 16px 0; }
.overview-summary-card { display: grid; gap: 5px; min-height: 116px; padding: 17px; border: 1px solid #e0e8f5; border-radius: 16px; background: #fff; box-shadow: 0 6px 18px rgba(30, 62, 111, .05); }
.overview-summary-card > span { color: #63718a; font-size: 12px; font-weight: 800; }
.overview-summary-card strong { color: #1e3f78; font-size: 25px; line-height: 1.1; }
.overview-summary-card small { color: #7a879b; font-size: 11px; line-height: 1.65; }
.overview-no-templates { margin: 12px 0 20px; padding: 13px 16px; border: 1px dashed #d5a850; border-radius: 12px; color: #73520d; background: #fffaf0; font-size: 13px; line-height: 1.7; }
.overview-team-notice { display: grid; gap: 4px; margin: 15px 0; padding: 14px 17px; border-right: 4px solid #d08c2f; border-radius: 12px; color: #6b4a0b; background: #fff8e9; }
.overview-team-notice b { font-size: 13px; }.overview-team-notice span { font-size: 12px; line-height: 1.7; }

.overview-schools-section { margin-top: 25px; }
.overview-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 0 2px 13px; }
.overview-section-heading h2 { margin: 4px 0 0; color: #1b3158; font-size: 19px; }.overview-section-heading p { margin: 0; color: #71809a; font-size: 12px; }
.overview-school-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.overview-school-card { min-width: 0; padding: 19px; border: 1px solid; border-radius: 18px; box-shadow: 0 8px 22px rgba(22, 48, 88, .06); }
.overview-school-card-blue { border-color: #cfe0fb; background: linear-gradient(145deg, #fafdff, #edf5ff); }.overview-school-card-pink { border-color: #f2d4e4; background: linear-gradient(145deg, #fffaff, #fff0f7); }
.overview-school-card-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }.overview-school-card-head div { min-width: 0; }
.overview-school-complex { display: block; overflow: hidden; color: #687a97; font-size: 11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.overview-school-card h3 { margin: 4px 0; color: #173769; font-size: 16px; line-height: 1.45; }.overview-school-card h3 + p { margin: 0; color: #71819b; font-size: 11px; line-height: 1.55; }
.overview-status { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }.overview-status.is-complete { color: #17684f; background: #dff5ec; }.overview-status.is-pending { color: #8c5b10; background: #fff1d4; }.overview-status.is-none { color: #69748a; background: #edf0f5; }
.overview-school-progress { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 21px 0 8px; }.overview-school-progress strong { color: #17488e; font-size: 22px; }.overview-school-card-pink .overview-school-progress strong { color: #a63c70; }.overview-school-progress span { color: #667892; font-size: 11px; text-align: left; }
.overview-progressbar { overflow: hidden; height: 9px; border-radius: 999px; background: #dce8f8; }.overview-progressbar span { display: block; width: var(--overview-progress); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2c75d5, #4b9bf1); transition: width .24s ease; }.overview-school-card-pink .overview-progressbar { background: #f5dae8; }.overview-school-card-pink .overview-progressbar span { background: linear-gradient(90deg, #c55086, #ee94bb); }.overview-progressbar.is-empty span { width: 0; }

@media (max-width: 720px) { .overview-hero { display: grid; padding: 22px; }.overview-hero-value { min-width: 0; padding: 15px 0 0; border-inline-start: 0; border-top: 1px solid rgba(220, 235, 255, .28); text-align: right; }.overview-summary-grid, .overview-school-grid { grid-template-columns: 1fr; }.overview-section-heading { align-items: start; flex-direction: column; }.overview-school-progress span { max-width: 58%; }.overview-progress-filters .button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .overview-progressbar span { transition: none; } }
