.menu-toggle{display:grid;place-items:center;cursor:pointer}
.sidebar,.app-main{transition:transform .28s ease,margin-left .28s ease,width .28s ease}
body.sidebar-collapsed .sidebar{transform:translateX(-105%)}
body.sidebar-collapsed .app-main{margin-left:0;width:100%}

.sidebar nav a{border:1px solid transparent}
.sidebar nav a i,.logout-link i{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;color:#fff;box-shadow:0 5px 13px #02061736}
.sidebar nav a:nth-child(6n+1) i{background:linear-gradient(135deg,#06b6d4,#2563eb)}
.sidebar nav a:nth-child(6n+2) i{background:linear-gradient(135deg,#8b5cf6,#d946ef)}
.sidebar nav a:nth-child(6n+3) i{background:linear-gradient(135deg,#f97316,#facc15)}
.sidebar nav a:nth-child(6n+4) i{background:linear-gradient(135deg,#10b981,#22c55e)}
.sidebar nav a:nth-child(6n+5) i{background:linear-gradient(135deg,#ec4899,#ef4444)}
.sidebar nav a:nth-child(6n) i{background:linear-gradient(135deg,#6366f1,#0ea5e9)}
.sidebar nav a:hover,.sidebar nav a.active{border-color:#ffffff20;background:linear-gradient(90deg,#ffffff2b,#ffffff0d)}
.logout-link i{background:linear-gradient(135deg,#ef4444,#f97316)}

.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stats-grid .stat-card:nth-child(4n+1){background:linear-gradient(135deg,#2563eb,#06b6d4)}
.stats-grid .stat-card:nth-child(4n+2){background:linear-gradient(135deg,#7c3aed,#d946ef)}
.stats-grid .stat-card:nth-child(4n+3){background:linear-gradient(135deg,#059669,#34d399)}
.stats-grid .stat-card:nth-child(4n){background:linear-gradient(135deg,#ea580c,#f59e0b)}
.stats-grid+.grid-2 .panel{min-height:340px}
.stats-grid+.grid-2 canvas{max-height:280px}

.login-card .back-site{display:inline-flex;align-items:center;gap:8px;width:max-content;margin-bottom:24px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:.78rem;font-weight:800}
#director-message{scroll-margin-top:110px;border-color:#c4b5fd;box-shadow:0 18px 45px #7c3aed18}
.login-page .login-school-logo{display:block;width:min(246px,72vw)!important;height:246px!important;max-width:100%;border-radius:22px!important;object-fit:contain!important;padding:12px!important;align-self:center;margin:0 auto 24px!important}
@media(max-width:520px){.login-page .login-school-logo{width:min(220px,70vw)!important;height:220px!important}}

@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){body.sidebar-collapsed .sidebar{transform:translateX(-105%)}body.sidebar-collapsed .app-main{margin-left:0;width:100%}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid+.grid-2 .panel{min-height:290px}}
@media(max-width:460px){.stats-grid{grid-template-columns:1fr}}

/* Management suite */
.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.module-grid>a.panel{position:relative;display:grid;align-content:start;gap:8px;min-height:174px;padding:22px;border:1px solid #dbe7f7;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.module-grid>a.panel:after{content:"";position:absolute;width:90px;height:90px;right:-28px;bottom:-32px;border:16px solid currentColor;border-radius:50%;opacity:.07}
.module-grid>a.panel:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(20,42,86,.14)}
.module-grid>a.panel>i{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:1.25rem;background:linear-gradient(135deg,#2563eb,#06b6d4);box-shadow:0 10px 22px rgba(37,99,235,.25)}
.module-grid>a.panel:nth-child(2)>i{background:linear-gradient(135deg,#7c3aed,#d946ef)}.module-grid>a.panel:nth-child(3)>i{background:linear-gradient(135deg,#059669,#2dd4bf)}.module-grid>a.panel:nth-child(4)>i{background:linear-gradient(135deg,#ea580c,#f59e0b)}.module-grid>a.panel:nth-child(5)>i{background:linear-gradient(135deg,#db2777,#fb7185)}.module-grid>a.panel:nth-child(6)>i{background:linear-gradient(135deg,#0891b2,#38bdf8)}.module-grid>a.panel:nth-child(7)>i{background:linear-gradient(135deg,#4f46e5,#818cf8)}.module-grid>a.panel:nth-child(8)>i{background:linear-gradient(135deg,#16a34a,#4ade80)}
.module-grid>a.panel h3{margin:3px 0 0;font-size:1rem;color:var(--ink)}.module-grid>a.panel p{margin:0;line-height:1.55}
/* Inventory forms */
.inventory-movement{display:grid;align-content:start;gap:16px}.inventory-movement h3{margin:0 0 2px}.inventory-movement .grid-equal{gap:14px}.inventory-movement .field{min-width:0}.inventory-movement .field label{font-size:.72rem;font-weight:800;color:var(--ink)}
.inventory-movement input,.inventory-movement select,.inventory-movement textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink)}.inventory-movement textarea{min-height:86px;resize:vertical}.inventory-movement .btn{justify-self:start;margin-top:0}
/* Colorful student profile */
.profile-head{position:relative;overflow:hidden;background:linear-gradient(120deg,#08275b 0%,#2563eb 44%,#7c3aed 72%,#d97706 100%)}.profile-head:after{content:"";position:absolute;width:220px;height:220px;right:-65px;top:-95px;border:34px solid rgba(255,255,255,.09);border-radius:50%;pointer-events:none}.profile-head>*{position:relative;z-index:1}
.tabs{border:1px solid #dbeafe;background:linear-gradient(90deg,#eff6ff,#faf5ff,#fff7ed)}.tabs a{color:#334155}.tabs a:nth-child(3n+1):hover{background:#dbeafe;color:#1d4ed8}.tabs a:nth-child(3n+2):hover{background:#f3e8ff;color:#7e22ce}.tabs a:nth-child(3n):hover{background:#dcfce7;color:#15803d}.tabs a.active{background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 7px 16px rgba(79,70,229,.25)}
.detail-list{gap:7px;padding:7px;background:linear-gradient(135deg,#dbeafe,#f3e8ff,#dcfce7);border:0}.detail-item{border-radius:9px;border-left:3px solid #60a5fa}.detail-item:nth-child(4n+2){border-left-color:#c084fc;background:#fdfaff}.detail-item:nth-child(4n+3){border-left-color:#34d399;background:#f7fffb}.detail-item:nth-child(4n){border-left-color:#fb923c;background:#fffaf5}
@media(max-width:1180px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.module-grid{grid-template-columns:1fr}.module-grid>a.panel{min-height:145px}.inventory-movement .grid-equal{grid-template-columns:1fr}}
.admin-fee-breakdown{display:grid;gap:5px;min-width:220px;white-space:normal}.admin-fee-breakdown>span{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;padding:6px 8px;border:1px solid #dce9e2;border-radius:8px;background:#f5fbf7}.admin-fee-breakdown i{color:#169653}.admin-fee-breakdown .fa-circle-xmark{color:#c24141}.admin-fee-breakdown b{font-size:.72rem;color:var(--ink)}

/* Student import and class routine */
.import-guide{border-top:4px solid #2f7cc0}.import-guide>.panel-title{align-items:flex-start;gap:18px}.import-guide>.panel-title h3{display:flex;align-items:center;gap:9px;font-size:1rem}.import-guide>.panel-title h3 i{color:#2f7cc0}.import-guide>.panel-title p{margin-top:6px;line-height:1.55}
.routine-count{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #cfe0ef;border-radius:999px;background:#f5f9fc;color:#315f8d;font-size:.78rem;font-weight:800}.routine-builder{border-top:4px solid #315f8d}.routine-builder .panel-title{align-items:flex-start}.routine-builder .panel-title h3{display:flex;align-items:center;gap:9px;font-size:1rem}.routine-builder .panel-title h3 i{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#eaf2f9;color:#315f8d}.routine-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.routine-save{margin-top:18px}.routine-list{padding:0;overflow:hidden}.routine-list>.panel-title{padding:20px 20px 0}.routine-table th{background:#edf3f8;color:#244664}.routine-table td{padding-top:13px;padding-bottom:13px}.routine-day{display:inline-flex;align-items:center;justify-content:center;min-width:86px;padding:6px 10px;border-radius:999px;background:#edf4fb;color:#315f8d;font-size:.7rem;font-weight:800}.routine-day.day-tue,.routine-day.day-fri{background:#eef8f2;color:#367655}.routine-day.day-wed,.routine-day.day-sat{background:#fff7e8;color:#98661d}.routine-day.day-thu,.routine-day.day-sun{background:#f4f1fb;color:#67558b}.routine-period{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#173f67;color:#fff;font-size:.75rem;font-weight:800}.routine-time{display:inline-flex;align-items:center;gap:6px;color:#405b75;white-space:nowrap}.routine-time i{color:#698cac}
@media(max-width:900px){.routine-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.routine-form-grid{grid-template-columns:1fr}.import-guide>.panel-title{display:grid}.import-guide>.panel-title .btn{width:100%}.routine-count{align-self:flex-start}}
/* AZIRAJ usability refresh */
:root{--primary:#0b5f75;--primary2:#0b7f79;--cyan:#2aa6a1;--orange:#d58a35;--pink:#b75b82;--green:#16856b;--red:#c94b52;--ink:#173247;--muted:#667d8c;--surface:#fff;--surface2:#f4f8fa;--line:#dce7ec;--shadow:0 12px 32px rgba(17,69,88,.09)}
body{background:linear-gradient(145deg,#f5f9fb 0%,#eef6f6 48%,#f7fafb 100%)}.sidebar{background:linear-gradient(180deg,#073545 0%,#084c5c 56%,#075d5c 100%);box-shadow:8px 0 28px rgba(7,53,69,.18)}.brand-icon{background:linear-gradient(135deg,#3dd6c5,#58a6d8)}.side-brand small{color:#a9ddd9}
.side-search{position:relative;margin:14px 3px 1px}.side-search i{position:absolute;left:12px;top:11px;color:#9bc8cb;font-size:.75rem}.side-search input{width:100%;padding:9px 10px 9px 33px;border:1px solid #ffffff20;border-radius:10px;background:#ffffff12;color:#fff;outline:none;font-size:.75rem}.side-search input::placeholder{color:#b5ced2}.side-search input:focus{border-color:#6ee7d8;background:#ffffff1b}
.sidebar nav a{color:#d4e6e8}.sidebar nav a i,.logout-link i{box-shadow:none;background:#ffffff13!important;color:#b9ece7}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff16;border-color:#ffffff18;transform:none}.sidebar nav a.active{box-shadow:inset 3px 0 #5eead4}.sidebar nav a.active:before{display:none}
.topbar{background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);box-shadow:0 3px 16px rgba(18,64,80,.04)}.panel{border-color:var(--line);background:rgba(255,255,255,.94);border-radius:17px}.stat-card{border-radius:17px;box-shadow:0 10px 25px rgba(15,65,81,.12)}.g-purple,.g-violet{background:linear-gradient(135deg,#0b5f75,#268b91)}.g-blue{background:linear-gradient(135deg,#177c93,#36a7aa)}.g-pink{background:linear-gradient(135deg,#8b5d79,#bd718d)}.g-orange{background:linear-gradient(135deg,#ad7132,#d59a54)}.g-green{background:linear-gradient(135deg,#16705e,#2c9a78)}.g-red{background:linear-gradient(135deg,#a84850,#cf6870)}.btn{border-radius:10px}.btn.primary{background:linear-gradient(135deg,#0b5f75,#0b7f79)}input:focus,select:focus,textarea:focus{border-color:#2aa6a1!important;box-shadow:0 0 0 3px rgba(42,166,161,.13)!important}
.support-grid,.leave-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.support-card,.leave-grid>article{background:var(--surface);border:1px solid var(--line);border-left:4px solid #5aa7aa;border-radius:14px;padding:17px}.support-card.priority-urgent{border-left-color:#c94b52}.support-card.priority-high{border-left-color:#d58a35}.support-card header,.leave-grid article header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ticket-no{font-size:.7rem;color:var(--muted);margin-left:7px}.support-card h3,.leave-grid h3{font-size:1rem;margin:13px 0 7px}.support-card p,.leave-grid p{font-size:.78rem;line-height:1.6}.ticket-meta{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0;color:var(--muted);font-size:.7rem}.ticket-reply{display:grid;gap:9px}.ticket-reply textarea,.ticket-reply input,.ticket-reply select,.inline-status input,.inline-status select{width:100%;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.ticket-reply>div{display:flex;gap:8px}.inline-status{display:grid;grid-template-columns:130px minmax(150px,1fr) auto;gap:6px}
.job-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.job-admin-grid article{padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}.job-admin-grid h3{font-size:1rem;margin:10px 0 5px}.module-form{scroll-margin-top:110px}.event-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.event-admin-grid article{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.event-admin-grid img,.event-placeholder{width:100%;height:155px;object-fit:cover}.event-placeholder{display:grid;place-items:center;background:#dff2f1;color:#0b7f79;font-size:2rem}.event-admin-grid article>div:last-child{padding:14px}.event-admin-grid h3{font-size:1rem;margin:10px 0 5px}
.account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.account-card{display:flex;align-items:center;gap:14px;padding:20px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#0b5f75,#2a8f99);box-shadow:0 11px 25px rgba(10,91,105,.18)}.account-card.type-bank{background:linear-gradient(135deg,#385989,#527fb0)}.account-card.type-upi{background:linear-gradient(135deg,#5d4d91,#7e6aad)}.account-card.type-other{background:linear-gradient(135deg,#786047,#a07b52)}.account-card>i{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#ffffff1d}.account-card small,.account-card h3{display:block;margin:0}.account-card b{font-size:1.2rem}[data-theme=dark] body{--primary:#42c3bd;--primary2:#52a8bd;--ink:#edf7f8;--muted:#9db7bf;--surface:#18252c;--surface2:#132027;--line:#2b4149;background:#101b21}@media(max-width:1050px){.account-grid{grid-template-columns:repeat(2,1fr)}.job-admin-grid,.event-admin-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.support-grid,.leave-grid,.job-admin-grid,.event-admin-grid{grid-template-columns:1fr}.account-grid{grid-template-columns:repeat(2,1fr)}.inline-status{grid-template-columns:1fr}.side-search{margin-top:12px}}
/* Hierarchical navigation, admission and dashboard redesign */
.sidebar{padding:20px 13px}.sidebar nav{display:block;margin-top:12px}.nav-main-link{margin-bottom:6px}.nav-group{margin:3px 0}.nav-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border:1px solid transparent;border-radius:11px;background:transparent;color:#d6e8ea;cursor:pointer;font:inherit}.nav-group-toggle>span{display:flex;align-items:center;gap:12px;min-width:0}.nav-group-toggle>span>i{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#ffffff12;color:#9ee7df}.nav-group-toggle b{font-size:.78rem;font-weight:700;text-align:left}.nav-chevron{font-size:.64rem;color:#91b7bc;transition:transform .22s}.nav-group.open .nav-chevron{transform:rotate(180deg)}.nav-group.open>.nav-group-toggle,.nav-group-toggle:hover{background:#ffffff0d;color:#fff}.nav-submenu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease}.nav-submenu:before{content:"";display:none}.nav-submenu>*{overflow:hidden}.nav-group.open .nav-submenu{grid-template-rows:1fr}.nav-submenu{padding-left:12px}.nav-submenu a{position:relative;margin-left:12px;padding:8px 10px 8px 14px!important;border-left:1px solid #ffffff1c!important;border-radius:0 9px 9px 0!important;font-size:.74rem!important;gap:9px!important}.nav-submenu a i{width:23px!important;height:23px!important;border-radius:7px!important;background:transparent!important;color:#91cbd0!important}.nav-submenu a.active{border-left-color:#5eead4!important;background:#ffffff16!important}.nav-submenu a.active i{color:#5eead4!important}.nav-main-link>i{background:#ffffff14!important}.nav-group[hidden]{display:none!important}
.admission-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 18px}.admission-progress span{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;color:#607887;font-size:.72rem;font-weight:800}.admission-progress i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#fff}.admission-progress span:nth-child(1) i{background:linear-gradient(135deg,#147d93,#34adb0)}.admission-progress span:nth-child(2) i{background:linear-gradient(135deg,#7a5da0,#9d76b3)}.admission-progress span:nth-child(3) i{background:linear-gradient(135deg,#16856b,#36a47f)}.admission-progress span:nth-child(4) i{background:linear-gradient(135deg,#c17c35,#dc9e55)}
.admission-shell{padding:0;overflow:hidden;background:#f8fbfc}.admission-shell>.form-section{position:relative;margin:0;padding:24px 24px 27px;border-bottom:1px solid var(--line);background:#fff}.admission-shell>.form-section:nth-child(2){background:linear-gradient(145deg,#f7fcfd,#eef9fa)}.admission-shell>.form-section:nth-child(3){background:linear-gradient(145deg,#fcf9ff,#f7f2fb)}.admission-shell>.form-section:nth-child(4){background:linear-gradient(145deg,#f5fbf8,#edf8f3)}.admission-shell>.form-section:nth-child(5){background:linear-gradient(145deg,#fffaf3,#fff5e7)}.admission-shell .form-section h3{display:flex;align-items:center;gap:10px;margin:-24px -24px 22px;padding:15px 22px;border-bottom:1px solid var(--line);font-size:.95rem}.admission-shell .form-section h3 i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#fff!important;background:linear-gradient(135deg,#147d93,#34adb0)}.admission-shell .form-section:nth-child(3) h3 i{background:linear-gradient(135deg,#7a5da0,#a77db7)}.admission-shell .form-section:nth-child(4) h3 i{background:linear-gradient(135deg,#16856b,#36a47f)}.admission-shell .form-section:nth-child(5) h3 i{background:linear-gradient(135deg,#c17c35,#dc9e55)}.admission-shell .field label{color:#24475a}.admission-shell .field input,.admission-shell .field select,.admission-shell .field textarea{min-height:45px;background:#ffffffde;border-color:#ccdde4}.admission-shell .field textarea{min-height:92px}.admission-shell input[type=file]{padding:8px}.admission-shell input[type=file]::file-selector-button{border:0;border-radius:8px;padding:7px 11px;margin-right:10px;background:#e5f4f5;color:#0b6675;font-weight:800}.admission-shell>.page-actions{position:sticky;bottom:0;z-index:5;margin:0;padding:16px 22px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 25px rgba(15,65,81,.07)}
.dashboard-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;margin-bottom:18px;padding:25px 27px;border-radius:20px;color:#fff;background:linear-gradient(118deg,#08495d 0%,#087b7a 62%,#22a090 100%);box-shadow:0 16px 36px rgba(8,92,102,.2)}.dashboard-hero:after{content:"";position:absolute;width:260px;height:260px;right:-72px;top:-118px;border:40px solid #ffffff10;border-radius:50%}.dashboard-hero>*{position:relative;z-index:1}.dashboard-hero h2{font-size:1.65rem;margin:5px 0 4px}.dashboard-hero p{margin:0;color:#d8f4f1}.dashboard-date{display:inline-flex;align-items:center;gap:7px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#aee8e2}.dashboard-hero .page-actions{flex:none}.dashboard-hero .btn{background:#fff;color:#0a5967;border:1px solid #ffffff88}.dashboard-hero .btn.primary{background:#0b3040;color:#fff}.dashboard-pulse{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.dashboard-pulse article{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:#fff}.dashboard-pulse i{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#e7f6f5;color:#0b7f79}.dashboard-pulse small{display:block;color:var(--muted);font-size:.65rem}.dashboard-pulse b{font-size:.86rem}.dashboard-primary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.dashboard-primary-stats .stat-card{min-height:156px}.dashboard-primary-stats .stat-card strong{font-size:1.75rem}.dashboard-compact-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin-top:13px}.compact-stat{display:flex;align-items:center;gap:11px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 20px rgba(14,70,87,.06);color:var(--ink)}.compact-stat>i{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:11px;background:#e7f6f5;color:#0b7f79}.compact-stat:nth-child(2n)>i{background:#eef0fb;color:#6671a8}.compact-stat:nth-child(3n)>i{background:#fff2e2;color:#a66d2e}.compact-stat span{min-width:0;display:grid}.compact-stat small{font-size:.62rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-stat b{font-size:1rem}.dashboard-charts{grid-template-columns:1.45fr .75fr;margin-top:18px}.dashboard-charts .panel{min-height:350px}.dashboard-charts .chart-wrap{height:285px}
@media(max-width:1180px){.dashboard-compact-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.admission-progress{grid-template-columns:repeat(2,1fr)}.dashboard-primary-stats{grid-template-columns:repeat(2,1fr)}.dashboard-charts{grid-template-columns:1fr}}@media(max-width:720px){.nav-submenu{padding-left:6px}.dashboard-hero{align-items:flex-start;flex-direction:column;padding:21px}.dashboard-hero .page-actions{width:100%}.dashboard-pulse{grid-template-columns:1fr}.dashboard-compact-stats{grid-template-columns:repeat(2,1fr)}.admission-progress{grid-template-columns:1fr 1fr}.admission-progress span{padding:9px;font-size:.65rem}.admission-shell>.form-section{padding:19px 16px}.admission-shell .form-section h3{margin:-19px -16px 18px;padding:13px 16px}}
.nav-submenu{display:grid!important;grid-template-rows:none!important;max-height:0;overflow:hidden;visibility:hidden;pointer-events:none;transition:max-height .28s ease,padding .28s ease,visibility 0s linear .28s;padding-top:0;padding-bottom:0}.nav-group.open .nav-submenu{max-height:1200px;padding-top:3px;padding-bottom:5px;visibility:visible;pointer-events:auto;transition-delay:0s}.nav-submenu>*{overflow:visible}.nav-submenu a{pointer-events:auto;position:relative;z-index:1}
[data-theme=dark] .dashboard-pulse article,[data-theme=dark] .compact-stat,[data-theme=dark] .admission-progress span{background:var(--surface);border-color:var(--line)}[data-theme=dark] .admission-shell{background:var(--surface2)}[data-theme=dark] .admission-shell>.form-section,[data-theme=dark] .admission-shell>.form-section:nth-child(n){background:var(--surface)}[data-theme=dark] .admission-shell .field input,[data-theme=dark] .admission-shell .field select,[data-theme=dark] .admission-shell .field textarea{background:var(--surface2);border-color:var(--line)}[data-theme=dark] .admission-shell>.page-actions{background:var(--surface)}[data-theme=dark] .admission-shell .field label{color:var(--ink)}


/* Birthday wishes module */
.birthday-dashboard{overflow:hidden;border:1px solid #f5d0fe;background:linear-gradient(135deg,#fff 0%,#fff7ed 48%,#fdf2f8 100%)}
.birthday-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:14px}
.birthday-person{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #f5d0fe;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px #9d174d0c}
.birthday-person>img,.birthday-avatar{width:64px;height:64px;flex:0 0 64px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 0 0 2px #f9a8d4}
.birthday-avatar,.birthday-letter{display:grid;place-items:center;background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff;font-size:24px;font-weight:800}
.birthday-info{min-width:0;flex:1}.birthday-info h4{margin:2px 0 9px;color:#4c1d95}.birthday-info small{color:#9d174d}.birthday-actions{display:flex;gap:7px;flex-wrap:wrap}
.birthday-empty{display:flex;align-items:center;gap:14px;padding:18px;border-radius:16px;background:#fff8}.birthday-empty>span{font-size:38px}.birthday-empty small{display:block;color:#64748b;margin-top:3px}
.birthday-self-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 30px;border-radius:24px;color:#fff;background:linear-gradient(125deg,#7c3aed,#db2777 58%,#f97316);box-shadow:0 18px 45px #9d174d35;overflow:hidden;position:relative}
.birthday-self-card:before{content:"";position:absolute;width:240px;height:240px;border:36px solid #ffffff18;border-radius:50%;right:-60px;top:-90px}.birthday-self-copy{position:relative;z-index:1;max-width:720px}.birthday-self-copy small{font-weight:800;letter-spacing:.14em}.birthday-self-copy h2{font-size:clamp(24px,3vw,38px);margin:7px 0}.birthday-self-copy p{margin:0 0 16px;color:#fff;opacity:.95;white-space:pre-line;max-height:230px;overflow:auto;padding-right:8px}.birthday-confetti{display:block;font-size:27px;margin-bottom:9px}.birthday-self-photo{position:relative;z-index:1;width:126px;height:126px;object-fit:cover;border-radius:50%;border:6px solid #fff;box-shadow:0 12px 30px #3b076466}
@media(max-width:700px){.birthday-people{grid-template-columns:1fr}.birthday-person{align-items:flex-start}.birthday-self-card{padding:22px;align-items:flex-start}.birthday-self-photo{width:78px;height:78px;flex:0 0 78px}.birthday-actions .btn{flex:1;justify-content:center}}

/* Shared mobile stabilization for admin, staff and teacher panels */
@media(max-width:720px){
 html,body{max-width:100%;overflow-x:hidden}
 .app-shell,.app-main,.content{min-width:0;max-width:100%}
 .topbar{width:100%;min-width:0;gap:8px;padding:10px 12px}
 .topbar>div:nth-child(2){min-width:0;overflow:hidden}
 .topbar h1{max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}
 .top-actions{min-width:0;gap:6px}
 .top-actions>select{max-width:105px;min-width:0}
 .top-actions .icon-btn{width:38px;height:38px;flex:0 0 38px}
 .profile{padding-left:0;border-left:0}.avatar{width:38px;height:38px;flex:0 0 38px}
 .content{width:100%;padding:15px 12px;overflow-x:hidden}
 .page-head{width:100%;gap:11px;margin-bottom:16px}
 .page-head>.page-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
 .page-head>.page-actions .btn{width:100%;min-width:0;justify-content:center;text-align:center}
 .panel{width:100%;max-width:100%;padding:15px;border-radius:15px;overflow:hidden}
 .panel-title{align-items:flex-start;gap:10px;flex-wrap:wrap}
 .toolbar{display:grid;width:100%;grid-template-columns:1fr;gap:9px}
 .toolbar .search,.toolbar input,.toolbar select,.toolbar .btn{width:100%;min-width:0;max-width:100%}
 .table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
 .data-table{min-width:680px}
 .grid-2,.grid-equal{grid-template-columns:minmax(0,1fr)}
 .form-grid,.field,input,select,textarea{max-width:100%;min-width:0}
 .profile-head{padding:16px;gap:14px}.profile-head>div{min-width:0}.profile-head h2{overflow-wrap:anywhere}
 .dashboard-hero{max-width:100%;overflow:hidden}.dashboard-hero h2{font-size:1.35rem;overflow-wrap:anywhere}
 .birthday-self-card{max-width:100%;overflow:hidden}.birthday-self-copy{min-width:0}.birthday-self-copy h2{overflow-wrap:anywhere}
}

.nav-live-count{margin-left:auto;min-width:21px;height:21px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:#ef233c;color:#fff;font-style:normal;font-size:.66rem;font-weight:900;line-height:1;box-shadow:0 4px 12px rgba(239,35,60,.38)}
.nav-group-toggle .nav-live-count{margin-left:7px;margin-right:2px}.nav-submenu a .nav-live-count{margin-left:auto;flex:0 0 auto}
.pending-review-panel .compact-stat b{color:#ef233c!important}
@media(max-width:420px){
 .content{padding:12px 9px}
 .panel{padding:13px;border-radius:14px}
 .topbar h1{max-width:39vw;font-size:.92rem}
 .top-actions>select{display:none}
 .page-head>.page-actions{grid-template-columns:1fr}
 .stat-grid,.stats-grid,.dashboard-primary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stat-card{min-width:0}.stat-card strong{overflow-wrap:anywhere}
 .dashboard-compact-stats,.account-grid{grid-template-columns:1fr}
}
/* Local symbols keep navigation readable when the external icon font is blocked. */
.icon-fallback i[class*="fa-"]::before{content:none!important}
.icon-fallback i[class*="fa-"]{font-family:"Segoe UI Symbol","Noto Sans Symbols",Arial,sans-serif!important;font-style:normal!important;font-weight:800!important;line-height:1;text-align:center}
.icon-fallback .sidebar i[class*="fa-"]{font-size:1.05rem}
.icon-fallback .nav-chevron{font-size:.85rem!important}
