:root{--bg:#f3f6fa;--surface:#fff;--surface-2:#f8fafc;--ink:#142235;--muted:#64748b;--line:#dfe6ee;--primary:#1769aa;--primary-2:#0d4f82;--nav:#0d2238;--nav-2:#143552;--ok:#087443;--warn:#a15c00;--danger:#b42318;--shadow:0 8px 28px rgba(15,35,55,.07);--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:270px;background:linear-gradient(180deg,var(--nav),#0b1d30);color:#fff;padding:18px 14px;display:flex;flex-direction:column;overflow:auto}.brand-row{display:flex;align-items:center;gap:10px;padding:6px 8px 2px}.brand-mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#1b6da8;color:#fff;font-weight:800}.brand{font-size:25px;font-weight:800;letter-spacing:-1px}.brand span{font-weight:400}.institution{font-size:11px;color:#b9cbe0;line-height:1.45;margin:5px 8px 20px}.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7590aa;font-weight:800;padding:12px 10px 6px}.sidebar nav{display:grid;gap:3px}.sidebar nav a{color:#dbe8f4;padding:10px 11px;border-radius:9px;font-weight:600;font-size:13px;display:flex;align-items:center;gap:9px}.sidebar nav a.active,.sidebar nav a:hover{background:var(--nav-2);text-decoration:none;color:#fff}.sidebar nav a.subitem{font-size:12px;font-weight:500;padding-left:34px;color:#b9cbe0}.sidebar nav a.subitem:hover{color:#fff}.side-user{margin-top:auto;border-top:1px solid #29435d;padding:14px 9px 4px;font-size:12px;color:#c6d5e4}.side-user .user-name{font-weight:700;color:#fff;font-size:13px}.side-user a{color:#a9c8e2}.main{margin-left:270px;min-height:100vh;padding:0 30px 36px;max-width:1800px}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;min-height:76px;background:rgba(243,246,250,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(223,230,238,.8);margin:0 -30px 24px;padding:14px 30px}.page-heading{display:flex;align-items:center;gap:12px}.page-heading .eyebrow{display:block;color:var(--primary);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:2px}.page-heading h1{margin:0;font-size:25px;letter-spacing:-.03em}.topbar-meta{color:var(--muted);font-size:12px}.topbar-actions{display:flex;align-items:center;gap:8px}.user-pill{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface);border:1px solid var(--line);border-radius:999px}.user-pill .avatar-mini{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#dcecf9;color:#155a8f;font-size:11px;font-weight:800}.mobile-toggle{display:none}.breadcrumb{font-size:11px;color:var(--muted);margin:-10px 0 18px}.breadcrumb a{color:var(--muted)}.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.stat,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--primary);opacity:.85}.stat span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.stat b{display:block;font-size:27px;letter-spacing:-.03em;margin:7px 0}.stat small{color:var(--muted);font-size:11px}.small-value{font-size:17px!important;word-break:break-word}.card{margin-bottom:18px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.card-head h2{margin:0}.card h2{font-size:17px;letter-spacing:-.015em}.card h3{font-size:13px;margin:22px 0 9px}.muted{color:var(--muted);font-size:12px}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{background:#f7f9fc;color:#596a7c;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;position:sticky;top:0}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfdff}.badge{display:inline-flex;align-items:center;gap:5px;background:#edf3f8;border:1px solid #dce6ef;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.badge.ok{background:#e9f8f0;border-color:#ccebd9;color:var(--ok)}.badge.warn{background:#fff4df;border-color:#f1ddb5;color:var(--warn)}.badge.danger{background:#fdecec;border-color:#f3cccc;color:var(--danger)}.bar-row{display:grid;grid-template-columns:minmax(100px,1fr) 48px 1.7fr;gap:10px;align-items:center;font-size:12px;margin:10px 0}.bar-row i{height:7px;background:#e8eef4;border-radius:10px;overflow:hidden}.bar-row em{display:block;height:100%;background:var(--primary);border-radius:10px}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-grid div{padding:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px}.mini-grid strong,.mini-grid span{display:block}.mini-grid span{font-size:20px;font-weight:800;margin-top:4px}.filters{display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr auto auto;gap:9px;align-items:end}.filters input,.filters select,input,textarea,select{border:1px solid #cbd5e1;border-radius:9px;padding:10px 11px;font:inherit;background:#fff;width:100%;min-height:40px;outline:none}.filters input:focus,.filters select:focus,input:focus,textarea:focus,select:focus{border-color:#6aa5cf;box-shadow:0 0 0 3px rgba(23,105,170,.1)}textarea{min-height:90px;resize:vertical}label{display:block;font-size:11px;font-weight:800;margin:0 0 6px;color:#526274}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #cbd5df;background:#fff;padding:9px 13px;border-radius:9px;color:#243342;font-weight:700;font-size:12px;min-height:38px;cursor:pointer}.btn:hover{text-decoration:none;background:#f6f8fa;border-color:#b9c5d1}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-2);border-color:var(--primary-2)}.btn.danger{background:#fff5f5;border-color:#efc6c3;color:var(--danger)}.full{width:100%;margin-top:12px}.flash,.ok,.err,.callout{padding:12px 14px;border-radius:10px;margin-bottom:14px;border:1px solid}.flash.ok,.ok{background:#e9f8f0;color:var(--ok);border-color:#ccebd9}.flash.err,.err{background:#fdecec;color:var(--danger);border-color:#f3cccc}.callout{background:#eef6ff;color:#24547c;border-color:#d5e7f7}.pagination{display:flex;gap:5px;margin-top:15px;flex-wrap:wrap}.pagination a{padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:#fff}.pagination .current{background:var(--primary);color:#fff;border-color:var(--primary)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 18px}.detail-grid div{padding:11px 0;border-bottom:1px solid var(--line)}.detail-grid label{margin-bottom:4px}.detail-grid span{font-size:12.5px;white-space:pre-wrap;word-break:break-word}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-grid textarea{min-height:90px}.sticky-actions{position:sticky;bottom:0;z-index:10;background:rgba(243,246,250,.96);padding:14px;margin:0 -2px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end}.profile-head{display:flex;align-items:center;gap:16px}.avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#dcecf9;color:#155a8f;font-size:24px;font-weight:800}.actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.report-line{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.report-line:last-child{border-bottom:0}.login-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top right,#2a6e9f 0,#10263d 42%,#091725 100%)}.login-card{width:min(440px,92vw);background:#fff;padding:34px;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.3)}.login-card h2{margin-top:25px}.login-card form{display:grid;gap:8px}.login-card small{display:block;color:var(--muted);margin-top:20px;line-height:1.5}.empty{text-align:center;color:var(--muted);padding:34px!important}.subnav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.subnav a{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px;font-weight:700}.subnav a.active{background:var(--primary);border-color:var(--primary);color:#fff}.span3{grid-column:1/-1}code{background:#eef2f6;padding:2px 5px;border-radius:4px;font-size:11px}.workflow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0}.workflow span{padding:9px 12px;border:1px solid #d8dee8;border-radius:9px;background:#f8fafc;font-weight:700}.workflow i{font-style:normal;color:#64748b}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.check{display:flex;gap:10px;align-items:flex-start;border:1px solid #e2e8f0;padding:10px;border-radius:9px}.check small{display:block;color:#64748b;margin-top:4px}.subitem{font-size:.9em;padding-left:30px!important}.small{padding:5px 9px!important;font-size:.8rem}.inline-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.inline-form label{min-width:220px}.certificate-body{text-align:center;padding:45px 25px;min-height:360px}.certificate-body h1{font-size:34px;margin:24px 0 12px}.certificate-body h2{font-size:22px;margin:16px 0}.cert-signs{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:35px 20px 10px;text-align:center}.cert-signs div{border-top:1px solid #334155;padding-top:10px;font-weight:700}.print-title{text-align:center;margin-bottom:24px}.print-title h1,.print-title h2{margin:5px 0}.transcript-sheet,.certificate-sheet{background:#fff}.transcript-sheet .detail-grid{margin-bottom:25px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);font-weight:800;margin-bottom:5px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.metric strong{display:block;font-size:19px}.metric span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.enterprise-note{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);background:#fff;border-radius:9px;color:var(--muted);font-size:11px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block}@media(max-width:1100px){.sidebar{width:235px}.main{margin-left:235px;padding-left:20px;padding-right:20px}.topbar{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.stats{grid-template-columns:repeat(2,1fr)}.three,.four{grid-template-columns:repeat(2,1fr)}.form-grid,.detail-grid{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr 1fr}.filters .span3{grid-column:1/-1}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s ease;width:280px}.sidebar.open{transform:translateX(0)}.main{margin-left:0;padding:0 12px 28px}.topbar{margin:0 -12px 18px;padding:10px 12px;min-height:64px}.mobile-toggle{display:inline-flex}.page-heading h1{font-size:20px}.topbar-meta{display:none}.user-pill{display:none}.stats,.two,.three,.four,.metric-grid,.form-grid,.detail-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.actions{margin-left:0}.topbar-actions{gap:5px}.brand-row{padding-top:3px}.sidebar nav a{padding:11px}.certificate-body{padding:25px 10px}.cert-signs{grid-template-columns:1fr}.print-title{margin-top:20px}}
@media print{.sidebar,.topbar,.breadcrumb,.subnav,.sticky-actions,.flash,.page-actions{display:none!important}.main{margin:0;padding:0;max-width:none}.card{border:0;box-shadow:none}.table-wrap{border:0}.transcript-sheet,.certificate-sheet{display:block!important}.certificate-body{min-height:500px}.print-title h1{font-size:24px}.cert-signs{margin-top:80px}}
/* Enterprise collapsible sidebar submenus */
.module-nav{display:grid;gap:4px}.nav-group{border-radius:10px}.nav-group-toggle{width:100%;border:0;background:transparent;color:#dbe8f4;padding:10px 11px;border-radius:9px;font:inherit;font-weight:650;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:9px;cursor:pointer;text-align:left}.nav-group-toggle:hover,.nav-group.is-active>.nav-group-toggle{background:var(--nav-2);color:#fff}.nav-main-label{display:flex;align-items:center;gap:9px;min-width:0}.nav-icon{width:18px;text-align:center;opacity:.95}.nav-chevron{font-size:19px;line-height:1;transition:transform .18s ease;color:#8ea8c0}.nav-group.is-open>.nav-group-toggle .nav-chevron{transform:rotate(90deg);color:#fff}.nav-submenu{display:grid;gap:2px;max-height:0;overflow:hidden;opacity:0;transition:max-height .2s ease,opacity .16s ease;padding:0 0 0 12px}.nav-submenu.is-open{max-height:520px;opacity:1;padding-top:3px;padding-bottom:3px}.sidebar nav a.subitem{font-size:12px;font-weight:500;padding:8px 11px 8px 28px;color:#b9cbe0;border-left:2px solid transparent;border-radius:7px}.sidebar nav a.subitem:hover{color:#fff;background:rgba(20,53,82,.6);border-left-color:#5d94bd}.sidebar nav a.subitem.active{color:#fff;background:rgba(20,53,82,.72);border-left-color:#6aa5cf;text-decoration:none}.nav-group.is-active>.nav-group-toggle{box-shadow:inset 3px 0 0 var(--primary)}
@media(max-width:760px){.nav-submenu.is-open{max-height:700px}}

/* v4.2.4 Staff & Student Portal visual refresh */
.portal-login-bg{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 15% 15%,rgba(72,155,220,.32),transparent 34%),radial-gradient(circle at 90% 85%,rgba(22,105,170,.35),transparent 36%),linear-gradient(135deg,#071a2b 0%,#0d2e4a 52%,#1769aa 100%);padding:28px}
.portal-login-bg:before,.portal-login-bg:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12);pointer-events:none}.portal-login-bg:before{width:520px;height:520px;right:-180px;top:-190px}.portal-login-bg:after{width:380px;height:380px;left:-180px;bottom:-170px}
.portal-login{position:relative;z-index:1;width:min(980px,96vw);min-height:570px;display:grid;grid-template-columns:1.02fr .98fr;background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.45);border-radius:28px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.30);padding:0}
.portal-login-showcase{padding:52px 46px;background:linear-gradient(155deg,#09243a,#0d4268 62%,#1769aa);color:#fff;position:relative;overflow:hidden}.portal-login-showcase:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-155px;bottom:-165px;background:rgba(255,255,255,.06)}
.portal-login-logo{display:flex;align-items:center;gap:13px;margin-bottom:55px}.portal-login-logo-mark{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);font-weight:900;font-size:20px}.portal-login-logo-name{font-size:21px;font-weight:850;letter-spacing:-.03em}.portal-login-logo-name small{display:block;font-size:9px;letter-spacing:.18em;color:#b9ddf5;margin-top:2px}
.portal-login-showcase h1{font-size:38px;line-height:1.05;letter-spacing:-.045em;margin:0 0 15px;max-width:420px}.portal-login-showcase>p{color:#c8dceb;max-width:420px;font-size:14px;line-height:1.7;margin:0}.portal-feature-list{display:grid;gap:11px;margin-top:30px}.portal-feature{display:flex;align-items:center;gap:11px;color:#e6f2fb;font-size:12px}.portal-feature i{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.10);font-style:normal}
.portal-login-panel{padding:52px 48px;display:flex;flex-direction:column;justify-content:center}.portal-login-panel .eyebrow{color:var(--primary);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.portal-login-panel h2{font-size:28px;letter-spacing:-.035em;margin:8px 0 7px}.portal-login-panel .login-subtitle{color:var(--muted);font-size:12px;margin:0 0 27px}.portal-login-panel form{display:grid;gap:12px}.portal-login-field{position:relative}.portal-login-field label{margin-bottom:7px}.portal-login-field input{height:48px;border-radius:12px;padding:12px 14px 12px 43px;background:#fbfdff;border-color:#d4dee8}.portal-login-field input:focus{background:#fff;border-color:#4b97c8;box-shadow:0 0 0 4px rgba(23,105,170,.10)}.portal-login-field .field-icon{position:absolute;left:14px;bottom:14px;color:#7890a4;font-size:15px}.portal-password-toggle{position:absolute;right:10px;bottom:8px;border:0;background:transparent;color:#587086;font-size:11px;font-weight:800;cursor:pointer;padding:7px}.portal-login-submit{height:48px;border-radius:12px!important;margin-top:6px!important;font-size:13px!important;box-shadow:0 9px 22px rgba(23,105,170,.22)}.portal-login-help{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:11px}.portal-login-help a{font-weight:800}.portal-secure-note{display:flex;align-items:center;gap:7px;color:#708397}.portal-secure-dot{width:7px;height:7px;border-radius:50%;background:#1a9b67}.portal-login .err{margin-bottom:14px}
.portal-shell{padding-bottom:30px}.portal-hero{position:relative;overflow:hidden;min-height:142px;padding:28px 30px!important;border-radius:20px!important;background:linear-gradient(135deg,#09263e,#1769aa 70%,#2d86bd)!important;box-shadow:0 15px 35px rgba(13,57,89,.16)!important}.portal-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-120px;top:-150px;border:1px solid rgba(255,255,255,.12)}.portal-hero h2{font-size:29px!important;letter-spacing:-.04em}.portal-hero .eyebrow{font-size:10px!important;font-weight:900;letter-spacing:.16em}.portal-actions{position:relative;z-index:1}.portal-actions a{background:rgba(255,255,255,.10);backdrop-filter:blur(6px);transition:.18s}.portal-actions a:hover{background:rgba(255,255,255,.18);text-decoration:none}.portal-tabs{padding:6px;background:#eaf0f6;border:1px solid #dce5ed;border-radius:13px;gap:5px}.portal-tabs a{border-color:transparent;transition:.18s}.portal-tabs a:hover{background:#f4f8fb;text-decoration:none}.portal-tabs a.active{box-shadow:0 5px 12px rgba(23,105,170,.18)}.portal-kpis{gap:16px}.portal-kpi{position:relative;overflow:hidden;box-shadow:0 7px 22px rgba(15,35,55,.05);transition:transform .18s,box-shadow .18s}.portal-kpi:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,35,55,.09)}.portal-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary)}.portal-table{box-shadow:0 7px 24px rgba(15,35,55,.045);border-radius:15px}.portal-table h3{font-size:16px}.day-card{box-shadow:0 5px 15px rgba(15,35,55,.04)}
@media(max-width:760px){.portal-login{grid-template-columns:1fr;min-height:auto;width:min(520px,96vw)}.portal-login-showcase{padding:32px 28px}.portal-login-showcase h1{font-size:30px}.portal-login-logo{margin-bottom:28px}.portal-feature-list{grid-template-columns:1fr 1fr}.portal-login-panel{padding:34px 28px}.portal-login-help{align-items:flex-start;flex-direction:column}.portal-hero{padding:23px!important}.portal-hero h2{font-size:24px!important}}
@media(max-width:430px){.portal-login-bg{padding:12px}.portal-login-showcase{padding:27px 22px}.portal-feature-list{grid-template-columns:1fr}.portal-login-panel{padding:28px 22px}}

/* v4.2.6 — Main ERP Login Experience */
.erp-login-bg{min-height:100vh;margin:0;padding:28px;background:radial-gradient(circle at 82% 12%,rgba(61,139,196,.24),transparent 30%),linear-gradient(135deg,#061827 0%,#0b2740 48%,#1769aa 100%);display:grid;place-items:center;position:relative;overflow:hidden}
.erp-login-bg:before{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-290px;top:-300px}.erp-login-bg:after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(255,255,255,.06);border-radius:50%;left:-260px;bottom:-270px}
.erp-login-shell{position:relative;z-index:1;width:min(1080px,96vw);min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.35)}
.erp-login-brand-panel{position:relative;padding:48px 50px;color:#fff;background:linear-gradient(155deg,#071d31 0%,#0d3858 58%,#1769aa 100%);display:flex;flex-direction:column;overflow:hidden}.erp-login-brand-panel:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;right:-250px;bottom:-220px;border:1px solid rgba(255,255,255,.10);box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.015)}
.erp-brand-lockup{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.erp-brand-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.23);font-size:21px;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.erp-brand-name{font-size:25px;line-height:1;font-weight:900;letter-spacing:-.045em}.erp-brand-name span{font-weight:400}.erp-brand-kicker{margin-top:5px;font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:#b8d7eb;font-weight:800}
.erp-brand-content{position:relative;z-index:1;margin:auto 0;max-width:500px}.erp-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.17em;font-weight:900;color:#4f94c6}.erp-login-brand-panel .erp-eyebrow{color:#8fc6e9}.erp-brand-content h1{font-size:42px;line-height:1.05;letter-spacing:-.055em;margin:12px 0 17px;max-width:500px}.erp-brand-content p{font-size:14px;line-height:1.75;color:#c7dceb;max-width:475px;margin:0}.erp-login-features{display:grid;gap:13px;margin-top:30px}.erp-login-features div{display:flex;align-items:center;gap:11px;color:#e8f4fb;font-size:12px;font-weight:650}.erp-login-features i{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-style:normal}.erp-brand-footer{position:relative;z-index:1;font-size:11px;color:#a9c9dd;display:flex;align-items:center;gap:7px}.erp-online-dot{width:7px;height:7px;border-radius:50%;background:#3bd18b;box-shadow:0 0 0 4px rgba(59,209,139,.10)}
.erp-login-form-panel{background:#fff;display:flex;align-items:center;padding:48px}.erp-login-form-inner{width:100%;max-width:430px;margin:auto}.erp-mobile-brand{display:none}.erp-login-form-panel h2{font-size:30px;line-height:1.1;letter-spacing:-.045em;margin:8px 0 8px}.erp-login-subtitle{font-size:12px;color:var(--muted);margin:0 0 28px}.erp-login-form{display:grid;gap:17px}.erp-field label{margin-bottom:8px}.erp-input-wrap{position:relative}.erp-input-wrap input{height:52px;border-radius:12px;padding:13px 76px 13px 43px;background:#f9fbfd;border-color:#d2dce7;transition:.18s}.erp-input-wrap input:focus{background:#fff;border-color:#4c99ca;box-shadow:0 0 0 4px rgba(23,105,170,.10)}.erp-input-icon{position:absolute;left:15px;top:16px;color:#7b91a4;font-size:13px;z-index:1}.erp-password-toggle{position:absolute;right:8px;top:7px;height:38px;border:0;border-radius:8px;padding:0 10px;background:transparent;color:#1769aa;font-weight:800;font-size:11px;cursor:pointer}.erp-password-toggle:hover{background:#edf5fb}.erp-login-submit{height:52px;border-radius:12px!important;margin-top:3px!important;font-size:13px!important;box-shadow:0 10px 25px rgba(23,105,170,.22);justify-content:space-between;padding:0 18px!important}.erp-login-submit b{font-size:18px;font-weight:500}.erp-login-error{margin-bottom:18px}
.erp-login-divider{display:flex;align-items:center;gap:12px;color:#8291a0;font-size:10px;margin:28px 0 12px}.erp-login-divider:before,.erp-login-divider:after{content:"";height:1px;background:var(--line);flex:1}.erp-portal-link{display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid #dce5ed;border-radius:12px;background:#fbfdff;color:#243342;transition:.18s}.erp-portal-link:hover{background:#f3f8fc;border-color:#bfd4e4;text-decoration:none;transform:translateY(-1px)}.erp-portal-link .erp-portal-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#eaf4fb;color:#1769aa;font-size:14px}.erp-portal-link span:nth-child(2){min-width:0;flex:1}.erp-portal-link strong,.erp-portal-link small{display:block}.erp-portal-link strong{font-size:12px}.erp-portal-link small{color:var(--muted);font-size:10px;margin-top:2px}.erp-portal-link>b{font-size:17px;color:#1769aa;font-weight:500}.erp-login-bottom{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:25px;color:#8a98a7;font-size:10px;text-align:center}.erp-login-bottom span:nth-child(2){color:#c2cbd4}
@media(max-width:850px){.erp-login-shell{grid-template-columns:1fr;max-width:520px;min-height:auto}.erp-login-brand-panel{display:none}.erp-login-form-panel{padding:42px 34px}.erp-mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:35px}.erp-mobile-brand .erp-brand-mark{background:#eaf4fb;color:#1769aa;border-color:#d5e7f4}.erp-mobile-brand .erp-brand-name{font-size:23px}}
@media(max-width:500px){.erp-login-bg{padding:12px}.erp-login-form-panel{padding:30px 22px}.erp-login-form-panel h2{font-size:26px}.erp-mobile-brand{margin-bottom:28px}.erp-login-bottom{line-height:1.5}}
/* v4.2.35 — Enterprise UI/UX System Refresh */
:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#f8fafc;--ink:#102238;--muted:#64748b;--line:#dce4ed;--primary:#1769aa;--primary-2:#0e568d;--nav:#081d31;--nav-2:#123b5d;--ok:#087443;--warn:#9a5b00;--danger:#b42318;--shadow:0 10px 30px rgba(16,34,56,.055);--shadow-lg:0 18px 50px rgba(16,34,56,.09);--radius:16px}
body{background:linear-gradient(180deg,#f7f9fc 0,#f2f5f9 100%);font-size:14px;color:var(--ink)}
.app-shell{min-height:100vh}.sidebar{width:284px;padding:16px 12px;background:linear-gradient(180deg,#071a2c 0%,#0a2137 58%,#081a2c 100%);box-shadow:8px 0 30px rgba(7,26,44,.10);border-right:1px solid rgba(255,255,255,.04)}
.brand-row{padding:8px 9px 4px}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#1d79ba,#155d95);box-shadow:0 7px 18px rgba(23,105,170,.28);font-size:17px}.brand{font-size:26px;letter-spacing:-1.2px}.institution{margin:6px 9px 22px;color:#b8cadc}.institution span{color:#6f8ca6}
.nav-section{padding:15px 11px 7px;color:#6f8ca6;font-size:9px;letter-spacing:.16em}.sidebar nav{gap:3px}.sidebar nav a{min-height:40px;padding:10px 12px;border-radius:10px;color:#c9d9e8;transition:background .15s,transform .15s,color .15s}.sidebar nav a:hover{background:rgba(255,255,255,.055);color:#fff;transform:translateX(1px)}.sidebar nav a.active{background:linear-gradient(90deg,#144568,#123954);box-shadow:inset 3px 0 0 #2390d0;color:#fff}.nav-group{border-radius:11px}.nav-group.is-active{background:rgba(255,255,255,.018)}.nav-group-toggle{width:100%;border:0;background:transparent;color:#d5e3ef;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;cursor:pointer;font:inherit;font-size:13px;font-weight:700;text-align:left;transition:.15s}.nav-group-toggle:hover{background:rgba(255,255,255,.055);color:#fff}.nav-main-label{display:flex;align-items:center;gap:10px}.nav-icon{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:rgba(255,255,255,.055);color:#8fb6d3;font-size:11px}.nav-chevron{font-size:17px;color:#7d99b1;transition:transform .18s}.nav-group.is-open .nav-chevron{transform:rotate(90deg)}.nav-submenu{display:none;padding:3px 0 7px}.nav-submenu.is-open{display:grid;gap:2px}.sidebar nav a.subitem{min-height:34px;padding:8px 10px 8px 46px;border-radius:8px;font-size:11.5px;color:#a9bfd2}.sidebar nav a.subitem:hover{color:#fff;background:rgba(255,255,255,.045);transform:none}.sidebar nav a.subitem.active{background:rgba(35,144,208,.12);color:#fff;box-shadow:none}
.side-user{padding:14px 10px 5px;border-top:1px solid rgba(255,255,255,.08);color:#9fb5c9}.side-user .user-name{font-size:12px}.side-user a{display:inline-block;margin-top:7px;color:#77b5dc}
.main{margin-left:284px;max-width:none;padding:0 34px 44px}.topbar{min-height:82px;margin:0 -34px 24px;padding:15px 34px;background:rgba(247,249,252,.90);border-bottom:1px solid rgba(220,228,237,.9)}.page-heading{gap:13px}.page-heading h1{font-size:26px;font-weight:800}.page-heading .eyebrow{font-size:9px;letter-spacing:.16em}.topbar-meta{margin-top:3px;font-size:11px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#10a66a;box-shadow:0 0 0 4px rgba(16,166,106,.09);margin-right:4px}.topbar-actions{gap:10px}.user-pill{padding:7px 12px 7px 8px;box-shadow:0 3px 12px rgba(16,34,56,.05)}
.breadcrumb{font-size:10px;margin:-9px 0 20px;color:#7b8da0}.breadcrumb b{color:#4b6074}.grid{gap:20px}.stats{gap:16px}.stat,.card{border-color:#dce4ed;border-radius:16px;box-shadow:var(--shadow);transition:box-shadow .18s,transform .18s}.card:hover{box-shadow:var(--shadow-lg)}.stat{padding:19px 20px}.stat:hover{transform:translateY(-2px)}.stat:after{height:3px}.stat b{font-size:29px}.card{padding:21px}.card-head{margin-bottom:16px}.card h2{font-size:18px}.card h3{font-size:13px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:4px}.section-head h2,.section-head h3{margin:2px 0 5px}.section-head p{margin:0;color:var(--muted);font-size:12px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid-3>.card{margin-bottom:0}.tabs{display:flex;gap:5px;flex-wrap:wrap;padding:5px;margin:0 0 18px;background:#eaf0f6;border:1px solid #dce5ed;border-radius:12px}.tabs .tab{padding:9px 13px;border-radius:8px;color:#53677b;font-size:11px;font-weight:800}.tabs .tab:hover{text-decoration:none;background:#f8fbfd;color:#163e5c}.tabs .tab.active{background:#1769aa;color:#fff;box-shadow:0 5px 13px rgba(23,105,170,.18)}
.table-wrap{border-color:#dbe4ed;border-radius:12px;box-shadow:0 3px 14px rgba(16,34,56,.025)}table{font-size:12px}th{background:#f5f8fb;color:#607286;padding:12px}td{padding:12px;border-bottom-color:#e7edf3}tbody tr:hover td{background:#f8fbfe}tr:last-child td{border-bottom:0}.badge{padding:5px 9px;font-size:9px;letter-spacing:.05em}.form-grid{gap:16px}.filters{gap:10px}label{font-size:10px;color:#52677a}input,textarea,select,.filters input,.filters select{min-height:42px;border-color:#cfd9e4;border-radius:10px;box-shadow:0 1px 1px rgba(16,34,56,.02);transition:.15s}input:hover,select:hover,textarea:hover{border-color:#b9c8d7}.btn{min-height:40px;border-radius:10px;padding:9px 14px;transition:.15s;box-shadow:0 1px 2px rgba(16,34,56,.03)}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(16,34,56,.07)}.btn.primary{box-shadow:0 6px 16px rgba(23,105,170,.16)}.actions{gap:7px}.empty{padding:42px!important}
.workflow span{border-radius:999px;background:#f5f8fb;padding:8px 12px;font-size:11px}.workflow i{color:#9aa9b7}.sticky-actions{background:rgba(247,249,252,.95);backdrop-filter:blur(10px);border-radius:12px 12px 0 0}.mini-grid div{border-radius:12px}.report-line{padding:13px 0}.callout{border-radius:12px}.flash{box-shadow:0 4px 12px rgba(16,34,56,.04)}
@media(max-width:1100px){.sidebar{width:250px}.main{margin-left:250px;padding-left:24px;padding-right:24px}.topbar{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sidebar{transform:translateX(-102%);transition:transform .2s ease;width:282px;box-shadow:18px 0 50px rgba(7,26,44,.24)}.sidebar.open{transform:translateX(0)}.main{margin-left:0;padding:0 16px 32px}.topbar{margin:0 -16px 18px;padding:12px 16px;min-height:70px}.mobile-toggle{display:inline-flex!important}.topbar-actions .btn{display:none}.user-pill{max-width:190px}.user-pill small{display:none!important}.page-heading h1{font-size:21px}.grid-3,.two,.three,.four{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.form-grid,.detail-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.card{padding:17px}.section-head{flex-direction:column}.actions{margin-left:0}.table-wrap{overflow-x:auto}.breadcrumb{margin-bottom:14px}.sidebar-overlay{position:fixed;inset:0;background:rgba(3,15,27,.45);z-index:25;backdrop-filter:blur(2px);display:none}.sidebar.open~.sidebar-overlay{display:block}}
@media(max-width:480px){.stats{grid-template-columns:1fr}.brand{font-size:23px}.topbar-meta{display:none}.user-pill{padding-right:8px}.user-pill>span:not(.avatar-mini){display:none}.tabs{overflow:auto;flex-wrap:nowrap}.tabs .tab{white-space:nowrap}}

/* v4.3.0 — Unified Enterprise UI Shell */
.sidebar-collapse{margin-left:auto;width:30px;height:30px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.05);color:#c8d9e8;cursor:pointer;font-size:18px;line-height:1}.sidebar-collapse:hover{background:rgba(255,255,255,.1);color:#fff}.heading-copy{min-width:0}.meta-sep{margin:0 5px;color:#9aa9b7}.global-search{position:relative;display:flex;align-items:center;gap:7px;width:min(340px,30vw);height:40px;padding:0 8px 0 12px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 12px rgba(16,34,56,.035)}.global-search>span{color:#8091a1;font-size:18px}.global-search input{border:0!important;box-shadow:none!important;min-height:36px!important;padding:0!important;background:transparent!important;font-size:12px}.global-search kbd{font-family:inherit;font-size:9px;color:#7d8b99;background:#f4f7fa;border:1px solid #dbe3ea;border-radius:5px;padding:3px 5px;white-space:nowrap}.top-action{white-space:nowrap}.user-pill small{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#748596}.app-footer{margin-left:284px;padding:12px 34px 18px;display:flex;justify-content:space-between;gap:20px;color:#8291a0;font-size:10px;border-top:1px solid #e1e8ef;background:#f5f7fb}.app-footer span:last-child{font-weight:700;letter-spacing:.03em}.sidebar-overlay{display:none}.sidebar.collapsed{width:82px}.sidebar.collapsed .brand{display:none}.sidebar.collapsed .institution,.sidebar.collapsed .nav-section,.sidebar.collapsed .nav-main-label span:last-child,.sidebar.collapsed .side-user,.sidebar.collapsed .nav-submenu{display:none}.sidebar.collapsed .brand-row{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-collapse{margin-left:0;transform:rotate(180deg)}.sidebar.collapsed .nav-group-toggle{justify-content:center;padding:10px}.sidebar.collapsed .nav-chevron{display:none}.sidebar.collapsed .nav-icon{width:34px;height:34px}.sidebar.collapsed .module-nav> .nav-group{margin-bottom:3px}.sidebar.collapsed+.main{margin-left:82px}.app-shell.sidebar-collapsed~.app-footer{margin-left:82px}.sidebar.collapsed+.main .global-search{width:min(300px,28vw)}
@media(max-width:1100px){.global-search{width:250px}.app-footer{margin-left:250px;padding-left:24px;padding-right:24px}.app-shell.sidebar-collapsed~.app-footer{margin-left:82px}}
@media(max-width:760px){.sidebar{width:282px}.sidebar.collapsed{width:282px}.sidebar.collapsed .brand,.sidebar.collapsed .institution,.sidebar.collapsed .nav-section,.sidebar.collapsed .nav-main-label span:last-child,.sidebar.collapsed .side-user,.sidebar.collapsed .nav-submenu{display:initial}.sidebar.collapsed .brand-row{justify-content:flex-start}.sidebar.collapsed .sidebar-collapse{margin-left:auto;transform:none}.sidebar.collapsed .nav-group-toggle{justify-content:space-between;padding:10px 12px}.sidebar.collapsed .nav-chevron{display:block}.sidebar.collapsed .nav-icon{width:24px;height:24px}.sidebar.collapsed+.main{margin-left:0}.sidebar.collapsed~.app-footer{margin-left:0}.sidebar.open~.sidebar-overlay{display:block}.global-search{display:none}.app-footer{margin-left:0;padding:11px 16px;flex-direction:column;gap:4px}.user-pill-name{display:none}.user-pill small{display:none}.topbar-actions{gap:6px}.top-action{display:none!important}}

@media(max-width:760px){.sidebar-collapse{display:none!important}}

/* v4.3.1 — Ollessos Enterprise Dashboard concept */
:root{--erp-blue:#1769aa;--erp-deep:#082b52;--erp-green:#16a05d;--erp-orange:#f28b18;--erp-purple:#6940c7;--erp-soft:#f4f8fc}
body{background:#f4f7fb}.main{padding-bottom:22px}.topbar{background:#fff;margin-bottom:18px;border-bottom-color:#e4ebf2}.page-heading h1{font-size:24px}.global-search{background:#f5f9fd;border-color:#e1eaf3;box-shadow:none}.sidebar{width:254px;background:linear-gradient(180deg,#0b3159 0%,#08294b 100%);padding:15px 11px}.main{margin-left:254px}.sidebar nav a{padding:10px 12px;border-radius:8px}.sidebar nav a.active,.sidebar nav a:hover{background:#174a78}.sidebar .nav-group-toggle{border-radius:8px}.sidebar .nav-group.is-active>.nav-group-toggle{background:#174a78}.app-footer{margin-left:268px}
.erp-hero{position:relative;min-height:235px;overflow:hidden;border-radius:18px;background:linear-gradient(115deg,#e9f6fb 0%,#e8f4f8 45%,#d5ebee 100%);border:1px solid #dbe7ee;box-shadow:0 12px 30px rgba(16,49,80,.07);display:grid;grid-template-columns:48% 52%;margin-bottom:16px}.hero-copy{padding:30px 34px;position:relative;z-index:2}.hero-kicker{display:inline-flex;color:#0f7c54;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px}.hero-copy h2{margin:0;color:#0a315d;font-size:27px;line-height:1.1;letter-spacing:-.03em}.hero-copy h2 strong{font-size:31px}.hero-copy p{max-width:610px;color:#234563;font-size:13px;margin:12px 0 15px}.hero-tags{display:flex;gap:7px}.hero-tags span{background:rgba(255,255,255,.75);border:1px solid #cfe3e7;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:800;color:#166446}.hero-art{position:relative;min-height:235px;background:linear-gradient(145deg,#8bc3e3,#d5eff0 62%,#86bd72);clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 55%)}.art-building{position:absolute;right:7%;bottom:24px;width:72%;height:120px;background:linear-gradient(180deg,#eef1ef,#b8c5c8);border:3px solid #8b9da2;border-bottom-width:7px;box-shadow:0 16px 20px rgba(24,58,69,.25);transform:skewY(-3deg);padding:16px}.art-building:before{content:"";position:absolute;left:0;right:0;top:26px;height:2px;background:#87989e}.art-building b{display:block;position:absolute;top:8px;left:18px;font-size:8px;color:#16374d;letter-spacing:.08em}.art-building i{display:inline-block;width:13%;height:47px;margin:28px 2% 0 0;background:linear-gradient(135deg,#5e9dc5,#1b557c);border:2px solid #c9d9dd}.art-tree{position:absolute;border-radius:50%;background:#25804d;filter:drop-shadow(0 8px 8px rgba(0,0,0,.15))}.art-tree.one{width:65px;height:65px;left:12%;bottom:38px}.art-tree.two{width:42px;height:42px;left:25%;bottom:45px}.erp-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.erp-stat{min-height:93px;border-radius:12px;color:#fff;display:flex;align-items:center;gap:13px;padding:16px 18px;box-shadow:0 9px 20px rgba(17,51,84,.09)}.erp-stat.blue{background:linear-gradient(135deg,#1672e6,#2060ca)}.erp-stat.green{background:linear-gradient(135deg,#11a75b,#0b8d4c)}.erp-stat.orange{background:linear-gradient(135deg,#fa941c,#e8770b)}.erp-stat.purple{background:linear-gradient(135deg,#7046d2,#5a35b7)}.erp-stat .stat-icon{width:39px;height:39px;border-radius:10px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:20px}.erp-stat b{display:block;font-size:23px;line-height:1}.erp-stat small{display:block;font-size:11px;margin-top:5px;font-weight:700}.erp-stat em{display:block;font-style:normal;font-size:9px;opacity:.78;margin-top:3px}.erp-dashboard-grid{display:grid;grid-template-columns:1.25fr 1.15fr .8fr;gap:14px;margin-bottom:14px}.erp-panel{background:#fff;border:1px solid #dce6ef;border-radius:13px;padding:17px;box-shadow:0 5px 17px rgba(16,42,70,.045)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.panel-head h3{margin:2px 0 0;color:#102f52;font-size:16px;letter-spacing:-.02em}.panel-head a{font-size:10px;font-weight:800;color:#1a6dc0}.panel-kicker{font-size:8px;letter-spacing:.12em;color:#7890a5;font-weight:900}.donut-row{display:flex;align-items:center;gap:22px;margin:6px 0 18px}.donut{width:122px;height:122px;border-radius:50%;background:conic-gradient(#2878d7 var(--male),#56b87d 0);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff}.donut div{position:relative;z-index:1;text-align:center}.donut strong{display:block;color:#102f52;font-size:19px}.donut span{font-size:9px;color:#8090a0}.legend{display:grid;gap:8px;flex:1}.legend div{display:grid;grid-template-columns:9px 1fr auto;gap:7px;align-items:center;font-size:10px}.legend i{width:8px;height:8px;border-radius:50%;background:#2878d7}.legend div:nth-child(2) i{background:#56b87d}.legend div:nth-child(3) i{background:#f2a128}.legend b{color:#163654}.subhead{font-size:9px;font-weight:900;color:#7890a5;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.metric-bar{display:grid;grid-template-columns:100px 45px 1fr;gap:8px;align-items:center;margin:9px 0;font-size:9px;color:#51687d}.metric-bar b{text-align:right;color:#163654}.metric-bar>i{height:7px;border-radius:99px;background:#eaf0f5;overflow:hidden}.metric-bar>i em{display:block;height:100%;border-radius:99px;background:#1c71be}.bar-chart{height:190px;display:flex;align-items:end;gap:10px;border-bottom:1px solid #dce5ed;padding:0 4px 0 0}.chart-col{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px}.chart-value{font-size:8px;color:#5d7286}.chart-bar{width:100%;height:132px;display:flex;align-items:end}.chart-bar i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#2b7dca,#65a9e2);min-height:8px}.chart-col span{font-size:8px;color:#71869a;max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-panel{padding:14px}.quick-action{display:grid;grid-template-columns:30px 1fr 12px;gap:8px;align-items:center;padding:10px 5px;border-top:1px solid #edf1f5;color:#243e58;text-decoration:none}.quick-action:first-of-type{border-top:0}.quick-action i{width:29px;height:29px;border-radius:8px;background:#edf5fc;color:#1970b7;display:grid;place-items:center;font-style:normal;font-size:14px}.quick-action span{font-size:10px;font-weight:700}.quick-action b{font-size:17px;color:#86a0b6}.quick-action:hover{background:#f7fbfe;text-decoration:none;border-radius:8px}.erp-lower-grid{display:grid;grid-template-columns:1.35fr .9fr .9fr;gap:14px}.activity-list{display:grid}.activity-row{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-top:1px solid #edf1f5;color:#263f57;text-decoration:none}.activity-row:first-child{border-top:0}.activity-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eaf4fb;color:#2172ae;font-weight:900;font-size:10px}.activity-main b,.activity-main small{display:block}.activity-main b{font-size:10px}.activity-main small{font-size:8px;color:#8394a3;margin-top:2px}.activity-meta{font-size:8px;color:#74889a;max-width:100px;overflow:hidden;text-overflow:ellipsis}.pulse-card{border:1px solid #e8eef4;border-radius:9px;padding:11px;margin-bottom:8px;background:#fbfdff}.pulse-card span,.pulse-card small{display:block;color:#8091a0;font-size:8px}.pulse-card b{display:block;color:#143656;font-size:15px;margin:2px 0}.year-chip{background:#edf5fb;color:#1769aa;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:900}.event-row{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #edf1f5}.event-row:first-of-type{border-top:0}.event-date{width:42px;height:42px;border-radius:8px;background:#edf5fc;display:grid;place-items:center;align-content:center;color:#153857}.event-date b{font-size:14px;line-height:1}.event-date small{font-size:7px;font-weight:900}.event-row>span:last-child b,.event-row>span:last-child small{display:block}.event-row>span:last-child b{font-size:10px}.event-row>span:last-child small{font-size:8px;color:#8495a3;margin-top:2px}.erp-dashboard-footer{display:flex;justify-content:space-between;color:#8392a0;font-size:9px;padding:14px 2px 0}
@media(max-width:1200px){.erp-dashboard-grid{grid-template-columns:1fr 1fr}.quick-panel{grid-column:1/-1}.erp-lower-grid{grid-template-columns:1fr 1fr}.events-panel{grid-column:1/-1}.hero-copy{padding:26px}.erp-hero{grid-template-columns:55% 45%}}
@media(max-width:900px){.erp-stat-grid{grid-template-columns:1fr 1fr}.erp-dashboard-grid,.erp-lower-grid{grid-template-columns:1fr}.quick-panel,.events-panel{grid-column:auto}.erp-hero{grid-template-columns:1fr;min-height:270px}.hero-art{position:absolute;inset:0 0 0 35%;opacity:.55}.hero-copy{z-index:2}.erp-dashboard-footer{flex-direction:column;gap:4px}}
@media(max-width:760px){.main{margin-left:0}.sidebar{width:282px}.app-footer{margin-left:0}.erp-stat-grid{grid-template-columns:1fr}.erp-hero{border-radius:12px}.hero-copy{padding:22px}.hero-copy h2{font-size:23px}.hero-copy h2 strong{font-size:26px}.erp-panel{padding:14px}.donut-row{justify-content:center}.metric-bar{grid-template-columns:90px 40px 1fr}}


/* v4.3.2 — Unified module experience: every ERP page uses the Ollessos enterprise shell */
.module-masthead{display:flex;align-items:center;gap:15px;margin:0 0 18px;padding:17px 19px;background:linear-gradient(135deg,#ffffff 0%,#f8fbfe 72%,#eef7fb 100%);border:1px solid #dce7f0;border-radius:14px;box-shadow:0 7px 22px rgba(15,47,77,.055);position:relative;overflow:hidden}.module-masthead:after{content:"";position:absolute;right:-50px;top:-70px;width:180px;height:180px;border-radius:50%;background:rgba(23,105,170,.055)}.module-masthead-icon{width:45px;height:45px;flex:0 0 45px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#1769aa,#0d4f82);color:#fff;font-size:20px;font-weight:800;box-shadow:0 8px 16px rgba(23,105,170,.17)}.module-masthead-copy{min-width:0;position:relative;z-index:1}.module-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:#1a6da9;margin-bottom:2px}.module-masthead h2{margin:0;color:#102e4e;font-size:20px;letter-spacing:-.025em}.module-masthead p{margin:3px 0 0;color:#71869a;font-size:11px}.module-masthead-actions{margin-left:auto;display:flex;align-items:center;gap:8px;position:relative;z-index:1}.module-status{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #dbe7ef;background:#fff;border-radius:8px;color:#62798d;font-size:9px;font-weight:800;white-space:nowrap}.module-status i{width:7px;height:7px;border-radius:50%;background:#16a05d;box-shadow:0 0 0 3px rgba(22,160,93,.1)}
.card,.stat,.erp-panel{transition:box-shadow .16s ease,border-color .16s ease,transform .16s ease}.card:hover{border-color:#d3e0eb;box-shadow:0 9px 27px rgba(15,47,77,.065)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.section-head h2,.section-head h3{margin:0;color:#102f52}.eyebrow{font-size:9px!important;letter-spacing:.12em!important;color:#1a6da9!important;text-transform:uppercase;font-weight:900}.tabs,.subnav{background:#eef4f9;border:1px solid #dbe6ef;padding:5px;border-radius:11px;box-shadow:0 2px 7px rgba(15,47,77,.025)}.tabs .tab,.subnav a{border:0!important;background:transparent!important;color:#567087!important;border-radius:8px!important}.tabs .tab.active,.subnav a.active{background:#1769aa!important;color:#fff!important;box-shadow:0 5px 12px rgba(23,105,170,.16)}.grid.stats .stat{min-height:108px}.stat:after{background:linear-gradient(90deg,#1769aa,#3d8dc4)}.filters{background:#f7fafc;border:1px solid #e0e8f0;padding:14px;border-radius:11px;margin-bottom:16px}.filters:before{content:"FILTERS";grid-column:1/-1;font-size:9px;letter-spacing:.12em;font-weight:900;color:#73889b;margin-bottom:-3px}.table-wrap{background:#fff}.table-wrap table{min-width:680px}th{font-size:9px!important;letter-spacing:.08em!important}td{font-size:11.5px}.actions .btn,.section-head .btn{white-space:nowrap}.form-grid>div,.form-grid>.span3{min-width:0}.form-grid label{color:#425b71}.form-grid input,.form-grid select,.form-grid textarea{background:#fbfdff}.callout{box-shadow:inset 3px 0 0 #1769aa}.empty{background:linear-gradient(180deg,#fbfdff,#f7fafc);border:1px dashed #cfdde8!important;border-radius:11px}.pagination a{font-size:10px;font-weight:800}.workflow span{background:#fff;border-color:#d9e4ed;box-shadow:0 2px 6px rgba(15,47,77,.03)}.profile-head{padding:2px 0 5px}.detail-grid div{border-color:#e6edf3}.mini-grid div{background:#f7fafc}.app-footer{border-top:1px solid #dce6ee;background:#fff}.breadcrumb{padding-top:1px}.flash{box-shadow:0 4px 12px rgba(15,47,77,.035)}
@media(max-width:900px){.module-masthead{align-items:flex-start}.module-masthead-actions{flex-wrap:wrap}.module-status{display:none}.filters{grid-template-columns:1fr 1fr!important}.filters:before{grid-column:1/-1}.detail-grid,.form-grid,.two,.three,.four,.grid-3{grid-template-columns:1fr 1fr}.mini-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.module-masthead{padding:14px}.module-masthead-icon{width:38px;height:38px;flex-basis:38px;font-size:17px}.module-masthead h2{font-size:17px}.module-masthead p{font-size:10px}.module-masthead-actions .btn{display:none}.filters,.detail-grid,.form-grid,.two,.three,.four,.grid-3,.mini-grid{grid-template-columns:1fr!important}.table-wrap{margin-left:-2px;margin-right:-2px}.card{padding:15px}.card-head,.section-head{align-items:flex-start;flex-direction:column}.actions{margin-left:0;width:100%}.actions .btn{flex:1}}

/* v4.3.3 — module dashboards aligned to the Ollessos executive dashboard */
.module-dashboard-head{margin-bottom:14px}.md-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:14px}.md-kpi{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid #dce7f0;border-radius:13px;background:#fff;box-shadow:0 5px 17px rgba(16,42,70,.045);min-width:0}.md-kpi-icon{width:40px;height:40px;flex:0 0 40px;border-radius:10px;background:#eaf4fb;color:#1769aa;display:grid;place-items:center;font-weight:900;font-size:17px}.md-kpi:nth-child(2) .md-kpi-icon{background:#eaf8f0;color:#15945a}.md-kpi:nth-child(3) .md-kpi-icon{background:#fff5e7;color:#e38a12}.md-kpi:nth-child(4) .md-kpi-icon{background:#f1edff;color:#6543c6}.md-kpi span,.md-kpi small{display:block;color:#75899b;font-size:9px}.md-kpi strong{display:block;color:#102f52;font-size:21px;line-height:1.25;margin:2px 0}.md-kpi small{font-size:8px}.md-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.72fr);gap:14px}.md-column{display:grid;gap:14px}.md-bar-row{margin:13px 0}.md-bar-row>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:10px;color:#566d81}.md-bar-row b{color:#163654}.md-bar-row>i{display:block;height:9px;border-radius:99px;background:#eaf0f5;overflow:hidden}.md-bar-row>i em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#1769aa,#55a2d8)}.md-record-list{display:grid}.md-record{display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-top:1px solid #edf1f5}.md-record:first-child{border-top:0}.md-record-avatar{width:31px;height:31px;border-radius:9px;background:#edf5fb;color:#1769aa;display:grid;place-items:center;font-size:10px;font-weight:900}.md-record b,.md-record small{display:block}.md-record b{font-size:10px;color:#1c3853}.md-record small,.md-record>span{font-size:8px;color:#8394a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-record>span{max-width:130px;text-align:right}.md-empty{padding:25px 12px;text-align:center;border:1px dashed #cfdde8;border-radius:10px;background:#fbfdff;color:#8092a2;font-size:10px}.md-links{display:grid}.md-links a{display:flex;justify-content:space-between;align-items:center;padding:10px 4px;border-top:1px solid #edf1f5;text-decoration:none;color:#29445c;font-size:10px;font-weight:700}.md-links a:first-child{border-top:0}.md-links b{color:#1a70b4;font-size:15px}.md-links a:hover{background:#f7fbfe;border-radius:7px;padding-left:8px;padding-right:8px}.module-dashboard-head .module-masthead-actions{align-self:center}
@media(max-width:1050px){.md-kpi-grid{grid-template-columns:1fr 1fr}.md-main-grid{grid-template-columns:1fr}.md-side{display:grid;grid-template-columns:1fr 1fr;gap:14px}}@media(max-width:620px){.md-kpi-grid,.md-side{grid-template-columns:1fr}.md-kpi strong{font-size:19px}.md-record{grid-template-columns:32px 1fr}.md-record>span{display:none}}

/* ================================================================
   ShuleERP v4.3.4 — Unified Enterprise Module Dashboard
   ================================================================ */
.md-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:20px;min-height:152px;margin:0 0 14px;padding:24px 28px;border:1px solid #d9e5ee;border-radius:17px;background:linear-gradient(115deg,#f8fcff 0%,#edf7fb 58%,#e5f1f6 100%);box-shadow:0 10px 28px rgba(15,47,77,.065)}
.md-hero-copy{position:relative;z-index:2;min-width:0}.md-hero-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:#126ca8;margin-bottom:5px}.md-hero h2{margin:0;color:#0d2f52;font-size:26px;letter-spacing:-.045em;line-height:1.12}.md-hero h2 span{font-weight:500;color:#476b86}.md-hero p{margin:7px 0 12px;color:#607b90;font-size:11px;max-width:760px}.md-hero-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.md-hero-meta span{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9e6ef;background:rgba(255,255,255,.82);border-radius:999px;padding:5px 9px;color:#60788d;font-size:8px;font-weight:800}.md-hero-meta i{width:7px;height:7px;border-radius:50%;background:#15a05a;box-shadow:0 0 0 3px rgba(21,160,90,.1)}.md-hero-actions{margin-left:auto;position:relative;z-index:3;display:flex;align-items:center;gap:8px;white-space:nowrap}.md-hero-actions .btn{height:38px;padding:0 15px;border-radius:10px}.md-secondary{background:#fff!important;border:1px solid #cfdeea!important;color:#31536c!important}.md-primary{box-shadow:0 8px 18px rgba(23,105,170,.18)}.md-hero-orb{position:absolute;right:-55px;top:-85px;width:250px;height:250px;border-radius:50%;border:1px solid rgba(23,105,170,.08);box-shadow:0 0 0 32px rgba(23,105,170,.025),0 0 0 64px rgba(23,105,170,.018)}
.md-kpi-grid-enterprise{margin-bottom:14px}.md-kpi{position:relative;min-height:96px;transition:transform .16s ease,box-shadow .16s ease}.md-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(16,42,70,.09)}.md-kpi-body{min-width:0}.md-kpi strong{letter-spacing:-.035em}.md-kpi-arrow{margin-left:auto;align-self:center;font-size:22px;font-weight:500;color:#9aafbf}.md-kpi-blue{border-top:3px solid #287ce1}.md-kpi-green{border-top:3px solid #15945a}.md-kpi-orange{border-top:3px solid #e38a12}.md-kpi-purple{border-top:3px solid #6543c6}.md-kpi-blue .md-kpi-icon{background:#eaf4ff;color:#1769aa}.md-kpi-green .md-kpi-icon{background:#eaf8f0;color:#15945a}.md-kpi-orange .md-kpi-icon{background:#fff5e7;color:#e38a12}.md-kpi-purple .md-kpi-icon{background:#f1edff;color:#6543c6}
.md-enterprise-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.68fr);gap:14px}.md-left-column,.md-right-column{display:grid;gap:14px;align-content:start}.md-panel{min-width:0}.md-overview-panel{min-height:245px}.md-bars{padding-top:2px}.md-bar-row-large{margin:16px 0}.md-bar-row-large>div{font-size:10.5px}.md-bar-row-large>i{height:10px;background:#edf2f6}.md-bar-row-large>i em{background:linear-gradient(90deg,#1769aa,#47a0d6)}.md-recent-panel{overflow:hidden}.md-table-wrap{overflow:auto}.md-table{width:100%;border-collapse:separate;border-spacing:0;min-width:620px}.md-table th{padding:9px 10px;text-align:left;background:#f4f8fb;color:#70869a;border-bottom:1px solid #e0e8ef;font-size:8px!important;letter-spacing:.09em!important}.md-table th:first-child{border-radius:8px 0 0 0}.md-table th:last-child{border-radius:0 8px 0 0}.md-table td{padding:10px;border-bottom:1px solid #edf1f5;color:#536c80;font-size:10px}.md-table tr:last-child td{border-bottom:0}.md-table-record{display:flex;align-items:center;gap:9px;min-width:190px}.md-table-record>i{width:31px;height:31px;border-radius:9px;background:#eaf4fb;color:#1769aa;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:10px;flex:0 0 31px}.md-table-record b,.md-table-record small{display:block}.md-table-record b{color:#1d3b57;font-size:10px}.md-table-record small{color:#8395a4;font-size:8px;margin-top:2px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-status-pill{display:inline-flex;max-width:180px;padding:5px 8px;border-radius:999px;background:#f2f7fb;color:#557086;font-size:8px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-quick-panel{padding-bottom:10px}.md-lightning{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:#fff3d9;color:#d8890a;font-size:17px;font-weight:900}.md-quick-action{display:flex;align-items:center;gap:9px;padding:10px 5px;border-top:1px solid #edf1f5;color:#28445b;text-decoration:none}.md-quick-action:first-of-type{border-top:0}.md-quick-action i{width:30px;height:30px;border-radius:8px;background:#edf5fb;color:#1769aa;display:grid;place-items:center;font-style:normal;font-size:13px}.md-quick-action:nth-of-type(3) i{background:#eaf8f0;color:#15945a}.md-quick-action span{font-size:10px;font-weight:800;flex:1}.md-quick-action b{font-size:17px;color:#89a0b2;font-weight:500}.md-quick-action:hover{background:#f7fbfe;border-radius:8px;padding-left:8px;text-decoration:none}.md-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.md-control-grid a{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 8px;border:1px solid #e1eaf1;border-radius:8px;background:#fbfdff;color:#3c5970;font-size:8.5px;font-weight:800;text-decoration:none}.md-control-grid a:hover{border-color:#bfd5e5;background:#f3f9fd}.md-control-grid b{color:#1769aa;font-size:13px}.md-health-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-top:1px solid #edf1f5;font-size:9px;color:#637b8e}.md-health-row:first-of-type{border-top:0}.md-health-row i{width:7px;height:7px;border-radius:50%;background:#16a05d;box-shadow:0 0 0 3px rgba(22,160,93,.1)}.md-health-row span{flex:1}.md-health-row b{font-size:8px;color:#1a8c56;text-transform:uppercase;letter-spacing:.04em}.md-empty{min-height:110px;display:grid;place-items:center;padding:20px;text-align:center}
@media(max-width:1100px){.md-enterprise-grid{grid-template-columns:1fr}.md-right-column{grid-template-columns:1fr 1fr}.md-health-panel{grid-column:1/-1}.md-hero-actions{flex-direction:column;align-items:stretch}.md-hero-actions .btn{width:100%;text-align:center}}@media(max-width:760px){.md-hero{align-items:flex-start;flex-direction:column;padding:20px;min-height:0}.md-hero-actions{width:100%;flex-direction:row}.md-hero-actions .btn{width:auto;flex:1}.md-hero h2{font-size:22px}.md-right-column{grid-template-columns:1fr}.md-health-panel{grid-column:auto}.md-kpi-arrow{display:none}}@media(max-width:620px){.md-hero-actions{flex-direction:column}.md-hero-actions .btn{width:100%}.md-hero-meta span:last-child{display:none}.md-control-grid{grid-template-columns:1fr}.md-table{min-width:560px}}

/* ================================================================
   ShuleERP v4.3.13 — Ollessos Enterprise Visual System
   Applied globally to dashboard, module pages, records, forms and reports.
   Functional PHP/data logic is intentionally untouched.
   ================================================================ */
:root{
  --onp-navy:#062b55;--onp-blue:#0878e8;--onp-cyan:#16b8df;--onp-green:#08a866;
  --onp-green-dark:#08764c;--onp-purple:#6b35d8;--onp-orange:#ee8615;
  --ui-bg:#f3f8fc;--ui-card:#fff;--ui-line:#dce8f2;--ui-text:#102f50;--ui-muted:#70869a;
  --ui-shadow:0 8px 24px rgba(16,48,78,.065);
}
body{background:linear-gradient(180deg,#eef6fb 0,#f7fafc 220px,#f4f7fa 100%);color:var(--ui-text)}
.institution-header{height:78px;position:relative;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:8px 22px;background:linear-gradient(105deg,#fff 0%,#f7fbfe 55%,#e9f7f0 100%);border-bottom:1px solid #d8e6ef;box-shadow:0 3px 18px rgba(12,49,78,.08)}
.institution-brand{display:flex;align-items:center;gap:11px;min-width:0}.institution-brand img{width:54px;height:58px;object-fit:contain;border-radius:7px}.institution-brand strong{display:block;font-size:20px;line-height:1.05;color:#0b315c;letter-spacing:-.03em}.institution-brand span{display:block;margin-top:3px;color:#07834f;font-size:11px;font-weight:800;font-style:italic}.institution-wordmark{text-align:center;color:#0b315c;font-size:27px;font-weight:900;letter-spacing:-.06em;line-height:1}.institution-wordmark span{color:#0aa878}.institution-wordmark small{display:block;margin-top:4px;font-size:8px;letter-spacing:.08em;font-weight:800;color:#71879b}.institution-motto{justify-self:end;text-align:right;color:#113c66;display:flex;align-items:center;gap:9px;font-size:13px}.institution-motto b{font-style:italic}.institution-motto i{color:#0a9c68;font-style:normal}.institution-motto small{display:block;flex-basis:100%;font-size:8px;font-weight:800;color:#668096;margin-top:2px}.institution-motto{flex-wrap:wrap;justify-content:flex-end;max-width:330px}
.sidebar{top:78px!important;height:calc(100vh - 78px)!important;width:252px!important;background:linear-gradient(180deg,#062b55 0%,#063765 48%,#05284e 100%)!important;padding:13px 10px!important;border-right:1px solid rgba(255,255,255,.08)!important}.brand-row{padding:4px 7px 10px!important;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.brand-logo{width:37px;height:37px;border-radius:10px;overflow:hidden;background:#fff;display:grid;place-items:center;flex:0 0 37px}.brand-logo img{width:100%;height:100%;object-fit:contain}.brand{font-size:23px!important}.institution{font-size:9px!important;margin:6px 7px 15px!important;color:#c7d8e7!important}.nav-section{font-size:8px!important;color:#87aac8!important;padding:10px 9px 5px!important}.sidebar nav a{font-size:11px!important;border-radius:8px!important;padding:9px 10px!important}.sidebar nav a.active,.sidebar nav a:hover{background:linear-gradient(90deg,#0b83f2,#1167c7)!important;box-shadow:0 5px 12px rgba(0,0,0,.12)}.nav-group-toggle{font-size:11px!important;border-radius:8px!important}.side-user{border-top-color:rgba(255,255,255,.12)!important;font-size:10px!important}.main{margin-left:252px!important;max-width:none!important;padding:0 24px 34px!important}.topbar{min-height:68px!important;margin:0 -24px 18px!important;padding:11px 24px!important;background:rgba(255,255,255,.94)!important;border-bottom:1px solid #dbe7ef!important}.page-heading h1{font-size:22px!important;color:#0b315b}.page-heading .eyebrow{color:#0a73cf!important;font-size:8px!important}.topbar-meta{font-size:9px!important}.global-search{width:min(360px,31vw)!important;height:37px!important;border-radius:9px!important}.global-search input{font-size:10px!important}.user-pill{border-radius:10px!important;padding:5px 9px!important}.user-pill .avatar-mini{background:#e8f2ff!important;color:#0a63bb!important}.breadcrumb{font-size:9px!important;margin:-5px 0 13px!important}.module-masthead{border-radius:14px!important;border:1px solid #d7e6f1!important;background:linear-gradient(120deg,#f8fcff,#eef7fc 62%,#eaf8f2)!important;box-shadow:var(--ui-shadow)!important;padding:17px 20px!important;margin-bottom:13px!important}.module-masthead-icon{width:43px!important;height:43px!important;border-radius:11px!important;background:#eaf4ff!important;color:#086bc8!important}.module-kicker{font-size:8px!important;color:#0872ca!important}.module-masthead-copy h2{font-size:21px!important;color:#0b315b!important}.module-masthead-copy p{font-size:9px!important;color:#698095!important}.module-status{font-size:8px!important}.card,.erp-panel,.md-panel,.table-card,.section-card,.form-card{border-color:var(--ui-line)!important;box-shadow:var(--ui-shadow)!important;border-radius:12px!important;background:#fff!important}.card-head,.section-head,.panel-head{border-bottom-color:#e7eef4!important}.panel-head h3{font-size:13px!important;color:#12375a}.panel-kicker{font-size:7px!important;color:#3b6f94!important}.btn{border-radius:8px!important;font-size:10px!important;font-weight:800!important}.btn.primary,.primary{background:linear-gradient(135deg,#0879eb,#075fc4)!important;border-color:#0879eb!important;box-shadow:0 7px 16px rgba(8,121,235,.16)!important}.btn.success{background:linear-gradient(135deg,#09ad68,#078951)!important}.input,.select,select,input[type=text],input[type=search],input[type=password],input[type=email],input[type=number],input[type=date],textarea{border-radius:8px!important;border-color:#d5e2ec!important;background:#fbfdff!important;font-size:10px!important}.input:focus,select:focus,input:focus,textarea:focus{border-color:#64a9dc!important;box-shadow:0 0 0 3px rgba(8,121,235,.08)!important;background:#fff!important}.table-wrap{border:1px solid #e0eaf2!important;border-radius:10px!important;overflow:auto}.table-wrap table,.data-table,.md-table{background:#fff}.table-wrap th,.data-table th,.md-table th{background:#f1f7fb!important;color:#59738a!important;font-size:8px!important;text-transform:uppercase;letter-spacing:.06em}.table-wrap td,.data-table td{font-size:9px!important;border-color:#edf2f6!important}.badge,.status-pill,.pill{border-radius:999px!important;font-size:8px!important}.flash{border-radius:9px!important;font-size:10px!important}
/* Dashboard refinement */
.erp-hero{min-height:190px!important;border-radius:15px!important;background:linear-gradient(110deg,#e9f6ff,#effaf5)!important;box-shadow:var(--ui-shadow)!important}.hero-copy{padding:25px 28px!important}.hero-copy h2{font-size:25px!important;color:#0a315b!important}.hero-copy p{font-size:10px!important}.hero-tags span{font-size:8px!important}.erp-stat-grid{gap:11px!important}.erp-stat{border-radius:11px!important;box-shadow:var(--ui-shadow)!important;padding:12px!important}.erp-stat b{font-size:20px!important}.erp-stat small{font-size:8px!important}.erp-dashboard-grid,.erp-lower-grid{gap:11px!important}.erp-panel{padding:13px!important}.quick-action{border-radius:8px!important;margin:3px 0!important}.activity-row{border-radius:8px!important}
/* Module dashboard */
.md-hero{background:linear-gradient(110deg,#f8fcff,#edf8fb 60%,#edf9f3)!important;border-color:#d7e5ef!important;box-shadow:var(--ui-shadow)!important}.md-hero h2{font-size:23px!important}.md-hero p{font-size:9px!important}.md-kpi{border-radius:11px!important;box-shadow:var(--ui-shadow)!important}.md-kpi strong{font-size:19px!important}.md-enterprise-grid{gap:12px!important}.md-control-grid a{border-radius:8px!important}.md-table td{font-size:9px!important}.md-table th{font-size:7px!important}.md-status-pill{font-size:7px!important}
.app-footer{margin-left:252px!important;background:#062b55!important;color:#bdd0e0!important;border-top:0!important;padding:10px 24px 13px!important;font-size:8px!important}.app-footer span:last-child{color:#d7e6f1!important}.sidebar-overlay{z-index:25!important}
@media(max-width:1000px){.institution-header{grid-template-columns:1fr auto;height:70px}.institution-wordmark{display:none}.institution-motto{font-size:11px;max-width:250px}.sidebar{top:70px!important;height:calc(100vh - 70px)!important}.main{margin-left:0!important;padding:0 16px 30px!important}.topbar{margin:0 -16px 15px!important;padding:10px 16px!important}.app-footer{margin-left:0!important}.global-search{width:min(300px,36vw)!important}}
@media(max-width:720px){.institution-header{height:62px;padding:6px 12px}.institution-brand img{width:42px;height:48px}.institution-brand strong{font-size:14px}.institution-brand span{font-size:8px}.institution-motto{font-size:8px;gap:5px;max-width:190px}.institution-motto small{font-size:6px}.sidebar{top:62px!important;height:calc(100vh - 62px)!important}.main{padding:0 10px 25px!important}.topbar{margin:0 -10px 12px!important;padding:9px 10px!important}.topbar-actions{gap:5px}.global-search{display:none}.user-pill-name,.user-pill small{display:none}.module-masthead{align-items:flex-start!important}.module-masthead-actions{margin-left:0!important}.erp-hero{grid-template-columns:1fr!important}.hero-art{display:none}.erp-stat-grid,.md-kpi-grid{grid-template-columns:1fr 1fr!important}.erp-dashboard-grid,.erp-lower-grid{grid-template-columns:1fr!important}.md-enterprise-grid{grid-template-columns:1fr!important}.md-right-column{grid-template-columns:1fr!important}.md-hero{flex-direction:column!important}.md-hero-actions{margin-left:0!important;width:100%}}
@media(max-width:480px){.institution-motto{display:none}.institution-header{grid-template-columns:1fr}.institution-brand{justify-content:center}.erp-stat-grid,.md-kpi-grid{grid-template-columns:1fr!important}.module-masthead-actions{display:none}.app-footer{flex-direction:column;gap:3px}}
/* ShuleERP v4.3.15 — Student Module UX cleanup */
.student-workspace-head,.student-list-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;margin-bottom:14px;border:1px solid #d9e6ef;border-radius:15px;background:linear-gradient(120deg,#f8fcff 0%,#eef7fc 62%,#effaf6 100%);box-shadow:0 8px 26px rgba(15,47,77,.055)}
.student-workspace-copy h2,.student-list-hero h2{margin:2px 0 4px;font-size:24px;letter-spacing:-.03em;color:#0b315b}.student-workspace-copy p,.student-list-hero p{margin:0;color:#6b8092;font-size:11px;max-width:720px}.student-eyebrow{font-size:8px;font-weight:900;letter-spacing:.14em;color:#0872ca;text-transform:uppercase}.student-head-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}
.sm-tabs-clean{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;background:#edf4f8;border:1px solid #d8e5ed;border-radius:12px;margin-bottom:14px}.sm-tabs-clean .sm-tab-group{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:3px}.sm-tabs-clean .sm-tab-group>span{width:100%;padding:3px 7px 2px;color:#7990a2;font-size:7px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.sm-tabs-clean .sm-tab-group a{padding:7px 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:#466277;font-size:9px;font-weight:800;white-space:nowrap}.sm-tabs-clean .sm-tab-group a:hover{background:#fff;border-color:#dce7ee;text-decoration:none}.sm-tabs-clean .sm-tab-group a.active{background:#0a70cf;color:#fff;box-shadow:0 4px 10px rgba(10,112,207,.16)}
.student-commandbar{display:grid;grid-template-columns:40px minmax(210px,1fr) minmax(360px,520px);align-items:center;gap:12px;padding:13px 15px;margin-bottom:16px;border:1px solid #dbe7ef;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(15,47,77,.045)}.student-command-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#eaf4ff;color:#0872ca;font-size:21px;font-weight:900}.student-command-copy b,.student-command-copy span{display:block}.student-command-copy b{font-size:11px;color:#193c59}.student-command-copy span{font-size:9px;color:#8193a2;margin-top:2px}.student-command-form{display:flex;gap:7px}.student-command-form input{height:38px;min-height:38px}.student-command-form .btn{min-height:38px;white-space:nowrap}
.student-list-hero{margin-bottom:12px}.student-filter-card,.student-table-card{background:#fff;border:1px solid #dce7ef;border-radius:13px;box-shadow:0 6px 20px rgba(15,47,77,.045);margin-bottom:14px}.student-filter-card{padding:13px}.student-filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) 1fr 1fr 1fr auto;gap:9px;align-items:end}.student-filter-grid label{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#71879a;margin-bottom:4px}.student-filter-grid input,.student-filter-grid select{height:38px;min-height:38px;font-size:10px}.student-filter-main input{background:#f8fbfd}.student-filter-actions{display:flex;gap:6px}.student-filter-actions .btn{min-height:38px}.student-filter-meta{display:flex;justify-content:space-between;gap:10px;margin-top:9px;padding-top:9px;border-top:1px solid #edf2f6;color:#7b8e9d;font-size:9px}.student-filter-meta b{color:#24435b}.student-table-card{overflow:hidden}.student-table-head{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;border-bottom:1px solid #e8eef3}.student-table-head h3{margin:0;color:#173a58;font-size:13px}.student-table-head span{font-size:8px;color:#8496a5}.student-count-pill{padding:5px 8px;border-radius:999px;background:#edf6ff;color:#1670bd!important;font-weight:900}.student-directory-table{min-width:850px}.student-directory-table th{background:#f5f9fc!important;padding:9px 11px!important;font-size:7px!important;color:#698096!important}.student-directory-table td{padding:10px 11px!important;vertical-align:middle}.student-record-cell{display:flex;align-items:center;gap:9px;min-width:200px}.student-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:9px;display:grid;place-items:center;background:#eaf4ff;color:#0b70c9;font-size:11px;font-weight:900}.student-name{display:block;color:#173e5e;font-weight:900;font-size:10px}.student-record-cell small,.student-directory-table td small{display:block;color:#8a9aa7;font-size:8px;margin-top:2px;max-width:210px;overflow:hidden;text-overflow:ellipsis}.student-directory-table td>b{display:block;font-size:9px;color:#405c72}.student-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f2f5f7;border:1px solid #e1e8ed;color:#647889;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.student-status.is-active{background:#eaf8f0;border-color:#cdebd9;color:#14824f}.student-row-actions{display:flex;gap:5px}.student-row-actions .btn{min-height:29px;padding:5px 8px!important;font-size:8px!important}.student-pagination{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-top:1px solid #edf2f6;color:#8293a0;font-size:8px}.student-pagination>div{display:flex;gap:4px}.student-pagination a{min-width:27px;height:27px;padding:5px 7px;display:grid;place-items:center;border:1px solid #dbe5ec;border-radius:7px;background:#fff;color:#536d82;font-weight:900}.student-pagination a.current{background:#0a70cf;color:#fff;border-color:#0a70cf}
@media(max-width:1000px){.sm-tabs-clean{grid-template-columns:1fr}.student-commandbar{grid-template-columns:40px 1fr}.student-command-form{grid-column:1/-1}.student-filter-grid{grid-template-columns:1fr 1fr}.student-filter-main{grid-column:1/-1}.student-filter-actions{grid-column:1/-1}.student-workspace-head,.student-list-hero{align-items:flex-start;flex-direction:column}.student-head-actions{width:100%}}
@media(max-width:620px){.student-filter-grid{grid-template-columns:1fr}.student-filter-main,.student-filter-actions{grid-column:auto}.student-commandbar{grid-template-columns:36px 1fr}.student-command-icon{width:36px;height:36px}.student-command-form{grid-column:1/-1;flex-direction:column}.student-command-form .btn{width:100%}.student-workspace-head,.student-list-hero{padding:15px}.student-workspace-copy h2,.student-list-hero h2{font-size:19px}.student-head-actions .btn{flex:1}.student-filter-meta{flex-direction:column}.student-table-head{align-items:flex-start;gap:8px;flex-direction:column}}
/* ShuleERP v4.3.17 — Student workspace visual cleanup */
.student-module-nav{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:6px;margin-bottom:12px;background:#fff;border:1px solid #dce7ef;border-radius:11px;box-shadow:0 4px 14px rgba(15,47,77,.035)}
.student-module-nav>a,.student-more>summary{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border-radius:7px;color:#49657a;font-size:9px;font-weight:850;text-decoration:none;cursor:pointer;list-style:none;white-space:nowrap}
.student-module-nav>a:hover,.student-more>summary:hover{background:#f2f7fb;color:#0a67bd;text-decoration:none}
.student-module-nav>a.active{background:#0a70cf;color:#fff;box-shadow:0 4px 10px rgba(10,112,207,.13)}
.student-more{position:relative;margin-left:auto}.student-more summary::-webkit-details-marker{display:none}.student-more summary span{font-size:11px;color:#7a90a0}.student-more[open]>summary{background:#eef6fc;color:#0a67bd}
.student-more-menu{position:absolute;right:0;top:calc(100% + 5px);z-index:30;min-width:190px;padding:5px;background:#fff;border:1px solid #d9e5ed;border-radius:9px;box-shadow:0 12px 28px rgba(15,47,77,.13)}
.student-more-menu a{display:block;padding:8px 10px;border-radius:6px;color:#49657a;font-size:9px;font-weight:750;text-decoration:none}.student-more-menu a:hover{background:#f3f8fb;color:#086bc8}.student-more-menu a.active{background:#eaf4ff;color:#086bc8}
.student-commandbar{margin-bottom:13px}
.student-command-copy b{font-size:10px}.student-command-copy span{font-size:8px}
@media(max-width:900px){.student-module-nav{overflow-x:auto;flex-wrap:nowrap}.student-module-nav>a,.student-more>summary{flex:0 0 auto}.student-more{margin-left:0}.student-more-menu{position:fixed;right:14px;top:145px}}
@media(max-width:620px){.student-module-nav{padding:5px}.student-module-nav>a,.student-more>summary{padding:8px 9px;font-size:8px}.student-workspace-head{margin-bottom:10px}.student-workspace-copy h2{font-size:21px}.student-command-copy span{display:none}}
