:root{--bg:#eef2f7;--surface:#fff;--surface2:#f8fafc;--text:#172033;--muted:#64748b;--line:#dce3ec;--primary:#2563eb;--primary-dark:#1d4ed8;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--shadow:0 8px 24px rgba(15,23,42,.07);--radius:14px}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}
.side{display:none!important}.main{margin-left:0;min-height:100vh;padding-top:0}.top{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20;box-shadow:0 2px 8px rgba(15,23,42,.04)}.top b{font-size:18px}.top span{color:var(--muted);font-weight:600}.content{padding:24px 28px 40px;max-width:1700px;margin:auto}
.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:18px;min-height:125px}.card h2{margin:10px 0 4px;font-size:23px}.card small{color:var(--muted);font-weight:600}.panel{padding:20px;margin-bottom:18px}.panel h2{margin:0 0 6px;font-size:18px}.panel h3{margin:0 0 12px}.panel p{color:var(--muted);margin:6px 0 14px}
.cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}.quick-card{display:block;text-decoration:none;color:inherit;transition:.18s}.quick-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,23,42,.11)}.tile-icon{font-size:27px}.tile-value{font-size:23px;font-weight:800;margin:7px 0}.tile-sub{color:var(--muted);font-size:12px;font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:var(--primary);color:#fff;text-decoration:none;padding:9px 13px;border-radius:9px;cursor:pointer;font-weight:700;font-size:13px;box-shadow:0 3px 8px rgba(37,99,235,.14)}.btn:hover{background:var(--primary-dark)}.btn.danger{background:var(--danger)}.btn.secondary{background:#eef2f7;color:#334155;box-shadow:none}.btn.success{background:var(--success)}
table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid var(--line)}th{background:#f3f6fa;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.03em}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbff}
input,select,textarea{width:100%;border:1px solid #d3dbe6;border-radius:9px;background:#fff;padding:10px 12px;font:inherit;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(37,99,235,.10)}label{display:block;font-weight:700;margin:0 0 7px;color:#374151}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.flash{padding:12px 15px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;border-radius:10px;margin-bottom:16px;font-weight:600}.flash.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.school-logo-mini{width:46px;height:46px;object-fit:contain;border-radius:11px;background:#f8fafc;border:1px solid var(--line);padding:4px}
.dashboard-search{background:linear-gradient(135deg,#fff,#f7faff);border-color:#d8e5f7}.search-box{display:flex;gap:10px;max-width:1100px}.search-box input{min-height:48px;font-size:15px}.search-box .btn{min-width:110px}.search-hint{color:var(--muted);font-size:12px;margin-top:8px}.inline-results{margin-top:14px}.result-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.result-row:last-child{border-bottom:0}.result-info strong{font-size:15px}.result-meta{color:var(--muted);font-size:12px;margin-top:4px}.result-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.no-result{padding:14px;background:#f8fafc;border-radius:10px;color:var(--muted)}
/* module navigation */
.module-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px;padding:0;width:100%}.module-nav-card{min-height:70px;display:flex!important;align-items:center;gap:12px;padding:11px 15px;background:#fff!important;border:1px solid #dfe5ec!important;border-left:4px solid #2563eb!important;border-radius:13px;box-shadow:0 4px 14px rgba(15,23,42,.055);text-decoration:none!important;color:#172033!important;transition:.18s;position:relative}.module-nav-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(15,23,42,.10)}.module-nav-card .module-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:19px;flex:0 0 40px}.module-nav-card .module-text{min-width:0}.module-nav-card strong{display:block;font-size:14px}.module-nav-card small{display:block;margin-top:3px;color:#64748b;font-size:11px}.module-nav-card .arrow{margin-left:auto;font-size:21px;color:#64748b}.module-nav-card.nav-blue{border-left-color:#2563eb!important}.nav-blue .module-icon{background:#dbeafe}.module-nav-card.nav-green{border-left-color:#16a34a!important}.nav-green .module-icon{background:#dcfce7}.module-nav-card.nav-purple{border-left-color:#7c3aed!important}.nav-purple .module-icon{background:#ede9fe}.module-nav-card.nav-orange{border-left-color:#f97316!important}.nav-orange .module-icon{background:#ffedd5}.module-nav-card.nav-cyan{border-left-color:#06b6d4!important}.nav-cyan .module-icon{background:#cffafe}.module-nav-card.nav-yellow{border-left-color:#f59e0b!important}.nav-yellow .module-icon{background:#fef3c7}.module-nav-card.nav-pink{border-left-color:#ec4899!important}.nav-pink .module-icon{background:#fce7f3}.module-nav-card.nav-indigo{border-left-color:#4f46e5!important}.nav-indigo .module-icon{background:#e0e7ff}.module-nav-card.nav-violet{border-left-color:#8b5cf6!important}.nav-violet .module-icon{background:#ede9fe}.module-nav-card.active{box-shadow:0 0 0 2px rgba(37,99,235,.13),0 8px 20px rgba(15,23,42,.08)}
/* profile logo dropdown */
.school-profile-menu{position:relative}.school-profile-trigger{border:1px solid #dce3ec;background:#fff;border-radius:11px;width:48px;height:48px;padding:5px;display:flex;align-items:center;justify-content:center;cursor:pointer}.school-profile-trigger img{width:36px;height:36px;object-fit:contain}.fallback-logo{font-size:23px}.profile-chevron{display:none}.school-profile-dropdown{display:none;position:absolute;right:0;top:56px;width:190px;background:#fff;border:1px solid #dce3ec;border-radius:12px;box-shadow:0 15px 35px rgba(15,23,42,.15);overflow:hidden;z-index:50}.school-profile-menu.open .school-profile-dropdown{display:block}.school-profile-dropdown a{display:flex;gap:10px;align-items:center;padding:12px 14px;color:#172033;text-decoration:none;font-weight:700}.school-profile-dropdown a:hover{background:#f4f7fb}.school-profile-dropdown .logout{color:#dc2626}
/* dashboard helpers */
.erp-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px}.erp-welcome h1{font-size:25px;margin:0 0 4px}.erp-welcome p{margin:0;color:var(--muted)}.erp-date{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 13px;color:#475569;font-weight:700}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.erp-stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px;box-shadow:var(--shadow)}.erp-stat-head{display:flex;justify-content:space-between;align-items:center;color:#475569;font-weight:700}.erp-stat-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:20px}.erp-stat strong{display:block;font-size:24px;margin-top:10px}.erp-stat small{color:var(--muted)}.erp-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.erp-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.erp-action{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe;text-decoration:none;color:var(--text);font-weight:700}.erp-action:hover{border-color:#93c5fd;background:#f7fbff}.erp-action-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:18px}.activity-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.activity-row:last-child{border-bottom:0}.activity-dot{width:9px;height:9px;border-radius:50%;background:#2563eb}.activity-row span{color:var(--muted);font-size:12px;margin-left:auto}
@media(max-width:1200px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.module-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.erp-grid{grid-template-columns:1fr}}@media(max-width:800px){.content{padding:18px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.module-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-strip{grid-template-columns:repeat(2,1fr)}.result-row{align-items:flex-start;flex-direction:column}.result-actions{justify-content:flex-start}.formgrid{grid-template-columns:1fr}.top{padding:0 18px}}@media(max-width:520px){.cards,.module-nav,.stat-strip,.erp-actions{grid-template-columns:1fr}.content{padding:12px}.panel{padding:15px}.search-box{flex-direction:column}.search-box .btn{width:100%}.erp-welcome{align-items:flex-start;flex-direction:column}.erp-date{display:none}}

/* ERP SIDEBAR DESIGN - inspired by modern operations dashboards */
:root{--sidebar:#172554;--sidebar2:#0f1b3d;--sidebar-text:#dbe5ff;--sidebar-muted:#9fb0d0}
body{background:linear-gradient(180deg,#f6f8fb 0%,#eef2f7 100%);min-height:100vh}
.side{display:flex!important;position:fixed;left:0;top:0;bottom:0;width:240px;background:linear-gradient(180deg,var(--sidebar) 0%,var(--sidebar2) 100%);color:#fff;z-index:1000;flex-direction:column;padding:20px 14px 14px;box-shadow:8px 0 24px rgba(15,23,42,.12)}
.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px;border-bottom:1px solid rgba(255,255,255,.14)}
.brand-logo{width:42px;height:42px;border-radius:11px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 42px;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.brand-logo img{width:100%;height:100%;object-fit:contain;padding:5px}.brand-logo span{font-size:23px}.brand-name{font-size:16px;font-weight:800;line-height:1.15;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-user{font-size:11px;color:var(--sidebar-muted);padding:13px 10px 9px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}
.nav{display:flex;flex-direction:column;gap:4px;overflow:auto;padding-right:2px}.nav a{display:flex;align-items:center;gap:11px;color:var(--sidebar-text);text-decoration:none;padding:11px 11px;border-radius:9px;font-weight:650;font-size:13px;transition:.15s}.nav a:hover{background:rgba(255,255,255,.09);color:#fff}.nav a.active{background:#2563eb;color:#fff;box-shadow:0 5px 14px rgba(37,99,235,.30)}.nav a::first-letter{font-size:16px}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding-top:12px;display:flex;flex-direction:column;gap:4px}.sidebar-bottom a{color:#dbe5ff;text-decoration:none;padding:9px 10px;border-radius:8px;font-size:12px;font-weight:650}.sidebar-bottom a:hover{background:rgba(255,255,255,.08)}.sidebar-bottom .logout{color:#fecaca}
.main{margin-left:240px;min-height:100vh;padding-top:0}.top{height:72px;background:#fff;border-bottom:1px solid #e2e8f0;padding:0 26px;position:sticky;top:0;z-index:900;box-shadow:0 2px 10px rgba(15,23,42,.04)}.content{padding:22px 26px 40px;max-width:none}
.top b{font-size:17px}.top span{font-size:13px}
.module-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.module-nav-card{min-height:64px;padding:10px 13px}.module-nav-card .module-icon{width:36px;height:36px;flex-basis:36px;font-size:17px}
.school-profile-menu{position:relative;margin-left:auto}.school-profile-trigger{border:1px solid #dce3ec;background:#fff;border-radius:12px;padding:4px 7px;display:flex;align-items:center;gap:4px;cursor:pointer}.school-profile-trigger img,.fallback-logo{width:34px;height:34px;object-fit:contain;border-radius:8px}.fallback-logo{display:grid;place-items:center;background:#eff6ff}.school-profile-dropdown{display:none;position:absolute;right:0;top:46px;width:170px;background:#fff;border:1px solid #dce3ec;border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.14);padding:6px;z-index:1200}.school-profile-menu.open .school-profile-dropdown{display:block}.school-profile-dropdown a{display:flex;gap:8px;padding:9px 10px;color:#334155;text-decoration:none;border-radius:7px;font-size:12px;font-weight:650}.school-profile-dropdown a:hover{background:#f1f5f9}.school-profile-dropdown .logout{color:#dc2626}
@media(max-width:900px){.side{width:76px;padding:16px 8px}.brand{justify-content:center}.brand-name,.sidebar-user,.nav a span,.sidebar-bottom a{display:none}.nav a{justify-content:center;padding:12px 8px;font-size:18px}.main{margin-left:76px}.content{padding:18px 14px}.module-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.top{padding:0 14px}}
@media(max-width:600px){.side{width:64px}.main{margin-left:64px}.module-nav{grid-template-columns:1fr}.top span{display:none}.top{height:64px}.content{padding:14px 10px}}


/* ===== School ERP V4 - NetGuardian-style sidebar ===== */
:root{
  --erp-sidebar:#172554;
  --erp-sidebar-2:#0f172a;
  --erp-sidebar-text:#dbeafe;
  --erp-sidebar-muted:#94a3b8;
  --erp-active:#2563eb;
}
body{overflow-x:hidden}
.erp-sidebar{
  position:fixed;left:0;top:0;bottom:0;width:240px;
  background:linear-gradient(180deg,var(--erp-sidebar) 0%,var(--erp-sidebar-2) 100%);
  color:#fff;padding:18px 14px;z-index:1000;
  display:flex;flex-direction:column;
  box-shadow:6px 0 22px rgba(15,23,42,.14);
}
.erp-brand{display:flex;align-items:center;gap:11px;padding:6px 8px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.erp-brand-logo{width:43px;height:43px;border-radius:11px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:none;font-size:22px}
.erp-brand-logo img{width:100%;height:100%;object-fit:contain}
.erp-brand-text{min-width:0}
.erp-brand-text strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.erp-brand-text small{display:block;color:#93c5fd;font-size:10px;margin-top:3px}
.erp-sidebar-user{display:flex;align-items:center;gap:9px;padding:14px 8px 12px}
.erp-user-avatar{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center}
.erp-sidebar-user strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
.erp-sidebar-user small{display:block;color:var(--erp-sidebar-muted);font-size:10px;margin-top:2px}
.erp-nav-title{font-size:10px;letter-spacing:1px;color:#93c5fd;font-weight:800;padding:8px 9px 6px}
.erp-nav{display:flex;flex-direction:column;gap:3px;overflow-y:auto;padding-right:2px}
.erp-nav a,.erp-sidebar-bottom a{
  display:flex;align-items:center;gap:11px;
  min-height:40px;padding:9px 11px;border-radius:8px;
  color:var(--erp-sidebar-text);text-decoration:none;font-size:13px;
  transition:background .15s ease,transform .15s ease,color .15s ease;
}
.erp-nav a span,.erp-sidebar-bottom a span{width:21px;text-align:center;font-size:16px;flex:none}
.erp-nav a:hover,.erp-sidebar-bottom a:hover{background:rgba(255,255,255,.10);color:#fff}
.erp-nav a.active{background:var(--erp-active);color:#fff;box-shadow:0 5px 14px rgba(37,99,235,.28)}
.erp-nav a b,.erp-sidebar-bottom a b{font-weight:650}
.erp-sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:10px}
.erp-sidebar-bottom a{margin-top:3px}
.erp-sidebar-bottom .erp-logout{background:rgba(220,38,38,.08)}
.erp-sidebar-bottom .erp-logout:hover{background:#dc2626}
.main{margin-left:240px!important;min-height:100vh}
@media(max-width:900px){
  .erp-sidebar{width:210px}
  .main{margin-left:210px!important}
}
@media(max-width:700px){
  .erp-sidebar{position:relative;width:100%;height:auto;min-height:0}
  .erp-nav{overflow:visible}
  .erp-sidebar-bottom{margin-top:10px}
  .main{margin-left:0!important}
}



/* =========================================================
   V5 REAL ERP THEME — NetGuardian-inspired operations UI
   ========================================================= */
:root{
  --erp-navy:#0f1f3d;
  --erp-navy2:#172b52;
  --erp-blue:#2563eb;
  --erp-bg:#eaf0f7;
  --erp-card:#ffffff;
  --erp-border:#d8e1ec;
  --erp-text:#172033;
  --erp-muted:#6b7b93;
}
html,body{min-height:100%;}
body{
  background:
    radial-gradient(circle at 78% 18%,rgba(37,99,235,.07),transparent 28%),
    linear-gradient(180deg,#f7f9fc 0%,#e9eff6 100%) !important;
  color:var(--erp-text) !important;
}
/* permanent left ERP navigation */
.erp-sidebar{
  width:240px !important;
  background:linear-gradient(180deg,#12254a 0%,#0b1730 100%) !important;
  border-right:1px solid rgba(255,255,255,.08);
  padding:18px 13px 12px !important;
}
.erp-brand{padding:5px 8px 17px !important;}
.erp-brand-logo{width:44px!important;height:44px!important;border-radius:10px!important;}
.erp-brand-text strong{font-size:15px!important;color:#fff!important;}
.erp-brand-text small{color:#9fc1ff!important;}
.erp-sidebar-user{background:rgba(255,255,255,.045);border-radius:9px;margin:12px 0 8px;padding:10px 9px!important;}
.erp-nav-title{color:#7fa8e8!important;padding-top:11px!important;}
.erp-nav a{min-height:42px!important;border-radius:8px!important;font-size:13px!important;}
.erp-nav a.active{background:#2563eb!important;box-shadow:0 5px 15px rgba(37,99,235,.35)!important;}
.erp-sidebar-bottom{border-top-color:rgba(255,255,255,.12)!important;}
.erp-sidebar-bottom .erp-logout{color:#fecaca!important;}
/* application workspace */
.main{margin-left:240px!important;min-height:100vh!important;background:transparent!important;}
.top{
  height:68px!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid #d9e2ed!important;
  box-shadow:0 2px 12px rgba(15,23,42,.06)!important;
  padding:0 24px!important;
}
.top b,.page-title{font-size:18px!important;font-weight:800!important;color:#14213d!important;}
.top span,.crumb{color:#718198!important;font-size:12px!important;}
.content{padding:20px 24px 40px!important;max-width:1700px!important;}
/* use sidebar as the primary navigation; remove duplicate module ribbon */
.module-nav{display:none!important;}
/* panels/cards look like a real operations ERP */
.panel,.card,.erp-stat,.dashboard-module-tile,.dashboard-search{
  background:#fff!important;
  border:1px solid var(--erp-border)!important;
  box-shadow:0 5px 18px rgba(31,52,79,.06)!important;
}
.panel{border-radius:12px!important;}
.card{border-radius:12px!important;}
.dashboard-module-tiles{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;}
.dashboard-module-tile{min-height:74px!important;border-radius:10px!important;}
.dashboard-module-icon{width:42px!important;height:42px!important;border-radius:10px!important;}
.cards{gap:12px!important;}
.cards .card:nth-child(1){border-left:4px solid #2563eb!important;}
.cards .card:nth-child(2){border-left:4px solid #16a34a!important;}
.cards .card:nth-child(3){border-left:4px solid #7c3aed!important;}
.cards .card:nth-child(4){border-left:4px solid #f97316!important;}
.cards .card:nth-child(5){border-left:4px solid #06b6d4!important;}
.cards .card:nth-child(6){border-left:4px solid #dc2626!important;}
table{border-color:#d8e1ec!important;border-radius:10px!important;}
th{background:#f1f5f9!important;color:#40516b!important;}
tr:hover td{background:#f8fbff!important;}
.btn{border-radius:8px!important;}
.school-profile-trigger{width:42px!important;height:42px!important;border-radius:9px!important;}
/* page header action/profile */
.top .school-profile-menu{margin-left:auto!important;}
/* responsive sidebar */
@media(max-width:900px){
 .erp-sidebar{width:210px!important}.main{margin-left:210px!important}.content{padding:18px!important}.dashboard-module-tiles{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:650px){
 .erp-sidebar{position:relative!important;width:100%!important;height:auto!important}.main{margin-left:0!important}.dashboard-module-tiles{grid-template-columns:1fr!important}.top{height:62px!important}
}

/* ===== PROFESSIONAL PAGE NAVIGATION ===== */
.top-nav-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:none;
}
.top-nav-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:82px;
  height:38px;
  padding:0 13px;
  box-sizing:border-box;
  border:1px solid #d7e0ea;
  border-radius:9px;
  background:#fff;
  color:#1e3a5f;
  text-decoration:none;
  font:700 13px/1 'Segoe UI',Arial,sans-serif;
  cursor:pointer;
  transition:all .18s ease;
  box-shadow:0 1px 3px rgba(15,23,42,.05);
}
.top-nav-btn:hover{
  background:#f4f8fc;
  border-color:#b9c9da;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(15,23,42,.08);
}
.top-nav-btn:active{transform:translateY(0)}
.back-btn{color:#475569}
.home-btn{color:#2563eb}
.top > b,.top > span{display:none!important}
.top .top-nav-actions + *{margin-left:auto}
@media(max-width:600px){
  .top-nav-btn{min-width:40px;width:40px;padding:0;font-size:18px}
  .top-nav-btn span{display:none!important}
}

/* FINAL LAYOUT FIX: keep page content beside the fixed ERP sidebar */
body > .content {
  margin-left: 240px !important;
  width: calc(100% - 240px) !important;
  max-width: none !important;
}
@media (max-width: 900px) {
  body > .content {
    margin-left: 0 !important;
    width: 100% !important;
  }
}

/* ===== InfoEdu Premium Commercial UI ===== */
:root{
 --bg:#f5f7fb;--surface:#ffffff;--text:#14213d;--muted:#667085;
 --line:#e6eaf0;--primary:#315bea;--primary-dark:#2448c7;
 --sidebar:#101a33;--sidebar2:#172448;--shadow:0 10px 30px rgba(16,32,64,.07);
 --radius:16px
}
body{background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text)}
.erp-sidebar{
 display:flex!important;position:fixed;left:0;top:0;bottom:0;width:250px;
 flex-direction:column;background:linear-gradient(180deg,var(--sidebar),#0d1630);
 color:#fff;padding:18px 14px;z-index:50;box-shadow:8px 0 28px rgba(10,20,45,.10);
 overflow-y:auto
}
.erp-brand{display:flex;align-items:center;gap:12px;padding:8px 10px 20px;border-bottom:1px solid rgba(255,255,255,.09)}
.erp-brand-logo{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.10);display:grid;place-items:center;font-size:23px;overflow:hidden}
.erp-brand-logo img{width:100%;height:100%;object-fit:contain}
.erp-brand-text strong{font-size:15px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.erp-sidebar-user{display:flex;align-items:center;gap:10px;padding:17px 9px;border-bottom:1px solid rgba(255,255,255,.09)}
.erp-user-avatar{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.10);display:grid;place-items:center}
.erp-sidebar-user strong{display:block;font-size:12px}
.erp-sidebar-user small{display:block;color:#aab6d0;font-size:10px;margin-top:3px}
.erp-nav-title{font-size:9px;letter-spacing:.14em;color:#8491b1;font-weight:800;padding:19px 10px 8px}
.erp-nav{display:flex;flex-direction:column;gap:5px}
.erp-nav a{display:flex!important;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;color:#b9c4db!important;text-decoration:none!important;font-size:12px;transition:.18s}
.erp-nav a span{width:27px;text-align:center;font-size:16px}
.erp-nav a:hover{background:rgba(255,255,255,.07);color:#fff!important}
.erp-nav a.active{background:linear-gradient(90deg,rgba(73,105,235,.95),rgba(73,105,235,.62));color:#fff!important;box-shadow:0 5px 15px rgba(49,91,234,.25)}
.main{margin-left:250px!important;min-height:100vh}
.top{height:72px;padding:0 28px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:0 3px 16px rgba(15,23,42,.035)}
.top b{font-size:17px;color:#16233f}
.content{padding:26px 30px 45px;max-width:1700px}
.dashboard-wrap{padding:28px 30px 45px;max-width:1600px}
.erp-welcome{border:0!important;border-radius:22px!important;background:linear-gradient(120deg,#172554,#315bea)!important;color:#fff;box-shadow:0 16px 35px rgba(49,91,234,.20)!important;padding:32px 36px!important}
.welcome-icon{background:rgba(255,255,255,.12)!important;color:#fff}
.welcome-copy{border-left:1px solid rgba(255,255,255,.20)!important}
.welcome-copy h1{color:#fff!important;font-size:31px!important}
.welcome-copy p,.welcome-copy strong{color:#dce6ff!important}
.erp-date{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.18)!important;color:#e4ebff!important}
.security-strip{background:#fff!important;border:1px solid #dce9e2!important;box-shadow:var(--shadow);padding:15px 20px!important}
.stats-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.erp-stat{border:1px solid var(--line)!important;border-radius:17px!important;box-shadow:var(--shadow)!important}
.erp-stat:hover{transform:translateY(-4px)!important}
.content-grid{gap:20px}
.panel{border:1px solid var(--line)!important;box-shadow:var(--shadow)!important;border-radius:17px!important}
.module-card{border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:0 5px 18px rgba(16,32,64,.05)!important}
.module-card:hover{border-color:#b9c8f5!important;box-shadow:0 12px 28px rgba(16,32,64,.10)!important}
.btn{border-radius:10px!important}
table{border-color:var(--line)!important;box-shadow:0 3px 12px rgba(16,32,64,.03)}
th{background:#f6f8fc!important}
@media(max-width:1000px){
 .erp-sidebar{width:72px;padding:15px 8px}.erp-brand-text,.erp-sidebar-user div,.erp-nav-title,.erp-nav a b{display:none}
 .erp-brand{justify-content:center}.erp-sidebar-user{justify-content:center}
 .erp-nav a{justify-content:center;padding:11px 8px}.erp-nav a span{width:auto}
 .main{margin-left:72px!important}
 .stats-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:650px){
 .erp-sidebar{display:none!important}.main{margin-left:0!important}
 .top{padding:0 15px}.dashboard-wrap,.content{padding:18px 13px 35px}
 .stats-grid{grid-template-columns:1fr 1fr}.module-grid{grid-template-columns:1fr 1fr}
}


/* =========================================================
   InfoEdu Professional UI — final visual polish
   Keeps existing application markup/functionality intact.
   ========================================================= */

:root{
  --pro-primary:#315bea;
  --pro-primary-dark:#2448c7;
  --pro-navy:#101a33;
  --pro-navy-2:#172448;
  --pro-bg:#f4f7fb;
  --pro-surface:#ffffff;
  --pro-line:#e5eaf1;
  --pro-text:#17233f;
  --pro-muted:#6b7890;
  --pro-success:#16845b;
  --pro-warning:#b7791f;
  --pro-danger:#c43d4b;
  --pro-shadow:0 8px 24px rgba(16,34,66,.065);
  --pro-shadow-hover:0 14px 34px rgba(16,34,66,.10);
}

html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 85% 10%,rgba(49,91,234,.055),transparent 24%),
    linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%) !important;
  color:var(--pro-text) !important;
}

/* Workspace */
.main{background:transparent!important}
.top{
  height:70px!important;
  padding:0 26px!important;
  background:rgba(255,255,255,.92)!important;
  border-bottom:1px solid var(--pro-line)!important;
  box-shadow:0 2px 16px rgba(15,23,42,.045)!important;
  backdrop-filter:blur(10px);
}
.page-title{
  font-weight:800!important;
  letter-spacing:-.015em;
}
.crumb{
  margin-top:3px!important;
  color:#8490a3!important;
}
.content{
  padding:22px 26px 42px!important;
}

/* Sidebar */
.erp-sidebar{
  width:248px!important;
  background:linear-gradient(180deg,#12244a 0%,#0b1730 100%)!important;
  box-shadow:7px 0 25px rgba(15,23,42,.10)!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
}
.erp-brand{
  padding:8px 9px 18px!important;
}
.erp-brand-logo{
  width:44px!important;
  height:44px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.10)!important;
}
.erp-brand-text strong{
  font-size:15px!important;
  font-weight:800!important;
}
.erp-brand-text small{
  font-size:10px!important;
  color:#9fc0ff!important;
}
.erp-sidebar-user{
  margin:12px 0 8px!important;
  padding:11px 9px!important;
  border:1px solid rgba(255,255,255,.06)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  background:rgba(255,255,255,.045)!important;
  border-radius:11px!important;
}
.erp-nav-title{
  padding:17px 9px 7px!important;
  color:#8ea9d7!important;
  font-size:9px!important;
  letter-spacing:.15em!important;
}
.erp-nav{gap:4px!important}
.erp-nav a{
  min-height:42px!important;
  padding:10px 11px!important;
  border-radius:9px!important;
  font-size:12px!important;
  color:#c1cce1!important;
}
.erp-nav a span{
  width:24px!important;
  font-size:16px!important;
}
.erp-nav a:hover{
  background:rgba(255,255,255,.075)!important;
  color:#fff!important;
}
.erp-nav a.active{
  background:linear-gradient(90deg,#315bea,#284dcc)!important;
  color:#fff!important;
  box-shadow:0 6px 15px rgba(49,91,234,.30)!important;
}

/* Cards */
.card,.panel,.erp-stat,.dashboard-search,.module-card,.dashboard-module-tile{
  border-color:var(--pro-line)!important;
  box-shadow:var(--pro-shadow)!important;
}
.card,.panel,.module-card{
  border-radius:15px!important;
}
.card:hover,.module-card:hover{
  box-shadow:var(--pro-shadow-hover)!important;
}

/* Page headings */
h1,h2,h3,h4{
  letter-spacing:-.012em;
}
.section-head{
  border-bottom-color:#edf1f6!important;
}

/* Buttons */
.btn,
.action-btn,
.top-nav-btn{
  font-weight:800!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease!important;
}
.btn:hover,
.action-btn:hover{
  transform:translateY(-1px);
}
.btn{
  background:linear-gradient(135deg,var(--pro-primary),var(--pro-primary-dark))!important;
  box-shadow:0 5px 12px rgba(49,91,234,.15)!important;
}
.btn.secondary{
  background:#f1f5f9!important;
  color:#334155!important;
  box-shadow:none!important;
}
.btn.success{background:#17855d!important}
.btn.danger{background:#c83d4b!important}

/* Form controls across the ERP */
input,select,textarea{
  border:1px solid #cfd8e5!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--pro-text)!important;
  min-height:42px;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
input::placeholder,textarea::placeholder{
  color:#9aa6b7;
}
input:focus,select:focus,textarea:focus{
  border-color:#7394ef!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(49,91,234,.10)!important;
}
label{
  color:#31415d!important;
  font-weight:750!important;
  font-size:12px!important;
}

/* Tables */
table{
  border:1px solid var(--pro-line)!important;
  border-radius:12px!important;
  box-shadow:0 3px 15px rgba(15,23,42,.035)!important;
}
th{
  padding:13px 14px!important;
  background:#f5f7fb!important;
  color:#51617a!important;
  font-weight:800!important;
  letter-spacing:.045em!important;
}
td{
  padding:12px 14px!important;
  color:#263750!important;
}
tbody tr{
  transition:background .12s ease;
}
tbody tr:hover{
  background:#f8fbff!important;
}

/* Alerts */
.flash{
  border-radius:11px!important;
  box-shadow:0 3px 10px rgba(15,23,42,.03);
}

/* Search blocks */
.dashboard-search{
  border-radius:16px!important;
  background:linear-gradient(135deg,#fff,#f8fbff)!important;
}
.search-box input{
  min-height:48px!important;
}
.search-box .btn{
  min-height:48px!important;
}

/* Dashboard cards */
.cards{
  gap:15px!important;
}
.cards .card{
  min-height:132px!important;
  padding:19px!important;
}
.quick-card:hover{
  transform:translateY(-3px);
}
.tile-value{
  font-size:25px!important;
}
.tile-sub{
  font-size:11px!important;
}

/* Module cards */
.dashboard-module-tiles{
  gap:14px!important;
}
.dashboard-module-tile{
  min-height:80px!important;
  border-radius:13px!important;
}
.dashboard-module-tile:hover{
  transform:translateY(-2px)!important;
}

/* Profile/dropdown */
.school-profile-trigger{
  width:44px!important;
  height:44px!important;
  border-radius:10px!important;
  border-color:#d9e1eb!important;
}
.school-profile-dropdown{
  top:54px!important;
  border-radius:12px!important;
  box-shadow:0 16px 35px rgba(15,23,42,.15)!important;
}

/* Top navigation */
.top-nav-actions{gap:7px!important}
.top-nav-btn{
  min-width:78px!important;
  height:37px!important;
  border-radius:9px!important;
  color:#35506f!important;
}
.home-btn{color:#315bea!important}
.top-nav-btn:hover{
  border-color:#b8c7da!important;
  background:#f7faff!important;
}

/* Scrollbars */
.erp-nav::-webkit-scrollbar,
.erp-sidebar::-webkit-scrollbar{
  width:5px;
}
.erp-nav::-webkit-scrollbar-thumb,
.erp-sidebar::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.18);
  border-radius:8px;
}

/* Responsive */
@media(max-width:1050px){
  .erp-sidebar{width:220px!important}
  .main{margin-left:220px!important}
  .content{padding:20px!important}
}
@media(max-width:800px){
  .main{margin-left:0!important}
  .top{padding:0 16px!important}
  .content{padding:16px 12px 30px!important}
}

/* Global checkbox size fix */
input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    padding: 0 !important;
    margin: 0 8px 0 0 !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    transform: none !important;
    vertical-align: middle !important;
    cursor: pointer;
}

label:has(input[type="checkbox"]) {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

td input[type="checkbox"],
th input[type="checkbox"],
tr input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

/* =========================================================
   INFOEDU PROFESSIONAL UI V6
   Safe visual layer: no route, session, or database changes
   ========================================================= */
:root{--infoedu-primary:#1d4ed8;--infoedu-primary-dark:#153eaa;--infoedu-ink:#12213d;--infoedu-muted:#64748b;--infoedu-border:#dbe4ef;--infoedu-bg:#f4f7fb;--infoedu-radius:16px}
body{font-family:Inter,"Segoe UI",Arial,sans-serif;letter-spacing:.01em}
.content{animation:infoeduFade .22s ease-out}
@keyframes infoeduFade{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.top{backdrop-filter:blur(10px);background:rgba(255,255,255,.94)!important}
.top b{color:var(--infoedu-ink);letter-spacing:-.02em}
.panel,.card,.erp-stat{border-color:var(--infoedu-border)!important;border-radius:var(--infoedu-radius)!important;box-shadow:0 8px 26px rgba(15,35,70,.055)!important}
.panel{padding:22px!important}
.panel h2,.panel h3{color:var(--infoedu-ink);letter-spacing:-.02em}
.btn{border-radius:10px!important;min-height:38px;transition:transform .15s,box-shadow .15s,background .15s!important}
.btn:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(37,99,235,.18)!important}
input,select,textarea{border-radius:10px!important;border-color:#d5dfeb!important;min-height:40px}
input::placeholder,textarea::placeholder{color:#9aa8ba}
th{background:#f5f8fc!important;color:#52627a!important;font-weight:800!important}
tbody tr{transition:background .12s}
.flash{border-radius:11px!important}
.erp-welcome h1{font-size:28px!important;color:var(--infoedu-ink)}
.erp-welcome p{font-size:14px}
.erp-stat{position:relative;overflow:hidden}
.erp-stat:after{content:"";position:absolute;right:-28px;bottom:-35px;width:105px;height:105px;border-radius:50%;background:rgba(37,99,235,.045);pointer-events:none}
.erp-stat strong{letter-spacing:-.04em;color:var(--infoedu-ink)}
.erp-action{border-radius:12px!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;transition:transform .15s,box-shadow .15s,border-color .15s}
.erp-action:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,35,70,.07)}
.module-nav-card{border-radius:12px!important;background:linear-gradient(180deg,#fff,#fbfdff)!important}
.erp-sidebar{box-shadow:10px 0 30px rgba(8,24,55,.14)!important}
.erp-brand-text strong{letter-spacing:-.03em}
.erp-nav a,.erp-sidebar-bottom a{border:1px solid transparent}
.erp-nav a.active{font-weight:800}
.school-profile-trigger{box-shadow:0 3px 12px rgba(15,35,70,.06)}
@media(max-width:700px){.panel{padding:16px!important}.erp-welcome h1{font-size:23px!important}}

/* =========================================================
   INFOEDU PREMIUM PRODUCT POLISH V7
   Visual-only layer: preserves existing routes and data.
   ========================================================= */
:root{
  --p-primary:#315bea;
  --p-primary-2:#5b7cff;
  --p-navy:#101b3a;
  --p-navy-2:#17264f;
  --p-bg:#f5f7fb;
  --p-surface:#ffffff;
  --p-line:#e7ebf2;
  --p-text:#17223b;
  --p-muted:#74819a;
  --p-shadow:0 10px 30px rgba(18,34,70,.06);
}
body{background:linear-gradient(180deg,#f7f9fc 0%,#f1f5f9 100%);color:var(--p-text)}
.main{background:transparent}
.top{height:74px!important;border-bottom:1px solid rgba(216,224,236,.9)!important;box-shadow:0 5px 22px rgba(21,39,76,.04)!important}
.top-nav-btn{background:#fff!important;border:1px solid var(--p-line)!important;box-shadow:0 2px 8px rgba(15,35,70,.035);font-weight:800!important}
.top-nav-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,35,70,.07)}
.school-profile-trigger{background:linear-gradient(180deg,#fff,#f7faff)!important;border:1px solid #dbe4f2!important;border-radius:12px!important;box-shadow:0 4px 12px rgba(15,35,70,.06)!important}

/* Sidebar */
.erp-sidebar{width:252px!important;padding:18px 12px 12px!important;background:linear-gradient(180deg,#13244b 0%,#0b1532 100%)!important;box-shadow:12px 0 34px rgba(8,24,55,.16)!important}
.main{margin-left:262px!important}
.erp-brand{padding:5px 9px 18px!important;border-bottom:1px solid rgba(255,255,255,.11)!important}
.erp-brand-logo{width:45px!important;height:45px!important;border-radius:13px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 7px 20px rgba(0,0,0,.12)!important}
.erp-brand-text strong{font-size:14px!important;line-height:1.2!important;color:#fff!important}
.erp-sidebar-user{margin:16px 2px 12px!important;padding:11px!important;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.055);border-radius:13px!important}
.erp-user-avatar{width:36px!important;height:36px!important;border-radius:10px!important;background:rgba(255,255,255,.11)!important}
.erp-nav-title{margin:12px 9px 7px!important;letter-spacing:.12em!important;color:#8fa2c9!important;font-size:10px!important}
.erp-nav a{margin:3px 0!important;border-radius:10px!important;padding:11px 11px!important;color:#cbd7ee!important;min-height:44px}
.erp-nav a span{width:28px!important;height:28px!important;display:grid;place-items:center;background:rgba(255,255,255,.05);border-radius:8px;flex:none}
.erp-nav a b{font-size:12px!important;font-weight:700!important}
.erp-nav a:hover{background:rgba(255,255,255,.075)!important;color:#fff!important;border-color:rgba(255,255,255,.07)!important}
.erp-nav a.active{background:linear-gradient(135deg,rgba(79,124,255,.98),rgba(49,91,234,.98))!important;color:#fff!important;box-shadow:0 8px 20px rgba(49,91,234,.24)!important;border-color:rgba(255,255,255,.06)!important}
.erp-nav a.active span{background:rgba(255,255,255,.16)}
.erp-sidebar-bottom{border-top:1px solid rgba(255,255,255,.10)!important;padding-top:10px!important}
.erp-sidebar-bottom a{border-radius:10px!important;color:#b9c7e2!important}
.erp-sidebar-bottom a:hover{background:rgba(255,255,255,.06);color:#fff}
.erp-sidebar-bottom .erp-logout{color:#ffb4bd!important}

/* Page surfaces / forms */
.content,.dashboard-wrap{max-width:1680px!important}
.panel,.card,.erp-stat,.module-card,.module-nav-card{background:rgba(255,255,255,.98)!important;border-color:var(--p-line)!important;box-shadow:var(--p-shadow)!important}
.panel{position:relative;overflow:hidden}
.panel:before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,rgba(49,91,234,.0),rgba(49,91,234,.22),rgba(49,91,234,.0));pointer-events:none}
.panel h2,.panel h3{font-weight:800!important}
.formgrid{gap:20px!important}
input,select,textarea{min-height:42px!important;background:#fcfdff!important}
textarea{min-height:100px!important}
input:focus,select:focus,textarea:focus{border-color:#7d9bff!important;box-shadow:0 0 0 4px rgba(49,91,234,.09)!important;background:#fff!important}
label{font-size:12px!important;color:#3a4860!important;letter-spacing:.01em}
.btn{min-height:40px!important;padding:10px 14px!important}
.btn.secondary{border:1px solid #dfe6ef!important;background:#f8fafc!important}
table{border-radius:14px!important;border-color:#e4eaf2!important}
th{padding:12px 13px!important;background:linear-gradient(180deg,#f8faff,#f2f6fb)!important;color:#52627a!important}
td{padding:11px 13px!important}
tbody tr:hover{background:#f7faff!important}
.flash{box-shadow:0 6px 16px rgba(15,35,70,.05)}

/* Dashboard premium accents */
.erp-welcome{box-shadow:0 18px 42px rgba(49,91,234,.18)!important}
.stats-grid .erp-stat{overflow:hidden}
.stats-grid .erp-stat .s-icon{box-shadow:inset 0 0 0 1px rgba(49,91,234,.06)}
.module-card{min-height:78px!important}
.module-card .module-icon{box-shadow:inset 0 0 0 1px rgba(15,35,70,.05)}

/* Search and action bars */
.search-box{padding:4px!important}
.search-box input{box-shadow:0 4px 12px rgba(15,35,70,.035)}
.action-row .btn,.action-row a{box-shadow:0 4px 12px rgba(15,35,70,.05)}

/* Status badges */
.status-pill,.badge,.pill{border:1px solid rgba(15,35,70,.05);letter-spacing:.03em}

/* Mobile */
@media(max-width:1050px){.erp-sidebar{width:224px!important}.main{margin-left:234px!important}}
@media(max-width:800px){.erp-sidebar{display:none!important}.main{margin-left:0!important}.top{height:66px!important}.panel{border-radius:14px!important}.content,.dashboard-wrap{padding:16px 12px 30px!important}}

/* =========================================================
   InfoEdu iOS-inspired glass ERP theme
   Applied globally to authenticated ERP pages.
   ========================================================= */
:root{
  --ios-blue:#0a63ff;
  --ios-indigo:#4f46e5;
  --ios-deep:#102a9e;
  --ios-bg1:#eef5ff;
  --ios-bg2:#e7edff;
  --ios-glass:rgba(255,255,255,.78);
  --ios-glass-strong:rgba(255,255,255,.9);
  --ios-border:rgba(255,255,255,.62);
  --ios-shadow:0 18px 55px rgba(30,64,175,.14);
}
html,body{background:linear-gradient(135deg,#eef6ff 0%,#e8edff 45%,#f7faff 100%)!important;}
body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:-1;border-radius:999px;filter:blur(2px)}
body:before{width:430px;height:430px;left:-170px;top:120px;background:radial-gradient(circle,rgba(74,144,255,.22),rgba(74,144,255,0) 70%)}
body:after{width:500px;height:500px;right:-180px;bottom:-150px;background:radial-gradient(circle,rgba(99,102,241,.18),rgba(99,102,241,0) 70%)}

/* Floating glass sidebar */
.erp-sidebar,.side{
  background:linear-gradient(180deg,rgba(13,42,119,.92),rgba(12,29,82,.92))!important;
  border-right:1px solid rgba(255,255,255,.14)!important;
  box-shadow:12px 0 40px rgba(30,64,175,.20)!important;
  backdrop-filter:blur(24px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(150%)!important;
}
.erp-brand{border-bottom-color:rgba(255,255,255,.13)!important}
.erp-sidebar-user{background:rgba(255,255,255,.075)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 8px 25px rgba(0,0,0,.08)}
.erp-nav a{border:1px solid transparent!important;border-radius:13px!important;transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important}
.erp-nav a:hover{background:rgba(255,255,255,.12)!important;transform:translateX(2px)}
.erp-nav a.active{background:linear-gradient(135deg,#2877ff,#5b5cf0)!important;box-shadow:0 10px 25px rgba(37,99,235,.34)!important}
.erp-sidebar-bottom .erp-logout{border-radius:13px!important}

/* Main area */
.main{background:transparent!important}
.top{
  background:rgba(255,255,255,.68)!important;
  border-bottom:1px solid rgba(255,255,255,.75)!important;
  box-shadow:0 8px 30px rgba(30,64,175,.08)!important;
  backdrop-filter:blur(22px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(150%)!important;
}
.content{padding-top:26px!important}

/* Floating dashboard cards */
.card,.panel,.erp-stat,.dashboard-search,.dashboard-module-tile{
  background:rgba(255,255,255,.84)!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:var(--ios-shadow)!important;
  backdrop-filter:blur(18px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(135%)!important;
}
.card,.panel,.erp-stat{border-radius:20px!important}
.card:hover,.erp-stat:hover,.dashboard-module-tile:hover{transform:translateY(-2px);transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 24px 60px rgba(30,64,175,.17)!important}

/* Dashboard hero / welcome */
.erp-welcome{background:linear-gradient(135deg,#102a78,#2864e8 58%,#5a57e8)!important;color:#fff!important;border-radius:24px!important;padding:24px 26px!important;box-shadow:0 18px 45px rgba(37,99,235,.25)!important;position:relative;overflow:hidden}
.erp-welcome:after{content:"";position:absolute;width:280px;height:280px;right:-80px;top:-150px;border:1px solid rgba(255,255,255,.22);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.03),0 0 0 140px rgba(255,255,255,.025)}
.erp-welcome p{color:rgba(255,255,255,.82)!important}.erp-date{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.24)!important;color:#fff!important;backdrop-filter:blur(12px)}

/* Buttons */
.btn{border-radius:14px!important;background:linear-gradient(135deg,#1677ff,#5b5cf0)!important;box-shadow:0 10px 24px rgba(37,99,235,.22)!important;transition:transform .18s ease,box-shadow .18s ease!important}
.btn:hover{transform:translateY(-1px)!important;box-shadow:0 14px 30px rgba(37,99,235,.30)!important}
.btn.secondary{background:rgba(255,255,255,.78)!important;border:1px solid #dbe5ff!important;color:#29406f!important;box-shadow:0 6px 18px rgba(30,64,175,.08)!important}

/* Inputs */
input,select,textarea{border-radius:14px!important;border:1px solid #d8e3f7!important;background:rgba(255,255,255,.82)!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.8)!important}
input:focus,select:focus,textarea:focus{border-color:#6ea0ff!important;box-shadow:0 0 0 4px rgba(37,99,235,.11)!important;outline:none!important}

/* Tables */
table{border-radius:18px!important;box-shadow:0 10px 30px rgba(30,64,175,.08)!important;border-color:#dfe8f8!important}
th{background:linear-gradient(180deg,#f4f7ff,#edf3ff)!important;color:#29406f!important}
tbody tr:hover{background:#f5f8ff!important}

/* Module tiles */
.module-nav-card{border-radius:18px!important;background:rgba(255,255,255,.8)!important;border-color:rgba(255,255,255,.9)!important;box-shadow:0 12px 30px rgba(30,64,175,.10)!important;backdrop-filter:blur(16px)}
.module-nav-card:hover{transform:translateY(-4px)!important;box-shadow:0 20px 42px rgba(30,64,175,.16)!important}

/* Mobile: keep the glass look without oversized shadows */
@media(max-width:800px){
  .erp-welcome{border-radius:20px!important;padding:20px!important}
  .card,.panel,.erp-stat{border-radius:17px!important}
  .content{padding:16px!important}
}

/* FINAL COMPACT SIDEBAR - slimmer desktop layout */
@media (min-width:1001px){
  .erp-sidebar{width:210px!important;padding:14px 10px 10px!important}
  .main{margin-left:220px!important}
  .erp-brand{gap:9px!important;padding:4px 6px 14px!important}
  .erp-brand-logo{width:40px!important;height:40px!important;border-radius:11px!important}
  .erp-brand-text strong{font-size:13px!important}
  .erp-sidebar-user{gap:8px!important;margin:12px 1px 8px!important;padding:9px!important;border-radius:11px!important}
  .erp-user-avatar{width:32px!important;height:32px!important;border-radius:9px!important}
  .erp-sidebar-user strong{font-size:11px!important}
  .erp-sidebar-user small{font-size:9px!important}
  .erp-nav-title{padding:14px 8px 6px!important;margin:8px 6px 5px!important;font-size:9px!important}
  .erp-nav{gap:3px!important}
  .erp-nav a{gap:8px!important;padding:8px 8px!important;min-height:38px!important;border-radius:9px!important;font-size:11px!important}
  .erp-nav a span{width:24px!important;height:24px!important;font-size:14px!important;border-radius:7px!important}
  .erp-nav a b{font-size:11px!important}
  .erp-sidebar-bottom{padding-top:7px!important}
  .erp-sidebar-bottom a{padding:7px 8px!important;font-size:11px!important}
}


/* =========================================================
   MOBILE / APP COMPACT DASHBOARD - NO HORIZONTAL DRAG
   ========================================================= */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
  -webkit-text-size-adjust:100%;
}
body{
  min-width:0!important;
}
.main{
  min-width:0!important;
  width:auto!important;
  max-width:100vw!important;
  overflow-x:hidden!important;
}
.top{
  max-width:100vw!important;
  box-sizing:border-box!important;
}
.dashboard-wrap,.content,.panel,.card{
  max-width:100%!important;
  box-sizing:border-box!important;
}
img,svg,canvas,video{
  max-width:100%;
}
@media(max-width:800px){
  .top{
    padding:0 10px!important;
    height:58px!important;
    gap:6px!important;
  }
  .top-nav-actions{
    gap:5px!important;
    min-width:0!important;
  }
  .top-nav-btn{
    padding:7px 9px!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }
  .school-profile-trigger{
    max-width:42px!important;
  }
  .dashboard-wrap{
    width:100%!important;
    padding:10px 8px 24px!important;
    overflow-x:hidden!important;
  }
  .erp-welcome{
    padding:15px!important;
    gap:10px!important;
    margin-bottom:10px!important;
    border-radius:15px!important;
  }
  .welcome-icon{
    width:48px!important;
    height:48px!important;
    border-radius:13px!important;
    font-size:24px!important;
  }
  .welcome-copy h1{
    font-size:19px!important;
    line-height:1.15!important;
    margin-bottom:3px!important;
  }
  .welcome-copy p{
    font-size:11px!important;
    line-height:1.35!important;
  }
  .erp-date{
    display:none!important;
  }
  .security-strip{
    padding:9px 11px!important;
    margin-bottom:10px!important;
    gap:8px!important;
    border-radius:12px!important;
  }
  .security-strip .lock{
    width:32px!important;
    height:32px!important;
    font-size:15px!important;
  }
  .security-strip strong{font-size:11px!important}
  .security-strip small{font-size:9px!important}
  .stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .erp-stat{
    min-width:0!important;
    padding:11px!important;
    border-radius:13px!important;
  }
  .erp-stat h3{font-size:18px!important}
  .module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .module-card{
    min-width:0!important;
    padding:10px!important;
    min-height:64px!important;
    border-radius:12px!important;
  }
  .content-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .panel{
    min-width:0!important;
    overflow:hidden!important;
    padding:12px!important;
    border-radius:14px!important;
  }
  /* Compact overall attendance pie */
  .student-attendance-panel{
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    min-height:0!important;
  }
  .attendance-pie-wrap{
    width:112px!important;
    height:112px!important;
    margin:0 auto!important;
  }
  .attendance-pie{
    width:112px!important;
    height:112px!important;
  }
  .attendance-pie:after{
    width:62px!important;
    height:62px!important;
  }
  .attendance-pie-center strong{font-size:18px!important}
  .attendance-pie-center span{font-size:8px!important}
  .attendance-legend{
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px 8px!important;
  }
  .attendance-legend-row{
    min-width:0!important;
    font-size:9px!important;
    gap:4px!important;
  }
  .attendance-legend-label{
    min-width:0!important;
    gap:4px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .attendance-dot{
    width:7px!important;
    height:7px!important;
  }
  .attendance-legend-row b{font-size:9px!important}
  .attendance-open{
    grid-column:1 / -1!important;
    margin-top:2px!important;
    padding:7px 8px!important;
    text-align:center!important;
    font-size:9px!important;
  }
  /* Prevent any dashboard table/card from creating page-wide overflow */
  table{
    max-width:100%!important;
  }
}
@media(max-width:380px){
  .student-attendance-panel{
    grid-template-columns:98px minmax(0,1fr)!important;
    gap:7px!important;
  }
  .attendance-pie-wrap,.attendance-pie{
    width:98px!important;
    height:98px!important;
  }
  .attendance-pie:after{
    width:54px!important;
    height:54px!important;
  }
  .attendance-pie-center strong{font-size:16px!important}
  .attendance-legend{gap:4px 5px!important}
}
