/* ============ ADMISSION PORTAL — PUBLIC ============ */
:root{--navy:#0B2447;--navy2:#173A6B;--gold:#D9A21B;--green:#176B3A;--red:#B01E2E;--gray:#f4f6f9;--line:#e2e8f0;--text:#1f2937;--muted:#64748b}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background:var(--gray);color:var(--text);line-height:1.6}
a{color:var(--navy2)}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

/* Topbar */
.topbar{background:var(--navy);color:#fff;padding:12px 0;border-bottom:4px solid var(--gold)}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.topbar h1{font-size:1.1rem}
.topbar nav{display:flex;gap:18px;flex-wrap:wrap}
.topbar nav a{color:#fff;text-decoration:none;font-size:.9rem}
.topbar nav a:hover{color:var(--gold)}

/* Hero */
.hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:60px 0}
.hero h2{font-size:2.2rem;margin-bottom:10px}
.hero p{color:#d1d9e6;max-width:640px;margin-bottom:24px}

/* Buttons */
.btn{display:inline-block;padding:12px 24px;border-radius:6px;font-weight:600;text-decoration:none;border:0;cursor:pointer;font-size:.95rem;transition:.2s}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:#e8b32c}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy2)}
.btn-outline{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}

/* Cards & grid */
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.card h3{color:var(--navy);margin-bottom:14px;font-size:1.15rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}

/* Forms */
.form-group{margin-bottom:15px}
.form-group label{display:block;font-weight:600;font-size:.86rem;margin-bottom:6px;color:#374151}
.form-control{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;font-size:.92rem}
.form-control:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,162,27,.15)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px}

/* Multi-step form */
.steps-bar{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.steps-bar span{padding:6px 14px;border-radius:999px;background:#e2e8f0;font-size:.8rem;font-weight:600;color:#475569}
.steps-bar span.active{background:var(--navy);color:var(--gold)}
.step{display:none}
.step.active{display:block}
.step-nav{display:flex;justify-content:space-between;margin-top:20px;gap:10px}
.olevel-row{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;margin-bottom:8px}

/* Success box */
.success-box{text-align:center;padding:40px 20px}
.success-box .appno{font-size:1.6rem;font-weight:800;color:var(--green);letter-spacing:.05em;margin:12px 0}

/* Alerts */
.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem}
.alert-err{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
.alert-ok{background:#dcfce7;color:#166534;border:1px solid #86efac}

/* Tables */
table{width:100%;border-collapse:collapse;font-size:.9rem}
th{background:var(--navy);color:#fff;text-align:left;padding:10px}
td{padding:10px;border-bottom:1px solid var(--line)}

/* Status badges (used on public + admin) */
.badge{padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700}
.st-blue{background:#dbeafe;color:#1e40af}
.st-amber{background:#fef3c7;color:#92400e}
.st-green{background:#dcfce7;color:#166534}
.st-red{background:#fee2e2;color:#991b1b}
.st-purple{background:#ede9fe;color:#5b21b6}

/* Footer */
.footer{padding:24px 0;text-align:center;color:var(--muted);font-size:.85rem}

/* Admission letter */
.letter{background:#fff;max-width:800px;margin:20px auto;padding:50px;border:1px solid var(--line)}
.letter-head{text-align:center;border-bottom:3px solid var(--gold);padding-bottom:16px;margin-bottom:24px}
.letter-head h2{color:var(--navy)}

/* Responsive */
@media(max-width:700px){
  .row2,.row3{grid-template-columns:1fr}
  .topbar .container{justify-content:center;text-align:center}
}
@media print{
  .topbar,.no-print,.footer{display:none!important}
  .letter{border:0;margin:0;padding:20px}
}