/* V24 reference-aligned visual system ------------------------------------------------------
   Reference direction: dark navy navigation, bright blue active states, compact
   white workspace, colorful dashboard KPI cards, clean list/profile/form surfaces.
   This file intentionally overrides presentation only; routes/forms/permissions
   remain owned by the existing application. */
:root{
  --erp-sidebar:#14283b;--erp-sidebar-deep:#0f2234;--erp-sidebar-muted:#a9b8c7;
  --erp-primary:#0b83f6;--erp-primary-2:#006be6;--erp-text:#10213d;--erp-muted:#697b93;
  --erp-bg:#f4f7fb;--erp-card:#fff;--erp-line:#e3eaf2;--erp-soft:#f8fbff;
  --erp-blue:#1197f5;--erp-green:#14b85a;--erp-amber:#ffa800;--erp-purple:#9a30d9;
  --erp-red:#ed3342;--erp-cyan:#0aa0ad;--erp-radius:10px;--erp-shadow:0 3px 14px rgba(20,40,64,.06)
}
html{background:var(--erp-bg)}
body.schoolerp-app{background:var(--erp-bg);color:var(--erp-text);font-family:"Segoe UI",Tahoma,Arial,sans-serif;font-size:14px}
a{color:#0877e8}a:hover{color:#005fbe}

/* Shell / sidebar */
.sidebar{width:226px!important;background:linear-gradient(180deg,var(--erp-sidebar-deep),var(--erp-sidebar))!important;padding:0 8px 18px!important;border-right:1px solid rgba(255,255,255,.04);box-shadow:2px 0 12px rgba(14,30,45,.08);z-index:1045}
.app-main{margin-left:226px!important;min-height:100vh;display:flex;flex-direction:column}
.erp-brand{height:66px;display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.08);margin:0 -8px 8px}
.erp-brand:hover{color:#fff}.erp-brand-mark{width:36px;height:36px;border-radius:7px;display:grid;place-items:center;background:linear-gradient(145deg,#3cd5f1,#0b83f6);box-shadow:inset 0 0 0 2px rgba(255,255,255,.75),0 7px 16px rgba(0,132,246,.18);font-size:18px}.erp-brand-copy{display:flex;flex-direction:column;line-height:1.05}.erp-brand-copy strong{font-size:20px;letter-spacing:.01em}.erp-brand-copy small{font-size:8px;color:#d9e6ef;margin-top:4px}
.school-chip{margin:8px 5px 9px!important;padding:7px 9px!important;border-radius:7px!important;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.07)!important;color:#dbe6ee!important;font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-search-wrap{margin:0 5px 9px!important;padding:7px 9px!important;border-radius:7px!important;background:#0c1d2d!important;border:1px solid rgba(255,255,255,.07)!important}.menu-search{font-size:12px!important}.menu-search-wrap button{font-size:15px!important}
.premium-nav{gap:1px!important}.nav-group{font-size:9px!important;margin:15px 10px 5px!important;color:#7d93a8!important;letter-spacing:.12em!important}.sidebar nav>a,.nav-drop>button{min-height:34px!important;padding:7px 9px!important;border-radius:5px!important;font-size:12px!important;font-weight:500!important;color:#e2e9ef!important}.sidebar nav>a>i,.nav-drop>button span i{font-size:12px;color:#f4f7fa}.sidebar nav>a:hover,.nav-drop>button:hover,.nav-drop.open>button{background:rgba(255,255,255,.07)!important;color:#fff!important}.sidebar nav>a.erp-active,.nav-drop-menu a.erp-active{background:linear-gradient(90deg,#0d8df7,#0879e5)!important;color:#fff!important;box-shadow:0 4px 12px rgba(3,126,236,.2)}.nav-drop-menu{padding-left:10px!important}.sidebar .premium-nav .nav-drop-menu a{font-size:11px!important;padding:6px 9px 6px 25px!important;border-left:0!important;border-radius:4px!important;color:#afbfcd!important;position:relative}.sidebar .premium-nav .nav-drop-menu a:before{content:"";width:4px;height:4px;border-radius:50%;background:#6f8499;position:absolute;left:13px;top:50%;transform:translateY(-50%)}.sidebar .premium-nav .nav-drop-menu a:hover{background:rgba(255,255,255,.05)!important;color:#fff!important}

/* Top bar */
.topbar{height:64px!important;min-height:64px!important;padding:0 18px!important;background:#fff!important;border-bottom:1px solid var(--erp-line)!important;box-shadow:0 1px 4px rgba(24,44,68,.025);position:sticky;top:0;z-index:1025;flex-wrap:nowrap!important}
.erp-sidebar-toggle{display:none!important}.erp-top-icon{width:36px;height:36px;display:inline-grid;place-items:center;border:0;background:transparent;color:#35516d;border-radius:8px;text-decoration:none;position:relative}.erp-top-icon:hover{background:#eef5fc;color:#0b83f6}.erp-top-actions{display:flex;align-items:center;gap:3px;flex-wrap:nowrap!important}.erp-notification-dot{position:absolute;right:7px;top:5px;width:7px;height:7px;border-radius:50%;background:#ef3340;border:2px solid #fff;box-sizing:content-box}
.erp-global-search{width:min(390px,36vw);height:38px;position:relative;display:flex;align-items:center;margin-left:4px}.erp-global-search>i{position:absolute;left:13px;color:#7a8da2;z-index:2;font-size:12px}.erp-global-search input{width:100%;height:38px;border:1px solid #e1e8f0;background:#f4f7fb;border-radius:8px;padding:0 38px 0 36px;outline:0;font-size:12px;color:#243a52;transition:.15s}.erp-global-search input:focus{background:#fff;border-color:#9fc9f3;box-shadow:0 0 0 3px rgba(11,131,246,.08)}.erp-global-search>button{position:absolute;right:6px;width:27px;height:27px;border:0;background:transparent;color:#8a99a9;border-radius:6px;display:none}.erp-global-search.has-value>button{display:grid;place-items:center}.erp-global-results{position:absolute;top:44px;left:0;right:0;background:#fff;border:1px solid var(--erp-line);border-radius:10px;box-shadow:0 14px 34px rgba(20,40,64,.15);padding:5px;max-height:330px;overflow:auto}.erp-global-results a{display:flex;align-items:center;gap:9px;padding:9px 10px;color:#294057;text-decoration:none;border-radius:7px;font-size:12px}.erp-global-results a:hover,.erp-global-results a.active{background:#eef6ff;color:#0879e5}.erp-global-results i{width:16px;text-align:center}.erp-global-empty{padding:12px;color:#7b8da0;font-size:12px}
.erp-user-menu{height:48px;border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:4px 7px;border-radius:9px;color:#18324c}.erp-user-menu:hover{background:#f5f8fb}.erp-user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#e8f5ff,#cde7fb);color:#0d77cf;border:1px solid #d7e8f6}.erp-user-copy{display:flex;flex-direction:column;align-items:flex-start;max-width:155px}.erp-user-copy strong{font-size:12px;line-height:1.15;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erp-user-copy small{font-size:9px;color:#71839a;margin-top:2px}.erp-user-chevron{font-size:9px;color:#6d8196}.erp-profile-menu{border:1px solid var(--erp-line)!important;border-radius:10px!important;padding:6px!important;min-width:210px}.erp-profile-menu .dropdown-item{font-size:12px;border-radius:7px;padding:8px 10px}.erp-profile-menu .dropdown-item i{width:20px;color:#5c7188}

/* Page canvas / typography */
.erp-page-wrap{padding:18px 20px 24px!important;flex:1;min-width:0}.erp-footer{height:40px;border-top:1px solid var(--erp-line);background:#fff;color:#6f8195;font-size:10px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;margin-top:auto}
.page-title,.page-heading h1,.executive-heading h1,.erp-page-title{font-size:23px!important;line-height:1.2!important;font-weight:800!important;color:#0e2140!important;letter-spacing:-.015em!important}.page-heading{margin-bottom:14px!important}.page-heading p,.subtle,.executive-heading p{color:#71839a!important;font-size:11.5px!important;margin-top:4px!important}.page-heading .btn,.d-flex>.btn{white-space:nowrap}.module-tabs{margin-bottom:14px!important;background:#fff;border:1px solid var(--erp-line)!important;border-radius:9px;padding:3px 5px;gap:2px!important}.module-tabs a{padding:7px 10px!important;border:0!important;border-radius:6px!important;font-size:11px!important;color:#5d7085!important}.module-tabs a.active,.module-tabs a:hover{background:#edf6ff!important;color:#0879e5!important}

/* Cards / panels */
.premium-card,.dashboard-panel,.report-card,.soft-panel,.loan-policy,.invoice-sheet,.card:not(.pricing-card-v18){border:1px solid var(--erp-line)!important;border-radius:9px!important;background:#fff!important;box-shadow:var(--erp-shadow)!important}.premium-card:hover{box-shadow:0 5px 18px rgba(20,40,64,.075)!important}.card-head,.section-head,.panel-title{min-height:44px;padding:11px 14px!important;border-bottom:1px solid var(--erp-line)!important;background:#fff!important}.card-head h5,.section-head,.panel-title>span,.premium-card h5{font-size:14px;font-weight:800;color:#182b46}.soft-panel{background:#f9fbfd!important;box-shadow:none!important}.summary-box{border-radius:8px!important;background:#f7f9fc!important}.alert-premium,.alert{border-radius:8px!important;font-size:12px}.modal-content{border-radius:11px!important;border:1px solid var(--erp-line)!important}.modal-header{padding:13px 16px!important}.modal-title{font-size:16px!important;font-weight:800}.modal-body{font-size:13px}

/* Buttons */
.btn{border-radius:6px!important;font-size:12px!important;font-weight:700!important;padding:.48rem .78rem!important}.btn-sm{font-size:10.5px!important;min-height:29px!important;padding:.34rem .55rem!important}.btn-primary,.btn-premium{background:linear-gradient(180deg,#1193f7,#0878e7)!important;border-color:#0878e7!important;color:#fff!important;box-shadow:0 3px 8px rgba(10,127,235,.16)!important}.btn-primary:hover,.btn-premium:hover{background:#0875dd!important;transform:none!important}.btn-success{background:#13ad56!important;border-color:#13ad56!important}.btn-light{background:#f6f8fb!important;border:1px solid #e3e9f0!important;color:#365069!important}.btn-outline-secondary{border-color:#d4dde7!important;color:#4e6278!important}.btn-outline-danger{border-color:#ffd2d6!important;color:#dc3545!important}.btn-outline-primary{border-color:#b7d8f8!important;color:#0879e5!important}

/* Forms */
.form-label,label:not(.form-check-label):not(.plan-choice){font-size:10.5px!important;font-weight:700!important;color:#233a54!important;margin-bottom:4px}.form-control,.form-select,.input-group-text{min-height:38px!important;border-color:#dce4ec!important;border-radius:6px!important;font-size:11.5px!important;background-color:#fff}.form-control,.form-select{padding:.5rem .7rem!important}.form-control:focus,.form-select:focus{border-color:#8cc3f4!important;box-shadow:0 0 0 3px rgba(11,131,246,.08)!important}.input-group .form-control{border-radius:0 6px 6px 0!important}.input-group-text{background:#f5f8fb!important;color:#35506b!important;padding:0 .7rem!important}.input-group>.btn{border-radius:0 6px 6px 0!important}.form-check-input:checked{background-color:#0b83f6;border-color:#0b83f6}.form-text{font-size:10px!important;color:#7a8b9d!important}.filter-bar{padding:9px 10px!important;border-radius:8px!important;box-shadow:var(--erp-shadow);margin-bottom:12px!important;background:#fff!important}.filter-bar .form-control,.filter-bar .form-select{min-width:140px!important}.validation-summary-errors{border-radius:8px!important;font-size:11px!important}

/* Tables / list screens */
.table-responsive{border-radius:0!important}.table{font-size:11px;color:#23394f;margin-bottom:0!important}.table>:not(caption)>*>*{border-color:#e9eef4!important}.table thead th,.table-premium thead th,.premium-table thead th{height:39px;background:#f4f8fc!important;color:#344d66!important;font-size:9.5px!important;font-weight:800!important;letter-spacing:.015em!important;text-transform:none!important;padding:10px 9px!important;vertical-align:middle!important;white-space:nowrap}.table td,.table-premium td,.premium-table td{padding:9px!important;vertical-align:middle!important}.table tbody tr:hover,.premium-table tbody tr:hover,.table-premium tbody tr:hover{background:#f8fbfe!important}.table thead a{color:#344d66!important;text-decoration:none}.table .avatar,.avatar-sm{width:31px!important;height:31px!important;border-radius:50%!important;font-size:10px!important}.code-pill{padding:3px 6px!important;border-radius:5px!important;background:#edf6ff!important;color:#0876dc!important;font-size:10px!important}.status-pill,.badge{border-radius:999px!important;font-size:9px!important;font-weight:700!important;padding:4px 7px!important}.status-pill{background:#dcf8e8!important;color:#13834b!important}.pagination{gap:3px}.pagination .page-link{border-radius:5px!important;border-color:#e1e8ef!important;color:#547087!important;font-size:10px!important;min-width:29px;text-align:center}.pagination .active .page-link{background:#0b83f6!important;border-color:#0b83f6!important;color:#fff!important}.smart-grid-toolbar{padding:9px 10px!important;background:#fff!important;grid-template-columns:minmax(220px,2fr) minmax(130px,1fr) minmax(130px,1fr) 78px auto auto!important}.smart-grid-footer{padding:8px 10px!important}.smart-grid-range,.smart-grid-count{font-size:10px!important}

/* Profile pages */
.student-hero,.profile-hero{background:linear-gradient(135deg,#0d84ef,#0a69cc)!important;color:#fff!important;border-radius:10px!important;padding:20px!important;position:relative;overflow:hidden}.student-hero:after,.profile-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-95px;top:-120px;background:rgba(255,255,255,.1)}.profile-photo{width:82px!important;height:82px!important;border:3px solid #fff!important}.avatar-lg{width:74px!important;height:74px!important;border-radius:50%!important;background:#e8f4ff!important;color:#0879e5!important;font-size:25px!important}.premium-tabs{background:#fff;border:1px solid var(--erp-line);border-radius:8px;padding:2px 5px;margin-bottom:12px}.premium-tabs>a{font-size:10.5px!important;padding:8px 9px!important;border-bottom:2px solid transparent!important}.premium-tabs>a.active{color:#0b83f6!important;border-color:#0b83f6!important}.detail-grid{gap:10px!important}.profile-grid{gap:13px!important}

/* Dashboard reference-style cards */
.erp-dashboard-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.erp-dashboard-heading h1{font-size:23px;margin:0;font-weight:800}.erp-dashboard-heading p{font-size:11px;color:#71839a;margin:4px 0 0}.erp-breadcrumb{font-size:10px;color:#77889a;display:flex;gap:6px;align-items:center}.erp-breadcrumb i{color:#0b83f6}.erp-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:14px}.erp-stat{height:111px;border-radius:9px;color:#fff;padding:16px 15px;position:relative;overflow:hidden;box-shadow:0 5px 13px rgba(20,40,64,.08);display:flex;align-items:center;gap:12px}.erp-stat:after{content:"";position:absolute;width:95px;height:95px;border-radius:50%;right:-44px;bottom:-55px;background:rgba(255,255,255,.13)}.erp-stat-icon{width:48px;flex:0 0 48px;text-align:center;font-size:27px;opacity:.95}.erp-stat strong{display:block;font-size:21px;line-height:1;font-weight:800}.erp-stat span{display:block;font-size:10px;margin-top:6px}.erp-stat small{position:absolute;right:12px;bottom:8px;font-size:8px;font-weight:700}.erp-stat.blue{background:linear-gradient(135deg,#139cf8,#0682ee)}.erp-stat.green{background:linear-gradient(135deg,#20c463,#0fb352)}.erp-stat.amber{background:linear-gradient(135deg,#ffb207,#ff9900)}.erp-stat.purple{background:linear-gradient(135deg,#aa39df,#8d24d1)}.erp-stat.red{background:linear-gradient(135deg,#f24351,#ea2938)}.erp-stat.cyan{background:linear-gradient(135deg,#12aeb9,#0b929f)}
.erp-dashboard-grid{display:grid;grid-template-columns:2.15fr .95fr .95fr;gap:14px;margin-bottom:14px}.erp-dashboard-panel{background:#fff;border:1px solid var(--erp-line);border-radius:9px;box-shadow:var(--erp-shadow);overflow:hidden}.erp-panel-head{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--erp-line)}.erp-panel-head h3{font-size:14px;margin:0;font-weight:800}.erp-panel-head a{font-size:9.5px;text-decoration:none}.erp-panel-body{padding:14px}.erp-bars{height:225px;display:flex;align-items:flex-end;gap:10px;border-left:1px solid #dfe7ef;border-bottom:1px solid #dfe7ef;padding:10px 12px 0;background:repeating-linear-gradient(to top,#fff 0,#fff 44px,#eef2f6 45px)}.erp-bars>div{flex:1;display:flex;align-items:flex-end;gap:3px;height:100%;position:relative}.erp-bars i{display:block;flex:1;min-width:4px;border-radius:2px 2px 0 0;background:#249cf5}.erp-bars i+ i{background:#f85cac}.erp-bars label{position:absolute;left:50%;bottom:-23px;transform:translateX(-50%) rotate(-28deg);font-size:7px;color:#75869a;white-space:nowrap}.erp-ring{width:160px;height:160px;border-radius:50%;margin:8px auto 16px;display:grid;place-items:center;background:conic-gradient(#16b957 var(--erp-percent,72%),#e7ebef 0)}.erp-ring:before{content:"";width:105px;height:105px;border-radius:50%;background:#fff;position:absolute}.erp-ring span{position:relative;z-index:1;text-align:center}.erp-ring strong{display:block;font-size:24px}.erp-ring small{font-size:10px;color:#667b91}.erp-ring-legend{display:flex;justify-content:center;gap:18px;font-size:10px}.erp-ring-legend b{display:block;font-size:12px;margin-top:2px}.erp-glance{display:flex;flex-direction:column;gap:12px}.erp-glance-row{display:flex;align-items:center;gap:10px}.erp-glance-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e6f7ed;color:#16ad55}.erp-glance-row:nth-child(2) .erp-glance-icon{background:#ffe9eb;color:#ed3342}.erp-glance-row:nth-child(3) .erp-glance-icon{background:#e8f3ff;color:#178cea}.erp-glance-row:nth-child(4) .erp-glance-icon{background:#f3e9ff;color:#982ed7}.erp-glance-row:nth-child(5) .erp-glance-icon{background:#fff1df;color:#f29300}.erp-glance-row b{font-size:12px}.erp-glance-row small{display:block;font-size:9px;color:#72849a}.erp-bottom-grid{display:grid;grid-template-columns:1.15fr 1fr 1.15fr;gap:14px}.erp-feed{padding:6px 14px 10px}.erp-feed-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}.erp-feed-row:last-child{border-bottom:0}.erp-feed-icon{width:34px;height:34px;border-radius:50%;background:#eaf4ff;color:#1688ec;display:grid;place-items:center}.erp-feed-row b{font-size:10.5px}.erp-feed-row small{font-size:9px;color:#73869b}.erp-feed-row time{margin-left:auto;font-size:8.5px;color:#7c8da0}.erp-quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px}.erp-quick-grid a{border:1px solid #e5ebf2;border-radius:7px;padding:11px;text-decoration:none;color:#2c4359;background:#fbfdff;font-size:10.5px;font-weight:700}.erp-quick-grid a i{color:#0b83f6;margin-right:6px}

/* Login matching reference structure */
body.erp-login-body{background:#eef5fb}.erp-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(430px,.92fr);background:#fff}.erp-login-visual{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(180deg,rgba(17,117,190,.84),rgba(11,70,119,.88)),radial-gradient(circle at 50% 60%,#72c7f0,#287db5 48%,#0f4f82 100%);color:#fff;padding:34px 42px;display:flex;flex-direction:column}.erp-login-visual:before{content:"";position:absolute;inset:28% -15% -22% -10%;background:linear-gradient(145deg,transparent 31%,rgba(255,255,255,.15) 32%,rgba(255,255,255,.03) 63%,transparent 64%);transform:skewY(-6deg);opacity:.7}.erp-login-brand{display:flex;gap:11px;align-items:center;position:relative;z-index:2}.erp-login-brand .erp-brand-mark{width:48px;height:48px;font-size:24px}.erp-login-brand strong{display:block;font-size:26px}.erp-login-brand small{display:block;font-size:9px;opacity:.9}.erp-login-copy{position:relative;z-index:2;margin-top:54px;max-width:470px}.erp-login-copy h1{font-size:31px;line-height:1.12;font-weight:800}.erp-login-copy p{font-size:17px}.erp-login-benefits{display:flex;flex-direction:column;gap:12px;margin-top:26px;font-size:14px}.erp-login-benefits span i{width:25px;color:#7cf348}.erp-login-quote{margin-top:auto;position:relative;z-index:2;font-size:18px;font-style:italic;font-weight:700;max-width:420px;padding:18px 0}.erp-login-school-art{position:absolute;right:-7%;bottom:0;width:72%;height:48%;opacity:.23;background:linear-gradient(180deg,transparent 0 13%,#fff 14% 18%,transparent 19%),linear-gradient(90deg,transparent 0 8%,#fff 9% 16%,transparent 17% 24%,#fff 25% 32%,transparent 33% 40%,#fff 41% 48%,transparent 49% 56%,#fff 57% 64%,transparent 65% 72%,#fff 73% 80%,transparent 81%);clip-path:polygon(0 25%,50% 0,100% 25%,100% 100%,0 100%)}
.erp-login-panel{display:flex;align-items:center;justify-content:center;padding:28px;background:#f7f9fc;overflow:auto}.erp-login-card{width:min(430px,100%);background:#fff;border:1px solid #e1e7ef;border-radius:8px;box-shadow:0 10px 35px rgba(26,58,91,.12);padding:28px}.erp-login-card .erp-login-mini-brand{text-align:center;margin-bottom:14px}.erp-login-mini-brand .erp-brand-mark{margin:0 auto 6px;width:42px;height:42px}.erp-login-mini-brand strong{font-size:20px}.erp-login-card h2{text-align:center;font-size:22px!important}.erp-login-card .login-sub{text-align:center;color:#718399;font-size:11px}.erp-login-card .auth-mode-switch{margin:18px 0!important;border-radius:7px!important;padding:3px!important}.erp-login-card .auth-mode-switch button{font-size:10.5px!important;border-radius:5px!important;padding:8px!important}.erp-login-card .demo-login-picker{padding:10px!important;border-radius:7px!important;background:#f7f9fc!important}.erp-login-card .form-control,.erp-login-card .form-select,.erp-login-card .input-group-text{min-height:42px!important}.erp-login-card .btn-premium{height:42px}.erp-registration-scroll{max-height:72vh;overflow:auto;padding-right:4px}.erp-login-card .plan-choice{border-radius:7px!important;padding:9px!important}.erp-login-card .plan-price{font-size:11px!important}.erp-login-card .registration-note{border-radius:7px!important;padding:9px!important}

/* Wizard/admission screens */
.step-tabs{border:1px solid var(--erp-line);border-radius:8px;overflow:hidden;background:#fff}.step-tabs .nav-link{border:0!important;border-right:1px solid var(--erp-line)!important;border-radius:0!important;font-size:10px!important;padding:10px 8px!important}.step-tabs .nav-link.active{background:#0b83f6!important}.form-section{border-left:0!important;border-bottom:1px solid var(--erp-line);background:#f7f9fc!important;border-radius:6px!important;padding:9px 11px!important;font-size:12px!important}

/* Responsive */
@media(max-width:1350px){.erp-stat-grid{grid-template-columns:repeat(3,1fr)}.erp-dashboard-grid{grid-template-columns:2fr 1fr}.erp-dashboard-grid>.erp-dashboard-panel:last-child{grid-column:1/-1}.erp-glance{display:grid;grid-template-columns:repeat(5,1fr)}}
@media(max-width:1050px){.sidebar{transform:translateX(-100%);transition:transform .2s ease}.sidebar.erp-open{transform:translateX(0)}.app-main{margin-left:0!important}.erp-sidebar-toggle{display:inline-grid!important}.erp-global-search{width:min(440px,50vw)}.erp-bottom-grid{grid-template-columns:1fr 1fr}.erp-bottom-grid>.erp-dashboard-panel:last-child{grid-column:1/-1}}
@media(max-width:800px){.erp-stat-grid{grid-template-columns:repeat(2,1fr)}.erp-dashboard-grid,.erp-bottom-grid{grid-template-columns:1fr}.erp-dashboard-grid>.erp-dashboard-panel:last-child,.erp-bottom-grid>.erp-dashboard-panel:last-child{grid-column:auto}.erp-user-copy{display:none}.erp-global-search{width:auto;flex:1}.erp-top-actions{gap:0}.erp-login-shell{grid-template-columns:1fr}.erp-login-visual{display:none}.erp-login-panel{min-height:100vh;padding:15px}.erp-registration-scroll{max-height:none}.erp-page-wrap{padding:14px!important}.erp-footer{display:none}.filter-bar{flex-direction:column!important;align-items:stretch!important}.filter-bar .form-control,.filter-bar .form-select{max-width:none!important}.smart-grid-toolbar{grid-template-columns:1fr!important}.erp-glance{grid-template-columns:1fr 1fr}.erp-bars label{display:none}}
@media(max-width:500px){.erp-stat-grid{grid-template-columns:1fr}.erp-stat{height:88px}.erp-dashboard-heading{flex-direction:column;gap:8px}.erp-breadcrumb{display:none}.erp-global-search input{font-size:10px}.topbar{padding:0 8px!important}.erp-top-icon{width:32px}.erp-login-card{padding:20px}.erp-glance{grid-template-columns:1fr}}

/* Print remains clean */
@media print{.sidebar,.topbar,.erp-footer,.assistant-fab{display:none!important}.app-main{margin:0!important}.erp-page-wrap{padding:0!important}.premium-card{box-shadow:none!important}.schoolerp-app{background:#fff!important}}

/* V23 cross-module harmonization -------------------------------------------------- */
.erp-page-wrap>.d-flex.justify-content-between.align-items-start,.erp-page-wrap>.d-flex.justify-content-between.align-items-center{gap:14px;margin-bottom:14px!important}.erp-page-wrap>.d-flex h2,.erp-page-wrap>.d-flex h1{font-size:23px!important;font-weight:800!important;color:#0e2140!important;margin-bottom:2px!important}.erp-page-wrap>.d-flex p{font-size:11.5px!important;color:#71839a!important;margin-bottom:0}.erp-page-wrap>h1,.erp-page-wrap>h2{font-size:23px;font-weight:800;color:#0e2140}.erp-page-wrap hr{border-color:#e5ebf2;opacity:1}
.kpi-card.erp-kpi-tone-0,.kpi-card.erp-kpi-tone-1,.kpi-card.erp-kpi-tone-2,.kpi-card.erp-kpi-tone-3,.kpi-card.erp-kpi-tone-4,.kpi-card.erp-kpi-tone-5{color:#fff!important;border:0!important;box-shadow:0 5px 13px rgba(20,40,64,.08)!important;min-height:105px!important}.kpi-card.erp-kpi-tone-0{background:linear-gradient(135deg,#139cf8,#0682ee)!important}.kpi-card.erp-kpi-tone-1{background:linear-gradient(135deg,#20c463,#0fb352)!important}.kpi-card.erp-kpi-tone-2{background:linear-gradient(135deg,#ffb207,#ff9900)!important}.kpi-card.erp-kpi-tone-3{background:linear-gradient(135deg,#aa39df,#8d24d1)!important}.kpi-card.erp-kpi-tone-4{background:linear-gradient(135deg,#f24351,#ea2938)!important}.kpi-card.erp-kpi-tone-5{background:linear-gradient(135deg,#12aeb9,#0b929f)!important}.kpi-card[class*="erp-kpi-tone-"] span,.kpi-card[class*="erp-kpi-tone-"] strong,.kpi-card[class*="erp-kpi-tone-"] b,.kpi-card[class*="erp-kpi-tone-"] h2,.kpi-card[class*="erp-kpi-tone-"] h4,.kpi-card[class*="erp-kpi-tone-"] small{color:#fff!important}.kpi-card[class*="erp-kpi-tone-"]>i,.kpi-card[class*="erp-kpi-tone-"] .kpi-icon{background:rgba(255,255,255,.16)!important;color:#fff!important}.kpi-card[class*="erp-kpi-tone-"]:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-40px;bottom:-48px;background:rgba(255,255,255,.12)}.kpi-card[class*="erp-kpi-tone-"]{position:relative;overflow:hidden}
.erp-page-wrap .nav-tabs{border-bottom:1px solid var(--erp-line);gap:2px}.erp-page-wrap .nav-tabs .nav-link{border:0!important;border-radius:6px 6px 0 0!important;font-size:10.5px!important;padding:8px 10px!important}.erp-page-wrap .nav-tabs .nav-link.active{background:#edf6ff!important;color:#0879e5!important}.erp-page-wrap dl{font-size:11.5px}.erp-page-wrap dt{color:#657b91;font-weight:700}.erp-page-wrap dd{color:#22384f}.erp-page-wrap .accordion-item{border-color:var(--erp-line);border-radius:8px!important;overflow:hidden;margin-bottom:7px}.erp-page-wrap .accordion-button{font-size:11.5px;font-weight:700;padding:11px 13px}.erp-page-wrap .list-group-item{border-color:#e9eef4;font-size:11.5px;padding:10px 12px}.erp-page-wrap .card-title{font-size:14px;font-weight:800}.erp-page-wrap textarea.form-control{min-height:80px}.erp-page-wrap .input-group-sm>.form-control,.erp-page-wrap .input-group-sm>.form-select{min-height:31px!important}.erp-page-wrap .dropdown-menu{border:1px solid var(--erp-line);border-radius:8px;padding:5px;box-shadow:0 10px 26px rgba(20,40,64,.12)}.erp-page-wrap .dropdown-item{font-size:11px;padding:7px 9px;border-radius:5px}

/* V24 module-wide dashboard/list/form/profile treatment ---------------- */
/* Existing feature dashboards use premium-stat; render them with the same six
   reference colours as the executive dashboard without changing their markup. */
.premium-stat[class*="erp-stat-tone-"]{min-height:106px!important;border:0!important;border-radius:9px!important;padding:17px 17px!important;color:#fff!important;box-shadow:0 5px 14px rgba(20,40,64,.09)!important;position:relative;overflow:hidden}
.premium-stat.erp-stat-tone-0{background:linear-gradient(135deg,#149df8,#087fe9)!important}
.premium-stat.erp-stat-tone-1{background:linear-gradient(135deg,#22c665,#10ad50)!important}
.premium-stat.erp-stat-tone-2{background:linear-gradient(135deg,#ffb307,#ff9800)!important}
.premium-stat.erp-stat-tone-3{background:linear-gradient(135deg,#aa3cdf,#8c25cf)!important}
.premium-stat.erp-stat-tone-4{background:linear-gradient(135deg,#f34653,#e92b3a)!important}
.premium-stat.erp-stat-tone-5{background:linear-gradient(135deg,#11adb8,#078f9b)!important}
.premium-stat[class*="erp-stat-tone-"] small{color:rgba(255,255,255,.92)!important;font-size:9px!important;letter-spacing:.035em!important;font-weight:800!important}
.premium-stat[class*="erp-stat-tone-"] h2{color:#fff!important;font-size:23px!important;margin:8px 0 3px!important;line-height:1.05!important;font-weight:900!important;position:relative;z-index:2}
.premium-stat[class*="erp-stat-tone-"] span{color:rgba(255,255,255,.92)!important;font-size:10px!important;position:relative;z-index:2}
.premium-stat[class*="erp-stat-tone-"]:before{content:"";position:absolute;width:64px;height:64px;border:11px solid rgba(255,255,255,.10);border-radius:50%;right:13px;top:18px}
.premium-stat[class*="erp-stat-tone-"]:after{content:""!important;position:absolute!important;width:94px!important;height:94px!important;border-radius:50%!important;right:-39px!important;top:auto!important;bottom:-49px!important;background:rgba(255,255,255,.10)!important}

/* Lists: match the compact search/filter/table/action language in the reference. */
.erp-page-list .premium-card>.section-head,.erp-page-list .card>.card-header{background:#fff!important}
.erp-page-list .table td:first-child,.erp-page-list .table th:first-child{padding-left:13px!important}
.erp-page-list .table td:last-child,.erp-page-list .table th:last-child{padding-right:13px!important}
.erp-page-list .table .btn-sm{width:auto;min-width:29px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px}
.erp-page-list .table .btn-sm.btn-light,.erp-page-list .table .btn-sm.btn-outline-secondary{background:#edf6ff!important;border-color:#d7eafa!important;color:#0b7be3!important}
.erp-page-list .table .btn-sm.btn-outline-danger,.erp-page-list .table .btn-sm.btn-danger{background:#fff0f1!important;border-color:#ffd8dc!important;color:#e72c3b!important}
.erp-page-list .table .btn-sm.btn-outline-warning{background:#fff8e6!important;border-color:#ffe5a4!important;color:#b87800!important}
.erp-page-list .table .btn-sm.btn-success,.erp-page-list .table .btn-sm.btn-outline-success{background:#e8f9ef!important;border-color:#caefd9!important;color:#0f9b4c!important}

/* Form/create/edit pages: soft full-width card with compact field rhythm. */
.erp-page-form>.erp-form:not(.d-inline):not(.filter-bar),
.erp-page-form>.premium-card.erp-form,
.erp-page-form .erp-form.premium-card{border:1px solid var(--erp-line)!important;border-radius:9px!important;background:#fff!important;box-shadow:var(--erp-shadow)!important}
.erp-page-form .form-section{margin:0 0 13px!important;background:#f7f9fc!important;color:#172e49!important;font-weight:800!important;border:1px solid #e8edf3!important}
.erp-page-form .row.g-3{--bs-gutter-y:.72rem}
.erp-page-form .text-danger{font-size:9.5px!important}
.erp-page-form .form-check-label{font-size:10.5px!important;color:#4e657c!important}
.erp-page-form .input-group>.btn{font-size:10px!important}

/* Profile pages: reference blue hero followed by tidy cards/tabs/tables. */
.erp-page-profile .profile-hero,.erp-page-profile .student-hero{box-shadow:0 7px 20px rgba(10,112,205,.15)!important;margin-bottom:12px!important}
.erp-page-profile .premium-tabs{position:sticky;top:70px;z-index:15;box-shadow:0 2px 8px rgba(20,40,64,.04)}
.erp-page-profile .detail-grid>div,.erp-page-profile .profile-grid>div{border:1px solid #e7edf3!important;background:#fbfdff!important;border-radius:7px!important;padding:10px!important}

/* Module dashboard surfaces follow the reference's compact white information cards. */
.erp-page-dashboard .premium-card,.erp-page-dashboard .dashboard-panel,.erp-page-dashboard .card{box-shadow:0 4px 14px rgba(20,40,64,.055)!important}
.erp-page-dashboard .section-head,.erp-page-dashboard .card-head,.erp-page-dashboard .card-header{font-weight:800!important;color:#172b47!important}
.erp-page-dashboard .section-head a,.erp-page-dashboard .card-head a{font-size:10px!important;text-decoration:none}
.erp-page-dashboard .quick-link{min-height:40px!important;border-radius:7px!important;margin:2px 5px!important;padding:8px 10px!important}
.erp-page-dashboard .quick-link:hover{background:#f1f7fd!important}

/* Generic page harmonisation: pages that predate premium markup still inherit the
   same visual language, while their server-side forms and links remain untouched. */
.erp-page-wrap .card-header:first-child{border-radius:9px 9px 0 0!important}
.erp-page-wrap .card-footer{background:#fff!important;border-top:1px solid var(--erp-line)!important;font-size:11px!important}
.erp-page-wrap .table-responsive+.card-footer,.erp-page-wrap .table-responsive+.d-flex{background:#fff}
.erp-page-wrap .btn-group>.btn{border-radius:5px!important;margin-right:2px}
.erp-page-wrap .btn-group>.btn:last-child{margin-right:0}
.erp-page-wrap .progress{height:7px;border-radius:999px;background:#edf1f5}.erp-page-wrap .progress-bar{border-radius:999px}
.erp-page-wrap .list-row{min-height:42px!important;padding:9px 13px!important;border-bottom:1px solid #edf1f5!important;font-size:11px!important}.erp-page-wrap .list-row:last-child{border-bottom:0!important}
.erp-page-wrap .empty-state,.erp-page-wrap .text-center.py-5{color:#7c8ea0!important;font-size:11px!important}
.erp-page-wrap .breadcrumb{font-size:10px!important;margin-bottom:0!important}.erp-page-wrap .breadcrumb-item+.breadcrumb-item:before{color:#9aabba}
.erp-page-wrap .offcanvas,.erp-page-wrap .modal-content{font-size:12px}

/* Make dense admin tables scroll rather than distort the layout. */
.erp-page-wrap .table-responsive{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.erp-page-wrap table{min-width:max-content}.erp-page-wrap table.table{width:100%}

/* Reference-sized dashboard stat cards on intermediate breakpoints. */
@media(min-width:768px) and (max-width:1400px){.premium-stat[class*="erp-stat-tone-"]{min-height:100px!important;padding:14px!important}.premium-stat[class*="erp-stat-tone-"] h2{font-size:20px!important}}

/* Student registration wizard — reference five-step rail. */
.step-tabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:0!important;padding:12px 8px 10px!important;position:relative;overflow:visible!important}
.step-tabs:before{content:"";position:absolute;left:10%;right:10%;top:27px;height:2px;background:#d9e3ed;z-index:0}
.step-tabs .nav-item{position:relative;z-index:1;text-align:center}
.step-tabs .nav-link{width:100%;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent!important;border:0!important;color:#8090a2!important;padding:4px 5px!important;font-size:9.5px!important;line-height:1.15!important}
.step-tabs .nav-link:hover{color:#0b83f6!important}.step-tabs .nav-link.active{background:transparent!important;color:#0b83f6!important;font-weight:800!important}
.step-tabs .erp-step-no{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#a7b7c7;color:#fff;font-weight:800;font-size:10px;box-shadow:0 0 0 4px #fff}
.step-tabs .nav-link.active .erp-step-no{background:#0b83f6;box-shadow:0 0 0 4px #eaf5ff}
@media(max-width:800px){.step-tabs{grid-template-columns:repeat(5,120px);overflow-x:auto!important;justify-content:flex-start}.step-tabs:before{display:none}}

/* ============================================================================
   V24 — Reference UI alignment (layout only; no borrowed logos/assets)
   ========================================================================== */
:root{
  --ref-navy:#172a3d;
  --ref-navy-2:#102235;
  --ref-blue:#0c89f4;
  --ref-bg:#f4f8fc;
  --ref-panel:#ffffff;
  --ref-line:#dce6ef;
  --ref-text:#142742;
  --ref-muted:#6b7f94;
  --ref-shadow:0 3px 12px rgba(20,39,66,.055);
}
html,body{min-height:100%;background:var(--ref-bg)!important;color:var(--ref-text)!important}
body.schoolerp-app{font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;font-size:12.5px!important}

/* Shell */
.sidebar{width:228px!important;background:linear-gradient(180deg,var(--ref-navy-2),var(--ref-navy))!important;padding:0 7px 12px!important;border-right:1px solid rgba(255,255,255,.035)!important}
.app-main{margin-left:228px!important;min-height:100vh!important;background:var(--ref-bg)!important}
.erp-brand{height:62px!important;display:flex!important;align-items:center!important;gap:10px!important;padding:0 13px!important;margin:0!important;border-bottom:1px solid rgba(255,255,255,.07)!important;color:#fff!important;text-decoration:none!important}
.erp-brand-glyph{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,#10b8e8,#0a80e9);color:#fff;font-size:16px;box-shadow:0 4px 12px rgba(0,139,244,.26)}
.erp-brand-copy strong{font-size:18px!important;line-height:1!important;letter-spacing:-.02em}.erp-brand-copy small{font-size:7.5px!important;line-height:1.2!important;color:#d9e6f2!important;margin-top:4px!important;display:block!important;letter-spacing:.01em}
.school-chip{margin:8px 7px 7px!important;border:1px solid rgba(255,255,255,.08)!important;background:rgba(255,255,255,.045)!important;border-radius:6px!important;padding:7px 9px!important;color:#d9e6f2!important;font-size:9px!important}
.menu-search-wrap{margin:6px 7px 8px!important;position:relative!important;top:auto!important;border-radius:7px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.08)!important;padding:6px 8px!important}.menu-search{font-size:10px!important}.menu-search-wrap button{font-size:14px!important}
.nav-group{font-size:8px!important;color:#8093a7!important;margin:12px 12px 5px!important;letter-spacing:.11em!important}
.sidebar nav>a,.nav-drop>button{min-height:34px!important;padding:7px 11px!important;margin:0 0 2px!important;border-radius:5px!important;font-size:10.8px!important;color:#edf4fb!important;font-weight:500!important}
.sidebar nav>a>i,.nav-drop>button span i{width:17px!important;font-size:11px!important;color:#fff!important}
.sidebar nav>a:hover,.nav-drop>button:hover,.sidebar nav>a.erp-active,.nav-drop:has(.erp-active)>button{background:linear-gradient(90deg,#1597ff,#067df0)!important;color:#fff!important;box-shadow:0 3px 9px rgba(0,112,231,.24)!important}
.nav-drop-menu{padding-left:10px!important}.sidebar .premium-nav .nav-drop.open .nav-drop-menu{max-height:48vh!important}.nav-drop-menu a{font-size:9.7px!important;padding:6px 10px!important;color:#bdcbd9!important;border-left:1px solid rgba(255,255,255,.11)!important}.nav-drop-menu a.erp-active{color:#fff!important;background:rgba(13,136,244,.15)!important;border-left-color:#1497ff!important}

/* Top bar */
.topbar{height:62px!important;min-height:62px!important;background:#fff!important;border-bottom:1px solid var(--ref-line)!important;padding:0 20px!important;display:flex!important;align-items:center!important;gap:14px!important;box-shadow:0 1px 3px rgba(20,39,66,.02)!important}
.erp-sidebar-toggle{display:inline-grid!important}.erp-top-icon{width:31px!important;height:31px!important;border-radius:6px!important;color:#49647f!important;font-size:12px!important}.erp-top-icon:hover{background:#eff6fc!important;color:var(--ref-blue)!important}
.erp-global-search{width:390px!important;max-width:42vw!important;height:36px!important;border-radius:7px!important;background:#f0f5f9!important;border:1px solid #e5edf4!important;display:flex!important;align-items:center!important;padding:0 10px!important;position:relative!important}
.erp-global-search>i{font-size:11px!important;color:#6f8498!important}.erp-global-search input{height:32px!important;border:0!important;background:transparent!important;font-size:10px!important;color:#304862!important;padding:0 9px!important;width:100%!important;outline:0!important}.erp-global-search button{border:0;background:transparent;color:#8799aa;font-size:10px}.erp-global-results{top:40px!important}
.erp-top-actions{gap:5px!important}.erp-user-menu{min-height:44px!important;padding:3px 4px 3px 8px!important;border:0!important;background:transparent!important;display:flex!important;align-items:center!important;gap:8px!important}.erp-user-avatar{width:31px!important;height:31px!important;border-radius:50%!important;background:#eef3f8!important;color:#4f657d!important;display:grid!important;place-items:center!important}.erp-user-copy strong{font-size:10px!important;color:#1b304a!important}.erp-user-copy small{font-size:8px!important;color:#72869a!important}.erp-user-chevron{font-size:8px!important}

/* Content rhythm */
.erp-page-wrap{padding:18px 20px 16px!important;min-height:calc(100vh - 92px)!important}.erp-footer{height:30px!important;padding:0 20px!important;background:#fff!important;border-top:1px solid var(--ref-line)!important;color:#667b90!important;font-size:9px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
.page-heading,.erp-dashboard-heading{margin:0 0 14px!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important}.page-heading h1,.erp-dashboard-heading h1{margin:0!important;font-size:24px!important;line-height:1.1!important;font-weight:800!important;letter-spacing:-.025em!important;color:#13233e!important}.page-heading p,.erp-dashboard-heading p{margin:5px 0 0!important;font-size:10px!important;color:#657a90!important}.erp-breadcrumb,.breadcrumb{font-size:9px!important;color:#71879b!important}
.premium-card,.erp-dashboard-panel,.card{border:1px solid var(--ref-line)!important;border-radius:8px!important;background:#fff!important;box-shadow:var(--ref-shadow)!important}
.section-head,.card-head,.card-header,.erp-panel-head{min-height:44px!important;padding:11px 14px!important;background:#fff!important;border-bottom:1px solid #e5edf4!important;font-size:13px!important;font-weight:800!important;color:#172d49!important}

/* Reference dashboard cards */
.erp-stat-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:16px!important;margin-bottom:18px!important}.erp-stat{min-height:110px!important;border-radius:8px!important;padding:16px 15px!important;color:#fff!important;display:grid!important;grid-template-columns:46px 1fr!important;grid-template-rows:1fr auto!important;align-items:center!important;box-shadow:0 4px 12px rgba(18,38,63,.06)!important;position:relative!important;overflow:hidden!important}.erp-stat.blue{background:linear-gradient(135deg,#149bf8,#0785ec)!important}.erp-stat.green{background:linear-gradient(135deg,#21c85f,#11ad4e)!important}.erp-stat.amber{background:linear-gradient(135deg,#ffb10c,#ff9800)!important}.erp-stat.purple{background:linear-gradient(135deg,#a93bdd,#8e28ce)!important}.erp-stat.red{background:linear-gradient(135deg,#f04451,#e82b39)!important}.erp-stat.cyan{background:linear-gradient(135deg,#13adb8,#078f9a)!important}.erp-stat-icon{width:38px!important;height:38px!important;border-radius:8px!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.13)!important;font-size:22px!important}.erp-stat strong{display:block!important;font-size:22px!important;line-height:1!important;font-weight:800!important}.erp-stat span{font-size:10px!important;margin-top:5px!important;display:block!important}.erp-stat small{grid-column:2!important;text-align:right!important;font-size:8px!important;color:rgba(255,255,255,.92)!important;align-self:end!important}.erp-stat:after{content:"";position:absolute;width:72px;height:72px;border-radius:50%;right:-32px;bottom:-38px;background:rgba(255,255,255,.08)}
.erp-dashboard-grid{display:grid!important;grid-template-columns:minmax(0,2.15fr) minmax(250px,.9fr) minmax(255px,.9fr)!important;gap:14px!important;margin-bottom:14px!important}.erp-dashboard-panel{overflow:hidden!important}.erp-panel-head{display:flex!important;align-items:center!important;justify-content:space-between!important}.erp-panel-head h3{font-size:14px!important;margin:0!important;font-weight:800!important}.erp-panel-head a{font-size:9px!important;color:#0a82ed!important;text-decoration:none!important}.erp-panel-body{padding:15px!important}.erp-bars{height:280px!important;padding:14px 12px 0!important;border-bottom:1px solid #dce6ef!important;background:repeating-linear-gradient(to top,#fff 0,#fff 39px,#e8eef5 40px)!important}.erp-bars>div{gap:5px!important}.erp-bars i{width:13px!important;border-radius:2px 2px 0 0!important}.erp-bars i:first-child{background:#319cf5!important}.erp-bars i:nth-child(2){background:#f25da9!important}.erp-bars label{font-size:8px!important;color:#526a82!important;margin-top:7px!important}.erp-ring{width:185px!important;height:185px!important;margin:6px auto 14px!important}.erp-ring:before{background:conic-gradient(#18b957 var(--erp-percent),#e6ebf0 0)!important}.erp-ring span strong{font-size:25px!important}.erp-ring span small{font-size:10px!important}.erp-ring-legend{font-size:10px!important;gap:14px!important}.erp-glance{display:flex!important;flex-direction:column!important;gap:9px!important}.erp-glance-row{display:flex!important;align-items:center!important;gap:10px!important;min-height:42px!important}.erp-glance-icon{width:34px!important;height:34px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#e9f6ff!important;color:#0a8bf4!important}.erp-glance-row:nth-child(2) .erp-glance-icon{background:#ffe9eb!important;color:#ec3344!important}.erp-glance-row:nth-child(3) .erp-glance-icon{background:#e9f2ff!important;color:#1685ee!important}.erp-glance-row:nth-child(4) .erp-glance-icon{background:#f1eaff!important;color:#8d3ed1!important}.erp-glance-row b{font-size:13px!important}.erp-glance-row small{font-size:9px!important;color:#6a8094!important}.erp-bottom-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.erp-feed-row{padding:10px 14px!important;min-height:52px!important}.erp-feed-row b{font-size:10px!important}.erp-feed-row small,.erp-feed-row time{font-size:8.5px!important}.erp-quick-grid a{font-size:10px!important}

/* Lists / tables */
.erp-page-list .page-heading{margin-bottom:12px!important}.erp-page-list .premium-card.p-3.mb-3{padding:10px!important;margin-bottom:10px!important}.erp-page-list form.row.g-2{align-items:end!important}.erp-page-list .form-label{font-size:8.5px!important;margin-bottom:4px!important;color:#60758b!important}.erp-page-wrap .form-control,.erp-page-wrap .form-select{min-height:34px!important;border-radius:6px!important;border-color:#dbe5ee!important;font-size:10px!important;padding:.42rem .62rem!important;box-shadow:none!important}.erp-page-wrap .form-control:focus,.erp-page-wrap .form-select:focus{border-color:#6ab5f5!important;box-shadow:0 0 0 2px rgba(12,137,244,.08)!important}.erp-page-wrap .btn{border-radius:5px!important;font-size:10px!important;font-weight:700!important;min-height:33px!important;padding:.42rem .72rem!important}.erp-page-wrap .btn-primary,.erp-page-wrap .btn-premium{background:#0c8cf5!important;border-color:#0c8cf5!important;box-shadow:none!important}.erp-page-wrap .btn-success{background:#18b653!important;border-color:#18b653!important}.erp-page-wrap .table{font-size:9.5px!important;margin:0!important}.erp-page-wrap .table thead th{background:#f6f9fc!important;color:#29415d!important;font-size:8.7px!important;text-transform:none!important;letter-spacing:0!important;padding:9px 9px!important;border-bottom:1px solid #dfe8f0!important;white-space:nowrap!important}.erp-page-wrap .table tbody td{padding:8px 9px!important;border-color:#e8eef4!important;color:#30465d!important}.erp-page-wrap .table tbody tr:hover{background:#f9fcff!important}.erp-page-wrap .table a{color:#0a7fe9!important;text-decoration:none!important}.avatar{width:30px!important;height:30px!important;font-size:9px!important}.status-pill{font-size:8px!important;padding:4px 7px!important;border-radius:999px!important;background:#dff8e8!important;color:#17934a!important}.code-pill{font-size:8px!important;padding:4px 6px!important;border-radius:4px!important}.pagination .page-link{min-width:29px!important;height:29px!important;padding:5px 8px!important;font-size:9px!important;border-radius:5px!important;margin:0 2px!important;color:#48627d!important}.pagination .page-item.active .page-link{background:#0b8df5!important;border-color:#0b8df5!important;color:#fff!important}.smart-grid-toolbar{padding:9px 10px!important;gap:7px!important}.smart-grid-footer{padding:8px 10px!important}.smart-grid-count,.smart-grid-range{font-size:9px!important}

/* Forms, wizard and profiles */
.erp-page-form .premium-card,.erp-page-form .erp-form{border-radius:8px!important}.form-section{border:0!important;border-radius:5px!important;background:#f6f9fc!important;color:#1b334f!important;font-size:11px!important;padding:9px 11px!important}.erp-page-wrap label,.erp-page-wrap .form-label{font-size:9px!important;font-weight:700!important;color:#29425d!important}.erp-page-wrap small,.erp-page-wrap .form-text{font-size:8px!important}.step-tabs{border-bottom:1px solid #e0e8ef!important}.step-tabs .erp-step-no{width:24px!important;height:24px!important;font-size:9px!important}.step-tabs .nav-link{font-size:8px!important}.profile-hero,.student-hero{border-radius:8px!important;padding:20px!important;background:linear-gradient(135deg,#178ef0,#0a6fd0)!important}.profile-hero h2,.student-hero h2{font-size:20px!important}.avatar-lg{width:58px!important;height:58px!important;border-radius:50%!important;display:grid!important;place-items:center!important;color:#0a82ed!important;font-size:20px!important}.profile-hero .badge{font-size:8px!important}.erp-page-profile dl{font-size:9.5px!important}.erp-page-profile .section-head{font-size:11px!important}

/* Modal treatment */
.modal-content{border:0!important;border-radius:9px!important;box-shadow:0 18px 55px rgba(18,37,63,.17)!important}.modal-header{padding:12px 15px!important;border-bottom:1px solid #e3ebf2!important}.modal-header h5,.modal-title{font-size:13px!important;font-weight:800!important}.modal-body{padding:15px!important}.modal-footer{padding:10px 15px!important;border-top:1px solid #e3ebf2!important}

/* Login — same split-screen composition, no copied logo or school photo. */
.erp-login-body{background:#eef5fb!important;overflow:auto!important}.erp-login-shell{min-height:100vh!important;display:grid!important;grid-template-columns:minmax(420px,1.02fr) minmax(520px,.98fr)!important;background:#eef5fb!important}.erp-login-visual{position:relative!important;overflow:hidden!important;padding:42px 44px!important;color:#fff!important;background:linear-gradient(160deg,rgba(3,113,196,.96),rgba(13,91,159,.82) 44%,rgba(13,57,97,.92)),radial-gradient(circle at 75% 25%,#74c9ff 0 8%,transparent 32%),linear-gradient(135deg,#2e98d7,#174969)!important}.erp-login-visual:before{content:"";position:absolute;left:9%;right:9%;bottom:0;height:38%;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.03));clip-path:polygon(0 100%,0 48%,8% 48%,8% 30%,18% 30%,18% 10%,29% 10%,29% 44%,43% 44%,43% 22%,58% 22%,58% 38%,70% 38%,70% 14%,82% 14%,82% 50%,100% 50%,100% 100%);opacity:.45}.erp-login-visual:after{content:"";position:absolute;inset:auto -12% -22% 28%;height:62%;border-radius:50%;background:radial-gradient(circle at 40% 30%,rgba(255,255,255,.18),rgba(255,255,255,0) 58%)}.erp-login-brand{position:relative;z-index:2;display:block!important}.erp-login-brand strong{font-size:25px!important;letter-spacing:-.02em}.erp-login-brand small{display:block!important;font-size:9px!important;margin-top:2px!important;color:#e3f2ff!important}.erp-login-copy{position:relative;z-index:2;margin-top:55px!important;max-width:430px!important}.erp-login-copy h1{font-size:30px!important;line-height:1.13!important;margin:0 0 8px!important;font-weight:800!important}.erp-login-copy p{font-size:15px!important;margin:0 0 21px!important}.erp-login-benefits{display:flex!important;flex-direction:column!important;gap:10px!important}.erp-login-benefits span{font-size:12px!important}.erp-login-benefits i{color:#62e46f!important;margin-right:8px!important}.erp-login-quote{position:absolute!important;z-index:2!important;left:44px!important;bottom:42px!important;font-size:17px!important;font-weight:700!important;font-style:italic!important}.erp-login-school-art{display:none!important}.erp-login-panel{min-height:100vh!important;padding:24px!important;background:#f5f8fb!important;display:grid!important;place-items:center!important}.erp-login-card{width:min(465px,100%)!important;max-height:calc(100vh - 42px)!important;overflow:auto!important;background:#fff!important;border:1px solid #dce6ef!important;border-radius:8px!important;padding:27px 30px!important;box-shadow:0 9px 32px rgba(21,48,77,.10)!important}.erp-login-mini-brand{text-align:center!important;margin-bottom:14px!important;display:block!important}.erp-login-mini-brand strong{font-size:20px!important;color:#132945!important}.erp-login-card h2{font-size:21px!important;text-align:center!important;color:#112640!important}.erp-login-card .login-sub{text-align:center!important;font-size:10px!important;color:#6f8295!important}.erp-login-card .form-label{font-size:9px!important;color:#4b627a!important;margin-bottom:4px!important}.erp-login-card .input-group{border:1px solid #d9e4ed!important;border-radius:6px!important;overflow:hidden!important}.erp-login-card .input-group:focus-within{border-color:#65aff1!important;box-shadow:0 0 0 2px rgba(12,137,244,.07)!important}.erp-login-card .input-group-text{width:38px!important;justify-content:center!important;border:0!important;border-right:1px solid #e0e8ef!important;background:#f2f6fa!important;color:#657d92!important;font-size:10px!important}.erp-login-card .input-group .form-control,.erp-login-card .input-group .btn{border:0!important;border-radius:0!important;min-height:40px!important;font-size:10px!important}.erp-login-card .btn-premium{min-height:38px!important;background:#0a87ef!important;border-radius:5px!important;font-size:11px!important}.demo-login-picker{border-radius:6px!important;padding:10px!important;background:#f7f9fc!important;border:1px solid #e2eaf1!important}.auth-mode-switch{border-radius:6px!important;padding:3px!important;margin-bottom:16px!important}.auth-mode-switch button{padding:8px!important;border-radius:4px!important;font-size:9px!important}.registration-note,.plan-choice{border-radius:6px!important}.plan-choice{padding:10px 11px!important}.plan-price{font-size:10px!important}.erp-registration-scroll{max-height:none!important}.registration-pane .row.g-2{--bs-gutter-y:.45rem!important}

/* Responsive */
@media(max-width:1280px){.erp-stat-grid{grid-template-columns:repeat(3,1fr)!important}.erp-dashboard-grid{grid-template-columns:1.7fr .8fr!important}.erp-dashboard-grid>section:last-child{grid-column:1/-1!important}.erp-bottom-grid{grid-template-columns:1fr 1fr!important}.erp-bottom-grid>section:last-child{grid-column:1/-1!important}}
@media(max-width:1050px){.sidebar{transform:translateX(-100%);z-index:1060}.sidebar.erp-open{transform:translateX(0)}.app-main{margin-left:0!important}.erp-global-search{max-width:none!important;flex:1!important}.erp-login-shell{grid-template-columns:1fr!important}.erp-login-visual{display:none!important}.erp-login-panel{padding:14px!important}.erp-login-card{max-height:none!important}}
@media(max-width:760px){.erp-page-wrap{padding:12px!important}.erp-stat-grid{grid-template-columns:repeat(2,1fr)!important;gap:9px!important}.erp-dashboard-grid,.erp-bottom-grid{grid-template-columns:1fr!important}.erp-dashboard-grid>section:last-child,.erp-bottom-grid>section:last-child{grid-column:auto!important}.erp-global-search{display:none!important}.erp-user-copy{display:none!important}.page-heading,.erp-dashboard-heading{flex-direction:column!important}.erp-page-wrap .table{font-size:9px!important}.erp-page-wrap .table-responsive{overflow-x:auto!important}.erp-login-card{padding:20px!important}}
@media(max-width:460px){.erp-stat-grid{grid-template-columns:1fr!important}.erp-stat{min-height:88px!important}.erp-login-panel{padding:0!important}.erp-login-card{min-height:100vh!important;border-radius:0!important;border:0!important}}

/* ==========================================================================
   V25 readability pass — keep the approved reference layout, improve density
   ========================================================================== */
body.schoolerp-app{font-size:14px!important}
.sidebar nav>a,.nav-drop>button{min-height:38px!important;font-size:12.5px!important;padding:8px 11px!important}
.sidebar nav>a>i,.nav-drop>button span i{font-size:12px!important}
.nav-drop-menu a{font-size:11.5px!important;padding:7px 10px!important}
.school-chip{font-size:10.5px!important}.menu-search{font-size:11.5px!important}
.erp-global-search input{font-size:11.5px!important}.erp-user-copy strong{font-size:11.5px!important}.erp-user-copy small{font-size:9.5px!important}
.page-heading p,.erp-dashboard-heading p{font-size:11.5px!important}.erp-breadcrumb,.breadcrumb{font-size:10.5px!important}
.erp-page-wrap .form-control,.erp-page-wrap .form-select{min-height:39px!important;font-size:12px!important;padding:.5rem .7rem!important}
.erp-page-wrap label,.erp-page-wrap .form-label,.erp-page-list .form-label{font-size:11px!important}
.erp-page-wrap small,.erp-page-wrap .form-text{font-size:9.5px!important}
.erp-page-wrap .btn{min-height:38px!important;font-size:12px!important;padding:.5rem .82rem!important}
.erp-page-wrap .btn.btn-sm{min-height:32px!important;font-size:11px!important;padding:.35rem .6rem!important}
.erp-page-wrap .table{font-size:11.5px!important}.erp-page-wrap .table thead th{font-size:10.8px!important;padding:10px!important}.erp-page-wrap .table tbody td{padding:9px 10px!important}
.section-head,.card-head,.card-header,.erp-panel-head{font-size:14px!important}.status-pill,.code-pill{font-size:9.5px!important}
.pagination .page-link{min-width:32px!important;height:32px!important;font-size:10.5px!important}.smart-grid-count,.smart-grid-range{font-size:10.5px!important}
.erp-login-card .form-label{font-size:11px!important}.erp-login-card .input-group .form-control,.erp-login-card .input-group .btn{font-size:12px!important;min-height:44px!important}.erp-login-card .btn-premium{font-size:13px!important;min-height:42px!important}.erp-login-card .login-sub{font-size:11.5px!important}.auth-mode-switch button{font-size:11px!important}
@media(max-width:760px){.erp-page-wrap .table{font-size:10.8px!important}.erp-page-wrap .btn{font-size:11.5px!important}}


/* V30: keep long role menus readable without overlap. */
.sidebar{overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable;}
.premium-nav{padding-bottom:32px!important;}
.nav-drop>button{width:100%;}
.nav-drop>button span{min-width:0;flex:1;}
.nav-drop>button .fa-chevron-down{flex:0 0 auto;margin-left:8px;}
.sidebar nav>a span,.nav-drop>button span{overflow-wrap:anywhere;}

/* ============================================================================
   V31 complete responsive / Fluent UI pass
   Keeps the existing Aizenexa blue/navy visual language but removes fixed-size
   dashboard collisions and uses Microsoft system UI typography.
   ============================================================================ */
:root{
  --erp-sidebar-width:264px;
  --erp-fluent-font:"Segoe UI",Tahoma,Arial,sans-serif;
  --erp-focus:0 0 0 3px rgba(11,131,246,.16);
}
html,body{max-width:100%;overflow-x:hidden}
body.schoolerp-app{font-family:var(--erp-fluent-font)!important;font-size:14px!important;line-height:1.45!important}
.sidebar{width:var(--erp-sidebar-width)!important;max-width:88vw!important;padding:0 10px 22px!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;scrollbar-gutter:stable!important}
.app-main{margin-left:var(--erp-sidebar-width)!important;min-width:0!important;width:auto!important;max-width:none!important}
.erp-brand{min-height:72px!important;height:auto!important;padding:9px 10px!important;gap:10px!important}
.erp-brand-logo{display:block!important;width:40px!important;height:40px!important;object-fit:contain!important;flex:0 0 40px!important;border-radius:8px!important;background:#fff!important;padding:3px!important;box-shadow:0 4px 16px rgba(0,0,0,.12)!important}
.erp-brand-copy{min-width:0!important}.erp-brand-copy strong{font-size:18px!important;white-space:nowrap!important}.erp-brand-copy small{font-size:9px!important;white-space:normal!important;line-height:1.25!important}
.premium-nav{width:100%!important;min-width:0!important}.nav-drop,.nav-drop>button,.sidebar nav>a{width:100%!important;min-width:0!important}.sidebar nav>a,.nav-drop>button{display:flex!important;align-items:center!important;gap:9px!important;min-height:42px!important;padding:9px 10px!important;font-size:12.5px!important}.nav-drop>button>span,.sidebar nav>a>span{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;flex:1!important;overflow-wrap:anywhere!important}.nav-drop-menu{min-width:0!important;overflow:hidden!important}.sidebar .premium-nav .nav-drop.open .nav-drop-menu{max-height:none!important;overflow:visible!important}.sidebar .premium-nav .nav-drop-menu a{display:block!important;padding:8px 10px 8px 28px!important;font-size:11.5px!important;white-space:normal!important;overflow-wrap:anywhere!important}
.topbar{min-height:64px!important;height:auto!important;padding:8px 18px!important;gap:8px!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important}.erp-global-search{min-width:220px!important;max-width:480px!important;flex:1 1 420px!important;width:auto!important}.erp-top-actions{flex:0 0 auto!important;min-width:0!important}.erp-user-copy{max-width:140px!important}
.erp-page-wrap{width:100%!important;max-width:none!important;min-width:0!important;padding:20px clamp(14px,2vw,28px) 30px!important}.erp-page-wrap>*{min-width:0!important}
.erp-dashboard-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap!important;margin-bottom:18px!important}.erp-dashboard-heading>div:first-child{min-width:0!important;flex:1 1 440px!important}.erp-breadcrumb{flex:0 1 auto!important;white-space:nowrap!important}
.erp-stat-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:14px!important;margin-bottom:18px!important}.erp-stat{height:auto!important;min-height:106px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:0 10px!important;padding:15px!important}.erp-stat-icon{grid-row:1/3!important;width:42px!important;height:42px!important;align-self:center!important}.erp-stat strong{font-size:clamp(19px,1.6vw,25px)!important;overflow:hidden!important;text-overflow:ellipsis!important}.erp-stat span{font-size:10.5px!important;line-height:1.3!important;white-space:normal!important}.erp-stat small{position:static!important;grid-column:2!important;text-align:left!important;margin-top:5px!important;font-size:8.5px!important;opacity:.92!important}
.erp-dashboard-grid{display:grid!important;grid-template-columns:minmax(0,2fr) repeat(2,minmax(260px,.8fr))!important;gap:14px!important;align-items:stretch!important;margin-bottom:14px!important}.erp-dashboard-panel{min-width:0!important;height:100%!important;overflow:hidden!important}.erp-panel-head{height:auto!important;min-height:48px!important;padding:10px 14px!important;gap:10px!important;flex-wrap:wrap!important}.erp-panel-head>div{min-width:0!important}.erp-panel-head h3{line-height:1.25!important}.erp-panel-body{min-width:0!important}.erp-bars{height:250px!important;min-width:0!important;overflow:hidden!important;gap:8px!important}.erp-bars>div{min-width:0!important}.erp-bars label{bottom:-18px!important;transform:translateX(-50%)!important;max-width:64px!important;overflow:hidden!important;text-overflow:ellipsis!important}.erp-ring{position:relative!important;width:min(175px,72%)!important;aspect-ratio:1!important;height:auto!important;background:conic-gradient(#16b957 var(--erp-percent,0%),#e7ebef 0)!important}.erp-ring:before{content:""!important;position:absolute!important;inset:21%!important;width:auto!important;height:auto!important;border-radius:50%!important;background:#fff!important}.erp-ring span{position:relative!important;z-index:2!important}.erp-bottom-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:14px!important;align-items:stretch!important}.erp-quick-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important}.erp-quick-grid a{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;white-space:normal!important;line-height:1.3!important}.erp-quick-grid a i{flex:0 0 18px!important}
.table-responsive{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.erp-table,.table{width:100%!important}.erp-table td,.erp-table th,.table td,.table th{vertical-align:middle!important}.text-nowrap{white-space:nowrap!important}
.modal-dialog{max-width:min(var(--bs-modal-width),calc(100vw - 24px))!important}.modal-dialog.modal-xl{--bs-modal-width:1140px}.modal-content{max-width:100%!important}.modal-body{max-width:100%!important}.modal .row>*{min-width:0!important}.modal .form-control,.modal .form-select{width:100%!important}
.form-control:focus,.form-select:focus,.btn:focus-visible,.nav-link:focus-visible,.sidebar a:focus-visible,.nav-drop>button:focus-visible{box-shadow:var(--erp-focus)!important;outline:0!important}
.erp-row-inactive{opacity:.72!important;background:#f7f9fc!important}.required:after{content:" *";color:#d92d20;font-weight:700}.erp-heading-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}.erp-filterbar{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:10px!important;align-items:end!important}.erp-filterbar>div{min-width:0!important}.erp-filter-action{display:flex!important;align-items:end!important}.erp-filter-action .btn{width:100%!important}
.erp-progress{height:7px!important;background:#e9eef5!important;border-radius:999px!important;overflow:hidden!important}.erp-progress>span{display:block!important;height:100%!important;background:linear-gradient(90deg,#0b83f6,#14b85a)!important;border-radius:inherit!important}.erp-workflow{display:grid!important;gap:8px!important}.erp-workflow-step{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;border:1px solid var(--erp-line)!important;border-radius:9px!important;padding:10px 12px!important;background:#fff!important}.erp-workflow-step.completed{border-left:4px solid #14b85a!important}.erp-workflow-step.progress{border-left:4px solid #0b83f6!important}.erp-workflow-step.failed{border-left:4px solid #ed3342!important}.erp-workflow-step.skipped{border-left:4px solid #9aa6b2!important}.erp-step-number{width:30px!important;height:30px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#edf5ff!important;color:#0879e5!important;font-weight:800!important}.erp-workflow-step strong{display:block!important}.erp-workflow-step small{display:block!important;color:var(--erp-muted)!important;margin-top:2px!important}

@media(max-width:1380px){
  .erp-dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(250px,.85fr)!important}.erp-dashboard-grid>section:last-child{grid-column:1/-1!important}.erp-glance{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}
}
@media(max-width:1050px){
  .sidebar{position:fixed!important;inset:0 auto 0 0!important;transform:translateX(-105%)!important;transition:transform .18s ease!important;box-shadow:12px 0 30px rgba(0,0,0,.22)!important}.sidebar.erp-open{transform:translateX(0)!important}.app-main{margin-left:0!important;width:100%!important}.erp-sidebar-toggle{display:inline-grid!important}.topbar{padding:8px 12px!important}.erp-global-search{min-width:160px!important;flex-basis:300px!important}.erp-user-copy{display:none!important}
}
@media(max-width:820px){
  .topbar{flex-wrap:wrap!important}.erp-global-search{order:3!important;flex:1 0 100%!important;max-width:none!important}.erp-top-actions{margin-left:auto!important}.erp-page-wrap{padding:14px 12px 24px!important}.erp-dashboard-grid{grid-template-columns:1fr!important}.erp-dashboard-grid>section:last-child{grid-column:auto!important}.erp-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.erp-bottom-grid{grid-template-columns:1fr!important}.erp-glance{grid-template-columns:1fr 1fr!important}.erp-bars{height:220px!important}.erp-heading-actions{justify-content:flex-start!important}
}
@media(max-width:560px){
  .erp-stat-grid{grid-template-columns:1fr!important}.erp-stat{min-height:90px!important}.erp-glance{grid-template-columns:1fr!important}.erp-breadcrumb{display:none!important}.erp-top-icon{width:34px!important;height:34px!important}.erp-top-actions .erp-top-icon:nth-of-type(1),.erp-top-actions .erp-top-icon:nth-of-type(3){display:none!important}.erp-user-menu{padding:2px!important}.erp-user-avatar{width:32px!important;height:32px!important}.erp-page-heading,.page-heading,.erp-dashboard-heading{display:block!important}.erp-heading-actions{margin-top:10px!important}.erp-filterbar{grid-template-columns:1fr!important}.modal-dialog{margin:8px!important;max-width:calc(100vw - 16px)!important}.modal-body{padding:12px!important}.erp-workflow-step{grid-template-columns:30px minmax(0,1fr)!important}.erp-workflow-step>.erp-badge{grid-column:2!important;justify-self:start!important}.erp-bars label{display:none!important}
}

/* ================================================================
   V32 Fluent / Bootstrap Ultra Premium responsive refinement
   ================================================================ */
:root{
 --v32-font:"Segoe UI",Tahoma,Arial,sans-serif;
 --v32-blue:#0f6cbd;--v32-blue-2:#115ea3;--v32-navy:#0b2441;--v32-surface:#ffffff;--v32-bg:#f5f8fc;
 --v32-border:#d8e3f0;--v32-shadow:0 10px 30px rgba(15,55,95,.08);--v32-radius:16px;
}
html,body,button,input,select,textarea,.btn,.form-control,.form-select{font-family:var(--v32-font)!important}
.app-main,.erp-page-wrap,.page-wrap,.container-fluid,.row>[class*="col-"]{min-width:0}
.erp-page-wrap{overflow-x:hidden}
.module-tabs,.online-flow-nav,.erp-module-tabs,.exam-shell .module-tabs{display:flex!important;flex-wrap:wrap!important;white-space:normal!important;overflow:visible!important;gap:.5rem!important;padding:.65rem!important;border:1px solid var(--v32-border);border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 5px 18px rgba(15,55,95,.05)}
.module-tabs>a,.online-flow-nav>a,.erp-module-tabs>a{flex:0 0 auto!important;margin:0!important;border-radius:10px!important;min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:.6rem .85rem!important}
.erp-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:linear-gradient(135deg,#fff 0%,#f6faff 100%);border:1px solid var(--v32-border);border-radius:var(--v32-radius);padding:1.15rem 1.25rem;box-shadow:var(--v32-shadow)}
.erp-page-heading h1,.erp-page-heading h2{color:var(--v32-navy);font-weight:750;letter-spacing:-.025em;margin:.1rem 0 .2rem}.erp-page-heading p{color:#5d6f83;margin:0;max-width:850px}.erp-eyebrow{font-size:.72rem;letter-spacing:.09em;font-weight:800;color:var(--v32-blue);margin-bottom:.15rem}.erp-heading-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.premium-card,.erp-panel,.exam-card,.flow-card{border:1px solid var(--v32-border)!important;border-radius:var(--v32-radius)!important;background:#fff!important;box-shadow:var(--v32-shadow)!important;overflow:hidden}
.erp-panel-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1rem 1.1rem;border-bottom:1px solid #e7eef7;background:linear-gradient(180deg,#fff,#fbfdff)}.erp-panel-head h3{font-size:1.05rem;color:var(--v32-navy);font-weight:750;margin:0}.erp-panel-head small{color:#64748b}
.erp-table{--bs-table-bg:transparent}.erp-table thead th{background:#f4f8fd!important;color:#29445f!important;font-size:.76rem;text-transform:uppercase;letter-spacing:.025em;border-bottom:1px solid #dce7f2!important;white-space:nowrap;padding:.8rem}.erp-table tbody td,.erp-table tbody th{padding:.8rem;border-color:#edf2f7;vertical-align:middle}.erp-table td>small,.erp-table th>small{display:block;color:#738398;margin-top:.18rem;font-weight:400}.erp-table tbody tr:hover{background:#f8fbff}
.premium-modal{border:0!important;border-radius:18px!important;box-shadow:0 24px 70px rgba(10,38,70,.24)!important;overflow:hidden}.premium-modal .modal-header{padding:1rem 1.25rem;background:linear-gradient(135deg,#fbfdff,#f2f7fd);border-bottom:1px solid #dce7f2}.premium-modal .modal-title{font-weight:750;color:var(--v32-navy)}.premium-modal .modal-body{padding:1.25rem}.premium-modal .modal-footer{padding:.85rem 1.25rem;background:#fbfdff;border-top:1px solid #e5edf6}
.btn{border-radius:10px;font-weight:650}.btn-primary,.btn-premium{background:linear-gradient(135deg,#0f6cbd,#1677d2)!important;border-color:#0f6cbd!important;box-shadow:0 5px 14px rgba(15,108,189,.18)}.btn-primary:hover,.btn-premium:hover{background:linear-gradient(135deg,#115ea3,#0f6cbd)!important}.form-control,.form-select{border-color:#ccd9e8;border-radius:10px;min-height:42px}.form-control:focus,.form-select:focus{border-color:#4f9fe4;box-shadow:0 0 0 .2rem rgba(15,108,189,.12)}.form-label{font-size:.82rem;font-weight:700;color:#344d67}.form-label.required:after{content:" *";color:#d13438}
.erp-step-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.erp-step-strip>div{display:flex;align-items:center;gap:.65rem;padding:.8rem .9rem;border:1px solid var(--v32-border);background:#fff;border-radius:14px;box-shadow:0 4px 15px rgba(15,55,95,.04)}.erp-step-strip b{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:#e6f2fb;color:#0f6cbd}.erp-step-strip strong,.erp-step-strip small{display:block}.erp-step-strip small{color:#738398;font-size:.74rem}
.erp-callout{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border-radius:12px}.erp-callout i{margin-top:.15rem}.erp-callout strong,.erp-callout span{display:block}.erp-callout span{font-size:.82rem;margin-top:.15rem}.erp-callout.info{background:#eef6fd;color:#174e78;border:1px solid #cfe6f8}.erp-callout.warning{background:#fff8e6;color:#6b4d00;border:1px solid #f2dd9d}
.erp-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .55rem;font-size:.7rem;font-weight:750;background:#eef2f6;color:#526273}.erp-badge.success{background:#e7f6ec;color:#107c41}.erp-badge.info{background:#e6f2fb;color:#0f6cbd}.erp-badge.warning{background:#fff4ce;color:#8a5d00}.erp-badge.danger{background:#fde7e9;color:#a4262c}.erp-badge.muted{background:#edf0f3;color:#65717e}
.timetable-grid{min-width:1000px}.timetable-grid thead th{text-align:center;min-width:132px}.timetable-grid .tt-day{position:sticky;left:0;z-index:2;min-width:105px;background:#f4f8fd!important}.tt-slot{width:100%;min-height:84px;border:1px solid #dce7f2;border-radius:11px;background:#f8fbff;padding:.6rem;text-align:left;color:#183b5b;transition:.16s ease}.tt-slot:hover{border-color:#76b7ec;background:#eff7fd;transform:translateY(-1px);box-shadow:0 5px 15px rgba(15,108,189,.08)}.tt-slot.empty{border-style:dashed;display:grid;place-items:center;color:#0f6cbd}.tt-slot strong,.tt-slot small{display:block}.tt-slot small{font-size:.7rem;color:#687b8f;margin-top:.2rem}.tt-break{text-align:center;background:#fffaf0!important}.tt-break span{display:inline-flex;align-items:center;padding:.35rem .55rem;border-radius:999px;background:#fff1c2;color:#7a5600;font-size:.75rem;font-weight:700}
@media(max-width:1199.98px){.erp-step-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.erp-page-heading{padding:1rem}.erp-heading-actions{width:100%}.erp-heading-actions .btn{flex:1 1 auto}}
@media(max-width:767.98px){.erp-step-strip{grid-template-columns:1fr}.module-tabs,.online-flow-nav,.erp-module-tabs{padding:.5rem!important}.module-tabs>a,.online-flow-nav>a,.erp-module-tabs>a{flex:1 1 calc(50% - .5rem)!important;font-size:.82rem}.erp-page-heading h1,.erp-page-heading h2{font-size:1.35rem}.erp-stat-grid{grid-template-columns:1fr 1fr!important}.premium-modal .modal-body{padding:1rem}.erp-table tbody td,.erp-table tbody th{padding:.65rem}}
@media(max-width:480px){.module-tabs>a,.online-flow-nav>a,.erp-module-tabs>a{flex:1 1 100%!important}.erp-stat-grid{grid-template-columns:1fr!important}.erp-heading-actions .btn{width:100%}}


/* ================================================================
   V32.1 Ultra Premium translucent actions + ready-to-download state
   Solid blue link blocks are intentionally replaced by subtle
   Fluent-style translucent gradients. Form submit buttons keep clear
   semantic emphasis while navigation/actions remain visually lighter.
   ================================================================ */
a.premium-action-link,
.premium-action-link{
  --pal-accent:15,108,189;
  display:inline-flex!important;align-items:center!important;gap:.5rem!important;
  min-height:38px!important;padding:.52rem .82rem!important;border-radius:11px!important;
  border:1px solid rgba(var(--pal-accent),.22)!important;
  background:linear-gradient(135deg,rgba(var(--pal-accent),.105),rgba(255,255,255,.78))!important;
  color:rgb(var(--pal-accent))!important;text-decoration:none!important;font-weight:700!important;
  box-shadow:0 5px 18px rgba(31,64,96,.065),inset 0 1px 0 rgba(255,255,255,.82)!important;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease!important;
}
a.premium-action-link:hover,.premium-action-link:hover{
  transform:translateY(-1px)!important;border-color:rgba(var(--pal-accent),.38)!important;
  background:linear-gradient(135deg,rgba(var(--pal-accent),.17),rgba(255,255,255,.9))!important;
  box-shadow:0 9px 24px rgba(var(--pal-accent),.12),inset 0 1px 0 rgba(255,255,255,.95)!important;
  color:rgb(var(--pal-accent))!important;
}
.premium-action-link.primary{--pal-accent:15,108,189}.premium-action-link.success{--pal-accent:16,124,65}.premium-action-link.warning{--pal-accent:166,104,0}.premium-action-link.danger{--pal-accent:196,43,28}
.premium-action-link.compact{min-height:31px!important;padding:.34rem .58rem!important;border-radius:9px!important;font-size:.76rem!important}.premium-action-link i{font-size:.92em}.premium-action-link.w-100{width:100%!important}
.paper-ready-banner{
 display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;
 padding:1rem 1.1rem;border:1px solid rgba(16,124,65,.2);border-radius:16px;
 background:linear-gradient(120deg,rgba(231,246,236,.88),rgba(242,251,247,.76) 48%,rgba(231,242,253,.72));
 box-shadow:0 12px 30px rgba(16,124,65,.08),inset 0 1px 0 rgba(255,255,255,.9);overflow:hidden;position:relative;
}
.paper-ready-banner:after{content:"";position:absolute;right:-45px;top:-70px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(15,108,189,.08),transparent 68%);pointer-events:none}
.paper-ready-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(16,124,65,.16),rgba(255,255,255,.82));border:1px solid rgba(16,124,65,.2);color:#107c41;font-size:1.25rem;box-shadow:inset 0 1px 0 #fff}
.paper-ready-copy{min-width:0}.paper-ready-kicker{font-size:.68rem;letter-spacing:.11em;font-weight:800;color:#107c41;margin-bottom:.15rem}.paper-ready-copy h4{font-size:1.08rem;margin:0 0 .18rem;color:#173a2a;font-weight:760}.paper-ready-copy p{font-size:.82rem;color:#526b61;margin:0;max-width:820px}.paper-ready-action{position:relative;z-index:1;white-space:nowrap}
.paper-ready-inline{display:inline-flex;align-items:center;gap:.48rem;flex-wrap:wrap;padding:.48rem .7rem;border-radius:10px;background:linear-gradient(135deg,rgba(16,124,65,.10),rgba(255,255,255,.8));border:1px solid rgba(16,124,65,.18);color:#17623c;font-weight:650}.paper-ready-inline a{color:#0f6cbd!important;text-decoration:none!important;font-weight:750}.paper-ready-inline a:hover{text-decoration:underline!important}

/* Fluent-style page/tab links: no solid blue block background. */
.module-tabs a.active,.module-tabs a:hover,.online-flow-nav a.active,.online-flow-nav a:hover,.erp-module-tabs a.active,.erp-module-tabs a:hover{
 background:linear-gradient(135deg,rgba(15,108,189,.105),rgba(255,255,255,.74))!important;
 color:#0f6cbd!important;border:1px solid rgba(15,108,189,.18)!important;box-shadow:0 4px 14px rgba(15,108,189,.07)!important;
}
.erp-page-wrap .table a:not(.btn):not(.premium-action-link){color:#0f6cbd!important;text-decoration:none!important;text-underline-offset:3px}.erp-page-wrap .table a:not(.btn):not(.premium-action-link):hover{text-decoration:underline!important}

@media(max-width:767.98px){.paper-ready-banner{grid-template-columns:auto 1fr}.paper-ready-action{grid-column:1/-1;width:100%;justify-content:center}.premium-action-link{justify-content:center}}

/* V33.2 – Orange/Green premium interaction language */
.btn-primary,.btn-premium{background:linear-gradient(135deg,#168a55 0%,#22a66b 48%,#ef8d32 100%)!important;border-color:rgba(22,138,85,.45)!important;color:#fff!important;box-shadow:0 9px 24px rgba(22,138,85,.16)!important}
.btn-primary:hover,.btn-premium:hover{background:linear-gradient(135deg,#117347 0%,#198f5a 42%,#dd7720 100%)!important;transform:translateY(-1px)}
.btn-outline-primary{color:#14764c!important;border-color:rgba(20,118,76,.42)!important;background:rgba(255,255,255,.72)!important}.btn-outline-primary:hover{color:#fff!important;background:linear-gradient(135deg,#168a55,#ef8d32)!important;border-color:transparent!important}
.premium-action-link.primary{--pal-accent:22,138,85!important}.premium-action-link.warning{--pal-accent:239,141,50!important}.premium-action-link.success{--pal-accent:22,138,85!important}
.manual-paper-setup{position:relative;border:1px solid rgba(22,138,85,.18)!important;box-shadow:0 18px 45px rgba(26,73,55,.08)!important}.manual-paper-setup:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#168a55,#48b579 55%,#ef8d32);border-radius:14px 14px 0 0}
.permission-module-card{background:linear-gradient(145deg,rgba(247,252,249,.96),rgba(255,249,243,.92));border-color:rgba(22,138,85,.14)!important}.permission-row{cursor:pointer;border-radius:10px}.permission-row:hover{background:linear-gradient(90deg,rgba(22,138,85,.07),rgba(239,141,50,.06))}.permission-row .form-check-input:checked{background-color:#168a55;border-color:#168a55}
.modal-dialog-scrollable .modal-body{max-height:calc(100vh - 190px);overflow-y:auto}

/* =====================================================================
   V34 ORANGE + GREEN APPLICATION THEME
   Removes the legacy blue interaction language while preserving semantic
   warning/danger states and responsive behavior.
   ===================================================================== */
:root{
 --erp-sidebar:#12452f;--erp-sidebar-deep:#082f20;--erp-sidebar-muted:#b9d9c8;
 --erp-primary:#168a55;--erp-primary-2:#ef8d32;--erp-text:#173a2a;--erp-muted:#66786d;
 --erp-bg:#f8faf5;--erp-card:#fff;--erp-line:#dfe9df;--erp-soft:#f6faf5;
 --erp-blue:#168a55;--erp-green:#168a55;--erp-amber:#ef8d32;--erp-cyan:#2b9b69;
 --v32-blue:#168a55;--v32-blue-2:#ef8d32;--v32-navy:#173a2a;--v32-bg:#f8faf5;--v32-border:#dce8dd;
 --ref-blue:#168a55;--ref-blue-2:#ef8d32;--ref-navy:#12452f;--ref-navy-2:#082f20;--ref-line:#dfe9df;
 --orange:#ef8d32;--green:#168a55;--deep-green:#0b3a27;--warm:#fffaf4;
}
html,body.schoolerp-app{background:linear-gradient(135deg,#f8faf5 0%,#fffaf4 100%)!important;color:#173a2a!important}
a:not(.btn):not(.dropdown-item){color:#167548}a:not(.btn):not(.dropdown-item):hover{color:#d66f1b}
.sidebar{background:linear-gradient(180deg,#082f20 0%,#12452f 62%,#1d583e 100%)!important;border-right-color:rgba(239,141,50,.18)!important;box-shadow:4px 0 20px rgba(10,58,39,.12)!important}
.erp-brand{border-bottom-color:rgba(255,255,255,.1)!important}.erp-brand-mark{background:linear-gradient(145deg,#2eb878,#ef8d32)!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.75),0 7px 18px rgba(239,141,50,.16)!important}
.school-chip{background:linear-gradient(135deg,rgba(22,138,85,.2),rgba(239,141,50,.12))!important;border-color:rgba(239,141,50,.2)!important}.menu-search-wrap{background:#072719!important;border-color:rgba(239,141,50,.14)!important}
.nav-group{color:#9bc6ad!important}.sidebar nav>a,.nav-drop>button{color:#edf8f1!important}.sidebar nav>a>i,.nav-drop>button span i{color:#ffd4a9!important}.sidebar nav>a:hover,.nav-drop>button:hover,.nav-drop.open>button{background:linear-gradient(90deg,rgba(22,138,85,.28),rgba(239,141,50,.16))!important}.sidebar nav>a.erp-active,.nav-drop-menu a.erp-active,.nav-drop:has(.erp-active)>button{background:linear-gradient(100deg,#168a55 0%,#22a66b 52%,#ef8d32 100%)!important;color:#fff!important;box-shadow:0 7px 18px rgba(22,138,85,.22)!important}.nav-drop-menu a.erp-active{border-left-color:#ef8d32!important;background:linear-gradient(90deg,rgba(22,138,85,.26),rgba(239,141,50,.13))!important}.sidebar .premium-nav .nav-drop-menu a:before{background:#efad69!important}
.topbar{background:rgba(255,255,255,.95)!important;border-bottom-color:#dfe9df!important;box-shadow:0 3px 14px rgba(18,69,47,.045)!important;backdrop-filter:blur(12px)}.erp-top-icon{color:#365f4b!important}.erp-top-icon:hover{background:linear-gradient(135deg,rgba(22,138,85,.1),rgba(239,141,50,.1))!important;color:#168a55!important}.erp-notification-count{position:absolute;right:0;top:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#ef8d32,#d96d19);color:#fff;border:2px solid #fff;font-size:8px;font-weight:900;line-height:1;box-shadow:0 3px 9px rgba(239,141,50,.28)}
.erp-global-search input{background:#f5f8f3!important;border-color:#dce7dc!important}.erp-global-search input:focus{border-color:#56a77c!important;box-shadow:0 0 0 3px rgba(22,138,85,.1)!important}.erp-global-results a:hover,.erp-global-results a.active{background:linear-gradient(90deg,rgba(22,138,85,.09),rgba(239,141,50,.07))!important;color:#146f48!important}.erp-user-menu:hover{background:#f3f8f3!important}.erp-user-avatar{background:linear-gradient(145deg,#e4f5ea,#ffead4)!important;color:#15764b!important;border-color:#d2e7d7!important}
.erp-page-heading{background:linear-gradient(135deg,#fff 0%,#f4faf5 58%,#fff7ef 100%)!important;border-color:#dce8dd!important}.erp-eyebrow{color:#168a55!important}.erp-page-heading h1,.erp-page-heading h2,.page-title,.page-heading h1,.executive-heading h1,.erp-page-title{color:#173a2a!important}.premium-card,.dashboard-panel,.report-card,.soft-panel,.erp-panel,.exam-card,.flow-card{border-color:#dfe9df!important;box-shadow:0 9px 28px rgba(22,86,56,.065)!important}.erp-panel-head,.card-head,.section-head{background:linear-gradient(180deg,#fff,#fbfdf9)!important;border-bottom-color:#e5ede5!important}.erp-table thead th,.table thead th{background:#f3f8f2!important;color:#355c49!important}.erp-table tbody tr:hover,.table-hover tbody tr:hover{background:#fbf8f2!important}
.module-tabs,.online-flow-nav,.erp-module-tabs{border-color:#dce8dd!important;background:rgba(255,255,255,.94)!important}.module-tabs a.active,.module-tabs a:hover,.online-flow-nav a.active,.online-flow-nav a:hover,.erp-module-tabs a.active,.erp-module-tabs a:hover{background:linear-gradient(135deg,rgba(22,138,85,.12),rgba(239,141,50,.10))!important;color:#15764b!important;border-color:rgba(22,138,85,.2)!important;box-shadow:0 4px 14px rgba(22,138,85,.08)!important}
.btn{transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease,filter .18s ease!important}.btn-primary,.btn-premium{position:relative;overflow:hidden;background:linear-gradient(110deg,#168a55 0%,#2cad72 38%,#ef8d32 68%,#168a55 100%)!important;background-size:220% 100%!important;border-color:rgba(22,138,85,.42)!important;color:#fff!important;box-shadow:0 9px 24px rgba(22,138,85,.17)!important;animation:erpGradientShift 6s ease infinite}.btn-primary:hover,.btn-premium:hover{opacity:.94!important;transform:translateY(-1px) scale(1.01)!important;filter:saturate(1.08);box-shadow:0 12px 28px rgba(22,138,85,.21)!important}.btn-primary:active,.btn-premium:active{transform:translateY(0) scale(.985)!important;opacity:.88!important}.btn-outline-primary{color:#15764b!important;border-color:rgba(22,138,85,.36)!important;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,247,239,.8))!important}.btn-outline-primary:hover{color:#fff!important;border-color:transparent!important;background:linear-gradient(135deg,#168a55,#ef8d32)!important}.btn-link{color:#15764b!important}.form-control,.form-select,.input-group-text{border-color:#d3dfd4!important}.form-control:focus,.form-select:focus{border-color:#5aae82!important;box-shadow:0 0 0 .2rem rgba(22,138,85,.11)!important}.form-check-input:checked{background-color:#168a55!important;border-color:#168a55!important}
.erp-badge.info,.badge.bg-primary,.text-bg-primary{background:#e5f4ea!important;color:#146f48!important}.text-primary{color:#168a55!important}.border-primary{border-color:#58aa7e!important}.bg-primary{background-color:#168a55!important}.progress-bar{background:linear-gradient(90deg,#168a55,#ef8d32)!important}
.assistant-fab{background:linear-gradient(145deg,#168a55,#ef8d32)!important;box-shadow:0 12px 30px rgba(22,138,85,.24)!important;animation:erpFabPulse 3s ease-in-out infinite}.assistant-fab:hover{transform:translateY(-3px) rotate(-3deg)!important}
/* Alerts */
.erp-alert-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.erp-alert-summary>div{background:linear-gradient(145deg,#fff,#f7fbf6);border:1px solid #dce8dd;border-radius:13px;padding:.85rem 1rem;box-shadow:0 6px 18px rgba(22,86,56,.05)}.erp-alert-summary b{display:block;font-size:1.35rem;color:#168a55}.erp-alert-summary span{font-size:.74rem;color:#66786d}.erp-alert-card{position:relative;overflow:hidden}.erp-alert-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#168a55}.erp-alert-card.warning:before{background:#ef8d32}.erp-alert-card.danger:before,.erp-alert-card.error:before{background:#c53a37}.erp-alert-card.success:before{background:#168a55}.erp-alert-card.is-unread{background:linear-gradient(135deg,#fff,#f7fbf6 58%,#fff8f0)!important}.erp-alert-card.is-read{opacity:.88}.erp-alert-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#e5f4ea,#fff0df);color:#168a55;font-size:1.1rem}.erp-alert-card.warning .erp-alert-icon{color:#c76618}.erp-alert-card.danger .erp-alert-icon,.erp-alert-card.error .erp-alert-icon{color:#b83232;background:#fdeaea}.erp-unread-chip{font-size:.62rem;font-weight:900;letter-spacing:.08em;background:linear-gradient(135deg,#168a55,#2ca56f);color:#fff;padding:.18rem .42rem;border-radius:999px}.min-w-0{min-width:0}
/* Login: orange/green animated, still collapses cleanly on mobile. */
body.erp-login-body{background:linear-gradient(135deg,#0a3926,#f4a65f)!important}.erp-login-shell{background:#f8faf5!important}.erp-login-visual{background:radial-gradient(circle at 18% 18%,rgba(255,190,105,.42),transparent 22%),radial-gradient(circle at 82% 72%,rgba(49,181,116,.35),transparent 28%),linear-gradient(145deg,#0a3926 0%,#147a4c 48%,#e7832c 100%)!important;isolation:isolate}.erp-login-visual:before{background:linear-gradient(145deg,transparent 20%,rgba(255,255,255,.12) 21%,rgba(255,183,102,.16) 49%,transparent 72%)!important;animation:erpLoginGlow 9s ease-in-out infinite alternate}.erp-login-visual:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-80px;top:12%;background:radial-gradient(circle,rgba(255,211,163,.26),transparent 68%);animation:erpFloat 7s ease-in-out infinite;z-index:-1}.erp-login-panel{background:linear-gradient(145deg,#f8faf5,#fff8f0)!important}.erp-login-card{border:1px solid #dfe9df!important;border-radius:18px!important;box-shadow:0 24px 60px rgba(10,58,39,.16)!important;animation:erpCardEnter .7s cubic-bezier(.2,.8,.2,1) both}.erp-login-card .demo-login-picker{background:linear-gradient(135deg,#f3faf5,#fff5ea)!important;border:1px solid #e0eadf}.auth-mode-switch button.active{background:linear-gradient(135deg,#168a55,#ef8d32)!important;color:#fff!important}.plan-choice:has(input:checked){border-color:#49a979!important;background:linear-gradient(135deg,#f3faf5,#fff7ef)!important;box-shadow:0 6px 18px rgba(22,138,85,.08)}
@keyframes erpGradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes erpFabPulse{0%,100%{box-shadow:0 12px 30px rgba(22,138,85,.23)}50%{box-shadow:0 14px 36px rgba(239,141,50,.28)}}
@keyframes erpLoginGlow{from{transform:translate3d(-2%,0,0) skewY(-4deg);opacity:.55}to{transform:translate3d(3%,-2%,0) skewY(-7deg);opacity:.9}}
@keyframes erpFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(24px) scale(1.06)}}
@keyframes erpCardEnter{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:767.98px){.erp-alert-summary{grid-template-columns:1fr 1fr}.erp-alert-card .btn{flex:1 1 auto}.erp-login-panel{padding:14px!important}.erp-login-card{border-radius:15px!important}}
@media(max-width:480px){.erp-alert-summary{grid-template-columns:1fr 1fr}.erp-notification-count{right:-2px}.erp-page-heading .erp-heading-actions form,.erp-page-heading .erp-heading-actions .form-select{width:100%}}
@media(prefers-reduced-motion:reduce){.btn-primary,.btn-premium,.assistant-fab,.erp-login-card,.erp-login-visual:before,.erp-login-visual:after{animation:none!important;transition:none!important}}
/* V34 final palette sweep: legacy dashboard/chart/link variants now stay inside orange/green. */
.erp-stat.blue,.erp-stat.green{background:linear-gradient(135deg,#168a55,#2fb878)!important}
.erp-stat.amber,.erp-stat.purple{background:linear-gradient(135deg,#ef8d32,#f2a65f)!important}
.erp-stat.cyan{background:linear-gradient(135deg,#247e55,#168a55)!important}
.erp-stat.red{background:linear-gradient(135deg,#d66f1b,#ef8d32)!important}
.erp-panel-head a,.paper-ready-inline a,.erp-page-wrap .table a:not(.btn):not(.premium-action-link){color:#15764b!important}
.erp-panel-head a:hover,.paper-ready-inline a:hover,.erp-page-wrap .table a:not(.btn):not(.premium-action-link):hover{color:#d66f1b!important}
.erp-bars i:first-child{background:#168a55!important}.erp-bars i:nth-child(2){background:#ef8d32!important}
.erp-glance-icon{background:#e8f5eb!important;color:#168a55!important}
.paper-ready-banner:after{background:radial-gradient(circle,rgba(239,141,50,.10),transparent 68%)!important}
.badge.bg-info,.text-bg-info{background:#e7f4ea!important;color:#15764b!important}.text-info{color:#168a55!important}
/* Assistant conversation uses the same green/orange language instead of Bootstrap blue alerts. */
.assistant-shell{overflow:hidden}.assistant-quick-prompts{display:flex;gap:.5rem;flex-wrap:wrap;background:linear-gradient(135deg,#f5faf5,#fff8f0)}
.assistant-quick-prompts button{border:1px solid #d9e7db;background:#fff;color:#176c48;border-radius:999px;padding:.42rem .7rem;font-size:.75rem;font-weight:750;transition:.18s ease}.assistant-quick-prompts button:hover{border-color:#ef8d32;background:linear-gradient(135deg,#edf8f0,#fff1e2);transform:translateY(-1px)}
.assistant-bubble{border-radius:15px;padding:.72rem .9rem;box-shadow:0 5px 16px rgba(22,86,56,.055);line-height:1.45}.assistant-user{background:linear-gradient(135deg,#168a55,#2ba66d);color:#fff;border-bottom-right-radius:5px}.assistant-bot{background:linear-gradient(135deg,#fff,#f7fbf6 62%,#fff8f0);color:#294a39;border:1px solid #dce8dd;border-bottom-left-radius:5px}.assistant-bubble b{display:block;font-size:.72rem;margin-bottom:.18rem;letter-spacing:.02em}.alert-primary{background:#e8f5eb!important;border-color:#cde5d4!important;color:#195b3d!important}
@media(max-width:575.98px){.assistant-ask-form{align-items:stretch}.assistant-ask-form .form-control{font-size:1rem}.assistant-bubble{max-width:92%!important}.assistant-quick-prompts{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.7rem!important}.assistant-quick-prompts button{white-space:nowrap}}

/* V35 testable mobile preview from the desktop top bar. */
@media (min-width:1051px){
 body.erp-mobile-preview{background:linear-gradient(135deg,rgba(23,119,72,.12),rgba(242,145,32,.14));}
 body.erp-mobile-preview .app-main{width:430px;max-width:430px;margin:18px auto;min-height:calc(100vh - 36px);border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(20,64,45,.22);background:#f7fbf8;}
 body.erp-mobile-preview #erpSidebar{position:fixed;left:calc(50% - 215px);top:18px;bottom:18px;width:290px;z-index:1056;transform:translateX(-105%);transition:.25s ease;}
 body.erp-mobile-preview #erpSidebar.erp-open{transform:translateX(0);}
 body.erp-mobile-preview .erp-global-search{min-width:0;max-width:170px;}
 body.erp-mobile-preview .erp-user-copy,body.erp-mobile-preview .erp-user-chevron{display:none;}
 body.erp-mobile-preview .page-wrap{padding:14px!important;}
 body.erp-mobile-preview .row>[class*="col-"]{width:100%;max-width:100%;flex:0 0 100%;}
 body.erp-mobile-preview .erp-top-actions{gap:2px;}
 body.erp-mobile-preview table{font-size:.82rem;}
}
body.erp-mobile-preview #mobileViewToggle{background:linear-gradient(135deg,#18864f,#f28f20);color:#fff;border-color:transparent;}

/* =============================================================================
   V36 AIZENEXA ULTRA-PREMIUM THEME
   Palette source: supplied AIZENEXA logo (midnight/navy + cobalt/electric blue
   + cyan + white). Orange/green are intentionally removed from the product
   chrome. Red is retained only for destructive/error semantics.
   ============================================================================= */
:root{
  --aiz-ink:#030a18;--aiz-navy:#06162d;--aiz-navy-2:#0a2348;--aiz-blue:#075dff;
  --aiz-royal:#0048d8;--aiz-electric:#008cff;--aiz-cyan:#2ccaff;--aiz-ice:#eaf5ff;
  --aiz-line:#d8e7fb;--aiz-bg:#f4f8ff;--aiz-card:#ffffff;--aiz-text:#071933;--aiz-muted:#65758f;
  --erp-sidebar:var(--aiz-navy-2);--erp-sidebar-deep:var(--aiz-ink);--erp-primary:var(--aiz-blue);
  --erp-primary-2:var(--aiz-royal);--erp-blue:var(--aiz-electric);--erp-green:var(--aiz-blue);
  --erp-amber:var(--aiz-cyan);--erp-purple:#174ab5;--erp-cyan:var(--aiz-cyan);--erp-bg:var(--aiz-bg);
  --erp-card:var(--aiz-card);--erp-line:var(--aiz-line);--erp-soft:#f8fbff;--erp-text:var(--aiz-text);
  --erp-muted:var(--aiz-muted);--erp-radius:16px;--erp-shadow:0 10px 35px rgba(5,38,89,.065);
  --bs-primary:#075dff;--bs-primary-rgb:7,93,255;--bs-success:#075dff;--bs-success-rgb:7,93,255;
  --bs-warning:#2ccaff;--bs-warning-rgb:44,202,255;
}
html,body.schoolerp-app{background:radial-gradient(circle at 82% -15%,rgba(44,202,255,.09),transparent 29%),linear-gradient(180deg,#f8fbff,#f2f7ff 48%,#f6f9ff)!important;color:var(--aiz-text)!important}
body.schoolerp-app:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(7,93,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(7,93,255,.018) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 72%)}
.sidebar{background:radial-gradient(circle at 15% 0,rgba(0,140,255,.28),transparent 30%),linear-gradient(178deg,#020916 0%,#06162d 46%,#082b5e 118%)!important;border-right:1px solid rgba(75,170,255,.16)!important;box-shadow:14px 0 44px rgba(1,12,34,.13)!important}
.erp-brand{min-height:76px!important;background:linear-gradient(90deg,rgba(255,255,255,.035),rgba(0,140,255,.04))!important}.erp-brand-logo{width:45px!important;height:45px!important;object-fit:contain!important;filter:drop-shadow(0 8px 18px rgba(0,100,255,.25))}.erp-brand-copy strong{font-size:19px!important;letter-spacing:.015em!important}.erp-brand-copy small{color:#bcd8ff!important;font-size:8.5px!important}
.school-chip{background:linear-gradient(135deg,rgba(12,74,157,.42),rgba(0,140,255,.11))!important;border-color:rgba(87,176,255,.18)!important;color:#e6f3ff!important}.menu-search-wrap{background:rgba(0,8,24,.54)!important;border-color:rgba(87,176,255,.17)!important}.menu-search{color:#fff!important}.menu-search::placeholder{color:#83a4c9!important}
.sidebar nav>a,.nav-drop>button{border:1px solid transparent!important;color:#d8eaff!important;transition:transform .16s ease,background .16s ease,border-color .16s ease!important}.sidebar nav>a:hover,.nav-drop>button:hover,.nav-drop.open>button{background:linear-gradient(90deg,rgba(7,93,255,.20),rgba(44,202,255,.07))!important;border-color:rgba(73,169,255,.15)!important;transform:translateX(2px)!important}.sidebar nav>a.erp-active,.nav-drop-menu a.erp-active{background:linear-gradient(110deg,#0b2d69,#075dff 66%,#0aa8ff)!important;box-shadow:0 10px 28px rgba(0,78,255,.28)!important;color:#fff!important;border-color:rgba(125,205,255,.32)!important}.sidebar .premium-nav .nav-drop-menu a:before{background:#42caff!important}.nav-group{color:#6e9dd0!important}
.topbar{background:rgba(255,255,255,.91)!important;backdrop-filter:blur(18px) saturate(150%);border-bottom:1px solid rgba(128,172,230,.25)!important;box-shadow:0 5px 24px rgba(15,57,110,.045)!important}.erp-top-icon{color:#173a6d!important;border:1px solid transparent!important}.erp-top-icon:hover,#mobileViewToggle[aria-pressed="true"]{background:linear-gradient(135deg,#e9f3ff,#dff6ff)!important;color:#075dff!important;border-color:#cce3ff!important}.erp-user-avatar{background:linear-gradient(145deg,#edf6ff,#d6efff)!important;color:#075dff!important;border-color:#c5e2ff!important}.erp-global-search input{background:linear-gradient(180deg,#f8fbff,#f2f7ff)!important;border-color:#dce9fb!important}.erp-global-search input:focus{border-color:#8acbff!important;box-shadow:0 0 0 4px rgba(7,93,255,.075)!important}.erp-global-results{border-color:#d6e6fb!important;box-shadow:0 22px 58px rgba(5,34,78,.15)!important}.erp-global-results a:hover{background:linear-gradient(90deg,#edf5ff,#eafaff)!important;color:#075dff!important}
.erp-page-wrap{padding:22px 24px 30px!important}.erp-page-heading h1,.page-title,.page-heading h1,.executive-heading h1,.erp-page-title{color:#061a38!important;font-weight:900!important;letter-spacing:-.03em!important}.erp-eyebrow{color:#075dff!important;font-weight:900!important;letter-spacing:.16em!important}.erp-page-heading p,.page-heading p,.subtle,.executive-heading p{color:#65758f!important}
.premium-card,.dashboard-panel,.report-card,.soft-panel,.loan-policy,.invoice-sheet,.card:not(.pricing-card-v18),.erp-panel{border:1px solid rgba(143,182,229,.30)!important;border-radius:18px!important;background:rgba(255,255,255,.93)!important;box-shadow:0 10px 38px rgba(5,38,89,.065)!important}.premium-card:hover{box-shadow:0 18px 52px rgba(5,38,89,.10)!important;border-color:rgba(76,149,242,.30)!important}.card-head,.section-head,.panel-title,.card-header{background:linear-gradient(180deg,#fff,#fbfdff)!important;border-bottom-color:#e3edf9!important}
.module-tabs,.erp-module-tabs{border:1px solid #d8e7fb!important;border-radius:16px!important;background:rgba(255,255,255,.90)!important;box-shadow:0 8px 24px rgba(9,49,102,.05)!important}.module-tabs a,.erp-module-tabs a{color:#234873!important}.module-tabs a.active,.module-tabs a:hover,.erp-module-tabs a.active,.erp-module-tabs a:hover{background:linear-gradient(135deg,#eaf3ff,#e7f9ff)!important;color:#075dff!important;box-shadow:inset 0 0 0 1px #c8e2ff!important}
.btn{border-radius:11px!important;font-weight:800!important;letter-spacing:.005em!important;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;position:relative;overflow:hidden}.btn:not(:disabled):hover{transform:translateY(-1px)!important}.btn-primary,.btn-premium,.btn-success{background:linear-gradient(125deg,#061a39 0%,#075dff 62%,#0aa9ff 118%)!important;border:1px solid rgba(7,93,255,.28)!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.24)!important;box-shadow:0 9px 22px rgba(0,82,230,.20)!important}.btn-primary:hover,.btn-premium:hover,.btn-success:hover{filter:brightness(1.07)!important;color:#fff!important;box-shadow:0 13px 30px rgba(0,82,230,.27)!important}.btn-outline-primary,.btn-outline-success{border-color:#a9d1ff!important;color:#075dff!important;background:#f7fbff!important}.btn-outline-primary:hover,.btn-outline-success:hover{background:#e9f4ff!important;color:#0649c6!important}.btn-light,.btn-secondary{background:linear-gradient(180deg,#fff,#f2f7ff)!important;border:1px solid #d6e5f8!important;color:#173c70!important;box-shadow:0 4px 12px rgba(13,54,104,.04)!important}.btn-light:hover,.btn-secondary:hover{background:#eaf4ff!important;color:#075dff!important}.btn-warning,.btn-outline-warning{background:#edf9ff!important;border-color:#a8e5ff!important;color:#07507f!important}.btn-danger,.btn-outline-danger{background:#fff7f8!important;border-color:#ffcbd0!important;color:#bd2332!important}.btn-danger:hover,.btn-outline-danger:hover{background:#c92c3b!important;color:#fff!important}.btn i{color:inherit!important}
/* Never allow a dark/blue text layer to cover button labels. */
.btn-primary *,.btn-premium *,.btn-success *{color:#fff!important}.btn:before{pointer-events:none!important}
.form-control,.form-select,.input-group-text{border-radius:12px!important;border-color:#d8e5f6!important;background-color:#fff!important;color:#0d2447!important;min-height:40px!important}.form-control:focus,.form-select:focus{border-color:#69b9ff!important;box-shadow:0 0 0 4px rgba(7,93,255,.075)!important}.form-control::placeholder{color:#96a5b9!important}.form-label{color:#18375f!important;font-weight:800!important}.form-check-input:checked{background-color:#075dff!important;border-color:#075dff!important}
.table-premium,.premium-table,.erp-table{border-color:#e3edf9!important}.table-premium thead th,.premium-table thead th,.erp-table thead th{background:linear-gradient(180deg,#f7faff,#edf4ff)!important;color:#14345f!important;border-bottom:1px solid #d5e4f7!important}.table-premium tbody tr:hover,.premium-table tbody tr:hover,.erp-table tbody tr:hover{background:#f5faff!important}.erp-empty{color:#7588a4!important;background:#fbfdff!important;padding:26px 16px!important;text-align:center!important}
.erp-stat,.kpi-card,.premium-stat{border-radius:18px!important;border:1px solid rgba(136,180,235,.27)!important;box-shadow:0 10px 30px rgba(8,47,100,.065)!important}.erp-stat-icon{background:linear-gradient(135deg,#e7f2ff,#e5faff)!important;color:#075dff!important}.erp-kpi-tone-0,.erp-kpi-tone-1,.erp-kpi-tone-2,.erp-kpi-tone-3,.erp-kpi-tone-4,.erp-kpi-tone-5,.premium-stat[class*="erp-stat-tone-"]{background:linear-gradient(135deg,#071a39 0%,#075dff 69%,#14b8ff 125%)!important;color:#fff!important}.premium-stat[class*="erp-stat-tone-"] small,.premium-stat[class*="erp-stat-tone-"] h2,.premium-stat[class*="erp-stat-tone-"] span{color:#fff!important}
.erp-badge.is-success,.badge.bg-success,.text-bg-success,.bg-success{background:#e7f3ff!important;color:#075dff!important;border-color:#bddcff!important}.erp-badge.is-warning,.badge.bg-warning,.text-bg-warning,.bg-warning{background:#e8faff!important;color:#07507f!important;border-color:#b8eaff!important}.text-success{color:#075dff!important}.text-warning{color:#0873a8!important}.alert-success{background:#edf6ff!important;border-color:#cbe2ff!important;color:#164d8d!important}.alert-warning{background:#ecfaff!important;border-color:#bfeaff!important;color:#16506f!important}
.erp-notification-count{position:absolute;right:1px;top:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#075dff!important;color:#fff!important;border:2px solid #fff;font-size:9px;font-weight:900;box-shadow:0 4px 12px rgba(7,93,255,.28)}
/* Long dialogs are always scrollable; headers/footers remain reachable. */
.modal-dialog{margin-top:12px!important;margin-bottom:12px!important}.modal-content{max-height:calc(100dvh - 24px)!important;overflow:hidden!important;border-radius:20px!important;border-color:#d7e6f8!important;box-shadow:0 28px 80px rgba(2,25,66,.22)!important}.modal-header{flex:0 0 auto;background:linear-gradient(180deg,#fff,#f8fbff)!important;border-bottom:1px solid #e0ebf8!important}.modal-body{overflow-y:auto!important;overscroll-behavior:contain!important;min-height:0!important}.modal-footer{flex:0 0 auto;background:#fbfdff!important;border-top:1px solid #e2ecf8!important}.modal-backdrop.show{opacity:.42!important;background:#031126!important}
/* Mobile drawer + preview: identical navigation behavior and a tappable backdrop. */
.erp-sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(2,10,28,.55);backdrop-filter:blur(3px);z-index:1054}.erp-sidebar-open .erp-sidebar-backdrop{display:block}
@media(max-width:1050px){
  .sidebar{width:min(320px,86vw)!important;position:fixed!important;inset:0 auto 0 0!important;transform:translateX(-105%)!important;z-index:1056!important;overflow-y:auto!important}.sidebar.erp-open{transform:translateX(0)!important}.app-main{margin-left:0!important}.erp-sidebar-toggle{display:inline-grid!important}.topbar{padding:7px 10px!important}.erp-page-wrap{padding:14px!important}.erp-global-search{min-width:0!important;max-width:none!important;flex:1!important}.erp-user-copy,.erp-user-chevron{display:none!important}.erp-top-actions .erp-top-icon:nth-of-type(n+4){display:none}
  .module-tabs,.erp-module-tabs{overflow-x:auto!important;white-space:nowrap!important;flex-wrap:nowrap!important}.module-tabs a,.erp-module-tabs a{flex:0 0 auto!important}
}
body.erp-mobile-preview{background:linear-gradient(145deg,#e8f1ff,#f9fcff)!important;padding:18px!important}
body.erp-mobile-preview .app-main{width:430px!important;max-width:calc(100vw - 36px)!important;margin:0 auto!important;min-height:calc(100vh - 36px)!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 30px 90px rgba(3,31,80,.23)!important;background:#f5f9ff!important}
body.erp-mobile-preview #erpSidebar{position:fixed!important;left:calc(50% - min(215px,calc((100vw - 36px)/2)))!important;top:18px!important;bottom:18px!important;width:min(320px,78vw)!important;transform:translateX(-110%)!important;z-index:1056!important}
body.erp-mobile-preview #erpSidebar.erp-open{transform:translateX(0)!important}
body.erp-mobile-preview .erp-sidebar-toggle{display:inline-grid!important}body.erp-mobile-preview .erp-global-search{min-width:0!important;max-width:160px!important}body.erp-mobile-preview .erp-user-copy,body.erp-mobile-preview .erp-user-chevron{display:none!important}body.erp-mobile-preview .page-wrap{padding:14px!important}body.erp-mobile-preview .row>[class*="col-"]{width:100%!important;max-width:100%!important;flex:0 0 100%!important}body.erp-mobile-preview #mobileViewToggle{background:linear-gradient(135deg,#071a39,#075dff 65%,#0aa8ff)!important;color:#fff!important;border-color:transparent!important}
/* Timetable workspace */
.timetable-heading{background:linear-gradient(120deg,rgba(255,255,255,.97),rgba(234,245,255,.94))!important;border:1px solid #d6e6fa!important;border-radius:22px!important;padding:22px!important;box-shadow:0 12px 38px rgba(6,45,100,.07)!important}.timetable-action-grid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:14px}.tt-action-card{overflow:hidden}.tt-action-head{padding:16px;border-bottom:1px solid #e2ecf8}.tt-action-head>div{display:flex;align-items:center;gap:12px}.tt-action-head h3{font-size:14px;margin:0;color:#0b2852}.tt-action-head small{color:#71829b}.tt-action-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#e6f2ff,#e5fbff);color:#075dff}.tt-availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.premium-check{display:flex;gap:10px;align-items:flex-start;border:1px solid #dce9f8;border-radius:13px;padding:11px;background:#fbfdff}.premium-check span{display:flex;flex-direction:column}.premium-check small{color:#7586a0}.tt-slot{width:100%;min-width:125px;min-height:72px;border:1px solid #d7e5f6;border-radius:12px;background:#fff;text-align:left;padding:10px;color:#0c2a55}.tt-slot.filled{background:linear-gradient(145deg,#f2f7ff,#ecfaff);border-color:#bcdcff}.tt-slot.empty{border-style:dashed;color:#6e83a0}.tt-slot small{display:block;margin-top:5px;color:#60738e}.tt-break{background:#f4f7fb!important;color:#7b8b9d!important;text-align:center;vertical-align:middle!important}.erp-callout.info{background:linear-gradient(135deg,#eff6ff,#e9faff)!important;border:1px solid #c9e5ff!important;color:#174a82!important}
@media(max-width:1100px){.timetable-action-grid{grid-template-columns:1fr}.timetable-heading{padding:16px!important}}

/* V36.1 complete offline timetable workflow */
.offline-workflow-card{background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(239,247,255,.96));border:1px solid #cfe1fb!important}
.tt-workflow-grid{display:grid;grid-template-columns:repeat(9,minmax(120px,1fr));gap:9px;overflow-x:auto;padding-bottom:3px}
.tt-workflow-grid>a{min-width:128px;display:flex;gap:9px;align-items:center;padding:11px;border:1px solid #d8e6f8;border-radius:14px;background:#fff;text-decoration:none;color:#0b2852;box-shadow:0 6px 16px rgba(7,63,139,.045);transition:.16s ease}
.tt-workflow-grid>a:hover{transform:translateY(-2px);border-color:#71a8ff;box-shadow:0 10px 22px rgba(0,92,230,.10)}
.tt-workflow-grid>a>b{flex:0 0 28px;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#071a3a,#075dff);color:#fff;font-size:.75rem}
.tt-workflow-grid>a span{display:flex;flex-direction:column;line-height:1.2}.tt-workflow-grid>a strong{font-size:.76rem}.tt-workflow-grid>a small{font-size:.66rem;color:#7487a2;margin-top:3px}
@media(max-width:900px){.tt-workflow-grid{grid-template-columns:repeat(9,minmax(145px,145px))}}

/* =====================================================================
   V36.3 ULTRA PREMIUM BALANCED THEME
   Retains V36.1 structure while replacing the blue-only/green-orange button
   language with a professional multi-colour visual system.
   ===================================================================== */
:root{
 --up-ink:#13233f;--up-muted:#667a96;--up-blue:#2584e8;--up-teal:#13a6a2;
 --up-green:#20a765;--up-amber:#f0a62f;--up-orange:#ee7d32;--up-red:#e6535f;
 --up-purple:#7456d8;--up-violet:#5739b6;--up-cyan:#2bb9d6;--up-card:#fff;
}
html,body.schoolerp-app{background:radial-gradient(circle at 88% -4%,rgba(43,185,214,.08),transparent 30%),linear-gradient(145deg,#f7f9fc,#f4f7fb)!important;color:var(--up-ink)!important}
/* Keep the established dark sidebar but give active states a restrained premium accent. */
.sidebar{background:linear-gradient(180deg,#071a2f 0%,#0c2948 58%,#113b57 100%)!important;border-right-color:rgba(255,255,255,.08)!important;box-shadow:7px 0 28px rgba(10,30,55,.12)!important}
.sidebar nav>a.erp-active,.nav-drop-menu a.erp-active,.nav-drop:has(.erp-active)>button{background:linear-gradient(100deg,#5b3bc4 0%,#7257d8 50%,#249dc9 115%)!important;color:#fff!important;box-shadow:0 8px 22px rgba(90,61,190,.25)!important}.nav-drop-menu a.erp-active{border-left-color:#64d5e4!important;background:linear-gradient(90deg,rgba(116,86,216,.28),rgba(43,185,214,.13))!important}.sidebar nav>a:hover,.nav-drop>button:hover,.nav-drop.open>button{background:rgba(255,255,255,.075)!important}.sidebar .premium-nav .nav-drop-menu a:before{background:#56c4dc!important}
/* Buttons: no blue text on hover; no orange+green mixture. */
.btn{border-radius:11px!important;font-weight:800!important;letter-spacing:.003em!important;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,opacity .16s ease!important}.btn:not(:disabled):hover{transform:translateY(-1px)!important}
.btn-primary,.btn-premium{background:linear-gradient(125deg,#4f36aa 0%,#7456d8 54%,#9c5dcc 115%)!important;border:1px solid rgba(88,55,181,.32)!important;color:#fff!important;box-shadow:0 9px 24px rgba(89,60,184,.21)!important}.btn-primary:hover,.btn-premium:hover{background:linear-gradient(125deg,#422b93,#6748c5 55%,#884bb6)!important;color:#fff!important;filter:brightness(1.05)!important;box-shadow:0 13px 30px rgba(89,60,184,.28)!important}
.btn-success{background:linear-gradient(125deg,#168a55,#20a765 62%,#35b97c)!important;border-color:#168a55!important;color:#fff!important}.btn-success:hover{background:linear-gradient(125deg,#117347,#198e58,#279c69)!important;color:#fff!important}.btn-warning{background:linear-gradient(125deg,#e49322,#f0a62f 58%,#f6bd55)!important;border-color:#df8d1e!important;color:#3b2600!important}.btn-warning:hover{background:linear-gradient(125deg,#cf7c12,#e5921b,#eda83a)!important;color:#2b1a00!important}.btn-danger{background:linear-gradient(125deg,#cf3f4c,#e6535f 62%,#ed7580)!important;border-color:#ca3947!important;color:#fff!important}.btn-danger:hover{background:linear-gradient(125deg,#b83340,#d24450,#df5b66)!important;color:#fff!important}.btn-info{background:linear-gradient(125deg,#108c9d,#18a9bc 55%,#2bb9d6)!important;color:#fff!important;border-color:#108c9d!important}.btn-light,.btn-secondary{background:linear-gradient(180deg,#fff,#f1f4f8)!important;border:1px solid #d9e0ea!important;color:#314965!important;box-shadow:0 4px 12px rgba(30,48,74,.05)!important}.btn-light:hover,.btn-secondary:hover{background:#e9edf3!important;color:#1f344f!important}.btn-outline-primary{border-color:#bcb0e9!important;color:#5a3eb4!important;background:#fbfaff!important}.btn-outline-primary:hover{background:#5f43bd!important;border-color:#5f43bd!important;color:#fff!important}.btn-outline-success{border-color:#a9ddc3!important;color:#157b4b!important;background:#f8fdfa!important}.btn-outline-success:hover{background:#188653!important;color:#fff!important}.btn-outline-warning{border-color:#f1cf93!important;color:#9a6410!important;background:#fffaf1!important}.btn-outline-warning:hover{background:#e69b27!important;color:#332000!important}.btn-outline-danger{border-color:#f2b9bf!important;color:#b43743!important;background:#fff9fa!important}.btn-outline-danger:hover{background:#cf3f4c!important;color:#fff!important}.btn i,.btn *{color:inherit!important}
/* Balanced KPI family: keep semantic variety instead of painting every card blue. */
.erp-stat.blue,.kpi-card.erp-kpi-tone-0,.premium-stat.erp-stat-tone-0{background:linear-gradient(135deg,#2788e5,#1773cb)!important;color:#fff!important}.erp-stat.green,.kpi-card.erp-kpi-tone-1,.premium-stat.erp-stat-tone-1{background:linear-gradient(135deg,#24ad69,#188951)!important;color:#fff!important}.erp-stat.amber,.kpi-card.erp-kpi-tone-2,.premium-stat.erp-stat-tone-2{background:linear-gradient(135deg,#f3ae38,#e98d24)!important;color:#fff!important}.erp-stat.purple,.kpi-card.erp-kpi-tone-3,.premium-stat.erp-stat-tone-3{background:linear-gradient(135deg,#7b5bd8,#5a3db5)!important;color:#fff!important}.erp-stat.red,.kpi-card.erp-kpi-tone-4,.premium-stat.erp-stat-tone-4{background:linear-gradient(135deg,#e9616c,#d54250)!important;color:#fff!important}.erp-stat.cyan,.kpi-card.erp-kpi-tone-5,.premium-stat.erp-stat-tone-5{background:linear-gradient(135deg,#28b6c7,#15939f)!important;color:#fff!important}.erp-stat{border:1px solid rgba(255,255,255,.16)!important;border-radius:17px!important;box-shadow:0 11px 28px rgba(27,47,76,.10)!important;transition:transform .18s ease,box-shadow .18s ease!important}.erp-stat:hover{transform:translateY(-3px)!important;box-shadow:0 17px 38px rgba(27,47,76,.15)!important}.erp-stat-icon{background:rgba(255,255,255,.18)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important}.erp-stat *{color:#fff!important}
/* Charts use varied tones as well. */
.erp-bars>div:nth-child(6n+1) i:first-child{background:#2584e8!important}.erp-bars>div:nth-child(6n+1) i:last-of-type{background:#56a7ee!important}.erp-bars>div:nth-child(6n+2) i:first-child{background:#20a765!important}.erp-bars>div:nth-child(6n+2) i:last-of-type{background:#64c894!important}.erp-bars>div:nth-child(6n+3) i:first-child{background:#f0a62f!important}.erp-bars>div:nth-child(6n+3) i:last-of-type{background:#f6c66f!important}.erp-bars>div:nth-child(6n+4) i:first-child{background:#7456d8!important}.erp-bars>div:nth-child(6n+4) i:last-of-type{background:#a18be9!important}.erp-bars>div:nth-child(6n+5) i:first-child{background:#e6535f!important}.erp-bars>div:nth-child(6n+5) i:last-of-type{background:#ef8a93!important}.erp-bars>div:nth-child(6n+6) i:first-child{background:#13a6a2!important}.erp-bars>div:nth-child(6n+6) i:last-of-type{background:#5bc9c6!important}
/* Cards/tabs keep V36.1 shape with richer surfaces. */
.erp-page-heading,.timetable-heading{background:radial-gradient(circle at 88% 8%,rgba(116,86,216,.08),transparent 28%),linear-gradient(135deg,#fff,#f7f6fc 56%,#f2fbfb)!important;border-color:#e0deed!important;box-shadow:0 12px 34px rgba(43,53,82,.06)!important}.erp-eyebrow{color:#7250cc!important}.erp-page-heading h1,.erp-page-heading h2,.page-title,.page-heading h1,.executive-heading h1,.erp-page-title{color:#172844!important}.premium-card,.dashboard-panel,.report-card,.soft-panel,.erp-panel,.exam-card,.flow-card{border-color:#e2e6ed!important;box-shadow:0 9px 28px rgba(28,45,70,.06)!important}.module-tabs a.active,.online-flow-nav a.active,.erp-module-tabs a.active{background:linear-gradient(135deg,#f2effc,#edf9f9)!important;color:#5739b6!important;border-color:#d2c8ef!important;box-shadow:0 5px 15px rgba(80,58,162,.07)!important}.module-tabs a:hover,.online-flow-nav a:hover,.erp-module-tabs a:hover{background:#f6f3fc!important;color:#5739b6!important}
/* Login: retain V36.1 split composition, enrich rather than replace. */
.erp-login-body{background:linear-gradient(140deg,#eef3f8,#f8f5ef)!important}.erp-login-visual{background:radial-gradient(circle at 78% 24%,rgba(50,188,192,.34),transparent 19%),radial-gradient(circle at 28% 76%,rgba(240,166,47,.22),transparent 26%),linear-gradient(150deg,#142d49 0%,#274f70 48%,#5b4e8b 100%)!important}.erp-login-visual:before{opacity:.28!important}.erp-login-benefits i{color:#ffd166!important}.erp-login-card{border-radius:20px!important;border-color:#e1e4ea!important;box-shadow:0 22px 65px rgba(31,45,66,.13)!important}.auth-mode-switch button.active{background:linear-gradient(125deg,#5a3bb6,#7456d8)!important;color:#fff!important;box-shadow:0 7px 18px rgba(91,63,183,.20)!important}.demo-login-picker{background:linear-gradient(135deg,#f5faf8,#fff8ee)!important;border-color:#e5e1d6!important}.erp-login-card .btn-premium{background:linear-gradient(125deg,#4f36aa,#7456d8 58%,#9c5dcc)!important;color:#fff!important}
/* Long popup/forms: body scrolls while header/footer remain reachable. */
.modal-dialog{margin-top:12px!important;margin-bottom:12px!important}.modal-dialog-scrollable .modal-content,.modal-content{max-height:calc(100dvh - 24px)!important;overflow:hidden!important;border-radius:20px!important}.modal-header,.modal-footer{flex:0 0 auto!important}.modal-body{overflow-y:auto!important;overscroll-behavior:contain!important;min-height:0!important;max-height:calc(100dvh - 150px)!important}
/* Timetable hierarchy. */
.timetable-heading{padding:17px 20px!important}.timetable-heading h1{font-size:clamp(1.42rem,1.9vw,1.85rem)!important;letter-spacing:-.02em!important}.timetable-heading p{font-size:.83rem!important}.tt-action-head h3,.tt-offline-console h3,.offline-workflow-card h3,.erp-panel-head h3{font-size:.94rem!important}.tt-local-filterbar{background:linear-gradient(135deg,#faf9ff,#f5fbfb)!important;border-color:#e1dff0!important}.tt-slot.filled{background:linear-gradient(145deg,#f4f1fc,#edfafa)!important;border-color:#cfc4eb!important}.tt-action-icon{background:linear-gradient(135deg,#f0ecfb,#e9f8f8)!important;color:#6545bf!important}
/* AI Automation Centre. */
.ai-centre-hero{align-items:center}.ai-provider-state{display:flex;align-items:center;gap:10px;min-width:235px;padding:11px 13px;border:1px solid #dfd7f2;border-radius:15px;background:linear-gradient(135deg,#f5f1fd,#effafa)}.ai-provider-state>i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#7456d8,#2bb9d6);color:#fff}.ai-provider-state span{display:flex;flex-direction:column}.ai-provider-state small{color:#71839a;font-size:.7rem}.ai-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ai-module-card{padding:18px;position:relative;overflow:hidden}.ai-module-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tone,#7456d8)}.ai-module-card.tone-blue{--tone:#2584e8}.ai-module-card.tone-green{--tone:#20a765}.ai-module-card.tone-amber{--tone:#f0a62f}.ai-module-card.tone-purple{--tone:#7456d8}.ai-module-card.tone-red{--tone:#e6535f}.ai-module-card.tone-cyan{--tone:#2bb9d6}.ai-module-card.tone-teal{--tone:#13a6a2}.ai-module-head{display:flex;align-items:center;gap:11px;margin-bottom:13px}.ai-module-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--tone) 13%,white);color:var(--tone);font-size:1.05rem}.ai-module-card h3{font-size:.95rem;margin:.18rem 0 0}.ai-module-card h4{font-size:.86rem;margin:0 0 .55rem;color:#223954}.ai-module-card p{font-size:.78rem;color:#667a96;min-height:48px}.ai-priority{display:inline-flex;font-size:.63rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.ai-priority.p3{color:#c53745}.ai-priority.p2{color:#a66a10}.ai-priority.p1{color:#238454}.ai-recommendation{display:flex;flex-direction:column;gap:3px;border-radius:12px;background:#f7f8fb;padding:10px;margin:10px 0 13px;font-size:.72rem}.ai-recommendation strong{color:#314765}.ai-recommendation span{color:#6b7d94}.ai-brief{border-left:4px solid #7456d8!important}
@media(max-width:1100px){.ai-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.ai-module-grid{grid-template-columns:1fr}.ai-provider-state{width:100%}.ai-centre-hero{align-items:stretch}.ai-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}


/* ================================================================
   V36.4 AIZENEXA interaction palette
   Normal navigation/actions use logo navy/cobalt/cyan. KPI cards and
   chart series keep their semantic multi-colour treatment by design.
   ================================================================ */
:root{--v364-navy:#071a36;--v364-navy2:#0b2c58;--v364-cobalt:#075dff;--v364-blue:#0a78ff;--v364-cyan:#20bdf2;--v364-soft:#eef6ff}
.btn-primary,.btn-premium{background:linear-gradient(125deg,var(--v364-navy) 0%,var(--v364-cobalt) 58%,var(--v364-cyan) 118%)!important;border:1px solid rgba(7,93,255,.35)!important;color:#fff!important;box-shadow:0 10px 26px rgba(7,93,255,.20)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important}
.btn-primary:hover,.btn-premium:hover,.btn-primary:focus,.btn-premium:focus{background:linear-gradient(125deg,#041328 0%,#064fd9 58%,#12a9df 118%)!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 15px 34px rgba(7,93,255,.28)!important;filter:saturate(1.06)!important}
.btn-primary:active,.btn-premium:active{transform:translateY(0)!important}
.btn-outline-primary{border-color:#8fc0ff!important;color:#075dff!important;background:#f7fbff!important}.btn-outline-primary:hover,.btn-outline-primary:focus{background:linear-gradient(125deg,#071a36,#075dff)!important;border-color:#075dff!important;color:#fff!important}
.module-tabs a:hover,.module-tabs a.active,.premium-tabs .nav-link:hover{color:#075dff!important;border-color:#20bdf2!important}.premium-tabs .nav-link.active{background:linear-gradient(125deg,#071a36,#075dff 70%,#20bdf2)!important;color:#fff!important}.quick-link:hover{color:#075dff!important}.quick-link i,.tt-action-icon{color:#075dff!important;background:linear-gradient(135deg,#e9f3ff,#e8fbff)!important}.code-pill{background:#edf5ff!important;color:#064fbf!important}.form-section{border-left-color:#075dff!important;background:#edf6ff!important;color:#0b3d78!important}
.erp-sidebar,.sidebar{background:linear-gradient(180deg,#041126 0%,#071d3b 58%,#092953 100%)!important}.erp-sidebar .nav-link.active,.erp-sidebar .menu-link.active{background:linear-gradient(110deg,#0a3c78,#075dff 72%,#16b8ef)!important;color:#fff!important}.erp-sidebar a:hover{color:#fff!important}
.erp-login-body{background:radial-gradient(circle at 12% 18%,rgba(32,189,242,.10),transparent 26%),radial-gradient(circle at 88% 82%,rgba(7,93,255,.09),transparent 28%),linear-gradient(145deg,#f5f8fc,#fff)!important}.erp-login-visual{background:radial-gradient(circle at 80% 22%,rgba(32,189,242,.33),transparent 20%),radial-gradient(circle at 22% 78%,rgba(7,93,255,.24),transparent 28%),linear-gradient(150deg,#041226 0%,#082c58 52%,#075dff 105%)!important}.auth-mode-switch button.active,.erp-login-card .btn-premium{background:linear-gradient(125deg,#071a36,#075dff 68%,#20bdf2)!important;color:#fff!important}.demo-login-picker{background:linear-gradient(135deg,#f5f9ff,#eefbff)!important;border-color:#d6e7fb!important}.erp-login-benefits i{color:#74dcff!important}
.timetable-heading{background:linear-gradient(120deg,rgba(255,255,255,.98),rgba(235,246,255,.96))!important;border-color:#cfe3fb!important}.timetable-heading h1{font-size:1.65rem!important}.tt-workflow-grid>a>b{background:linear-gradient(135deg,#071a36,#075dff 72%,#20bdf2)!important}
/* Global long modal safety: header/footer stay reachable, body scrolls. */
.modal-dialog{max-height:calc(100vh - 2rem)!important}.modal-content{max-height:calc(100vh - 2rem)!important}.modal-body{overflow-y:auto!important;overscroll-behavior:contain}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 2rem)!important}

/* ================================================================
   V38.6.4 UI consistency hotfixes
   ================================================================ */
.table .btn-primary,.table .btn-success,.table .btn-info,.table .btn-danger,
.erp-table .btn-primary,.erp-table .btn-success,.erp-table .btn-info,.erp-table .btn-danger,
.premium-table .btn-primary,.premium-table .btn-success,.premium-table .btn-info,.premium-table .btn-danger,
.table-premium .btn-primary,.table-premium .btn-success,.table-premium .btn-info,.table-premium .btn-danger,
.exam-table .btn-primary,.exam-table .btn-success,.exam-table .btn-info,.exam-table .btn-danger,
.grid .btn-primary,.grid .btn-success,.grid .btn-info,.grid .btn-danger{color:#fff!important}
.table .btn-primary *,.table .btn-success *,.table .btn-info *,.table .btn-danger *,
.erp-table .btn-primary *,.erp-table .btn-success *,.erp-table .btn-info *,.erp-table .btn-danger *,
.premium-table .btn-primary *,.premium-table .btn-success *,.premium-table .btn-info *,.premium-table .btn-danger *,
.table-premium .btn-primary *,.table-premium .btn-success *,.table-premium .btn-info *,.table-premium .btn-danger *,
.exam-table .btn-primary *,.exam-table .btn-success *,.exam-table .btn-info *,.exam-table .btn-danger *{color:#fff!important}
.erp-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.erp-stat{position:relative;overflow:hidden;background:#fff}.erp-stat strong{font-size:1.55rem;line-height:1;color:#172844}.erp-stat span:not(.erp-stat-icon){font-weight:800;color:#63718a;text-transform:none}.erp-stat:after{content:"";position:absolute;right:-36px;bottom:-36px;width:112px;height:112px;border-radius:999px;background:rgba(255,255,255,.16)}
.erp-stat-grid .erp-stat:nth-child(1){background:linear-gradient(135deg,#2382df,#1d9cec)!important;color:#fff}.erp-stat-grid .erp-stat:nth-child(2){background:linear-gradient(135deg,#169b5a,#25b374)!important;color:#fff}.erp-stat-grid .erp-stat:nth-child(3){background:linear-gradient(135deg,#f29f22,#ffbf48)!important;color:#fff}.erp-stat-grid .erp-stat:nth-child(4){background:linear-gradient(135deg,#6b4ed3,#8b65e6)!important;color:#fff}.erp-stat-grid .erp-stat:nth-child(5){background:linear-gradient(135deg,#df4b5c,#ec6672)!important;color:#fff}.erp-stat-grid .erp-stat:nth-child(6){background:linear-gradient(135deg,#119aa1,#22c1c3)!important;color:#fff}
.erp-stat-grid .erp-stat strong,.erp-stat-grid .erp-stat span,.erp-stat-grid .erp-stat i{color:#fff!important}.erp-stat-grid .erp-stat .erp-stat-icon{background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important}
.erp-panel,.premium-card,.exam-card,.flow-card{background:#fff;border-radius:18px;border:1px solid #dce7f4;box-shadow:0 12px 30px rgba(10,43,88,.06)}
.erp-empty,.empty-state{min-height:96px;display:grid;place-items:center;color:#61708a;background:linear-gradient(135deg,#f8fbff,#fbfdff);border-radius:14px}
a.btn-light,a.btn-outline-primary,.table .btn-light,.table .btn-outline-primary{font-weight:800}.btn-light:hover,.btn-outline-primary:hover{color:#fff!important}
.modal .btn-primary,.modal .btn-premium,.modal .btn-success{color:#fff!important}

/* V38.6.4 UI consistency and grid visibility fixes */
.erp-page-wrap .btn-primary,
.erp-page-wrap .btn-success,
.erp-page-wrap .btn-info,
.erp-page-wrap .btn-danger,
.erp-page-wrap .btn-warning,
.erp-page-wrap .table .btn-primary,
.erp-page-wrap .table .btn-success,
.erp-page-wrap .table .btn-info,
.erp-page-wrap .table .btn-danger,
.erp-page-wrap .table .btn-warning,
.smart-grid-toolbar .btn-primary,
.smart-grid-toolbar .btn-success,
.smart-grid-toolbar .btn-info,
.smart-grid-toolbar .btn-danger { color:#fff!important; }
.erp-page-wrap .btn-primary i,
.erp-page-wrap .btn-success i,
.erp-page-wrap .btn-info i,
.erp-page-wrap .btn-danger i,
.erp-page-wrap .btn-warning i { color:inherit!important; }
.erp-page-wrap .badge.text-bg-primary,
.erp-page-wrap .badge.text-bg-success,
.erp-page-wrap .badge.text-bg-info,
.erp-page-wrap .badge.text-bg-danger,
.erp-page-wrap .badge.text-bg-warning { color:#fff!important; }
.erp-page-wrap .kpi-card,
.erp-page-wrap .transport-kpi-card {
  position:relative; overflow:hidden; border:0!important; color:#fff!important;
  background:linear-gradient(135deg,#2385e8,#075dff)!important; box-shadow:0 14px 35px rgba(15,44,86,.16)!important;
}
.erp-page-wrap .kpi-card:nth-child(6n+2), .erp-page-wrap .row>.col:nth-child(6n+2) .kpi-card{background:linear-gradient(135deg,#21a366,#0a8f5a)!important;}
.erp-page-wrap .kpi-card:nth-child(6n+3), .erp-page-wrap .row>.col:nth-child(6n+3) .kpi-card{background:linear-gradient(135deg,#f6ad2f,#f28c18)!important;}
.erp-page-wrap .kpi-card:nth-child(6n+4), .erp-page-wrap .row>.col:nth-child(6n+4) .kpi-card{background:linear-gradient(135deg,#7c4fd4,#5732c9)!important;}
.erp-page-wrap .kpi-card:nth-child(6n+5), .erp-page-wrap .row>.col:nth-child(6n+5) .kpi-card{background:linear-gradient(135deg,#ef5b65,#d92d48)!important;}
.erp-page-wrap .kpi-card::after,
.erp-page-wrap .transport-kpi-card::after{content:"";position:absolute;right:-26px;bottom:-34px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.14);}
.erp-page-wrap .kpi-card *, .erp-page-wrap .transport-kpi-card *{color:#fff!important;position:relative;z-index:1;}
.erp-page-wrap .kpi-card small, .erp-page-wrap .kpi-card span, .erp-page-wrap .transport-kpi-card small{opacity:.88;}
.erp-page-wrap .kpi-icon{background:rgba(255,255,255,.18)!important;color:#fff!important;}
.print-template{background:#fff;color:#111;font-family:"Segoe UI",Tahoma,Arial,sans-serif;max-width:980px;margin:auto;padding:24px;}
.print-template .doc-header{text-align:center;border-bottom:3px double #222;padding-bottom:10px;margin-bottom:18px;}
.print-template .doc-title{text-align:center;font-weight:800;text-transform:uppercase;text-decoration:underline;margin:14px 0;}
.print-template .doc-section-title{background:#f97316;color:#fff;font-weight:800;text-align:center;padding:6px 10px;margin:14px 0 8px;text-transform:uppercase;}
.print-template table{width:100%;border-collapse:collapse;margin-bottom:12px;}
.print-template th,.print-template td{border:1px solid #444;padding:7px 8px;font-size:12px;vertical-align:top;}
.print-template .sign-row{display:flex;justify-content:space-between;gap:32px;margin-top:44px;text-align:center;font-weight:700;}
.print-template .sign-box{flex:1;border-top:1px dashed #111;padding-top:8px;}
@media print{.print-template{max-width:none;margin:0;padding:0}.print-template .no-print{display:none!important}}


/* V38.6.6 definitive visibility / status / KPI / popup fixes */
body.schoolerp-app .btn-primary,
body.schoolerp-app .btn-premium,
body.schoolerp-app .btn-success,
body.schoolerp-app .btn-info,
body.schoolerp-app .btn-danger,
body.schoolerp-app table .btn-primary,
body.schoolerp-app table .btn-premium,
body.schoolerp-app table .btn-success,
body.schoolerp-app table .btn-info,
body.schoolerp-app table .btn-danger,
body.schoolerp-app .smart-grid-toolbar .btn-primary,
body.schoolerp-app .smart-grid-toolbar .btn-premium,
body.schoolerp-app .smart-grid-toolbar .btn-success,
body.schoolerp-app .smart-grid-toolbar .btn-info,
body.schoolerp-app .smart-grid-toolbar .btn-danger { color:#fff!important; text-shadow:0 1px 1px rgba(0,0,0,.18); }
body.schoolerp-app .btn-primary *,
body.schoolerp-app .btn-premium *,
body.schoolerp-app .btn-success *,
body.schoolerp-app .btn-info *,
body.schoolerp-app .btn-danger * { color:inherit!important; }
body.schoolerp-app .badge.text-bg-primary, body.schoolerp-app .badge.bg-primary { background:#0d6efd!important;color:#fff!important;border-color:#0d6efd!important; }
body.schoolerp-app .badge.text-bg-success, body.schoolerp-app .badge.bg-success, body.schoolerp-app .erp-badge.is-success { background:#168a55!important;color:#fff!important;border-color:#168a55!important; }
body.schoolerp-app .badge.text-bg-warning, body.schoolerp-app .badge.bg-warning, body.schoolerp-app .erp-badge.is-warning { background:#f59e0b!important;color:#111827!important;border-color:#d97706!important; }
body.schoolerp-app .badge.text-bg-danger, body.schoolerp-app .badge.bg-danger { background:#dc3545!important;color:#fff!important;border-color:#dc3545!important; }
body.schoolerp-app .badge.text-bg-info, body.schoolerp-app .badge.bg-info { background:#0ea5e9!important;color:#fff!important;border-color:#0ea5e9!important; }
body.schoolerp-app .badge.text-bg-secondary, body.schoolerp-app .badge.bg-secondary, body.schoolerp-app .erp-badge.is-muted { background:#64748b!important;color:#fff!important;border-color:#64748b!important; }
body.schoolerp-app .table a:not(.btn){color:#0b5ed7!important;font-weight:800;}
body.schoolerp-app .toast.erp-flash-toast .toast-body{font-weight:700;font-size:.95rem;}
body.schoolerp-app .toast.erp-flash-toast.text-bg-warning .toast-body{color:#111827!important;}
body.schoolerp-app .toast.erp-flash-toast.text-bg-success .toast-body,
body.schoolerp-app .toast.erp-flash-toast.text-bg-danger .toast-body{color:#fff!important;}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(1){background:linear-gradient(135deg,#2382df,#0b73d9)!important;color:#fff!important;}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(2){background:linear-gradient(135deg,#16a34a,#15803d)!important;color:#fff!important;}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(3){background:linear-gradient(135deg,#7c3aed,#5b21b6)!important;color:#fff!important;}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(4){background:linear-gradient(135deg,#0891b2,#0e7490)!important;color:#fff!important;}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(5){background:linear-gradient(135deg,#f97316,#ea580c)!important;color:#fff!important;}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(6){background:linear-gradient(135deg,#dc2626,#b91c1c)!important;color:#fff!important;}
body.schoolerp-app .erp-stat-grid>.erp-stat, body.schoolerp-app .erp-stat-grid>.erp-stat *{color:#fff!important;opacity:1!important;}

/* V38.6.6 stronger grid/button/status visibility */
body.schoolerp-app .status-pill,
body.schoolerp-app .erp-status,
body.schoolerp-app .pill-status { background:#334155!important;color:#fff!important;border-color:#334155!important;font-weight:800!important; }
body.schoolerp-app table .btn,
body.schoolerp-app .smart-grid table .btn,
body.schoolerp-app .table-premium .btn { opacity:1!important; filter:none!important; }
body.schoolerp-app table .btn-primary,
body.schoolerp-app table .btn-premium { background:#0d6efd!important;border-color:#0d6efd!important;color:#fff!important; }
body.schoolerp-app table .btn-success { background:#16a34a!important;border-color:#16a34a!important;color:#fff!important; }
body.schoolerp-app table .btn-info { background:#0ea5e9!important;border-color:#0ea5e9!important;color:#fff!important; }
body.schoolerp-app table .btn-warning { background:#f59e0b!important;border-color:#d97706!important;color:#111827!important; }
body.schoolerp-app table .btn-danger { background:#dc3545!important;border-color:#dc3545!important;color:#fff!important; }
body.schoolerp-app .btn:disabled,
body.schoolerp-app .btn.disabled,
body.schoolerp-app table .btn:disabled,
body.schoolerp-app table .btn.disabled { opacity:.85!important;color:#fff!important;background:#64748b!important;border-color:#64748b!important;text-shadow:none!important; }
body.schoolerp-app .badge,
body.schoolerp-app .status-pill { opacity:1!important;text-shadow:none!important; }
body.schoolerp-app .badge *,
body.schoolerp-app .status-pill * { color:inherit!important; }
body.schoolerp-app table .btn-outline-primary { background:#eaf2ff!important;border-color:#0d6efd!important;color:#074ea8!important;font-weight:800!important; }
body.schoolerp-app table .btn-outline-success { background:#eafaf1!important;border-color:#16a34a!important;color:#0f6b3c!important;font-weight:800!important; }
body.schoolerp-app table .btn-outline-danger { background:#fff1f2!important;border-color:#dc3545!important;color:#9f1239!important;font-weight:800!important; }
body.schoolerp-app table .btn-outline-warning { background:#fffbeb!important;border-color:#d97706!important;color:#92400e!important;font-weight:800!important; }

/* ============================================================================
   V38.6.7 Fluent UI consistency, readable notifications and assistant popup
   ============================================================================ */
body.schoolerp-app,
body.erp-login-body,
body.schoolerp-app input,
body.schoolerp-app select,
body.schoolerp-app textarea,
body.schoolerp-app button,
body.schoolerp-app .dropdown-menu,
body.schoolerp-app .modal,
body.erp-login-body input,
body.erp-login-body select,
body.erp-login-body textarea,
body.erp-login-body button {
  font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;
}
body.schoolerp-app,body.erp-login-body{font-size:13px!important;line-height:1.42}
body.schoolerp-app .page-title,
body.schoolerp-app .page-heading h1,
body.schoolerp-app .executive-heading h1,
body.schoolerp-app .erp-page-title,
body.schoolerp-app .erp-page-heading h1{font-size:21px!important;line-height:1.22!important;font-weight:700!important;letter-spacing:-.01em!important}
body.schoolerp-app .erp-page-heading h2{font-size:19px!important;font-weight:700!important;letter-spacing:-.01em!important}
body.schoolerp-app h3{font-size:16px}
body.schoolerp-app h4{font-size:15px}
body.schoolerp-app h5{font-size:14px}
body.schoolerp-app .page-heading p,
body.schoolerp-app .erp-page-heading p,
body.schoolerp-app .subtle{font-size:11.5px!important;line-height:1.45!important}
body.schoolerp-app .btn{font-size:11.5px!important;font-weight:600!important;border-radius:6px!important;padding:.42rem .7rem!important}
body.schoolerp-app .btn-sm{font-size:10.5px!important;padding:.32rem .52rem!important;min-height:28px!important}
body.schoolerp-app .form-control,
body.schoolerp-app .form-select,
body.schoolerp-app .input-group-text{font-size:12px!important;border-radius:6px!important;min-height:36px!important}
body.schoolerp-app .form-label{font-size:10.5px!important;font-weight:600!important}
body.schoolerp-app .premium-card,
body.schoolerp-app .dashboard-panel,
body.schoolerp-app .report-card,
body.schoolerp-app .soft-panel,
body.schoolerp-app .erp-panel,
body.schoolerp-app .card:not(.pricing-card-v18){border-radius:8px!important;box-shadow:0 2px 8px rgba(0,0,0,.055)!important}
body.schoolerp-app .table,
body.schoolerp-app .table-premium,
body.schoolerp-app .premium-table,
body.schoolerp-app .erp-table{font-size:10.75px!important;color:#242424!important}
body.schoolerp-app .table thead th,
body.schoolerp-app .table-premium thead th,
body.schoolerp-app .premium-table thead th,
body.schoolerp-app .erp-table thead th{font-size:9.5px!important;font-weight:700!important;color:#323130!important;background:#f3f2f1!important;border-color:#e1dfdd!important}
body.schoolerp-app .table td,
body.schoolerp-app .table-premium td,
body.schoolerp-app .premium-table td,
body.schoolerp-app .erp-table td{padding:8px!important;color:#323130!important}
body.schoolerp-app .table a:not(.btn){color:#0f6cbd!important;font-weight:600!important}

/* Grid actions: solid Fluent-style buttons with white labels for reliable contrast. */
body.schoolerp-app table .btn-primary,
body.schoolerp-app table .btn-premium,
body.schoolerp-app table .btn-outline-primary,
body.schoolerp-app table .btn-light{background:#0f6cbd!important;border-color:#0f6cbd!important;color:#fff!important;text-shadow:none!important}
body.schoolerp-app table .btn-success,
body.schoolerp-app table .btn-outline-success{background:#107c10!important;border-color:#107c10!important;color:#fff!important;text-shadow:none!important}
body.schoolerp-app table .btn-info,
body.schoolerp-app table .btn-outline-info{background:#0078d4!important;border-color:#0078d4!important;color:#fff!important;text-shadow:none!important}
body.schoolerp-app table .btn-warning,
body.schoolerp-app table .btn-outline-warning{background:#8a4b00!important;border-color:#8a4b00!important;color:#fff!important;text-shadow:none!important}
body.schoolerp-app table .btn-danger,
body.schoolerp-app table .btn-outline-danger{background:#c42b1c!important;border-color:#c42b1c!important;color:#fff!important;text-shadow:none!important}
body.schoolerp-app table .btn-secondary,
body.schoolerp-app table .btn-outline-secondary{background:#5c6670!important;border-color:#5c6670!important;color:#fff!important;text-shadow:none!important}
body.schoolerp-app table .btn *,
body.schoolerp-app .smart-grid table .btn *{color:inherit!important}
body.schoolerp-app table .btn:hover{filter:brightness(.92)!important;color:#fff!important}

/* Alert/toast readability: never place white copy on pale semantic backgrounds. */
body.schoolerp-app .erp-toast-stack{top:76px!important;right:16px!important;left:auto!important;z-index:2100!important;width:min(440px,calc(100vw - 24px))!important;max-width:none!important;display:flex!important;flex-direction:column!important;gap:9px!important}
body.schoolerp-app .toast.erp-flash-toast{
  --bs-toast-max-width:none;
  width:100%!important;max-width:none!important;background:#fff!important;color:#242424!important;
  border:1px solid #d2d0ce!important;border-left-width:4px!important;border-radius:6px!important;
  box-shadow:0 8px 24px rgba(0,0,0,.16)!important;overflow:hidden!important
}
body.schoolerp-app .toast.erp-flash-toast .toast-header{background:#fff!important;color:#201f1e!important;border-bottom:1px solid #edebe9!important;padding:9px 11px!important;font-size:12.5px!important;min-height:38px!important}
body.schoolerp-app .toast.erp-flash-toast .toast-header strong{font-weight:700!important;color:#201f1e!important}
body.schoolerp-app .toast.erp-flash-toast .toast-body{background:#fff!important;color:#323130!important;font-size:12.5px!important;font-weight:500!important;line-height:1.48!important;padding:11px 12px!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;max-height:46vh!important;overflow-y:auto!important}
body.schoolerp-app .toast.erp-flash-toast .btn-close{opacity:.72!important;flex:0 0 auto!important}
body.schoolerp-app .toast.erp-flash-toast.erp-toast-success{border-left-color:#107c10!important}
body.schoolerp-app .toast.erp-flash-toast.erp-toast-success .erp-toast-icon{color:#107c10!important}
body.schoolerp-app .toast.erp-flash-toast.erp-toast-warning{border-left-color:#986f0b!important}
body.schoolerp-app .toast.erp-flash-toast.erp-toast-warning .erp-toast-icon{color:#986f0b!important}
body.schoolerp-app .toast.erp-flash-toast.erp-toast-danger{border-left-color:#c42b1c!important}
body.schoolerp-app .toast.erp-flash-toast.erp-toast-danger .erp-toast-icon{color:#c42b1c!important}

/* Inline alerts follow the same accessible Fluent palette as toast notifications. */
body.schoolerp-app .alert{font-size:12.5px!important;line-height:1.45!important;border-radius:6px!important;border-width:1px!important;border-left-width:4px!important;padding:10px 12px!important;overflow-wrap:anywhere!important}
body.schoolerp-app .alert-success{background:#f1faf1!important;color:#0b5a0b!important;border-color:#9fd89f!important;border-left-color:#107c10!important}
body.schoolerp-app .alert-danger{background:#fdf3f4!important;color:#7a171a!important;border-color:#f1bbbc!important;border-left-color:#c42b1c!important}
body.schoolerp-app .alert-warning{background:#fff9e8!important;color:#5d4200!important;border-color:#e8d38b!important;border-left-color:#986f0b!important}
body.schoolerp-app .alert-info{background:#f3f9fd!important;color:#243a4a!important;border-color:#bcdcf2!important;border-left-color:#0f6cbd!important}
body.schoolerp-app .alert :where(a,strong,span,p,li,small){color:inherit!important}

/* School Profile: readable read-only state and bounded school photo preview. */
body.schoolerp-app .school-profile-access-note{font-size:12px!important;border-radius:6px!important;background:#f3f9fd!important;border:1px solid #bcdcf2!important;color:#243a4a!important}
body.schoolerp-app .school-profile-photo{display:block;max-width:220px;max-height:110px;object-fit:contain;background:#fff;padding:5px}
body.schoolerp-app .form-control[readonly],body.schoolerp-app textarea[readonly]{background:#f5f5f5!important;color:#605e5c!important;cursor:not-allowed}

/* Corner AI assistant: data/history are loaded only when the popup is opened. */
body.schoolerp-app .assistant-fab{position:fixed!important;right:22px!important;bottom:22px!important;width:52px!important;height:52px!important;border:0!important;border-radius:50%!important;background:#0f6cbd!important;color:#fff!important;display:grid!important;place-items:center!important;box-shadow:0 8px 24px rgba(15,108,189,.30)!important;z-index:1088!important;font-size:18px!important;cursor:pointer!important;transition:transform .15s ease,box-shadow .15s ease!important}
body.schoolerp-app .assistant-fab:hover{transform:translateY(-2px)!important;box-shadow:0 12px 30px rgba(15,108,189,.38)!important;color:#fff!important}
body.schoolerp-app .assistant-popup{position:fixed;right:22px;bottom:84px;width:min(400px,calc(100vw - 24px));height:min(590px,calc(100dvh - 110px));background:#fff;border:1px solid #d2d0ce;border-radius:8px;box-shadow:0 16px 48px rgba(0,0,0,.22);z-index:1087;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;overflow:hidden;opacity:0;transform:translateY(10px) scale(.985);transform-origin:bottom right;transition:opacity .15s ease,transform .15s ease;contain:layout paint}
body.schoolerp-app .assistant-popup[hidden]{display:none!important}
body.schoolerp-app .assistant-popup.is-open{opacity:1;transform:none}
body.schoolerp-app .assistant-popup-head{min-height:56px;padding:10px 11px 10px 13px;background:#0f6cbd;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px}
body.schoolerp-app .assistant-popup-head>div:first-child{display:flex;align-items:center;gap:9px;min-width:0}
body.schoolerp-app .assistant-popup-mark{width:32px;height:32px;border-radius:6px;display:grid;place-items:center;background:rgba(255,255,255,.16);flex:0 0 32px}
body.schoolerp-app .assistant-popup-head strong{display:block;color:#fff!important;font-size:13px!important;font-weight:700!important;line-height:1.2}
body.schoolerp-app .assistant-popup-head small{display:block;color:#e8f3fb!important;font-size:10px!important;margin-top:2px}
body.schoolerp-app .assistant-popup-actions{display:flex;align-items:center;gap:2px;flex:0 0 auto}
body.schoolerp-app .assistant-popup-actions button,body.schoolerp-app .assistant-popup-actions a{width:30px;height:30px;border:0;border-radius:4px;background:transparent;color:#fff!important;display:grid;place-items:center;text-decoration:none;cursor:pointer;padding:0!important}
body.schoolerp-app .assistant-popup-actions button:hover,body.schoolerp-app .assistant-popup-actions a:hover{background:rgba(255,255,255,.14)!important}
body.schoolerp-app .assistant-popup-prompts{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid #edebe9;background:#faf9f8;overflow-x:auto;scrollbar-width:thin}
body.schoolerp-app .assistant-popup-prompts button{white-space:nowrap;border:1px solid #c8c6c4;background:#fff;color:#0f6cbd;border-radius:999px;padding:4px 8px;font-size:10.5px;font-weight:600;cursor:pointer}
body.schoolerp-app .assistant-popup-prompts button:hover{background:#eff6fc;border-color:#0f6cbd}
body.schoolerp-app .assistant-popup-history{min-height:0;overflow-y:auto;padding:12px;background:#fff;overscroll-behavior:contain}
body.schoolerp-app .assistant-popup-empty{height:100%;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:#605e5c;font-size:11.5px;padding:20px}
body.schoolerp-app .assistant-popup-empty i{font-size:24px;color:#0f6cbd}
body.schoolerp-app .assistant-popup-message{display:flex;margin:0 0 9px}
body.schoolerp-app .assistant-popup-message.is-user{justify-content:flex-end}
body.schoolerp-app .assistant-popup-message.is-assistant{justify-content:flex-start}
body.schoolerp-app .assistant-popup-bubble{max-width:86%;padding:8px 10px;border-radius:8px;background:#f3f2f1;color:#323130;font-size:11.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
body.schoolerp-app .assistant-popup-message.is-user .assistant-popup-bubble{background:#0f6cbd;color:#fff;border-bottom-right-radius:3px}
body.schoolerp-app .assistant-popup-message.is-assistant .assistant-popup-bubble{border:1px solid #e1dfdd;border-bottom-left-radius:3px}
body.schoolerp-app .assistant-popup-bubble strong{display:block;font-size:10px;font-weight:700;margin-bottom:2px;color:inherit!important}
body.schoolerp-app .assistant-popup-message.is-pending .assistant-popup-bubble{opacity:.72;font-style:italic}
body.schoolerp-app .assistant-popup-form{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:7px;align-items:end;padding:9px 10px;border-top:1px solid #edebe9;background:#fff}
body.schoolerp-app .assistant-popup-form textarea{resize:none;max-height:104px;min-height:38px;border:1px solid #c8c6c4;border-radius:6px;padding:8px 9px;outline:0;font-size:11.5px;line-height:1.4;color:#323130;background:#fff}
body.schoolerp-app .assistant-popup-form textarea:focus{border-color:#0f6cbd;box-shadow:0 0 0 2px rgba(15,108,189,.14)}
body.schoolerp-app .assistant-popup-send{width:38px;height:38px;border:0;border-radius:6px;background:#0f6cbd;color:#fff;display:grid;place-items:center;cursor:pointer;padding:0!important}
body.schoolerp-app .assistant-popup-send:disabled{opacity:.55;cursor:wait}
body.schoolerp-app .assistant-popup-foot{padding:6px 10px 8px;color:#605e5c;background:#faf9f8;font-size:9.5px;border-top:1px solid #f3f2f1}
body.schoolerp-app .assistant-popup-foot i{color:#107c10;margin-right:4px}

@media(max-width:575.98px){
  body.schoolerp-app .erp-toast-stack{top:68px!important;right:12px!important;width:calc(100vw - 24px)!important}
  body.schoolerp-app .assistant-fab{right:14px!important;bottom:14px!important}
  body.schoolerp-app .assistant-popup{right:12px;bottom:76px;width:calc(100vw - 24px);height:min(620px,calc(100dvh - 92px))}
}

/* V38.7.0 Aizenexa brand asset: preserve the supplied wide logo instead of squeezing it into a square. */
.erp-brand-logo{width:126px!important;height:58px!important;flex:0 0 126px!important;object-fit:contain!important;background:#02050a!important;padding:0!important;border-radius:5px!important;box-shadow:none!important}
.erp-brand .erp-brand-copy{display:none!important}
@media(max-width:767.98px){.erp-brand-logo{width:112px!important;height:52px!important;flex-basis:112px!important}}

/* V38.7.1 tenant branding */
.erp-brand-school-fallback{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:8px!important;background:#fff!important;color:#0b83f6!important;font-size:18px!important;box-shadow:0 4px 16px rgba(0,0,0,.12)!important}
.erp-brand .erp-brand-copy{flex:1 1 auto!important;min-width:0!important}
.erp-brand .erp-brand-copy strong{white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.12!important;max-height:2.3em!important;overflow:hidden!important}


/* V38.7.2 usability + tenant branding corrections.
   Platform branding keeps the existing Aizenexa treatment; school scope shows
   the uploaded school logo beside the actual school name. */
body.schoolerp-app.school-scope .erp-brand .erp-brand-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:2px!important;
}
body.schoolerp-app.school-scope .erp-brand-logo{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  object-fit:contain!important;
  background:#fff!important;
  padding:3px!important;
  border-radius:8px!important;
}
body.schoolerp-app.school-scope .erp-brand .erp-brand-copy strong{
  display:block!important;
  font-size:13px!important;
  color:#fff!important;
}
body.schoolerp-app.school-scope .erp-brand .erp-brand-copy small{
  display:block!important;
  font-size:9.5px!important;
  color:rgba(255,255,255,.72)!important;
}
body.schoolerp-app.platform-scope .erp-brand .erp-brand-copy{display:none!important}

/* A wider authentication panel prevents labels/placeholders from being clipped. */
body.erp-login-body .erp-login-shell{
  grid-template-columns:minmax(420px,1fr) minmax(560px,.92fr)!important;
}
body.erp-login-body .erp-login-card{
  width:min(560px,100%)!important;
  padding-left:34px!important;
  padding-right:34px!important;
}

/* Compact page headings leave more vertical space for working content. */
body.schoolerp-app .erp-page-heading h1,
body.schoolerp-app .erp-page-heading h2,
body.schoolerp-app .page-title,
body.schoolerp-app .page-heading h1,
body.schoolerp-app .page-heading h2,
body.schoolerp-app .page-head h1,
body.schoolerp-app .page-head h2,
body.schoolerp-app .executive-heading h1,
body.schoolerp-app .erp-page-title{
  font-size:18px!important;
  line-height:1.22!important;
}
body.schoolerp-app main h2{font-size:18px!important;line-height:1.24!important}
body.schoolerp-app main h5{font-size:14.5px!important;line-height:1.3!important}

@media(max-width:1050px){
  body.erp-login-body .erp-login-shell{grid-template-columns:1fr!important}
  body.erp-login-body .erp-login-card{width:min(580px,100%)!important}
}
@media(max-width:575.98px){
  body.erp-login-body .erp-login-card{width:100%!important;padding-left:20px!important;padding-right:20px!important}
}

/* ==========================================================
   V38.7.3 Aizenexa premium visual system
   Palette intentionally stays within the supplied logo family:
   midnight/navy, royal blue, electric blue, cyan and indigo.
   ========================================================== */
:root{
  --aiz-midnight:#030711;
  --aiz-navy:#071a36;
  --aiz-deep:#0a2d78;
  --aiz-blue:#075dff;
  --aiz-sky:#0f8ee8;
  --aiz-cyan:#20bdf2;
  --aiz-indigo:#263bd7;
  --aiz-violet:#5848d8;
}
body.schoolerp-app .current-session .text-success{color:var(--aiz-blue)!important}

/* Multi-colour KPI surfaces, all from the Aizenexa logo spectrum. */
body.schoolerp-app .erp-stat-grid>.erp-stat,
body.schoolerp-app .row .kpi-card{
  position:relative;
  overflow:hidden;
  border:0!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(7,42,112,.13)!important;
  transition:transform .22s ease,box-shadow .22s ease!important;
}
body.schoolerp-app .erp-stat-grid>.erp-stat::after,
body.schoolerp-app .row .kpi-card::after{
  content:"";
  position:absolute;
  width:120px;height:120px;
  right:-28px;bottom:-54px;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  pointer-events:none;
}
body.schoolerp-app .erp-stat-grid>.erp-stat:hover,
body.schoolerp-app .row .kpi-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(7,42,112,.20)!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+1),body.schoolerp-app .row>div:nth-child(8n+1)>.kpi-card{background:linear-gradient(135deg,#0a2d78 0%,#075dff 58%,#20bdf2 120%)!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+2),body.schoolerp-app .row>div:nth-child(8n+2)>.kpi-card{background:linear-gradient(135deg,#071a36 0%,#0f5bdb 62%,#0f8ee8 120%)!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+3),body.schoolerp-app .row>div:nth-child(8n+3)>.kpi-card{background:linear-gradient(135deg,#263bd7 0%,#5848d8 62%,#20bdf2 130%)!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+4),body.schoolerp-app .row>div:nth-child(8n+4)>.kpi-card{background:linear-gradient(135deg,#0874c9 0%,#20bdf2 54%,#075dff 125%)!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+5),body.schoolerp-app .row>div:nth-child(8n+5)>.kpi-card{background:linear-gradient(135deg,#031634 0%,#263bd7 65%,#0f8ee8 125%)!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+6),body.schoolerp-app .row>div:nth-child(8n+6)>.kpi-card{background:linear-gradient(135deg,#075dff 0%,#5848d8 72%,#20bdf2 135%)!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+7),body.schoolerp-app .row>div:nth-child(8n+7)>.kpi-card{background:linear-gradient(135deg,#0f8ee8 0%,#20bdf2 58%,#263bd7 130%)!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+8),body.schoolerp-app .row>div:nth-child(8n+8)>.kpi-card{background:linear-gradient(135deg,#071a36 0%,#075dff 60%,#5848d8 125%)!important}

/* Legacy tone classes are deliberately remapped so old views cannot reintroduce
   orange/green gradients. Semantic alert/status components remain semantic. */
body.schoolerp-app .erp-stat.green,body.schoolerp-app .kpi-card.green{background:linear-gradient(135deg,#0f8ee8,#20bdf2)!important}
body.schoolerp-app .erp-stat.amber,body.schoolerp-app .erp-stat.orange,body.schoolerp-app .kpi-card.orange{background:linear-gradient(135deg,#263bd7,#5848d8)!important}
body.schoolerp-app .erp-stat.red,body.schoolerp-app .kpi-card.red{background:linear-gradient(135deg,#071a36,#263bd7)!important}
body.schoolerp-app .erp-stat.purple,body.schoolerp-app .kpi-card.indigo{background:linear-gradient(135deg,#5848d8,#075dff)!important}
body.schoolerp-app .erp-stat.cyan,body.schoolerp-app .kpi-card.teal{background:linear-gradient(135deg,#0f8ee8,#20bdf2)!important}
body.schoolerp-app .kpi-card.navy{background:linear-gradient(135deg,#071a36,#0a2d78)!important}
body.schoolerp-app .erp-stat *,body.schoolerp-app .kpi-card *{color:inherit!important}
body.schoolerp-app .erp-stat-icon,body.schoolerp-app .kpi-icon{background:rgba(255,255,255,.13)!important;color:#fff!important}

/* Premium cards use a restrained blue edge rather than orange/green accents. */
body.schoolerp-app .premium-card,body.schoolerp-app .erp-dashboard-panel{border-color:rgba(7,93,255,.12)!important;box-shadow:0 10px 32px rgba(7,42,112,.08)!important}
body.schoolerp-app .progress-bar{background:linear-gradient(90deg,var(--aiz-blue),var(--aiz-cyan))!important}

.erp-action-progress{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(7,20,38,.48);backdrop-filter:blur(3px)}
.erp-action-progress-card{width:min(520px,calc(100vw - 32px));padding:24px;border-radius:16px;background:#fff;border:1px solid #dbe5f1;box-shadow:0 24px 80px rgba(7,20,38,.3)}
.erp-action-progress-card .progress{height:12px!important}
body.schoolerp-app .btn-premium{background:linear-gradient(100deg,var(--aiz-deep),var(--aiz-blue),var(--aiz-cyan))!important;border-color:transparent!important;color:#fff!important}

/* Platform-owner update ticker. */
body.schoolerp-app .platform-update-ticker{display:flex;align-items:center;gap:0;overflow:hidden;border:1px solid rgba(7,93,255,.14);background:linear-gradient(90deg,#f7fbff,#eef7ff);border-radius:12px;box-shadow:0 8px 24px rgba(7,42,112,.06);margin:0 0 16px}
body.schoolerp-app .platform-update-ticker-label{display:flex;align-items:center;gap:7px;align-self:stretch;padding:10px 14px;background:linear-gradient(135deg,var(--aiz-navy),var(--aiz-blue));color:#fff;font-size:11px;font-weight:750;white-space:nowrap;z-index:2}
body.schoolerp-app .platform-update-ticker-window{min-width:0;overflow:hidden;flex:1}
body.schoolerp-app .platform-update-ticker-track{display:inline-flex;align-items:center;gap:44px;min-width:max-content;padding:9px 26px;animation:aizTicker 38s linear infinite;color:#18324f;font-size:11.5px;font-weight:600}
body.schoolerp-app .platform-update-ticker:hover .platform-update-ticker-track{animation-play-state:paused}
body.schoolerp-app .platform-update-ticker-track span::before{content:"•";color:var(--aiz-blue);font-size:15px;margin-right:8px}
@keyframes aizTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Subtle graphic motion; automatically disabled for users requesting reduced motion. */
body.schoolerp-app .erp-stat-icon i,body.schoolerp-app .kpi-card>i{animation:aizFloat 4.2s ease-in-out infinite}
@keyframes aizFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){body.schoolerp-app *,body.schoolerp-app *::before,body.schoolerp-app *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.platform-update-ticker-track{transform:none!important}}
/* Remove legacy decorative green/orange tones while preserving semantic alerts. */
body.schoolerp-app .exec-kpi.teal,body.schoolerp-app .exec-kpi.green{background:linear-gradient(135deg,#0f8ee8,#20bdf2)!important}
body.schoolerp-app .exec-kpi.orange,body.schoolerp-app .exec-kpi.coral,body.schoolerp-app .exec-kpi.burgundy{background:linear-gradient(135deg,#263bd7,#5848d8)!important}
body.schoolerp-app .exec-kpi.purple{background:linear-gradient(135deg,#5848d8,#075dff)!important}
body.schoolerp-app .ai-module-card.tone-green{--tone:#0f8ee8!important}
body.schoolerp-app .ai-module-card.tone-amber{--tone:#5848d8!important}
body.schoolerp-app .ai-module-card.tone-teal{--tone:#20bdf2!important}
body.schoolerp-app .ai-priority.p2,body.schoolerp-app .ai-priority.p1{color:#075dff!important}
body.schoolerp-app .print-template .doc-section-title{background:linear-gradient(90deg,#071a36,#075dff)!important}

/* V38.7.3 final KPI normalization. Older theme blocks still define green/orange
   tones, so explicitly remap every decorative KPI family at the end of the cascade. */
body.schoolerp-app .kpi-card.erp-kpi-tone-0,
body.schoolerp-app .premium-stat.erp-stat-tone-0{background:linear-gradient(135deg,#0a2d78,#075dff,#20bdf2)!important}
body.schoolerp-app .kpi-card.erp-kpi-tone-1,
body.schoolerp-app .premium-stat.erp-stat-tone-1{background:linear-gradient(135deg,#071a36,#0f5bdb,#0f8ee8)!important}
body.schoolerp-app .kpi-card.erp-kpi-tone-2,
body.schoolerp-app .premium-stat.erp-stat-tone-2{background:linear-gradient(135deg,#263bd7,#5848d8,#20bdf2)!important}
body.schoolerp-app .kpi-card.erp-kpi-tone-3,
body.schoolerp-app .premium-stat.erp-stat-tone-3{background:linear-gradient(135deg,#0874c9,#20bdf2,#075dff)!important}
body.schoolerp-app .kpi-card.erp-kpi-tone-4,
body.schoolerp-app .premium-stat.erp-stat-tone-4{background:linear-gradient(135deg,#031634,#263bd7,#0f8ee8)!important}
body.schoolerp-app .kpi-card.erp-kpi-tone-5,
body.schoolerp-app .premium-stat.erp-stat-tone-5{background:linear-gradient(135deg,#075dff,#5848d8,#20bdf2)!important}
body.schoolerp-app .kpi-icon.success,
body.schoolerp-app .kpi-icon.warning,
body.schoolerp-app .kpi-icon.danger{background:rgba(255,255,255,.14)!important;color:#fff!important}

/* Platform school/onboarding profile KPI cards use .premium-card.kpi rather than
   .kpi-card. Give them the same varied logo-palette treatment. */
body.schoolerp-app .row>div:nth-child(8n+1)>.premium-card.kpi{background:linear-gradient(135deg,#0a2d78,#075dff)!important}
body.schoolerp-app .row>div:nth-child(8n+2)>.premium-card.kpi{background:linear-gradient(135deg,#071a36,#0f8ee8)!important}
body.schoolerp-app .row>div:nth-child(8n+3)>.premium-card.kpi{background:linear-gradient(135deg,#263bd7,#5848d8)!important}
body.schoolerp-app .row>div:nth-child(8n+4)>.premium-card.kpi{background:linear-gradient(135deg,#0874c9,#20bdf2)!important}
body.schoolerp-app .premium-card.kpi{border:0!important;color:#fff!important;box-shadow:0 10px 28px rgba(7,42,112,.13)!important;transition:transform .22s ease,box-shadow .22s ease!important}
body.schoolerp-app .premium-card.kpi:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(7,42,112,.20)!important}
body.schoolerp-app .premium-card.kpi .label,
body.schoolerp-app .premium-card.kpi .value,
body.schoolerp-app .premium-card.kpi small{color:#fff!important}

/* ==========================================================
   V38.7.4 readability + multi-colour KPI normalization
   Decorative KPIs use distinct dashboard colours; status colours remain semantic.
   ========================================================== */
body.schoolerp-app{font-size:14px!important}
body.schoolerp-app main p,body.schoolerp-app main li,body.schoolerp-app main td,body.schoolerp-app main th,
body.schoolerp-app main label,body.schoolerp-app main input,body.schoolerp-app main select,body.schoolerp-app main textarea,
body.schoolerp-app main .btn,body.schoolerp-app .nav-link,body.schoolerp-app .dropdown-item{font-size:13px}
body.schoolerp-app main small,body.schoolerp-app main .small,body.schoolerp-app main .form-text,body.schoolerp-app main .text-muted{font-size:11.5px}

:root{--kpi-blue:#1677ff;--kpi-green:#16a34a;--kpi-orange:#f97316;--kpi-red:#dc2626;--kpi-purple:#7c3aed;--kpi-teal:#0891b2;--kpi-gold:#d89b00;--kpi-rose:#db2777}
body.schoolerp-app .kpi-card.erp-kpi-tone-0,body.schoolerp-app .premium-stat.erp-stat-tone-0{background:linear-gradient(135deg,#0b5ed7,var(--kpi-blue))!important}
body.schoolerp-app .kpi-card.erp-kpi-tone-1,body.schoolerp-app .premium-stat.erp-stat-tone-1{background:linear-gradient(135deg,#087d37,var(--kpi-green))!important}
body.schoolerp-app .kpi-card.erp-kpi-tone-2,body.schoolerp-app .premium-stat.erp-stat-tone-2{background:linear-gradient(135deg,#d85d0b,var(--kpi-orange))!important}
body.schoolerp-app .kpi-card.erp-kpi-tone-3,body.schoolerp-app .premium-stat.erp-stat-tone-3{background:linear-gradient(135deg,#b91c1c,var(--kpi-red))!important}
body.schoolerp-app .kpi-card.erp-kpi-tone-4,body.schoolerp-app .premium-stat.erp-stat-tone-4{background:linear-gradient(135deg,#5b21b6,var(--kpi-purple))!important}
body.schoolerp-app .kpi-card.erp-kpi-tone-5,body.schoolerp-app .premium-stat.erp-stat-tone-5{background:linear-gradient(135deg,#0e7490,var(--kpi-teal))!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+1),body.schoolerp-app .row>div:nth-child(8n+1)>.kpi-card,body.schoolerp-app .row>div:nth-child(8n+1)>.premium-card.kpi,body.schoolerp-app .exec-kpi:nth-child(8n+1){background:linear-gradient(135deg,#0b5ed7,var(--kpi-blue))!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+2),body.schoolerp-app .row>div:nth-child(8n+2)>.kpi-card,body.schoolerp-app .row>div:nth-child(8n+2)>.premium-card.kpi,body.schoolerp-app .exec-kpi:nth-child(8n+2){background:linear-gradient(135deg,#087d37,var(--kpi-green))!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+3),body.schoolerp-app .row>div:nth-child(8n+3)>.kpi-card,body.schoolerp-app .row>div:nth-child(8n+3)>.premium-card.kpi,body.schoolerp-app .exec-kpi:nth-child(8n+3){background:linear-gradient(135deg,#d85d0b,var(--kpi-orange))!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+4),body.schoolerp-app .row>div:nth-child(8n+4)>.kpi-card,body.schoolerp-app .row>div:nth-child(8n+4)>.premium-card.kpi,body.schoolerp-app .exec-kpi:nth-child(8n+4){background:linear-gradient(135deg,#b91c1c,var(--kpi-red))!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+5),body.schoolerp-app .row>div:nth-child(8n+5)>.kpi-card,body.schoolerp-app .row>div:nth-child(8n+5)>.premium-card.kpi,body.schoolerp-app .exec-kpi:nth-child(8n+5){background:linear-gradient(135deg,#5b21b6,var(--kpi-purple))!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+6),body.schoolerp-app .row>div:nth-child(8n+6)>.kpi-card,body.schoolerp-app .row>div:nth-child(8n+6)>.premium-card.kpi,body.schoolerp-app .exec-kpi:nth-child(8n+6){background:linear-gradient(135deg,#0e7490,var(--kpi-teal))!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+7),body.schoolerp-app .row>div:nth-child(8n+7)>.kpi-card,body.schoolerp-app .row>div:nth-child(8n+7)>.premium-card.kpi,body.schoolerp-app .exec-kpi:nth-child(8n+7){background:linear-gradient(135deg,#b77900,var(--kpi-gold))!important}
body.schoolerp-app .erp-stat-grid>.erp-stat:nth-child(8n+8),body.schoolerp-app .row>div:nth-child(8n+8)>.kpi-card,body.schoolerp-app .row>div:nth-child(8n+8)>.premium-card.kpi,body.schoolerp-app .exec-kpi:nth-child(8n+8){background:linear-gradient(135deg,#a21caf,var(--kpi-rose))!important}
body.schoolerp-app .erp-stat *,body.schoolerp-app .kpi-card *,body.schoolerp-app .premium-card.kpi *,body.schoolerp-app .exec-kpi *{color:#fff!important}
body.schoolerp-app .erp-stat.green,body.schoolerp-app .kpi-card.green{background:linear-gradient(135deg,#087d37,var(--kpi-green))!important}
body.schoolerp-app .erp-stat.amber,body.schoolerp-app .erp-stat.orange,body.schoolerp-app .kpi-card.orange{background:linear-gradient(135deg,#d85d0b,var(--kpi-orange))!important}
body.schoolerp-app .erp-stat.red,body.schoolerp-app .kpi-card.red{background:linear-gradient(135deg,#b91c1c,var(--kpi-red))!important}
body.schoolerp-app .erp-stat.purple,body.schoolerp-app .kpi-card.indigo{background:linear-gradient(135deg,#5b21b6,var(--kpi-purple))!important}
body.schoolerp-app .erp-stat.cyan,body.schoolerp-app .kpi-card.teal{background:linear-gradient(135deg,#0e7490,var(--kpi-teal))!important}

/* Module grids: Transport / Library / Inventory inherit the same clean visual language. */
body.schoolerp-app main :is(.transport-card,.library-card,.inventory-card,.module-card,.premium-card){border-radius:12px}
body.schoolerp-app main table.table{background:#fff;border-radius:10px;overflow:hidden}
body.schoolerp-app main table.table thead th{background:#f4f7fb;color:#24364b;font-weight:700;border-bottom:1px solid #dce5ef}
body.schoolerp-app main table.table tbody tr:hover{background:#f8fbff}
body.schoolerp-app main .btn-outline-success,body.schoolerp-app main .btn-outline-warning{color:#25364b;border-color:#aebccc;background:#fff}
body.schoolerp-app main .btn-outline-success:hover,body.schoolerp-app main .btn-outline-warning:hover{background:#eef4fa;color:#10253e;border-color:#7590aa}

/* Global search result metadata. */
.erp-global-results a span{display:flex;min-width:0;flex-direction:column;gap:1px}.erp-global-results a small{display:block;color:#6b7280;font-size:10.5px;font-weight:500}

/* Generic CRUD popup surface used for compatible add/edit/view screens. */
#erpCrudModal .modal-dialog{max-width:min(920px,94vw)}#erpCrudModal .modal-content{border:0;border-radius:14px;box-shadow:0 24px 70px rgba(15,23,42,.24)}#erpCrudModal .modal-body{max-height:78vh;overflow:auto;background:#f8fafc}

/* V38.7.4 complete KPI family coverage: older pages use exam-stat, flow-kpi and stat-card. */
body.schoolerp-app :is(.exam-stat,.flow-kpi,.stat-card){position:relative;overflow:hidden;border:0!important;color:#fff!important;box-shadow:0 10px 28px rgba(15,23,42,.12)!important}
body.schoolerp-app :is(.exam-stat,.flow-kpi,.stat-card) *{color:#fff!important}
body.schoolerp-app :is(.exam-stat,.flow-kpi,.stat-card):nth-child(8n+1){background:linear-gradient(135deg,#0b5ed7,var(--kpi-blue))!important}
body.schoolerp-app :is(.exam-stat,.flow-kpi,.stat-card):nth-child(8n+2){background:linear-gradient(135deg,#087d37,var(--kpi-green))!important}
body.schoolerp-app :is(.exam-stat,.flow-kpi,.stat-card):nth-child(8n+3){background:linear-gradient(135deg,#d85d0b,var(--kpi-orange))!important}
body.schoolerp-app :is(.exam-stat,.flow-kpi,.stat-card):nth-child(8n+4){background:linear-gradient(135deg,#b91c1c,var(--kpi-red))!important}
body.schoolerp-app :is(.exam-stat,.flow-kpi,.stat-card):nth-child(8n+5){background:linear-gradient(135deg,#5b21b6,var(--kpi-purple))!important}
body.schoolerp-app :is(.exam-stat,.flow-kpi,.stat-card):nth-child(8n+6){background:linear-gradient(135deg,#0e7490,var(--kpi-teal))!important}
body.schoolerp-app :is(.exam-stat,.flow-kpi,.stat-card):nth-child(8n+7){background:linear-gradient(135deg,#b77900,var(--kpi-gold))!important}
body.schoolerp-app :is(.exam-stat,.flow-kpi,.stat-card):nth-child(8n+8){background:linear-gradient(135deg,#a21caf,var(--kpi-rose))!important}

/* V38.7.5 responsive containment and refreshed profile avatar */
html,body{max-width:100%;overflow-x:hidden}.app-main,.erp-main,.erp-content,.erp-page-wrap,.container,.container-fluid,.row>*{min-width:0}.premium-card,.erp-panel,.card{max-width:100%}.table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}img,svg,canvas,video{max-width:100%}iframe{max-width:100%;border:0}.erp-user-avatar{overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.erp-user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.erp-user-avatar>i{align-items:center;justify-content:center;width:100%;height:100%}@media(max-width:1199.98px){.premium-card{overflow:hidden}.page-heading{gap:.75rem;flex-wrap:wrap}.erp-page-wrap{padding-left:clamp(.75rem,2vw,1.25rem);padding-right:clamp(.75rem,2vw,1.25rem)}}@media(max-width:767.98px){.row>[class*="col-"]{max-width:100%}.premium-table{min-width:720px}.erp-user-copy{max-width:120px;overflow:hidden}.erp-user-copy strong,.erp-user-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* V38.7.5 print/report legibility: printed reports use black text and neutral backgrounds. */
@media print{
  body.schoolerp-app main,body.schoolerp-app main *,body.schoolerp-app .print-template,body.schoolerp-app .print-template *{color:#000!important;text-shadow:none!important}
  body.schoolerp-app .print-template .doc-section-title,body.schoolerp-app main table.table thead th{background:#f1f1f1!important;color:#000!important}
  body.schoolerp-app .premium-card,body.schoolerp-app .card,body.schoolerp-app table{break-inside:auto;box-shadow:none!important}
  body.schoolerp-app tr,body.schoolerp-app img{break-inside:avoid}
}


/* Shared student/staff attendance workspace ---------------------------------- */
body.schoolerp-app .attendance-kpi{
  min-height:96px!important;height:auto!important;padding:1rem 1.15rem!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  position:relative;overflow:hidden
}
body.schoolerp-app .attendance-kpi span{font-size:.70rem!important;font-weight:800!important;letter-spacing:.055em!important;opacity:.9}
body.schoolerp-app .attendance-kpi strong{font-size:1.75rem!important;line-height:1.1!important;color:#fff!important}
body.schoolerp-app .attendance-kpi>i{
  width:44px;height:44px;border-radius:13px;display:grid;place-items:center;
  background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.18);font-size:1.15rem;color:#fff
}
body.schoolerp-app .attendance-calendar{
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));
  border:1px solid #dce5f2;border-radius:17px;overflow:hidden;background:#fff;
  box-shadow:0 8px 26px rgba(15,45,90,.045)
}
body.schoolerp-app .attendance-weekday{
  padding:11px 8px;background:linear-gradient(180deg,#f8fbff,#f2f7fd);
  font-size:.73rem;font-weight:850;letter-spacing:.035em;color:#5d6d85;
  border-right:1px solid #e4ebf4;text-align:left
}
body.schoolerp-app .attendance-day{
  min-height:100px;padding:9px;border-top:1px solid #e5ebf3;border-right:1px solid #e5ebf3;
  position:relative;background:#fff;transition:background .15s ease,transform .15s ease
}
body.schoolerp-app .attendance-day.empty{background:#fbfdff}
body.schoolerp-app .attendance-day.has-status.present{background:linear-gradient(160deg,#fff 50%,#effbf4)}
body.schoolerp-app .attendance-day.has-status.absent{background:linear-gradient(160deg,#fff 50%,#fff2f2)}
body.schoolerp-app .attendance-day.has-status.late{background:linear-gradient(160deg,#fff 50%,#fff8e8)}
body.schoolerp-app .attendance-day.has-status.excused{background:linear-gradient(160deg,#fff 50%,#f1f6ff)}
body.schoolerp-app .attendance-date{
  display:inline-grid;place-items:center;width:31px;height:31px;border-radius:50%;
  font-weight:800;color:#12223b;background:#f5f8fc
}
body.schoolerp-app .attendance-day.has-status.present .attendance-date{background:#e5f8ec;color:#087a36}
body.schoolerp-app .attendance-day.has-status.absent .attendance-date{background:#feecec;color:#c21616}
body.schoolerp-app .attendance-day.has-status.late .attendance-date{background:#fff2d5;color:#9a5a00}
body.schoolerp-app .attendance-day.has-status.excused .attendance-date{background:#e9f1ff;color:#155bc4}
body.schoolerp-app .attendance-state{
  position:absolute;right:8px;bottom:9px;padding:3px 8px;border-radius:7px;
  font-size:.68rem;font-weight:800;background:#eef2f7;color:#334155
}
body.schoolerp-app .attendance-state.present{background:#dcf6e7;color:#087a36}
body.schoolerp-app .attendance-state.absent{background:#fee7e7;color:#bd1b1b}
body.schoolerp-app .attendance-state.late{background:#fff0c9;color:#9a5a00}
body.schoolerp-app .attendance-state.excused{background:#e4efff;color:#155bc4}
body.schoolerp-app .attendance-note{
  display:block;margin-top:8px;max-width:75%;font-size:.64rem;color:#68778d;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
@media (max-width:767.98px){
 body.schoolerp-app .attendance-weekday{font-size:.59rem;padding:7px 2px;text-align:center}
 body.schoolerp-app .attendance-day{min-height:72px;padding:4px}
 body.schoolerp-app .attendance-date{width:25px;height:25px;font-size:.78rem}
 body.schoolerp-app .attendance-state{position:static;display:block;margin-top:6px;text-align:center;padding:2px;font-size:.56rem}
 body.schoolerp-app .attendance-note{display:none}
}

/* Staff attendance calendar: shared visual language with student/parent attendance. */
body.schoolerp-app .staff-attendance-calendar .staff-day{color:#14233b!important;cursor:pointer}
body.schoolerp-app .staff-attendance-calendar .staff-day:hover{background:#f2f7ff!important;box-shadow:inset 0 0 0 2px rgba(13,110,253,.15)}
body.schoolerp-app .staff-attendance-calendar .staff-day.selected-day{box-shadow:inset 0 0 0 2px #0d6efd;background:#f5f9ff!important}
body.schoolerp-app .staff-day-counts{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:12px;font-size:.66rem;font-weight:700}
body.schoolerp-app .staff-day-counts .staff-late{color:#a35d00}
body.schoolerp-app .attendance-kpi small{display:block;margin-top:4px;color:rgba(255,255,255,.8)!important;font-size:.66rem!important}

/* Wider, calmer authentication workspace. Keeps both sign-in and school registration fields readable. */
@media (min-width:1051px){
 body.erp-login-body .erp-login-shell{grid-template-columns:minmax(500px,1.02fr) minmax(660px,.98fr)!important}
 body.erp-login-body .erp-login-panel{padding:34px 42px!important}
 body.erp-login-body .erp-login-card{width:min(670px,100%)!important;padding:38px 42px!important;border-radius:24px!important;box-shadow:0 24px 70px rgba(5,35,85,.16)!important}
 body.erp-login-body .erp-login-card .form-control,
 body.erp-login-body .erp-login-card .form-select,
 body.erp-login-body .erp-login-card .input-group-text{min-height:46px}
 body.erp-login-body .auth-mode-switch{margin-bottom:24px!important}
}
@media (min-width:768px) and (max-width:1050px){
 body.erp-login-body .erp-login-card{width:min(680px,100%)!important;padding:34px 38px!important}
}


/* Explicit KPI tones are used when stat cards sit inside Bootstrap columns; nth-child
   selectors would otherwise resolve every nested card as the first child. */
body.schoolerp-app .exam-stat.erp-kpi-tone-0{background:linear-gradient(135deg,#0d6efd,#287ff0);border-color:#0d6efd;color:#fff}
body.schoolerp-app .exam-stat.erp-kpi-tone-1{background:linear-gradient(135deg,#198754,#2d9b68);border-color:#198754;color:#fff}
body.schoolerp-app .exam-stat.erp-kpi-tone-2{background:linear-gradient(135deg,#b35c00,#d97706);border-color:#d97706;color:#fff}
body.schoolerp-app .exam-stat.erp-kpi-tone-3{background:linear-gradient(135deg,#6f42c1,#8757d1);border-color:#6f42c1;color:#fff}
body.schoolerp-app .exam-stat.erp-kpi-tone-0 .label,
body.schoolerp-app .exam-stat.erp-kpi-tone-1 .label,
body.schoolerp-app .exam-stat.erp-kpi-tone-2 .label,
body.schoolerp-app .exam-stat.erp-kpi-tone-3 .label,
body.schoolerp-app .exam-stat.erp-kpi-tone-0 .small,
body.schoolerp-app .exam-stat.erp-kpi-tone-1 .small,
body.schoolerp-app .exam-stat.erp-kpi-tone-2 .small,
body.schoolerp-app .exam-stat.erp-kpi-tone-3 .small{color:rgba(255,255,255,.9)!important}
body.schoolerp-app .exam-stat.erp-kpi-tone-0 .value,
body.schoolerp-app .exam-stat.erp-kpi-tone-1 .value,
body.schoolerp-app .exam-stat.erp-kpi-tone-2 .value,
body.schoolerp-app .exam-stat.erp-kpi-tone-3 .value{color:#fff!important}

/* V38.7.9: compact role-aware login and varied KPI surfaces. */
body.erp-login-body .erp-login-card{width:min(520px,100%)!important;padding:30px 34px!important}
.kpi-spectrum-1{background:linear-gradient(135deg,#eef6ff,#ffffff)!important;border-top:3px solid #1976d2!important}.kpi-spectrum-2{background:linear-gradient(135deg,#effbf4,#ffffff)!important;border-top:3px solid #16a36a!important}.kpi-spectrum-3{background:linear-gradient(135deg,#fff8e8,#ffffff)!important;border-top:3px solid #e7a11a!important}.kpi-spectrum-4{background:linear-gradient(135deg,#fff0f4,#ffffff)!important;border-top:3px solid #d84a72!important}.kpi-spectrum-5{background:linear-gradient(135deg,#f5f0ff,#ffffff)!important;border-top:3px solid #7b55c7!important}.kpi-spectrum-6{background:linear-gradient(135deg,#eefcfc,#ffffff)!important;border-top:3px solid #159a9c!important}
@media(max-width:760px){body.erp-login-body .erp-login-card{width:100%!important;padding:20px!important}}

/* KPI content must grow instead of clipping or colliding with the icon. */
body.schoolerp-app .kpi-card,
body.schoolerp-app .premium-card.kpi,
body.schoolerp-app .exec-kpi{
  height:auto!important;min-height:118px;align-items:center;overflow:hidden;
}
body.schoolerp-app .kpi-card>div,
body.schoolerp-app .premium-card.kpi>div,
body.schoolerp-app .exec-kpi>div{min-width:0;max-width:100%;flex:1 1 auto}
body.schoolerp-app .kpi-card span,
body.schoolerp-app .kpi-card small,
body.schoolerp-app .kpi-card strong,
body.schoolerp-app .kpi-card b,
body.schoolerp-app .kpi-card h2,
body.schoolerp-app .kpi-card h4,
body.schoolerp-app .premium-card.kpi .label,
body.schoolerp-app .premium-card.kpi .value,
body.schoolerp-app .exec-kpi span,
body.schoolerp-app .exec-kpi strong{
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  overflow-wrap:anywhere;word-break:normal;line-height:1.2;
}
body.schoolerp-app .kpi-card>i{flex:0 0 48px;margin-left:auto}

/* Only prevent filter controls from squeezing action labels. Preserve theme styling. */
body.schoolerp-app .filter-bar{flex-wrap:wrap}
body.schoolerp-app .filter-bar > :is(.form-control,.form-select){flex:1 1 180px;width:auto;min-width:0!important;max-width:100%}
body.schoolerp-app .filter-bar > .btn{flex:0 0 auto;max-width:100%;white-space:normal;height:auto}
.payroll-employee-list{max-height:240px;overflow-y:auto;border:1px solid #dce4ec;border-radius:8px;padding:12px}
.payroll-employee-list .form-check{padding-top:6px;padding-bottom:6px}
