:root{--bs-primary:#2856c4;--bs-primary-rgb:40,86,196;--erp-navy:#142b52;--erp-ink:#17243a;--erp-muted:#66758e}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--erp-ink);background:#f6f8fc}
.btn-primary{--bs-btn-bg:#2856c4;--bs-btn-border-color:#2856c4;--bs-btn-hover-bg:#1d449e;--bs-btn-hover-border-color:#1d449e;--bs-btn-active-bg:#193d90;--bs-btn-active-border-color:#193d90}
.btn-outline-primary{--bs-btn-color:#2856c4;--bs-btn-border-color:#b4c6ed;--bs-btn-hover-bg:#2856c4;--bs-btn-hover-border-color:#2856c4}
.form-control:focus,.form-select:focus{border-color:#7e9feb;box-shadow:0 0 0 .22rem rgba(40,86,196,.14)}
.erp-mark{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border-radius:13px;background:#76d9d3;color:#153453;font-weight:800;font-size:1.65rem;line-height:1}
.erp-login-page{background:#fff}
.erp-login-intro{position:relative;overflow:hidden;background:linear-gradient(145deg,#102447 0%,#183d6d 64%,#184e79 100%);color:#fff}
.erp-login-intro:before,.erp-login-intro:after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(255,255,255,.14);border-radius:50%}
.erp-login-intro:before{width:650px;height:650px;right:-285px;top:-170px}.erp-login-intro:after{width:480px;height:480px;left:-265px;bottom:-300px}
.erp-login-intro>*{position:relative;z-index:1}.erp-intro-copy{max-width:520px}.erp-intro-copy p{color:#d0e2f8;line-height:1.65}.erp-intro-pill{display:inline-block;border:1px solid rgba(255,255,255,.24);border-radius:100px;padding:9px 14px;font-size:.75rem;font-weight:700;letter-spacing:.08em;color:#bcefeb}.erp-intro-footer{color:#adbfda}
.erp-login-panel{background:radial-gradient(circle at 90% 10%,#edf5ff,transparent 45%),#fff}.erp-login-card{max-width:430px}.erp-eyebrow,.eyebrow{font-size:.73rem;color:#316799;font-weight:800;letter-spacing:.11em}.erp-login-card .form-control{min-height:49px;border-radius:10px}.erp-login-card .input-group>.form-control{border-radius:10px 0 0 10px}.erp-login-card .erp-password-toggle{border-radius:0 10px 10px 0;min-width:74px}.erp-signin{min-height:52px;border-radius:11px;font-weight:650}
.erp-sidebar{--bs-offcanvas-width:264px;--bs-offcanvas-bg:var(--erp-navy);background:var(--erp-navy);width:264px}.erp-sidebar small,.erp-sidebar-school{color:#b7c9e4}.erp-sidebar .erp-nav-link{color:#cbd7ea;border-radius:9px;font-size:.9rem;padding:11px 13px}.erp-sidebar .erp-nav-link:hover,.erp-sidebar .erp-nav-link:focus{color:#fff;background:#294875}.erp-sidebar .erp-nav-link.active{color:#fff;background:#3262ba}.erp-sidebar-school{border-top:1px solid #385072}
.erp-main{min-height:100vh}.erp-topbar{min-height:74px}.erp-content{max-width:1530px}.heading h1{font-size:clamp(1.55rem,2.6vw,2rem);font-weight:750;letter-spacing:-.03em;margin:.4rem 0}.heading p{color:var(--erp-muted);margin:0}
.erp-app .card{border-radius:16px}.erp-app .card h2{font-size:1.07rem;font-weight:700;margin:0 0 1rem}.erp-app .card summary{font-weight:700;font-size:1.07rem;cursor:pointer;margin-bottom:1.15rem}.erp-app .card summary::marker{color:#2856c4}
.erp-app .fields label{font-size:.85rem;font-weight:600;color:#40536e}.erp-app .fields label .form-control,.erp-app .fields label .form-select{margin-top:.4rem}.erp-app .fields button{width:fit-content}.erp-app td .form-control,.erp-app td .form-select{min-width:130px}
.erp-app .table-responsive{max-width:100%}.erp-app .table{min-width:590px;--bs-table-bg:transparent}.erp-app .table thead th{background:#f5f8fe;color:#5b6d87;font-size:.72rem;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}.erp-app .table td,.erp-app .table th{padding:.85rem .8rem}.erp-app .table td{font-size:.87rem;color:#26364f}
.erp-app .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.erp-app .stat small{color:#65758d}.erp-app .stat strong{display:block;font-size:1.8rem;letter-spacing:-.04em;margin-top:.5rem}.erp-app .tabs a{font-size:.9rem}.erp-app .actions .btn{white-space:nowrap}
@media(min-width:992px){.erp-sidebar{position:fixed;inset:0 auto 0 0;height:100vh;z-index:1030}.erp-sidebar .offcanvas-body{height:100%;overflow-y:auto}.erp-main{margin-left:264px}}
@media(max-width:991.98px){.erp-sidebar{color:#fff}.erp-sidebar .offcanvas-body{min-height:0;overflow-y:auto}.erp-app .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.erp-app .stats{gap:.7rem}.erp-app .stat strong{font-size:1.4rem}.erp-login-panel{align-items:flex-start!important}.erp-login-card{margin-top:3vh}}
