/* BAVS v0.14.0 — Identity & Enrollment Studio */
:root{
  --en-blue:#2563eb;--en-cyan:#06b6d4;--en-violet:#7c3aed;--en-pink:#ec4899;--en-green:#10b981;--en-orange:#f59e0b;
  --en-ink:#10233f;--en-muted:#64748b;--en-line:rgba(99,102,241,.17);--en-card:rgba(255,255,255,.86);--en-soft:#f7f9ff;
}
[data-theme="dark"]{--en-ink:#eef5ff;--en-muted:#aab8d2;--en-line:rgba(148,163,184,.18);--en-card:rgba(11,25,48,.84);--en-soft:#09162b}
.enrollment-shell{max-width:1180px}.enrollment-page,.onboarding-role-page,.account-v140{position:relative;isolation:isolate}.enrollment-page:before,.onboarding-role-page:before,.account-v140:before{content:"";position:fixed;inset:72px 0 0;z-index:-2;pointer-events:none;background:radial-gradient(circle at 10% 5%,rgba(37,99,235,.10),transparent 30%),radial-gradient(circle at 90% 20%,rgba(124,58,237,.10),transparent 32%),radial-gradient(circle at 45% 80%,rgba(6,182,212,.08),transparent 36%)}
.enrollment-glass,.enrollment-panel{background:var(--en-card);border:1px solid var(--en-line);box-shadow:0 20px 70px rgba(35,63,115,.10);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.enrollment-hero{position:relative;overflow:hidden;border-radius:30px;padding:28px 24px;margin:4px 0 22px;color:#fff;background:linear-gradient(125deg,#114ab8 0%,#355ce2 36%,#7547d8 70%,#16a7c6 120%);box-shadow:0 24px 65px rgba(37,99,235,.23)}
.enrollment-hero:before,.enrollment-hero:after{content:"";position:absolute;border-radius:999px;filter:blur(4px);pointer-events:none}.enrollment-hero:before{width:250px;height:250px;inset:-130px auto auto -60px;background:rgba(255,255,255,.13)}.enrollment-hero:after{width:190px;height:190px;inset:auto -60px -105px auto;background:rgba(34,211,238,.22)}
.enrollment-hero>div{position:relative;z-index:2}.enrollment-hero h1{margin:7px 0 8px;font-size:clamp(1.55rem,4vw,2.45rem);line-height:1.55;color:#fff}.enrollment-hero p{margin:0;max-width:790px;color:rgba(255,255,255,.88);line-height:2}.enrollment-kicker{display:inline-flex;align-items:center;gap:8px;font-weight:850;font-size:.86rem;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}.enrollment-kicker svg{width:18px}.enrollment-hero.compact{display:flex;align-items:center;justify-content:space-between;gap:22px}.hero-badge{display:flex!important;align-items:center;gap:8px;flex:0 0 auto;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);padding:12px 15px;border-radius:16px;font-weight:800}.hero-badge svg{width:20px}.teacher-theme{background:linear-gradient(125deg,#0c7a69,#0f9e8a 50%,#2563eb)}.staff-theme{background:linear-gradient(125deg,#293a72,#5444b8 56%,#8b5cf6)}.applicant-theme{background:linear-gradient(125deg,#be185d,#e14e8b 46%,#f59e0b)}.supplementary-theme{background:linear-gradient(125deg,#0f766e,#0891b2 52%,#4f46e5)}
.role-hero{min-height:220px;display:flex;align-items:center;justify-content:space-between}.enrollment-hero-copy{max-width:760px}.enrollment-hero-orbit{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);position:relative;flex:none}.enrollment-hero-orbit span{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;background:#fff;color:#3b5ddb;box-shadow:0 15px 35px rgba(0,0,0,.16)}.enrollment-hero-orbit span svg{width:32px}.enrollment-hero-orbit i{position:absolute;inset:14px;border:1px dashed rgba(255,255,255,.27);border-radius:50%;animation:enSpin 18s linear infinite}.enrollment-hero-orbit i:nth-child(2){inset:31px;animation-direction:reverse;animation-duration:11s}.enrollment-hero-orbit i:nth-child(3){width:12px;height:12px;inset:11px auto auto 30px;background:#67e8f9;border:0;box-shadow:0 0 20px #67e8f9;animation:none}@keyframes enSpin{to{transform:rotate(360deg)}}
.role-choice-grid{display:grid;grid-template-columns:1fr;gap:14px}.role-choice-card{--tone:37,99,235;position:relative;text-align:right;width:100%;min-height:145px;border:1px solid rgba(var(--tone),.18);border-radius:24px;padding:20px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;cursor:pointer;background:linear-gradient(135deg,rgba(var(--tone),.10),var(--en-card) 60%);color:var(--en-ink);box-shadow:0 14px 40px rgba(30,64,175,.08);overflow:hidden;transition:.25s transform,.25s box-shadow,.25s border-color}.role-choice-card:hover,.role-choice-card:focus-visible{transform:translateY(-5px);box-shadow:0 22px 55px rgba(var(--tone),.18);border-color:rgba(var(--tone),.42);outline:0}.role-choice-card:active{transform:scale(.985)}.role-student{--tone:37,99,235}.role-guardian{--tone:16,185,129}.role-teacher{--tone:6,182,212}.role-staff{--tone:124,58,237}.role-applicant{--tone:236,72,153}.role-card-glow{position:absolute;width:140px;height:140px;border-radius:50%;background:rgba(var(--tone),.13);filter:blur(8px);left:-60px;bottom:-70px}.role-icon{position:relative;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:rgb(var(--tone));background:rgba(var(--tone),.10);border:1px solid rgba(var(--tone),.14)}.role-icon svg{width:28px;height:28px}.role-copy{display:grid;gap:4px;position:relative}.role-copy small{color:rgb(var(--tone));font-weight:850}.role-copy strong{font-size:1.08rem}.role-copy em{font-style:normal;color:var(--en-muted);font-size:.84rem;line-height:1.8}.role-arrow{position:relative;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(var(--tone),.1);color:rgb(var(--tone))}.role-arrow svg{width:17px}.enrollment-security-strip{margin:18px 0 0;padding:13px 15px;border:1px dashed rgba(37,99,235,.22);border-radius:16px;display:flex;align-items:flex-start;gap:10px;color:var(--en-muted);background:rgba(37,99,235,.045);line-height:1.9}.enrollment-security-strip svg{width:20px;flex:none;color:var(--en-blue)}
.enrollment-panel{border-radius:28px;padding:20px}.form-section-head{display:flex;align-items:center;gap:12px;margin:12px 0 17px}.form-section-head>span{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--en-blue),var(--en-violet));color:#fff;font-weight:900;box-shadow:0 10px 22px rgba(79,70,229,.22)}.form-section-head h2{margin:0;color:var(--en-ink);font-size:1.1rem}.form-section-head p{margin:3px 0 0;color:var(--en-muted);font-size:.82rem;line-height:1.8}.smart-grid{grid-template-columns:1fr!important;gap:13px!important}.enrollment-form label{display:grid;gap:7px;color:var(--en-ink);font-weight:780;font-size:.88rem}.enrollment-form label>b,.required-mark{color:#ef4444}.optional{font-size:.72rem;color:var(--en-muted);font-weight:600}.field-hint{font-size:.73rem;color:var(--en-muted);font-weight:500}.enrollment-form input,.enrollment-form select,.enrollment-form textarea{width:100%;border:1px solid rgba(100,116,139,.20);background:rgba(255,255,255,.78);color:#162238;border-radius:14px;min-height:48px;padding:10px 12px;outline:none;transition:.18s border-color,.18s box-shadow,.18s background}.enrollment-form textarea{resize:vertical;min-height:100px;line-height:1.9}.enrollment-form input:focus,.enrollment-form select:focus,.enrollment-form textarea:focus{border-color:#6385ed;box-shadow:0 0 0 4px rgba(37,99,235,.10);background:#fff}.enrollment-form input:disabled{opacity:.72;cursor:not-allowed}.live-validation{min-height:18px;color:#dc2626;font-weight:650}.live-validation.ok{color:#059669}[data-theme="dark"] .enrollment-form input,[data-theme="dark"] .enrollment-form select,[data-theme="dark"] .enrollment-form textarea{background:rgba(15,29,53,.9);color:#eef5ff;border-color:rgba(148,163,184,.18)}[data-theme="dark"] .enrollment-form input:focus,[data-theme="dark"] .enrollment-form select:focus,[data-theme="dark"] .enrollment-form textarea:focus{background:#10213c}
.check-card,.consent-card{display:flex!important;align-items:flex-start!important;grid-template-columns:none!important;gap:11px!important;padding:13px 14px;border-radius:16px;border:1px solid rgba(37,99,235,.14);background:rgba(37,99,235,.045)}.check-card input,.consent-card input,.choice-chip input,.grade-choice input{width:19px!important;height:19px!important;min-height:auto!important;flex:none;margin-top:3px;accent-color:var(--en-blue)}.check-card span{display:grid;gap:2px}.check-card small{color:var(--en-muted);font-weight:500}.check-card.compact{margin:8px 0}.conditional-academic{display:grid;grid-template-columns:1fr;gap:13px;padding:14px;border-radius:18px;background:rgba(124,58,237,.05);border:1px dashed rgba(124,58,237,.18)}
.choice-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 20px}.choice-chip{display:block!important;cursor:pointer}.choice-chip span{min-height:50px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:1px solid rgba(100,116,139,.18);border-radius:15px;background:rgba(255,255,255,.65);color:var(--en-ink);font-weight:800;transition:.2s}.choice-chip span svg{width:18px}.choice-chip input{position:absolute;opacity:0;pointer-events:none}.choice-chip input:checked+span{border-color:#5d7dea;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(124,58,237,.10));color:#3357c5;box-shadow:0 9px 25px rgba(37,99,235,.11)}[data-theme="dark"] .choice-chip span{background:rgba(18,34,61,.8)}
.grade-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:22px}.grade-choice{cursor:pointer}.grade-choice input{position:absolute;opacity:0}.grade-choice span{display:grid;padding:10px;border:1px solid rgba(100,116,139,.16);border-radius:14px;background:rgba(255,255,255,.55);transition:.18s}.grade-choice small{color:var(--en-muted);font-size:.68rem}.grade-choice strong{font-size:.84rem}.grade-choice input:checked+span{border-color:#15a6c2;background:rgba(6,182,212,.10);color:#087f96}.grade-choice.is-muted{opacity:.34;filter:grayscale(.45)}
.upload-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:12px 0 20px}.upload-drop{min-height:145px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px!important;border:1.5px dashed rgba(37,99,235,.28);border-radius:20px;background:linear-gradient(145deg,rgba(37,99,235,.05),rgba(124,58,237,.04));cursor:pointer;position:relative;overflow:hidden}.upload-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-drop>span{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(37,99,235,.10);color:var(--en-blue)}.upload-drop svg{width:24px}.upload-drop small{color:var(--en-muted)}.upload-drop.has-file{border-color:#10b981;background:rgba(16,185,129,.08)}.upload-drop.has-file>span{background:rgba(16,185,129,.13);color:#059669}
.enrollment-info-box{display:flex;align-items:flex-start;gap:12px;padding:15px;border-radius:18px;border:1px solid rgba(6,182,212,.17);background:rgba(6,182,212,.055);color:var(--en-ink);margin:16px 0}.enrollment-info-box>svg{width:24px;color:#0891b2;flex:none}.enrollment-info-box strong{display:block;margin-bottom:4px}.enrollment-info-box p{margin:0;color:var(--en-muted);line-height:1.85}.enrollment-info-box.warning{border-color:rgba(245,158,11,.2);background:rgba(245,158,11,.07)}.enrollment-info-box.warning>svg{color:#d97706}.sticky-form-actions,.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--en-line)}
.enrollment-flow-mini{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0}.enrollment-flow-mini span{display:flex;align-items:center;gap:5px;color:var(--en-muted);font-size:.76rem}.enrollment-flow-mini span:first-letter{font-weight:900}.enrollment-flow-mini span.is-active{color:var(--en-blue)}.enrollment-flow-mini i{width:26px;height:1px;background:var(--en-line)}.enrollment-register-card{max-width:720px!important}.enrollment-safe-note{display:flex!important;gap:10px!important;align-items:flex-start}.enrollment-safe-note svg{width:20px;flex:none;color:var(--en-green)}
.wizard-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;margin:-2px 0 26px;gap:4px}.wizard-progress button{border:0;background:transparent;color:var(--en-muted);display:grid;justify-items:center;gap:4px;font-family:inherit;cursor:pointer}.wizard-progress button b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9eef8;color:#71809b;transition:.2s}.wizard-progress button.is-active b,.wizard-progress button.is-done b{background:linear-gradient(135deg,var(--en-blue),var(--en-violet));color:#fff;box-shadow:0 8px 20px rgba(79,70,229,.25)}.wizard-progress button.is-active{color:var(--en-blue)}.wizard-progress i{height:2px;background:#e6ebf4;border-radius:2px}.wizard-progress i.is-done{background:linear-gradient(90deg,var(--en-blue),var(--en-violet))}.wizard-step{display:none}.wizard-step.is-active{display:block;animation:enStep .28s ease both}@keyframes enStep{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.identity-summary{display:flex;align-items:center;gap:12px;padding:13px;border-radius:17px;background:rgba(37,99,235,.05);margin-bottom:16px}.identity-summary>span{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fff;color:var(--en-blue);box-shadow:0 7px 20px rgba(37,99,235,.1)}.identity-summary strong,.identity-summary small{display:block}.identity-summary small{color:var(--en-muted);margin-top:2px}
.account-role-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.account-role-chips span{padding:4px 9px;border-radius:999px;background:rgba(37,99,235,.07);color:#4161bd;font-size:.73rem;font-weight:800}.account-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:28px 0 13px}.account-section-head .eyebrow{font-size:.75rem;color:var(--en-blue);font-weight:850}.account-section-head h2{margin:2px 0 0;color:var(--en-ink);font-size:1.25rem}.student-record-grid,.role-request-grid{display:grid;grid-template-columns:1fr;gap:12px}.student-record-card,.role-request-card{position:relative;border:1px solid var(--en-line);border-radius:22px;background:var(--en-card);box-shadow:0 12px 35px rgba(35,63,115,.075);padding:16px;display:grid;gap:14px;overflow:hidden}.student-record-card:before{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:var(--en-blue)}.student-record-card[data-tone="success"]:before{background:var(--en-green)}.student-record-card[data-tone="warning"]:before{background:var(--en-orange)}.student-record-card[data-tone="danger"]:before{background:#ef4444}.student-record-card[data-tone="violet"]:before{background:var(--en-violet)}.student-record-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(37,99,235,.08);color:var(--en-blue)}.student-record-icon svg{width:24px}.student-record-top{display:flex;align-items:center;justify-content:space-between;gap:9px}.student-record-top h3{margin:0;font-size:1rem;color:var(--en-ink)}.student-record-main>p{color:var(--en-muted);margin:5px 0 0}.student-record-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:9px;color:var(--en-muted);font-size:.75rem}.student-record-meta span{display:flex;gap:5px;align-items:center}.student-record-meta svg{width:15px}.student-record-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.record-wait,.record-approved{display:inline-flex;align-items:center;gap:6px;font-weight:750;font-size:.78rem;color:#64748b}.record-approved{color:#059669}.record-wait svg,.record-approved svg{width:17px}.review-note{padding:10px 12px;border-radius:13px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.16);font-size:.8rem;line-height:1.8;color:var(--en-ink)}.enrollment-status{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:850;background:#eef2f8;color:#64748b}.enrollment-status[data-status="approved"]{background:#e6f8f0;color:#078052}.enrollment-status[data-status="pre_approved"]{background:#e8f2ff;color:#2563eb}.enrollment-status[data-status="needs_revision"]{background:#fff4dd;color:#b66c00}.enrollment-status[data-status="rejected"]{background:#feecec;color:#c72e2e}.enrollment-status[data-status="final_review"]{background:#f2ebff;color:#7040c6}.enrollment-status[data-status="under_review"]{background:#e6f8fb;color:#087d91}.role-request-card{grid-template-columns:auto 1fr;align-items:start}.role-request-icon{width:48px;height:48px;border-radius:15px;background:rgba(124,58,237,.08);color:var(--en-violet);display:grid;place-items:center}.role-request-icon svg{width:23px}.role-request-card small{color:var(--en-muted)}.role-request-card h3{margin:3px 0;font-size:1rem;color:var(--en-ink)}.role-request-card p{margin:0;color:var(--en-blue);font-weight:800}.role-request-card .btn{grid-column:1/-1}.empty-enrollment-card{text-align:center;border-radius:24px;padding:30px 18px}.empty-enrollment-card>div{width:64px;height:64px;margin:auto;display:grid;place-items:center;border-radius:20px;background:rgba(37,99,235,.08);color:var(--en-blue)}.empty-enrollment-card svg{width:30px}.empty-enrollment-card h2{color:var(--en-ink)}.empty-enrollment-card p{color:var(--en-muted);line-height:1.9;max-width:620px;margin:0 auto 18px}
/* admin */
.enrollment-admin-page{padding:4px 0 28px}.admin-page-head{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.admin-page-head h1{margin:2px 0 5px}.admin-page-head p{margin:0;color:var(--en-muted);line-height:1.8}.admin-head-actions{display:flex;gap:8px;flex-wrap:wrap}.enrollment-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0}.enrollment-stat{display:grid;gap:2px;border:1px solid var(--en-line);border-radius:15px;padding:11px;text-decoration:none;background:var(--en-card)}.enrollment-stat strong{font-size:1.15rem;color:var(--en-ink)}.enrollment-stat span{font-size:.72rem;color:var(--en-muted)}.enrollment-filter{display:grid;grid-template-columns:1fr;gap:8px;padding:12px;border-radius:18px;background:var(--en-card);border:1px solid var(--en-line);margin-bottom:14px}.enrollment-filter label{position:relative}.enrollment-filter label svg{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:18px;color:var(--en-muted)}.enrollment-filter input,.enrollment-filter select,.review-action-form input,.review-action-form select{width:100%;min-height:42px;border:1px solid rgba(100,116,139,.2);border-radius:11px;background:rgba(255,255,255,.76);padding:8px 10px;color:#162238}.enrollment-filter label input{padding-right:38px}.enrollment-review-list,.role-admin-grid,.student-admin-grid{display:grid;grid-template-columns:1fr;gap:12px}.enrollment-review-card,.role-admin-card,.student-admin-card{position:relative;background:var(--en-card);border:1px solid var(--en-line);border-radius:20px;padding:15px;overflow:hidden;box-shadow:0 10px 30px rgba(15,36,75,.06)}.review-card-accent{position:absolute;right:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--en-blue),var(--en-violet))}.enrollment-review-card header,.role-admin-card header,.student-admin-card header{display:flex;align-items:center;gap:10px}.enrollment-review-card header>.enrollment-status,.role-admin-card header>.enrollment-status,.student-admin-card header>.enrollment-status{margin-right:auto}.review-person{display:flex;align-items:center;gap:10px}.review-avatar,.role-admin-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(37,99,235,.09);color:var(--en-blue);font-weight:900}.review-person h2,.role-admin-card h2,.student-admin-card h2{margin:0;font-size:.96rem}.review-person p,.role-admin-card header p,.student-admin-card header p{margin:3px 0 0;color:var(--en-muted);font-size:.74rem}.review-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0}.review-detail-grid>div{padding:9px;border-radius:12px;background:rgba(100,116,139,.055)}.review-detail-grid small,.review-detail-grid strong{display:block}.review-detail-grid small{font-size:.68rem;color:var(--en-muted)}.review-detail-grid strong{margin-top:3px;font-size:.78rem;overflow-wrap:anywhere}.review-line{font-size:.78rem;color:var(--en-muted);line-height:1.8;margin:7px 0}.review-action-form{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--en-line)}.enrollment-review-card footer,.role-admin-card footer{color:var(--en-muted);font-size:.7rem;margin-top:9px}.request-details{margin:9px 0;border:1px solid var(--en-line);border-radius:12px;padding:8px}.request-details summary{cursor:pointer;font-weight:800}.request-details p{color:var(--en-muted);line-height:1.9}.admin-empty{padding:30px;text-align:center;border:1px dashed var(--en-line);border-radius:18px;color:var(--en-muted)}
@media(min-width:640px){.role-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-choice-card:last-child{grid-column:1/-1}.smart-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.smart-grid .full{grid-column:1/-1}.conditional-academic{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grade-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-record-card{grid-template-columns:auto 1fr}.student-record-actions{grid-column:1/-1}.role-request-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.enrollment-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.enrollment-filter{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(140px,1fr)) auto auto}.review-action-form{grid-template-columns:170px 1fr auto}.student-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:920px){.role-choice-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.role-choice-card{grid-column:span 2;min-height:180px;grid-template-columns:1fr;align-content:start}.role-choice-card:nth-child(4){grid-column:2/span 2}.role-choice-card:nth-child(5){grid-column:4/span 2}.role-choice-card:last-child{grid-column:auto}.role-arrow{position:absolute;left:16px;bottom:16px}.role-icon{width:62px;height:62px}.role-copy strong{font-size:1.12rem}.enrollment-panel{padding:28px}.choice-chip-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.all-units{grid-template-columns:repeat(4,minmax(0,1fr))}.grade-choice-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.student-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page-head{flex-direction:row;align-items:end;justify-content:space-between}}
@media(max-width:720px){.enrollment-hero.compact,.role-hero{display:block;min-height:auto}.hero-badge,.enrollment-hero-orbit{margin-top:16px}.enrollment-hero-orbit{display:none}.enrollment-flow-mini b{display:none}.wizard-progress button span{font-size:.63rem}.wizard-progress button b{width:30px;height:30px}.sticky-form-actions{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:8;background:rgba(255,255,255,.88);border:1px solid var(--en-line);backdrop-filter:blur(14px);padding:9px;border-radius:15px;margin-top:18px}[data-theme="dark"] .sticky-form-actions{background:rgba(9,22,43,.9)}.enrollment-page{padding-bottom:30px}.account-section-head{align-items:center}.account-section-head .btn{font-size:.75rem;padding:8px 10px}.review-detail-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.enrollment-hero-orbit i,.wizard-step{animation:none!important}.role-choice-card{transition:none}}

/* BAVS v0.14.1 — Smart enrollment UX refinement */
.enrollment-form{--field-bg:rgba(255,255,255,.88);--field-border:rgba(100,116,139,.22)}
[data-theme="dark"] .enrollment-form{--field-bg:rgba(11,25,48,.74);--field-border:rgba(148,163,184,.22)}
.enrollment-form label{position:relative}
.enrollment-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.enrollment-form select,.enrollment-form textarea,.enrollment-register-card input{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;background:var(--field-bg);border-color:var(--field-border)}
.enrollment-form input:focus,.enrollment-form select:focus,.enrollment-form textarea:focus,.enrollment-register-card input:focus{outline:0;border-color:rgba(37,99,235,.75);box-shadow:0 0 0 4px rgba(37,99,235,.11)}
.enrollment-form .field-valid,.enrollment-register-card .field-valid{border-color:rgba(16,185,129,.55)!important;box-shadow:0 0 0 3px rgba(16,185,129,.06)}
.enrollment-form .field-invalid,.enrollment-register-card .field-invalid{border-color:rgba(239,68,68,.72)!important;background:rgba(254,242,242,.78)!important;box-shadow:0 0 0 4px rgba(239,68,68,.08)!important}
[data-theme="dark"] .enrollment-form .field-invalid{background:rgba(127,29,29,.14)!important}
.smart-field-message,.smart-group-message{display:block;min-height:1.25em;margin-top:6px;font-size:.72rem;font-weight:700;line-height:1.65;color:var(--en-muted)}
.smart-field-message.is-error,.smart-group-message{color:#dc2626}.smart-field-message.is-ok,.live-validation.ok,.smart-mobile-message.ok{color:#059669}.live-validation{display:block;margin-top:6px;font-size:.72rem;font-weight:700;color:#dc2626;min-height:1.25em}
.group-invalid{border-radius:16px;box-shadow:0 0 0 2px rgba(239,68,68,.16);padding:7px}
.smart-error-summary{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:0 0 18px;padding:13px 15px;border:1px solid rgba(239,68,68,.22);border-radius:16px;background:linear-gradient(135deg,rgba(254,242,242,.95),rgba(255,247,237,.9));color:#991b1b;box-shadow:0 12px 30px rgba(153,27,27,.07)}
.smart-error-summary strong{font-size:.88rem}.smart-error-summary span{font-size:.76rem;color:#b45309}
[data-theme="dark"] .smart-error-summary{background:linear-gradient(135deg,rgba(127,29,29,.22),rgba(120,53,15,.16));color:#fecaca}.smart-error-summary[hidden]{display:none}
.smart-form-progress{margin:0 0 22px;padding:14px 15px;border-radius:18px;border:1px solid rgba(37,99,235,.13);background:linear-gradient(135deg,rgba(239,246,255,.9),rgba(245,243,255,.9));box-shadow:0 12px 32px rgba(37,99,235,.06)}
[data-theme="dark"] .smart-form-progress{background:linear-gradient(135deg,rgba(30,64,175,.13),rgba(91,33,182,.12))}
.smart-form-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.smart-form-progress span{font-weight:850;color:var(--en-ink);font-size:.82rem}.smart-form-progress strong{font-size:.86rem;color:var(--en-blue)}.smart-form-progress small{display:block;margin-top:8px;color:var(--en-muted);font-size:.7rem;line-height:1.7}.smart-progress-track{height:7px!important;margin-top:9px;border-radius:999px;overflow:hidden;background:rgba(100,116,139,.12)}.smart-progress-track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--en-cyan),var(--en-blue),var(--en-violet));transition:width .22s ease}
button.is-loading{position:relative;opacity:.82;pointer-events:none}button.is-loading:after{content:"";display:inline-block;width:15px;height:15px;margin-right:8px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;vertical-align:-3px;animation:enBtnSpin .7s linear infinite}@keyframes enBtnSpin{to{transform:rotate(360deg)}}
.field-hint{display:block;margin:4px 0 7px;color:var(--en-muted);font-size:.68rem;line-height:1.6;font-weight:600}.grade-progression-hint{display:block;margin-top:7px;min-height:1.4em;color:#2563eb;font-size:.72rem;font-weight:800;line-height:1.65}
/* Switch card */
.smart-switch-card{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px 15px!important;border:1px solid rgba(37,99,235,.14)!important;border-radius:18px!important;background:linear-gradient(135deg,rgba(239,246,255,.84),rgba(250,245,255,.84))!important;cursor:pointer}
[data-theme="dark"] .smart-switch-card{background:linear-gradient(135deg,rgba(30,64,175,.12),rgba(91,33,182,.11))!important}.smart-switch-card>input{position:absolute;opacity:0;pointer-events:none}.smart-switch{position:relative;direction:ltr;width:48px;height:28px;border-radius:999px;background:#cbd5e1;box-shadow:inset 0 1px 3px rgba(15,23,42,.16);padding:3px;transition:.22s ease}.smart-switch i{position:absolute;left:3px;top:3px;display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.18);transform:translateX(0);transition:.22s ease}.smart-switch-card>input:checked+.smart-switch{background:linear-gradient(135deg,var(--en-cyan),var(--en-blue))}.smart-switch-card>input:checked+.smart-switch i{transform:translateX(20px)}.smart-switch-card>input:focus-visible+.smart-switch{outline:3px solid rgba(37,99,235,.18);outline-offset:2px}.smart-switch-copy{display:grid;gap:3px}.smart-switch-copy strong{color:var(--en-ink);font-size:.84rem}.smart-switch-copy small{color:var(--en-muted);font-size:.7rem;line-height:1.7}
/* Residence map */
.residence-map-card{border:1px solid rgba(6,182,212,.18);border-radius:22px;padding:14px;background:linear-gradient(145deg,rgba(236,254,255,.8),rgba(239,246,255,.86));overflow:hidden}
[data-theme="dark"] .residence-map-card{background:linear-gradient(145deg,rgba(8,145,178,.10),rgba(30,64,175,.11))}.residence-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.residence-map-head>div{display:grid;gap:3px}.residence-map-head strong{display:flex;align-items:center;gap:7px;color:var(--en-ink);font-size:.86rem}.residence-map-head strong svg{width:19px;color:#0891b2}.residence-map-head small{color:var(--en-muted);font-size:.7rem;line-height:1.7}.map-locate-btn{flex:0 0 auto;min-height:38px;font-size:.72rem}.residence-map-canvas{height:310px;border-radius:16px;overflow:hidden;border:1px solid rgba(6,182,212,.16);background:#dff6fb;z-index:1}.residence-map-canvas .leaflet-control-attribution{font-size:9px}.map-selection-status{margin-top:9px;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.62);color:var(--en-muted);font-size:.7rem;line-height:1.7}.map-selection-status.is-ok{color:#047857;background:rgba(236,253,245,.8)}.map-selection-status.is-error{color:#b91c1c;background:rgba(254,242,242,.88)}
/* OTP */
.otp-smart-card{max-width:560px!important;border:1px solid rgba(37,99,235,.14)!important;box-shadow:0 26px 80px rgba(37,99,235,.13)!important}.otp-smart-form{gap:14px}.otp-label{font-weight:850;color:var(--en-ink)}.otp-field{direction:ltr;text-align:center!important;font-size:2rem!important;font-weight:900!important;letter-spacing:.65rem!important;min-height:72px!important;border-radius:18px!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;color:#1d4ed8!important}.otp-field::placeholder{letter-spacing:.45rem;color:#cbd5e1}.otp-auto-status{text-align:center;padding:9px 11px;border-radius:12px;background:rgba(37,99,235,.06);color:#475569;font-size:.74rem;font-weight:700;line-height:1.7}.otp-smart-form button{min-height:50px}
/* Persian digit comfort */
.enrollment-form input[inputmode="numeric"],.enrollment-form input[inputmode="decimal"],.enrollment-form input[type="tel"],.enrollment-register-card input[type="tel"],.otp-field{font-variant-numeric:tabular-nums;letter-spacing:.02em}
@media(max-width:720px){.smart-form-progress{margin:0 0 17px;padding:12px}.residence-map-head{align-items:stretch;flex-direction:column}.map-locate-btn{width:100%;justify-content:center}.residence-map-canvas{height:280px}.smart-switch-card{grid-template-columns:auto 1fr;padding:12px!important}.otp-field{font-size:1.75rem!important;letter-spacing:.48rem!important;min-height:64px!important}.otp-smart-card{margin-inline:10px}.enrollment-panel{padding:16px 13px}.form-section-head{gap:10px}.form-section-head>span{width:34px;height:34px;min-width:34px}.smart-error-summary{position:sticky;top:82px;z-index:12}}
@media(max-width:420px){.residence-map-canvas{height:245px}.smart-switch{width:44px;height:26px}.smart-switch i{width:20px;height:20px}.smart-switch-card>input:checked+.smart-switch i{transform:translateX(18px)}}
.field-group-invalid{border-color:rgba(239,68,68,.65)!important;box-shadow:0 0 0 4px rgba(239,68,68,.07)!important}.smart-check-message{grid-column:1/-1;display:block;margin-top:5px;color:#dc2626;font-size:.7rem;font-weight:750;line-height:1.6}

/* v0.14.2: package-local map marker; no Leaflet image-path dependency. */
.bavs-residence-marker-wrap{background:transparent!important;border:0!important;filter:drop-shadow(0 9px 12px rgba(37,99,235,.28))}.bavs-residence-marker{display:grid;place-items:center;width:42px;height:48px;transform-origin:50% 100%;animation:bavsMarkerIn .28s ease-out}.bavs-residence-marker svg{width:42px;height:48px;overflow:visible}.bavs-residence-marker path{fill:#2563eb;stroke:#fff;stroke-width:1.6}.bavs-residence-marker circle{fill:#fff}.leaflet-marker-draggable .bavs-residence-marker{cursor:grab}.leaflet-marker-draggable:active .bavs-residence-marker{cursor:grabbing;transform:scale(.95)}@keyframes bavsMarkerIn{from{opacity:0;transform:translateY(-12px) scale(.72)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.bavs-residence-marker{animation:none}}

/* BAVS v0.14.4 — academic conditional fields must stay truly hidden until current grade enables them. */
.conditional-academic[hidden],
[data-major-field][hidden],
[data-average-field][hidden]{display:none!important}
