:root{
  --erp-navy:#0e3557; --erp-navy-2:#14507e; --erp-gold:#c8a24a;
  --erp-bg:#f4f6f9; --erp-ink:#1f2b38; --erp-muted:#6b7684;
  --erp-sidebar:#0e3557; --erp-sidebar-ink:#cdd8e4; --erp-border:#e3e8ee;
}
*{box-sizing:border-box}
body{background:var(--erp-bg);color:var(--erp-ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}

/* ---------- Shell ---------- */
.erp-shell{display:flex;flex-direction:column;min-height:100vh}
.erp-body{display:flex;flex:1 1 auto}

/* ---------- Header ---------- */
.erp-header{background:#fff;border-bottom:3px solid var(--erp-gold);box-shadow:0 1px 4px rgba(14,53,87,.06);position:sticky;top:0;z-index:1030}
.erp-header-inner{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;gap:1rem}
.erp-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.erp-crest{width:44px;height:44px}
.erp-brand-text{display:flex;flex-direction:column;line-height:1.1}
.erp-brand-name{font-weight:700;color:var(--erp-navy);font-size:1.08rem}
.erp-brand-sub{font-size:.72rem;color:var(--erp-muted);letter-spacing:.3px}
.erp-header-right{display:flex;align-items:center;gap:1rem}
.erp-lang{font-size:.8rem;color:var(--erp-muted)}
.erp-lang a{color:var(--erp-navy-2);text-decoration:none;padding:0 .25rem}
.erp-lang a.active{font-weight:700;text-decoration:underline}
.erp-user{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--erp-border);color:var(--erp-ink)}
.erp-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--erp-navy);color:#fff;font-weight:700;font-size:.8rem}

/* ---------- Sidebar ---------- */
.erp-sidebar{width:230px;flex:0 0 230px;background:var(--erp-sidebar);color:var(--erp-sidebar-ink);display:flex;flex-direction:column;min-height:calc(100vh - 64px)}
.erp-nav{list-style:none;margin:0;padding:.75rem .5rem;flex:1 1 auto}
.erp-nav-link{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;margin-bottom:.15rem;border-radius:8px;color:var(--erp-sidebar-ink);text-decoration:none;font-size:.92rem}
.erp-nav-link:hover{background:rgba(255,255,255,.08);color:#fff}
.erp-nav-link.active{background:var(--erp-gold);color:#20303f;font-weight:600}
.erp-nav-ico{width:18px;height:18px;flex:0 0 18px;border-radius:4px;background:currentColor;opacity:.55;mask-size:cover}
.erp-nav-link.active .erp-nav-ico{opacity:.85}
.erp-nav-disabled{opacity:.5;cursor:not-allowed}
.erp-nav-disabled:hover{background:transparent;color:var(--erp-sidebar-ink)}
.erp-nav-soon{margin-left:auto;font-size:.6rem;text-transform:uppercase;letter-spacing:.5px;background:rgba(255,255,255,.12);padding:.05rem .35rem;border-radius:8px}
.erp-sidebar-foot{padding:.75rem 1rem;font-size:.72rem;color:rgba(205,216,228,.6);border-top:1px solid rgba(255,255,255,.08)}

/* ---------- Main ---------- */
.erp-main{flex:1 1 auto;padding:1.5rem;max-width:100%}
.erp-page-title{font-size:1.4rem;font-weight:700;color:var(--erp-navy);margin:0}
.erp-search .form-control{min-width:280px}

/* ---------- Stat cards ---------- */
.erp-stat{background:#fff;border:1px solid var(--erp-border);border-left:4px solid var(--erp-navy-2);border-radius:10px;padding:1rem 1.1rem}
.erp-stat-label{font-size:.8rem;color:var(--erp-muted);text-transform:uppercase;letter-spacing:.4px}
.erp-stat-value{font-size:1.9rem;font-weight:700;color:var(--erp-navy)}
.erp-stat-na{color:#c0c8d0}
.erp-stat-primary{border-left-color:#14507e}
.erp-stat-info{border-left-color:#1f8bbd}
.erp-stat-success{border-left-color:#2e8b57}
.erp-stat-warning{border-left-color:#c8a24a}

/* ---------- Panels ---------- */
.erp-panel{background:#fff;border:1px solid var(--erp-border);border-radius:10px;overflow:hidden}
.erp-panel-head{padding:.7rem 1rem;font-weight:600;color:var(--erp-navy);border-bottom:1px solid var(--erp-border);background:#fbfcfe}
.erp-panel-body{padding:1rem}
.erp-funnel{display:flex;flex-wrap:wrap;gap:.5rem}
.erp-funnel-step{display:flex;align-items:center;gap:.5rem;background:#f0f4f8;border:1px solid var(--erp-border);border-radius:20px;padding:.35rem .8rem;font-size:.85rem}
.erp-funnel-no{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--erp-navy);color:#fff;font-size:.72rem;font-weight:700}
.erp-result-list{list-style:none;margin:0;padding:0}
.erp-result-list li{padding:.45rem .25rem;border-bottom:1px solid #f0f2f5;font-size:.9rem}
.erp-result-list li:last-child{border-bottom:0}
.erp-result-list .eid{color:var(--erp-navy-2);font-weight:600;font-family:ui-monospace,Menlo,Consolas,monospace}

/* ---------- Footer ---------- */
.erp-footer{background:var(--erp-navy);color:#cdd8e4;text-align:center;padding:.7rem 1rem;font-size:.8rem}
.erp-footer-org{color:var(--erp-gold);font-size:.75rem;margin-top:.1rem}

/* ---------- Auth ---------- */
.erp-auth-body{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#0e3557,#14507e);padding:1.5rem}
.erp-auth-card{width:100%;max-width:400px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.erp-auth-head{text-align:center;padding:1.6rem 1.5rem .5rem}
.erp-crest-lg{width:70px;height:70px}
.erp-auth-title{font-size:1.15rem;font-weight:700;color:var(--erp-navy);margin:.6rem 0 .1rem}
.erp-auth-sub{font-size:.78rem;color:var(--erp-muted);margin:0}
.erp-auth-body-inner{padding:1rem 1.5rem 1.5rem}
.erp-auth-foot{background:#fbfcfe;border-top:1px solid var(--erp-border);text-align:center;padding:.6rem;font-size:.72rem;color:var(--erp-muted)}
.btn-primary{--bs-btn-bg:#14507e;--bs-btn-border-color:#14507e;--bs-btn-hover-bg:#0e3557;--bs-btn-hover-border-color:#0e3557;--bs-btn-active-bg:#0e3557}

/* ---------- Eligibility banner ---------- */
.eligibility-banner{padding:.5rem .75rem;border-radius:6px;font-size:.85rem;border:1px solid transparent}
.elig-ok{background:#e6f4ea;border-color:#b6dfc2;color:#1b5e2f}
.elig-bad{background:#fdecec;border-color:#f5c2c2;color:#8a1f1f}
.elig-na{background:#eef3f8;border-color:#c3d3e2;color:#33475b}

/* ---------- Gujarati auto-translate ---------- */
.gu-translate-btn{margin-top:.3rem;font-size:.72rem;padding:.15rem .5rem;cursor:pointer;background:#eef3f8;border:1px solid #c3d3e2;border-radius:5px;color:#13294b}
.gu-translate-btn:hover{background:#e0eaf4}
.gu-translate-btn:disabled{opacity:.6;cursor:default}
.gu-translate-status{font-size:.72rem;margin-left:.4rem;color:#6b7684}

/* ---------- 404 ---------- */
.erp-404{text-align:center;padding:3rem 1rem}
.erp-404-code{font-size:4rem;font-weight:800;color:var(--erp-gold);line-height:1}

/* ---------- Responsive ---------- */
/* the main column may shrink below its content; wide tables scroll inside their own box, never the page */
.erp-main{min-width:0}
/* ☰ menu button + backdrop (phones / small tablets only) */
.erp-menu-btn{display:none;align-items:center;justify-content:center;border:0;background:none;padding:.3rem;margin-right:.15rem;color:var(--erp-navy);border-radius:8px;flex:0 0 auto}
.erp-menu-btn:hover,.erp-menu-btn:focus-visible{background:#eef2f7}
.erp-menu-btn svg{width:26px;height:26px}
.erp-backdrop{display:none}
/* sticky Roll + Student columns in wide entry grids (class erp-sticky, set up by app.js) */
table.erp-sticky .erp-stick{position:sticky;z-index:2;background:#fff}
table.erp-sticky thead .erp-stick{z-index:3;background:#f8f9fa}
table.erp-sticky .erp-stick-last{box-shadow:inset -1px 0 0 #cfd6de, 3px 0 4px -2px rgba(15,23,42,.12)}

@media (max-width:768px){
  .erp-menu-btn{display:inline-flex}
  .erp-sidebar{position:fixed;left:-270px;top:0;bottom:0;height:100vh;min-height:0;width:260px !important;flex-basis:260px !important;
               transition:left .22s ease;z-index:1050}
  .erp-sidebar.open{left:0;box-shadow:6px 0 24px rgba(0,0,0,.28)}
  .erp-backdrop.show{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1045}
  body.erp-nav-open{overflow:hidden}
  .erp-search .form-control{min-width:0}
  .erp-main{padding:.9rem .7rem}
  .erp-header-inner{padding:.4rem .55rem;gap:.4rem}
  .erp-header-right{gap:.45rem}
  .erp-brand{gap:.45rem;min-width:0}
  .erp-brand-text{min-width:0}
  .erp-brand-name{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .erp-brand-sub{display:none}
  .erp-crest{width:34px;height:34px}
  .erp-page-title{font-size:1.2rem}
  .erp-footer{font-size:.75rem}
  table.erp-sticky .erp-stick-last{max-width:128px;min-width:96px;white-space:normal;font-size:.84rem;line-height:1.2}
  /* toolbars / pager rows wrap instead of pushing the page sideways */
  .erp-main .d-flex:not(.flex-nowrap){flex-wrap:wrap}
  .erp-main .pagination{flex-wrap:wrap}
}
@media (max-width:360px){
  .erp-lang{display:none}
}
