/* ============================================================
   Vision Technology · School ERP · Coaching Management
   Page-specific visual overrides
   Depends on: school-erp.css (shared design system)
   Version: 1
   ============================================================ */

/* ---- Stat strip below the hero ---- */
.se-stat-strip {
 border: 1px solid var(--se-line);
 border-radius: 12px;
 background: var(--se-paper);
 padding: 0;
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 overflow: hidden;
}
.se-stat-strip .stat-cell {
 padding: 2rem 1.5rem;
 border-right: 1px solid var(--se-line);
 text-align: center;
}
.se-stat-strip .stat-cell:last-child { border-right: none; }
.se-stat-strip .stat-num {
 font-size: clamp(2rem, 3.5vw, 2.75rem);
 font-weight: 700;
 color: var(--se-brand);
 line-height: 1;
 letter-spacing: -0.02em;
 margin-bottom: 0.5rem;
}
.se-stat-strip .stat-label {
 font-size: 0.8rem;
 font-weight: 600;
 letter-spacing: 0.1em;
 text-transform: uppercase;
 color: var(--se-ink-mute);
}
@media (max-width: 767px) {
 .se-stat-strip { grid-template-columns: repeat(2, 1fr); }
 .se-stat-strip .stat-cell { border-bottom: 1px solid var(--se-line); }
 .se-stat-strip .stat-cell:nth-child(odd) { border-right: 1px solid var(--se-line); }
 .se-stat-strip .stat-cell:nth-child(even) { border-right: none; }
 .se-stat-strip .stat-cell:nth-last-child(-n+2) { border-bottom: none; }
}

/* ---- Exam target tiles · square (distinct from preschool's circles) ---- */
.exam-tile {
 background: var(--se-paper);
 border: 1px solid var(--se-line);
 border-top: 2px solid var(--se-brand);
 padding: 2rem 1rem 1.5rem;
 text-align: center;
 border-radius: 8px;
 transition: transform 0.25s ease, border-color 0.25s ease;
 height: 100%;
}
.exam-tile:hover {
 transform: translateY(-4px);
 border-color: var(--se-brand);
}
.exam-tile .exam-name {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-width: 72px;
 height: 72px;
 padding: 0 1rem;
 background: var(--se-blue-50);
 border: 1px solid var(--se-blue-200);
 border-radius: 8px;
 font-weight: 800;
 font-size: 1.2rem;
 color: var(--se-brand);
 letter-spacing: -0.01em;
 margin: 0 auto 1rem;
}
.exam-tile h6 {
 font-size: 1rem;
 font-weight: 600;
 color: var(--se-ink);
 margin: 0;
}
.exam-tile p {
 font-size: 0.85rem;
 color: var(--se-ink-soft);
 margin: 0.4rem 0 0;
 line-height: 1.5;
}

/* ---- Batch scheduler cards · horizontal with left accent bar ---- */
.batch-card {
 background: var(--se-paper);
 border: 1px solid var(--se-line);
 border-left: 3px solid var(--se-brand);
 border-radius: 8px;
 padding: 1.5rem 1.75rem;
 transition: transform 0.25s ease;
}
.batch-card:hover {
 transform: translateX(4px);
}
.batch-card .batch-time {
 font-size: 0.75rem;
 font-weight: 700;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: var(--se-brand);
 margin-bottom: 0.4rem;
}
.batch-card h5 {
 font-size: 1.25rem;
 font-weight: 600;
 color: var(--se-ink);
 margin-bottom: 0.7rem;
}
.batch-card .batch-meta {
 display: flex;
 flex-wrap: wrap;
 gap: 1.25rem;
 font-size: 0.88rem;
 color: var(--se-ink-soft);
}
.batch-card .batch-meta span {
 display: inline-flex;
 align-items: center;
 gap: 0.4rem;
}
.batch-card .batch-meta i {
 color: var(--se-blue-400);
 font-size: 0.82rem;
}

/* ---- Rank callout · coaching specialty ---- */
.rank-callout {
 background: var(--se-paper);
 border: 1px solid var(--se-line);
 border-radius: 12px;
 padding: 2.5rem;
 text-align: center;
}
.rank-callout .air-label {
 font-size: 0.8rem;
 font-weight: 700;
 letter-spacing: 0.15em;
 text-transform: uppercase;
 color: var(--se-brand);
 margin-bottom: 1rem;
}
.rank-callout .air-number {
 font-size: clamp(3.5rem, 7vw, 5.5rem);
 font-weight: 800;
 color: var(--se-ink);
 line-height: 1;
 letter-spacing: -0.03em;
}
.rank-callout .air-number .air-prefix {
 font-size: 0.4em;
 color: var(--se-blue-400);
 font-weight: 600;
 letter-spacing: 0.08em;
 display: block;
 margin-bottom: 0.5rem;
}
.rank-callout .rank-progression {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0.8rem;
 margin-top: 1.5rem;
 padding-top: 1.5rem;
 border-top: 1px solid var(--se-line);
 font-size: 0.92rem;
 color: var(--se-ink-soft);
}
.rank-callout .rank-progression .rank-drop {
 color: var(--se-brand);
 font-weight: 700;
}

/* ---- Fee instalment timeline ---- */
.fee-timeline {
 display: flex;
 gap: 1rem;
 position: relative;
}
.fee-timeline .fee-step {
 flex: 1;
 background: var(--se-paper);
 border: 1px solid var(--se-line);
 border-radius: 8px;
 padding: 1.5rem 1.25rem;
 text-align: center;
 position: relative;
}
.fee-timeline .fee-step .step-num {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 32px;
 height: 32px;
 border-radius: 50%;
 background: var(--se-brand);
 color: #fff;
 font-weight: 700;
 font-size: 0.88rem;
 margin-bottom: 0.8rem;
}
.fee-timeline .fee-step strong {
 display: block;
 color: var(--se-ink);
 font-size: 1.1rem;
 margin-bottom: 0.3rem;
}
.fee-timeline .fee-step small {
 color: var(--se-ink-soft);
 font-size: 0.85rem;
 line-height: 1.5;
 display: block;
}
@media (max-width: 767px) {
 .fee-timeline { flex-direction: column; }
}
