*{margin:0;padding:0}:root{--bg-main:#f5fbe6;--primary-dark:#233d4d;--primary-teal:#215e61;--primary-teal-hover:#1a4a4d;--accent-orange:#fe7f2d;--accent-orange-hover:#e66e20;--accent-peach:#ffb98a;--white:#fff;--text-primary:#233d4d;--text-secondary:#f5fbe6;--text-gray-medium:#6b7280;--text-gray-dark:#666;--text-gray-darker:#444;--border-gray:#d1d5db;--danger:#ef4444;--danger-bg:#fef2f2}html{height:100%}body,html{margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-primary);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;overflow-x:hidden}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}input[type=number]{-moz-appearance:textfield!important;-webkit-appearance:textfield!important;appearance:textfield!important}.btn-primary-custom{background-color:var(--primary-teal);border-color:var(--primary-teal);color:#fff}.btn-primary-custom:hover{background-color:var(--primary-teal-hover);border-color:var(--primary-teal-hover);color:#fff}.btn-secondary-custom{background-color:#f3f4f6;border-color:#d1d5db;color:var(--text-primary)}.btn-secondary-custom:hover{background-color:#e5e7eb;border-color:#9ca3af;color:var(--text-primary)}.btn-icon{background:transparent;border:none;padding:0 5px;font-size:1.2rem;transition:transform .2s}.btn-icon:hover{transform:scale(1.1)}.bg-sidebar{background-color:var(--primary-dark);color:var(--text-secondary)}.fade-in-up{animation:fadeInUp .5s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-custom{background:#fff;border:none;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.05);transition:transform .2s}.badge-custom{padding:.5em .8em;border-radius:50rem;font-weight:600;font-size:.85em}.badge-active{background-color:#dcfce7;color:#166534}.badge-inactive{background-color:#fee2e2;color:#991b1b}.badge-role{background-color:#e0e7ff;color:#3730a3}@media (max-width:991px){.grid-2{grid-template-columns:1fr!important;gap:15px!important}.card-panel{padding:20px!important}h2{font-size:1.5rem!important}h3{font-size:1.3rem!important}.action-bar{flex-direction:column-reverse;gap:10px}.action-bar button,.btn-modern{width:100%;margin-bottom:5px}}@media (min-width:992px){.mobile-only{display:none!important}}.nav-item:hover{background-color:var(--primary-teal-hover);color:var(--accent-orange)!important}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:var(--primary-teal);--toastify-color-success:#10b981;--toastify-color-warning:var(--accent-orange);--toastify-color-error:var(--danger);--toastify-text-color-light:var(--primary-dark)}.Toastify__toast{border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);font-family:inherit;font-size:.95rem}.Toastify__toast-theme--light{background:var(--white);color:var(--primary-dark)}.Toastify__progress-bar--info{background:var(--primary-teal)}.Toastify__progress-bar--success{background:#10b981}.Toastify__progress-bar--warning{background:var(--accent-orange)}.Toastify__progress-bar--error{background:var(--danger)}.hover-shadow{transition:transform .2s ease,box-shadow .2s ease}.hover-shadow:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.15)!important}.transition{transition:all .3s ease}.sl-layout{display:flex;min-height:100vh;background:var(--bg-main);position:relative}.sl-sidebar{display:flex;flex-direction:column;background:linear-gradient(180deg,#1e3848,#152d3e 60%,#0f2030);border-right:1px solid hsla(0,0%,100%,.04);box-shadow:3px 0 20px rgba(0,0,0,.3);flex-shrink:0;z-index:50;overflow:hidden;transition:width .22s cubic-bezier(.4,0,.2,1);will-change:width}.sl-sidebar.sl-desktop{position:-webkit-sticky;position:sticky;top:0;height:100vh}.sl-sidebar.sl-open{width:256px}.sl-sidebar.sl-closed{width:64px}.sl-sidebar.sl-mobile{position:fixed;top:0;left:0;height:100vh;width:264px!important;transform:translateX(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);box-shadow:8px 0 40px rgba(0,0,0,.5);z-index:10050!important}.sl-sidebar.sl-mobile.sl-open{transform:translateX(0)}.sl-header{display:flex;align-items:center;padding:0 14px;height:64px;flex-shrink:0;gap:0;border-bottom:1px solid hsla(0,0%,100%,.05);overflow:hidden;transition:padding .22s cubic-bezier(.4,0,.2,1)}.sl-closed .sl-header{padding:0;justify-content:center}.sl-brand{flex:1 1;min-width:0;overflow:hidden;display:flex;align-items:center;transition:max-width .22s cubic-bezier(.4,0,.2,1),opacity .2s;max-width:240px;opacity:1}.sl-closed .sl-brand{max-width:0;opacity:0;pointer-events:none}.sl-brand-text{min-width:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.sl-brand-name{color:#f0f7ec;font-size:.85rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.sl-brand-sub{color:hsla(98,41%,95%,.35);font-size:.6rem;text-transform:uppercase;letter-spacing:.7px;white-space:nowrap}.sl-toggle{width:32px;height:32px;min-width:32px;margin-left:auto;border-radius:8px;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.06);color:hsla(98,41%,95%,.65);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.sl-toggle:hover{background:rgba(254,127,45,.22);border-color:rgba(254,127,45,.45);color:#fe7f2d}.sl-closed .sl-toggle{margin-left:0}.sl-sep{height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.07),transparent);margin:4px 8px;flex-shrink:0}.sl-nav{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:8px 6px;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(33,94,97,.4) transparent}.sl-nav::-webkit-scrollbar{width:3px}.sl-nav::-webkit-scrollbar-thumb{background:rgba(33,94,97,.5);border-radius:3px}.sl-group{margin-bottom:2px}.sl-item{display:flex;align-items:center;width:100%;height:42px;border-radius:9px;border:none;background:transparent;color:hsla(98,41%,95%,.78);cursor:pointer;font-size:.855rem;font-weight:500;transition:background .12s,color .12s;position:relative;white-space:nowrap;overflow:hidden;text-align:left;text-decoration:none;padding:0}.sl-item:hover{background:hsla(0,0%,100%,.06);color:#f0f7ec;text-decoration:none}.sl-item.sl-active{background:rgba(33,94,97,.45)!important;color:#f0f7ec!important;box-shadow:inset 3px 0 0 #fe7f2d}.sl-item.sl-active .sl-icon-wrap i{color:#fe7f2d}.sl-icon{font-size:1.05rem;width:64px;min-width:64px;text-align:center;flex-shrink:0;transition:color .14s,width .22s cubic-bezier(.4,0,.2,1)}.sl-open .sl-icon{width:42px;min-width:42px}.sl-item.sl-active .sl-icon{color:#fe7f2d}.sl-label{flex:1 1;padding-right:4px}.sl-chevron{font-size:.65rem;color:hsla(98,41%,95%,.35);margin-right:12px;flex-shrink:0;transition:transform .2s}.sl-chevron-open{transform:rotate(180deg)}.sl-closed .sl-item{justify-content:center}.sl-closed .sl-item[title]:hover:after{content:attr(title);position:fixed;left:70px;background:#1e3848;color:#f0f7ec;font-size:.78rem;font-weight:500;padding:5px 12px;border-radius:7px;white-space:nowrap;pointer-events:none;z-index:9999;box-shadow:0 4px 16px rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.1)}.sl-sub{list-style:none;padding:2px 0 4px 10px;margin:0}.sl-sub li{margin:1px 0}.sl-sub-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:8px;color:hsla(98,41%,95%,.45);font-size:.81rem;font-weight:400;cursor:pointer;transition:background .1s,color .1s;white-space:nowrap;text-decoration:none}.sl-sub-item:hover{background:hsla(0,0%,100%,.04);color:hsla(98,41%,95%,.8);text-decoration:none}.sl-sub-item.sl-sub-active{color:#fe7f2d!important;font-weight:600;background:rgba(254,127,45,.08)}.sl-dot{width:5px;height:5px;min-width:5px;border-radius:50%;background:currentColor;opacity:.45;flex-shrink:0}.sl-sub-active .sl-dot{opacity:1;background:#fe7f2d}.sl-user{display:flex;align-items:center;gap:9px;padding:10px;margin:6px;border-radius:10px;background:rgba(0,0,0,.22);flex-shrink:0;overflow:hidden;border:1px solid hsla(0,0%,100%,.04)}.sl-user-collapsed{justify-content:center;padding:10px 4px}.sl-closed .sl-user{justify-content:center;gap:0;padding:10px 0}.sl-avatar{width:32px;height:32px;min-width:32px;border-radius:50%;background:linear-gradient(135deg,#215e61,#174a4d);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.4px;border:1.5px solid hsla(0,0%,100%,.12);flex-shrink:0}.sl-user-info{flex:1 1;min-width:0;display:flex;flex-direction:column;transition:opacity .18s,max-width .18s;max-width:200px;opacity:1}.sl-closed .sl-user-info{max-width:0;opacity:0;pointer-events:none;overflow:hidden}.sl-user-name{color:#f0f7ec;font-size:.78rem;font-weight:600}.sl-user-name,.sl-user-role{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sl-user-role{color:#fe7f2d;font-size:.68rem;font-weight:500}.sl-logout{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.07);border-radius:7px;color:hsla(98,41%,95%,.4);width:28px;height:28px;min-width:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;flex-shrink:0;transition:background .14s,color .14s,border-color .14s;margin-left:auto}.sl-logout:hover{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3);color:#ef4444}.sl-closed .sl-logout{margin-left:0}.sl-main{flex:1 1;padding:36px 40px;overflow-y:auto;max-height:100vh;background:var(--bg-main);min-height:100vh;position:relative;min-width:0}.sl-overlay,.sl-topbar{display:none}@media (max-width:991px){.sl-topbar{gap:14px;position:fixed;top:0;left:0;right:0;z-index:1000!important;height:56px;padding:0 18px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 6px rgba(0,0,0,.07)}.sl-hamburger,.sl-topbar{display:flex;align-items:center}.sl-hamburger{background:none;border:none;cursor:pointer;color:#233d4d;font-size:1.4rem;padding:4px}.sl-topbar-brand{font-weight:700;font-size:1rem;color:#233d4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sl-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10040!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sl-main{margin-top:56px;padding:20px 16px;max-height:calc(100vh - 56px)}}.app-splash-screen{position:fixed;inset:0;z-index:99999!important;background:linear-gradient(135deg,#1e3848,#152d3e 60%,#0f2030);display:flex;align-items:center;justify-content:center;padding:24px;opacity:1;transition:opacity .5s cubic-bezier(.4,0,.2,1),visibility .5s}.app-splash-screen.splash-fade-out{opacity:0;visibility:hidden;pointer-events:none}.splash-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:340px;animation:splashPulseIn .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes splashPulseIn{0%{opacity:0;transform:scale(.88) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.splash-logo-box{width:96px;height:96px;border-radius:50%;background:#fff;border:4px solid hsla(0,0%,100%,.2);box-shadow:0 12px 35px rgba(0,0,0,.35),0 0 30px rgba(254,127,45,.4);display:flex;align-items:center;justify-content:center;margin-bottom:20px;overflow:hidden;animation:splashLogoGlow 2s ease-in-out infinite alternate}@keyframes splashLogoGlow{0%{box-shadow:0 12px 35px rgba(0,0,0,.35),0 0 20px rgba(254,127,45,.3);transform:scale(1)}to{box-shadow:0 16px 42px rgba(0,0,0,.45),0 0 35px rgba(254,127,45,.65);transform:scale(1.05)}}.splash-logo-img{width:100%;height:100%;object-fit:contain;padding:6px}.splash-logo-emoji{font-size:3rem}.splash-title{color:#fff;font-size:1.6rem;font-weight:800;margin:0 0 6px;letter-spacing:-.02em;line-height:1.25;text-shadow:0 2px 10px rgba(0,0,0,.3)}.splash-subtitle{color:hsla(98,41%,95%,.65);font-size:.85rem;font-weight:500;margin:0 0 24px;text-transform:uppercase;letter-spacing:.08em}.splash-loading-bar{width:160px;height:4px;background:hsla(0,0%,100%,.12);border-radius:4px;overflow:hidden;position:relative}.splash-loading-progress{position:absolute;top:0;left:0;bottom:0;width:40%;background:linear-gradient(90deg,#fe7f2d,#215e61);border-radius:4px;animation:splashProgress 1.8s ease-in-out infinite}@keyframes splashProgress{0%{left:-40%;width:40%}50%{left:30%;width:60%}to{left:100%;width:40%}}@media print{.nav-overlay,.sl-overlay,.sl-sidebar,.sl-topbar{display:none!important}.sl-layout{display:block!important}.sl-main{width:297mm!important;max-width:297mm!important;max-height:unset!important;height:auto!important;min-height:0!important}.sl-main,body,html{margin:0!important;padding:0!important;overflow:visible!important}}body,html{overflow-x:hidden}*{box-sizing:border-box}.nav-overlay{position:fixed;inset:0;z-index:9999;background:rgba(20,40,56,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;animation:nav-overlay-in .18s ease forwards}.nav-overlay.nav-overlay-out{animation:nav-overlay-out .22s ease forwards}@keyframes nav-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes nav-overlay-out{0%{opacity:1}to{opacity:0}}.nav-dots{display:flex;gap:10px;align-items:center}.nav-dot{width:13px;height:13px;border-radius:50%;background:var(--primary-teal,#0d9e6e);animation:nav-dot-bounce .9s ease-in-out infinite;box-shadow:0 4px 14px rgba(13,158,110,.5)}.nav-dot:first-child{animation-delay:0s;background:#0d9e6e}.nav-dot:nth-child(2){animation-delay:.15s;background:#4fd1c5}.nav-dot:nth-child(3){animation-delay:.3s;background:#a7f3d0}@keyframes nav-dot-bounce{0%,to{transform:translateY(0);opacity:.9}45%{transform:translateY(-18px);opacity:1}}.page-wrap{padding:24px}.settings-page-wrap{max-width:900px;padding:40px 16px}.dash-stat-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.dash-side-grid{display:grid;grid-gap:14px;gap:14px;align-items:start}.dash-side-grid-left{grid-template-columns:300px 1fr}.dash-side-grid-right{grid-template-columns:1fr 420px}@media (max-width:991px){.dash-hero{padding:18px!important}.dash-content{padding-left:14px!important;padding-right:14px!important}}@media (max-width:640px){.dash-hero-container{flex-direction:column!important;align-items:stretch!important;gap:14px!important}.dash-actions-wrapper{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}.dash-actions-wrapper .quick-actions-dropdown-wrapper{flex:1 1!important;min-width:0!important;width:auto!important}.dash-actions-wrapper .quick-actions-btn{width:100%!important;justify-content:center!important;padding:10px 16px!important}.dash-actions-wrapper .notif-bell-wrapper{flex:0 0 42px!important;width:42px!important;min-width:42px!important}.dash-actions-wrapper .notif-bell-btn{width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;padding:0!important;justify-content:center!important}.quick-actions-dropdown-panel{position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:auto!important;width:285px!important;max-width:calc(100vw - 32px)!important;box-shadow:0 16px 40px rgba(0,0,0,.22)!important;z-index:9999!important}}@media (max-width:991px){.sl-main{padding:16px 12px!important}h1{font-size:1.4rem!important}h2{font-size:1.2rem!important}h3{font-size:1.1rem!important}h4{font-size:1rem!important}h5{font-size:.92rem!important}h6{font-size:.85rem!important}.form-check-input,.form-control,.form-select,input,select,textarea{font-size:16px!important}.badge,.form-check-label{font-size:.73rem!important}.container-fluid{padding-left:12px!important;padding-right:12px!important}.page-wrap{padding:0!important}.settings-page-wrap{max-width:100%!important;padding:14px 0!important}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{font-size:.82rem}.table>tbody>tr>td,.table>thead>tr>th{white-space:nowrap;padding:.45rem .55rem!important}.card-body>.table,.card-body>table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.card{margin-bottom:12px;border-radius:10px!important}.card-body{padding:12px 14px!important}.card-footer,.card-header{padding:10px 14px!important}.modal-dialog{margin:8px auto!important;max-width:calc(100vw - 16px)!important;width:calc(100vw - 16px)!important}.modal-body{padding:14px 16px!important}.modal-header{padding:12px 16px!important}.modal-footer{padding:10px 16px!important;flex-wrap:wrap;gap:8px}.modal-footer .btn{flex:1 1 auto;min-width:100px}.modal-content{border-radius:14px!important}.d-flex.align-items-center.mb-3,.d-flex.align-items-center.mb-4,.d-flex.justify-content-between.align-items-center,.d-flex.justify-content-between.mb-3,.d-flex.justify-content-between.mb-4{flex-wrap:wrap!important;gap:10px!important}.action-bar{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.action-bar .btn,.action-bar button{width:100%!important;text-align:center!important}.row{--bs-gutter-x:0.7rem}.row.g-3{--bs-gutter-y:0.7rem}.row.g-4{--bs-gutter-y:0.75rem}.btn{padding:.35rem .7rem!important;font-size:.85rem!important}.btn-sm{padding:.22rem .5rem!important;font-size:.78rem!important}.btn-group-wrap{flex-wrap:wrap!important;gap:4px!important}.input-group{flex-wrap:nowrap}.input-group .form-control{min-width:0;flex:1 1}.filter-bar,.search-bar{flex-direction:column!important;gap:8px!important;align-items:stretch!important}.filter-bar .form-control,.filter-bar .input-group,.search-bar .form-control,.search-bar .input-group{width:100%!important}.dash-stat-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important;margin-bottom:14px!important}.dash-side-grid,.dash-side-grid-left,.dash-side-grid-right{grid-template-columns:1fr!important;gap:12px!important}.dash-hero{padding:20px 16px 68px!important}.dash-hero h1{font-size:1.35rem!important}.dash-content{padding-left:10px!important;padding-right:10px!important}.login-outer{min-height:100vh;padding:16px!important}.login-card{border-radius:18px!important}.login-logo{width:60px!important;height:60px!important}.page-title-row{flex-wrap:wrap;gap:10px}.page-title-row .btn{flex-shrink:0}.badge{font-size:.7em!important}.att-grid{grid-template-columns:1fr!important}.att-hero{padding:20px 16px 64px!important}.fees-filter-row{flex-direction:column!important;gap:8px!important}.report-header-row{flex-wrap:wrap!important;gap:10px!important}.profile-side-grid{grid-template-columns:1fr!important}.pagination{justify-content:center!important;flex-wrap:wrap!important}.sticky-mobile-bar{position:fixed!important;bottom:0;left:0;right:0;padding:10px 16px!important;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -2px 10px rgba(0,0,0,.08);z-index:30}.mb-4{margin-bottom:.85rem!important}.mb-3{margin-bottom:.65rem!important}.mt-4{margin-top:.85rem!important}.p-4{padding:1rem!important}.p-3{padding:.75rem!important}.px-4{padding-left:.85rem!important;padding-right:.85rem!important}.py-4{padding-top:.85rem!important;padding-bottom:.85rem!important}.nav-tabs{flex-wrap:wrap!important;gap:4px!important}.nav-tabs .nav-link{font-size:.82rem!important;padding:.3rem .7rem!important}.exam-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.emp-info-grid{grid-template-columns:1fr!important}.promotion-filter{flex-direction:column!important;gap:8px!important}.expense-form-grid{grid-template-columns:1fr!important}.report-stats-row{flex-direction:column!important;gap:8px!important}.fee-slip-print-wrap{overflow-x:auto}}@media (max-width:575px){.dash-stat-grid{grid-template-columns:1fr 1fr!important}.dash-hero{padding:16px 12px 62px!important}.dash-content{padding-left:6px!important;padding-right:6px!important}.table{font-size:.76rem!important}.card-body{padding:10px!important}.sl-main{padding:12px 8px!important}.modal-dialog{margin:4px auto!important;max-width:calc(100vw - 8px)!important;width:calc(100vw - 8px)!important}.modal-body{padding:12px!important}}.nav-tabs .nav-link{color:var(--text-gray-medium);border:none;border-bottom:2px solid transparent;transition:all .2s ease;font-weight:500}.nav-tabs .nav-link:hover{background-color:var(--primary-teal-hover);color:var(--accent-orange)!important;border-bottom:2px solid var(--accent-orange);border-radius:6px 6px 0 0}.nav-tabs .nav-link.active{color:var(--primary-teal)!important;border-bottom:2px solid var(--primary-teal)!important;background-color:transparent!important}@media (max-width:991px){.profile-hero{height:auto!important;min-height:250px;padding-bottom:70px}.profile-hero .d-flex.align-items-end{flex-direction:column;align-items:center!important;text-align:center;gap:15px!important;margin-bottom:-130px!important}.profile-hero img.rounded-circle{width:120px!important;height:120px!important}.profile-hero .mb-5{margin-bottom:0!important}.profile-side-grid>.col-lg-3{margin-top:60px}.nav-tabs.nav-fill{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;justify-content:flex-start!important;padding-bottom:5px}.nav-tabs.nav-fill .nav-item{flex:0 0 auto;width:auto!important}.nav-tabs.nav-fill .nav-link{padding:.6rem 1rem!important}}