/* ===== ESM clone — Dashboard =====
   Naap live page se li gayi: header 70px #0A63C9, sidebar 260px, body #f6f6f6,
   card 216x79 radius 20, icon 49px circle + 59px outliner, title Poppins 700 16px */

:root{
  --brand:#0A63C9;
  --orange:#298dff;
  --green:#32ab13;
  --page-bg:#f6f6f6;
  --text:#212529;
  --muted:#8b8b8b;
  --sidebar-w:260px;
  --header-h:70px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Inter',system-ui,sans-serif;
  font-size:14px;
  color:var(--text);
  background:var(--page-bg);
}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;}

/* ---------- HEADER ---------- */
.top-header{
  position:fixed;top:0;left:var(--sidebar-w);right:0;height:var(--header-h);
  background:var(--brand);z-index:20;
}
.top-header .navbar{
  height:100%;display:flex;align-items:center;padding:0 18px;
}
.toggle-btn{
  color:#3f4b57;font-size:22px;background:none;border:0;cursor:pointer;
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  margin-left:auto;
}
.campus-name{margin-left:0;}
.campus-title button{
  background:#fff;color:var(--orange);font-size:14px;border:0;
  border-radius:5px;padding:1px 6px;line-height:20px;cursor:pointer;
}
.campus-title button i{font-size:12px;margin-right:2px;}
.campus-name-1{color:#fff;font-size:14px;font-weight:400;display:block;line-height:20px;}

.right-topbar{margin-left:auto;}
.navbar-nav{
  list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:14px;
}
.search-input{
  width:228px;height:38px;border:1px solid #ced4da;border-radius:4px;
  padding:6px 12px;font-size:14px;outline:none;
}
.search-input::placeholder{color:#8f98a1;}
.btn-search{
  background:var(--green);color:#fff;border:0;border-radius:4px;
  padding:6px 12px;font-size:16px;height:38px;cursor:pointer;
}
.header-select{
  height:38px;border:1px solid #ced4da;border-radius:4px;padding:6px 26px 6px 10px;
  font-size:14px;background:#fff;appearance:none;outline:none;cursor:pointer;
}
.select-wrap{position:relative;display:flex;align-items:center;}
.select-wrap i{position:absolute;right:9px;font-size:11px;color:#343a40;pointer-events:none;}
.icon-btn{
  position:relative;width:38px;height:38px;border-radius:6px;background:#fff;
  display:flex;align-items:center;justify-content:center;color:var(--brand);
  font-size:17px;border:0;cursor:pointer;
}
.icon-btn .dot{
  position:absolute;top:-3px;right:-3px;width:11px;height:11px;border-radius:50%;
  background:#e23c3c;border:2px solid var(--brand);
}
.user-box{
  display:flex;align-items:center;gap:8px;background:#fff;border-radius:6px;
  padding:4px 10px 4px 4px;cursor:pointer;
}
.user-box img{width:30px;height:30px;border-radius:50%;object-fit:cover;}
.user-box span{font-size:14px;color:var(--text);}
.user-box i{font-size:11px;color:#6c757d;}

/* chhota panel (No Complaints Yet) */
.mini-panel{
  position:absolute;top:var(--header-h);right:18px;background:var(--brand);
  color:#fff;font-size:13px;padding:8px 16px;border-radius:0 0 4px 4px;
  min-width:190px;text-align:center;
}

/* ---------- SIDEBAR ---------- */
.sidebar-wrapper{
  position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;background:#fff;
  box-shadow:0 2px 11px 0 rgba(0,0,0,.09);z-index:30;display:flex;flex-direction:column;
}
.sidebar-header{
  height:var(--header-h);display:flex;align-items:center;padding:0 18px;
}
.logo-text{
  font-size:30px;font-weight:700;letter-spacing:-1px;color:#404142;line-height:1;
}
.logo-text .e{color:var(--orange);}
.logo-text .s{color:var(--brand);}
.logo-text .m{color:#0aa89e;}
.logo-sub{display:block;font-size:7px;letter-spacing:.5px;color:#8b8b8b;font-weight:500;}

.sidebar-menu{list-style:none;margin:10px 0 0;padding:0;flex:1;overflow-y:auto;}
.sidebar-menu a{
  display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);
  padding:6px 15px;margin:2px 10px;border-radius:6px;
}
.sidebar-menu a .menu-icon{
  width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;
  background:#f0f1f5;color:var(--muted);font-size:13px;
}
.sidebar-menu a.active{background:rgba(10,99,201,.1);color:var(--brand);}
.sidebar-menu a.active .menu-icon{background:var(--brand);color:#fff;}
.sidebar-menu a .chev{margin-left:auto;font-size:11px;}
.sidebar-menu a:hover{background:rgba(0,115,188,.06);}

.sidebar-footer{padding:16px;}
.btn-logout{
  width:100%;background:var(--orange);color:#fff;border:0;border-radius:8px;
  padding:9px 12px;font-size:14px;display:flex;align-items:center;justify-content:center;
  gap:8px;cursor:pointer;
}

/* ---------- PAGE ---------- */
.page-wrapper{
  margin-left:var(--sidebar-w);padding-top:var(--header-h);min-height:100vh;
}
.page-content{padding:22px 26px 40px;}
.page-head{display:flex;align-items:center;margin-bottom:8px;}
.page-head h4{font-size:26px;font-weight:700;color:var(--text);margin:0;}
.btn-guide{
  margin-left:auto;background:#29434e;color:#fff;border:0;border-radius:4px;
  padding:7px 13px;font-size:14px;display:flex;align-items:center;gap:7px;cursor:pointer;
}

/* ---------- MODULE CARDS ---------- */
.modules-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;
  max-width:980px;margin-top:14px;
}
.dashboard-cards-wrapper{
  position:relative;border-radius:20px;padding:10px;min-height:79px;
  display:flex;align-items:center;cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.dashboard-cards-wrapper:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08);}
.dashboard-cards-content{display:flex;align-items:center;width:100%;}
.outliner-img{
  width:59px;height:59px;border-radius:50px;padding:5px;flex:0 0 59px;
  display:flex;align-items:center;justify-content:center;
}
.dashboard-cards-img{
  width:49px;height:49px;border-radius:50px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:21px;
}
.dashboard-cards-title{padding-left:12px;padding-right:22px;}
.dashboard-cards-title h6{font-size:16px;font-weight:700;line-height:1.2;margin:0;color:var(--text);}
.info__btns{
  position:absolute;top:8px;right:8px;width:25px;height:25px;border-radius:50px;
  background:transparent;border:0;color:#000;font-size:12px;opacity:.55;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.info__btns:hover{opacity:1;background:rgba(255,255,255,.6);}

/* card colors: wrapper = 10%, outliner = 30%, icon circle = solid */
.c-inquiry     {--c:188,0,94;}
.c-admissions  {--c:19,155,151;}
.c-attendance  {--c:41,67,78;}
.c-fee         {--c:122,82,71;}
.c-result      {--c:226,146,9;}
.c-sms         {--c:47,116,1;}
.c-complaints  {--c:0,52,129;}
.c-academics   {--c:0,115,188;}
.c-hr          {--c:68,0,188;}
.c-library     {--c:205,92,17;}
.c-assets      {--c:9,138,35;}
.c-finance     {--c:210,13,13;}
.c-privilege   {--c:188,0,175;}
.c-config      {--c:122,40,124;}
.c-transport   {--c:0,66,87;}
.c-event       {--c:120,80,10;}
.c-branding    {--c:150,2,2;}
.c-consultancy {--c:255,29,88;}
.c-franchise   {--c:122,40,124;}
.c-hostel      {--c:188,0,175;}
.c-epaper      {--c:19,155,151;}

.dashboard-cards-wrapper{background:rgba(var(--c),.1);}
.dashboard-cards-wrapper .outliner-img{background:rgba(var(--c),.3);}
.dashboard-cards-wrapper .dashboard-cards-img{background:rgb(var(--c));}

/* ===================================================================
   INQUIRY PAGE
   =================================================================== */
.breadcrumb__main_title h2{font-size:18px;font-weight:600;color:#8b8b8b;margin:0 0 8px;}
.main-page-data{background:#fff;padding:20px;border-radius:20px;}
.section__title_color h4{font-size:22px;font-weight:600;color:var(--brand);margin:0;}
.mt-40{margin-top:40px;}
.mt-30{margin-top:30px;}

.section-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;}
.guide-list{list-style:none;margin:0 0 0 auto;padding:0;}
.guide-list li{display:flex;align-items:center;gap:10px;}
.guide-play{
  width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;
}
.guide-text{display:flex;flex-direction:column;font-size:14px;color:#3b4a54;line-height:1.25;}
.guide-text small{font-size:12px;color:#8b8b8b;}

/* ---------- stat cards ---------- */
.stats-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px;
}
.card__wrappers{
  position:relative;border-radius:10px;padding:16px;min-height:106px;overflow:hidden;
  display:flex;align-items:flex-start;
}
.card__wrappers_content{width:100%;padding-right:62px;}
.card__statics label{
  display:block;font-size:32px;font-weight:600;color:#fff;line-height:1;margin-bottom:4px;
}
.card__statics p{font-size:14px;color:#fff;margin:0;line-height:1.4;}
.card__statics p.money-label{font-size:15px;font-weight:600;margin-bottom:2px;}
.card__statics p.money-label + label{font-size:22px;}
.card__spacer{margin-top:14px;margin-right:-52px;}
.card__spacer hr{border:0;height:4px;border-radius:10px;background:#fff;opacity:.85;margin:0;}
.card__icon_wrapper{
  position:absolute;top:50%;right:14px;transform:translateY(-50%);
  width:58px;height:58px;border-radius:50%;background:#fff;
  display:flex;align-items:center;justify-content:center;font-size:22px;
}
.c-blue   {background:#0A63C9;}
.c-violet {background:#0B2447;}
.c-orange {background:#1E4E8C;}
.c-magenta{background:#334155;}
.c-blue   .card__icon_wrapper{color:#0A63C9;}
.c-violet .card__icon_wrapper{color:#0B2447;}
.c-orange .card__icon_wrapper{color:#1E4E8C;}
.c-magenta .card__icon_wrapper{background:#298dff;color:#fff;}

/* ---------- graph ---------- */
.chart-box{display:flex;gap:16px;margin-top:14px;flex-wrap:wrap;}
.chart-area{flex:1 1 520px;min-width:300px;}
.chart-svg{width:100%;height:260px;display:block;}
.chart-xaxis{
  display:flex;justify-content:space-around;font-size:11px;color:#767676;
  text-align:center;padding:0 40px;margin-top:-30px;
}
.chart-legend{
  flex:0 1 300px;display:grid;grid-template-columns:1fr 1fr;gap:5px 14px;
  align-content:flex-start;padding-top:26px;
}
.lg-item{display:flex;align-items:center;gap:7px;font-size:11.5px;color:#333;}
.lg-item i{width:11px;height:11px;border-radius:2px;flex:0 0 11px;}

/* ---------- pie / source wise ---------- */
.pie-box{position:relative;margin-top:14px;border-radius:6px;padding:16px;min-height:380px;}
.pie-title{text-align:center;font-size:20px;color:#333;padding:14px 0;}
.hc-menu{
  position:absolute;top:14px;right:14px;width:28px;height:28px;border:1px solid #ddd;
  background:#fff;border-radius:4px;color:#666;cursor:pointer;
}

/* ---------- data grid ---------- */
.grid-toolbar{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap;}
.grid-grouphint{font-size:13px;color:#8b8b8b;}
.btn-excel{
  margin-left:auto;width:32px;height:32px;border:0;border-radius:4px;background:var(--brand);
  color:#fff;font-size:15px;cursor:pointer;
}
.grid-search{position:relative;}
.grid-search i{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#9aa4ad;font-size:13px;}
.grid-search input{
  height:34px;width:210px;border:1px solid #ddd;border-radius:4px;padding:6px 10px 6px 32px;
  font-size:13px;outline:none;font-family:inherit;
}
.data-grid{margin-top:10px;border:1px solid #ddd;border-radius:2px;overflow-x:auto;}
.data-grid table{width:100%;border-collapse:collapse;min-width:900px;}
.data-grid th{
  background:var(--brand);color:#fff;font-size:14px;font-weight:600;text-align:left;
  padding:8px 10px;border-right:1px solid rgba(255,255,255,.35);white-space:nowrap;
}
.data-grid th i{float:right;opacity:.9;font-size:12px;margin-top:3px;}
.data-grid .filter-row td{height:34px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;}
.grid-nodata{
  min-height:210px;display:flex;align-items:center;justify-content:center;
  color:#7a7a7a;font-size:15px;
}
.grid-total{border-top:1px solid #ddd;padding:10px;font-size:13px;font-weight:600;color:#555;}

/* ---------- sidebar submenu ---------- */
.sub-menu{list-style:none;margin:0 0 6px;padding:0;display:none;}
.sub-menu.open{display:block;}
.sub-menu a{
  font-size:13px;color:#8b8b8b;padding:5px 14px 5px 26px;margin:0 10px;display:flex;
  align-items:center;gap:8px;border-radius:6px;
}
.sub-menu a i{font-size:10px;color:var(--brand);}
.sidebar-menu a.has-sub.active,.sidebar-menu a.has-sub{cursor:pointer;}
.user-meta{display:flex;flex-direction:column;line-height:1.15;}
.user-meta b{font-size:14px;font-weight:600;}
.user-meta small{font-size:11px;color:#8b8b8b;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1400px){ .modules-grid{max-width:100%;} }
@media (max-width:1199px){
  .modules-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:991px){
  .sidebar-wrapper{transform:translateX(-100%);transition:transform .2s;}
  body.sidebar-open .sidebar-wrapper{transform:none;}
  .page-wrapper{margin-left:0;}
  .modules-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .top-header{left:0;}
  .search-input{width:150px;}
}
@media (max-width:640px){
  .modules-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:1fr;}
  .chart-legend{grid-template-columns:1fr;}
  .campus-name{display:none;}
  .header-select,.search-input,.btn-search,.select-wrap{display:none;}
  .page-content{padding:18px 16px 32px;}
}

/* ================= ADMISSION MODULE (naap kar asli se) ================= */
.breadcrumb__main_title{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px 34px;}
.breadcrumb__main_title .guide-list{display:flex;gap:34px;margin-left:auto;}

.adm-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:16px;align-items:start;}
.adm-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.adm-stats .card__wrappers{min-height:106px;}

/* ---- gender ratio ---- */
.gender__ratio_card_wrapper{border-radius:12px;padding:15px;box-shadow:0 2px 11px rgba(0,0,0,.09);background:#fff;}
.admin__card_title_black h4{font-size:18px;font-weight:700;color:#212529;margin:0 0 10px;display:flex;align-items:center;gap:8px;}
.admin__card_title_black h4 i{color:#0A63C9;font-size:20px;}
.gender-inner{border:1px solid #dee2e6;padding:15px;width:151px;}
.gender-inner h3{font-size:17.6px;font-weight:700;color:#212529;margin:0 0 10px;line-height:1.2;}
.gender__ratio_card_divider{display:flex;gap:6px;text-align:center;}
.gender__male,.gender__female{flex:1;}
.gender__male h6,.gender__female h6{font-size:16px;font-weight:700;margin:0;}
.gender__male h6{color:#0A63C9;}
.gender__female h6{color:#298dff;}
.gender__male p,.gender__female p{font-size:14px;font-weight:700;margin:0;}
.gender__male p{color:#0A63C9;}
.gender__female p{color:#298dff;}
.gender__male i,.gender__female i{font-size:38px;display:block;margin:4px 0;}
.gender__male i{color:#2f8fd6;}
.gender__female i{color:#298dff;}
.gender__male .g-label,.gender__female .g-label{text-transform:uppercase;font-size:12px;}
.gender-total{text-align:center;margin-top:12px;font-size:14px;}

/* ---- charts ---- */
.chart-label{font-size:19px;font-weight:600;color:var(--brand);display:block;}
.chart-holder{margin-top:6px;}
.chart-area-wrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.chart-svg-2{flex:1 1 420px;min-width:280px;height:300px;max-width:100%;}
.adm-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;}
.chart-legend{display:grid;gap:7px 16px;align-content:center;}

/* ---- strength tables ---- */
.strength-tables{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;margin-top:14px;}
.st-head{background:#1e88e5;color:#fff;font-size:24px;font-weight:500;text-align:center;padding:10px;margin:0;}
.st-table{width:100%;border-collapse:collapse;}
.st-table thead{background:#64b5f6;}
.st-table th{color:#fff;font-size:14px;font-weight:700;padding:12px;text-align:center;border:1px solid #dee2e6;}
.st-table td{font-size:14px;padding:12px;text-align:center;border:1px solid #dee2e6;color:#212529;}
.st-table td:nth-child(2){text-align:left;}
.st-r0{background:#fff;}
.st-r1{background:#fff3cd;}
.st-r2{background:#d4edda;}
.st-r3{background:#d1ecf1;}
.st-total{background:#64b5f6;}
.st-total td{color:#fff;font-weight:700;}
.st-foot{background:#64b5f6;color:#212529;text-align:center;padding:10px;font-size:14px;margin-top:8px;}
.grand-band{background:#1565c0;padding:15px;text-align:center;margin-top:14px;}
.grand-band h4{color:#fff;font-size:24px;font-weight:500;margin:0;}

/* ---- donuts ---- */
.donut-title{text-align:center;font-size:24px;color:#333;font-weight:400;padding:18px 0 4px;}
.donut-holder{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;}
.donut-svg{width:420px;max-width:100%;height:420px;}
.donut-legend{align-content:center;}
.migrated-empty{height:40px;}

@media (max-width:1100px){
  .adm-top,.adm-2col,.strength-tables{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .adm-stats{grid-template-columns:1fr;}
  .breadcrumb__main_title .guide-list{margin-left:0;flex-wrap:wrap;gap:14px;}
}

/* --- admission fixes (asli se milane ke baad) --- */
.st-total td,.st-total td:nth-child(2){text-align:center;}
.adm-2col .chart-area-wrap{flex-wrap:nowrap;gap:10px;}
.adm-2col .chart-svg-2{flex:1 1 auto;min-width:0;}
.adm-2col .chart-legend{font-size:11px;flex:0 0 auto;}

/* ================= ATTENDANCE MODULE ================= */
.att-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.att-head-right{text-align:right;}
.btn-mark-absent{
  background:#0A63C9;color:#fff;font-size:16px;font-weight:400;font-family:inherit;
  padding:6px 12px;border:0;border-radius:4px;cursor:pointer;
}
.btn-mark-absent:hover{background:#005e99;}
.att-date{font-size:22px;font-weight:600;color:#298dff;margin:10px 0 0;}

/* ---- ring cards ---- */
.ring-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:14px;justify-items:center;}
.svg__card_wrapper{
  position:relative;width:212px;height:230px;background:#fff;border-radius:4px;
  display:flex;align-items:center;justify-content:center;
}
.ring-svg{position:absolute;top:0;left:50%;transform:translateX(-50%);}
.svg__main_content{
  position:relative;width:140px;height:140px;border-radius:200px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.svg__main_content h6{font-size:22px;font-weight:700;color:#fff;margin:0;}
.svg__main_content p{font-size:14px;font-weight:400;color:#fff;margin:2px 0 0;}

/* ---- Highcharts jaisa box ---- */
.hc-box{position:relative;margin-top:10px;}
.hc-svg{width:100%;height:auto;display:block;}
.hc-menu-btn{
  position:absolute;top:0;right:0;width:32px;height:28px;background:#fff;
  border:1px solid #d6d6d6;border-radius:3px;color:#666;cursor:pointer;font-size:13px;
}
.hc-menu-btn:hover{background:#f2f2f2;}
.hc-legend{display:flex;justify-content:center;gap:26px;padding:6px 0;}
.hc-legend .hc-lg{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:#333;}
.hc-legend .hc-lg b{font-weight:400;}
.hc-legend .hc-lg i{width:12px;height:12px;display:block;}

@media (max-width:1100px){ .ring-row{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:600px){ .ring-row{grid-template-columns:1fr;} }

/* ================= FEE MANAGEMENT MODULE ================= */
.btn-fee-summary{
  background:#0A63C9;color:#fff;font-size:14px;font-family:inherit;
  padding:8px 10px;border:0;border-radius:5px;cursor:pointer;
}
.btn-fee-summary:hover{background:#005e99;}
.fee-ring-grid{display:grid;grid-template-columns:repeat(12,1fr);row-gap:0;margin-top:10px;}
.fee-ring-grid .sp2{grid-column:span 2;}
.fee-ring-grid .sp3{grid-column:span 3;}
.fee-ring-grid .sp4{grid-column:span 4;}
.fee-ring-grid > div{display:flex;justify-content:center;}
.fee-cmp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:30px;}
.fee-filters{display:flex;gap:22px;}
.ff-item label{display:block;font-size:16px;color:#212529;margin-bottom:4px;}
.ff-item select{
  height:31px;width:170px;border:1px solid #ced4da;border-radius:4px;
  font-size:14.4px;font-family:inherit;color:#212529;padding:0 8px;background:#fff;
}
.btn-excel.blue{background:#0A63C9;color:#fff;border-color:#0A63C9;}
.btn-excel.blue:hover{background:#005e99;}
.grid-nodata.tall{min-height:220px;display:flex;align-items:center;justify-content:center;}

@media (max-width:1200px){
  .fee-ring-grid{grid-template-columns:repeat(6,1fr);}
  .fee-ring-grid .sp2,.fee-ring-grid .sp3,.fee-ring-grid .sp4{grid-column:span 3;}
}
@media (max-width:700px){
  .fee-ring-grid{grid-template-columns:1fr;}
  .fee-ring-grid .sp2,.fee-ring-grid .sp3,.fee-ring-grid .sp4{grid-column:span 1;}
}

/* --- fee ring fixes: text circle ke andar rahe, parosi card upar na chadhe --- */
.fee-ring-grid .svg__card_wrapper{background:transparent;}
.fee-ring-grid .svg__main_content p{max-width:124px;line-height:1.25;}

/* ================= EXAM / RESULT MODULE ================= */
.res-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 34px;margin-top:16px;}
.res-card{min-height:106px;}
.res-card-table{min-height:136px;align-items:flex-start;}
.res-card-title{font-size:17px;font-weight:700;color:#fff;display:block;}
.res-hr{border:0;height:2px;background:#fff;opacity:.85;margin:8px 0 6px;}
.res-cols{display:flex;gap:10px;color:#fff;font-size:13px;font-weight:600;line-height:1.2;}
.res-cols span{flex:1;}
.res-cols-5 span:nth-child(2),.res-cols-6 span:nth-child(2){flex:.8;}
.res-bottom{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start;margin-top:10px;}
.res-gender{padding:15px;}
.res-gender-body{display:flex;justify-content:space-around;align-items:flex-end;padding:22px 10px 10px;}
.res-gender-col{display:flex;flex-direction:column;align-items:center;gap:10px;}
.res-gender-col i{font-size:86px;line-height:1;}
.res-gender-col span{font-size:13px;font-weight:700;letter-spacing:.3px;}
.res-gender-col.male i,.res-gender-col.male span{color:#1d86d0;}
.res-gender-col.female i,.res-gender-col.female span{color:#298dff;}

@media (max-width:1100px){ .res-grid,.res-bottom{grid-template-columns:1fr;} }
.res-bottom .chart-area-wrap{flex-wrap:nowrap;gap:12px;}
.res-bottom .chart-svg-2{flex:1 1 auto;min-width:0;height:280px;}
.res-bottom .chart-legend{flex:0 0 auto;font-size:11px;}

/* ================= SMS MODULE ================= */
.sms-donuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:16px;}
.sms-donut-card{border:1px solid #e3e6ea;border-radius:6px;padding:16px;background:#fff;}
.sms-donut-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.sms-donut-head i{font-size:22px;color:#0A63C9;}
.sms-donut-head h5{font-size:18px;font-weight:700;color:#212529;margin:0;}
.sms-donut-svg{width:100%;height:auto;display:block;}
.sms-donut-legend{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;padding-top:6px;}
.sms-donut-legend .lg-item{font-size:11.5px;}

@media (max-width:1100px){ .sms-donuts{grid-template-columns:1fr;} }
.sms-donut-legend{gap:10px;}
.sms-donut-legend .lg-item{font-size:10.5px;gap:5px;}

/* ================= COMPLAINTS MODULE ================= */
.cmp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,268px));gap:22px 54px;margin-top:16px;}
.cmp-grid .card__wrappers{min-height:106px;}
.mt-20{margin-top:20px;}
@media (max-width:1000px){ .cmp-grid{grid-template-columns:1fr;} }

/* ================= LOGIN PAGE ================= */
.login-body{background:#f6f6f6;margin:0;min-height:100vh;padding:14px;}
.login-shell{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,9fr);
  min-height:calc(100vh - 28px);background:#fff;border-radius:22px;overflow:hidden;}
.login-left{position:relative;overflow:hidden;}
.login-curve{position:absolute;inset:0;width:100%;height:100%;}
.login-logo{position:relative;padding:40px 0 0 46px;}
.logo-text.big{font-size:56px;line-height:1;font-weight:700;}
.logo-text.big + .logo-sub{font-size:13px;letter-spacing:1.6px;color:#0b1623;font-weight:600;}

/* illustration */
.login-art{position:relative;margin-top:60px;height:520px;}
.art-tile{position:absolute;width:104px;height:104px;background:#fff;border-radius:16px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  box-shadow:0 6px 16px rgba(0,0,0,.18);border:4px solid #ddd;}
.art-tile i{font-size:30px;}
.art-tile span{font-size:9px;font-weight:700;letter-spacing:.4px;color:#444;}
.t-admin  {left:60px; top:26px;  border-color:#e53935;} .t-admin i{color:#e53935;}
.t-report {left:224px;top:0;     border-color:#8bc34a;} .t-report i{color:#8bc34a;}
.t-fee    {left:0;    top:170px; border-color:#e91e8c;} .t-fee i{color:#e91e8c;}
.t-center {left:150px;top:150px; border-color:#fdd835;width:118px;height:100px;} .t-center i{color:#1e88e5;font-size:36px;}
.t-library{left:300px;top:172px; border-color:#26a69a;} .t-library i{color:#26a69a;}
.t-time   {left:62px; top:300px; border-color:#1e88e5;} .t-time i{color:#1e88e5;}
.t-parent {left:262px;top:308px; border-color:#e53935;} .t-parent i{color:#e53935;}
.art-ribbons{position:absolute;left:158px;top:248px;display:flex;gap:6px;}
.art-ribbons span{display:block;width:14px;height:170px;border-radius:3px;}
.art-arrow{position:absolute;left:170px;top:412px;color:#fff;font-size:66px;line-height:.6;}

/* right side */
.login-right{position:relative;display:flex;flex-direction:column;align-items:center;
  justify-content:center;padding:30px 24px 90px;}
.login-guide{position:absolute;top:28px;right:34px;display:flex;align-items:center;gap:10px;}
.guide-play.dark{background:#0B2447;}
.login-guide .guide-text b{font-size:14px;font-weight:600;color:#212529;}

.login-form{width:min(716px,100%);background:rgba(255,255,255,.6);border-radius:20px;
  padding:24px 40px;text-align:center;box-shadow:0 2px 14px rgba(0,0,0,.04);}
.login-form h4{font-size:24px;font-weight:700;color:#0B2447;margin:0 0 4px;}
.login-form p{font-size:16px;color:#212529;margin:0 0 18px;}
.login-field{position:relative;margin-bottom:14px;}
.login-field > i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6c757d;font-size:16px;}
.login-field input{width:100%;height:48px;background:#f6f6ff;border:2px solid #f6f6f6;border-radius:6px;
  padding:0 36px 0 45px;font-size:14px;font-weight:700;font-family:inherit;color:#212529;}
.login-field input::placeholder{color:#6c757d;font-weight:400;}
.login-field input:focus{outline:none;border-color:#cfe0f5;}
.login-field .eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);
  background:none;border:0;color:#6c757d;cursor:pointer;font-size:15px;}
.btn-login{width:100%;height:43px;background:#0B2447;color:#fff;font-size:18px;font-weight:600;
  font-family:inherit;border:0;border-radius:10px;cursor:pointer;margin-top:8px;}
.btn-login:hover{background:#00285f;}

.login-footer{position:absolute;bottom:26px;left:0;right:0;text-align:center;font-size:14px;color:#212529;}
.login-footer .cas-logo{font-size:20px;font-weight:700;color:#0A63C9;margin-bottom:4px;}
.login-footer b{display:block;font-weight:700;}
.login-footer span{font-size:13px;color:#4a5560;}

@media (max-width:900px){
  .login-shell{grid-template-columns:1fr;}
  .login-left{min-height:420px;}
  .login-art{transform:scale(.8);transform-origin:top left;}
}

/* --- login fixes: form upar aur blue shape ke upar (asli jaisa) --- */
.login-shell{display:block;position:relative;}
.login-left{position:absolute;inset:0 40% 0 0;}
.login-right{position:relative;display:block;padding:0;min-height:calc(100vh - 28px);}
.login-form{position:absolute;top:34px;left:38%;width:56%;}
.login-guide{top:44px;right:5%;z-index:3;}
.login-logo{padding:34px 0 0 42px;width:340px;}
.logo-text.big{font-size:60px;}
.logo-text.big + .logo-sub{font-size:12.5px;letter-spacing:1.2px;}
.login-art{margin-top:40px;}
@media (max-width:900px){
  .login-left{position:relative;inset:auto;min-height:380px;}
  .login-form{position:relative;top:auto;left:auto;width:100%;margin:20px auto;}
  .login-guide{position:relative;top:auto;right:auto;justify-content:center;padding:10px;}
}
.login-footer{z-index:4;left:38%;right:5%;bottom:34px;}
.login-footer .cas-logo{color:#0B2447;}

/* ================= ACADEMICS (academics.html) — 24 Sep, asli /CMS/Default/DashBoard se naapa ================= */
.acd-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;}
.acd-cal-wrap{margin-top:18px;border:1px solid #e3e3e3;box-shadow:0 2px 6px rgba(0,0,0,.08);padding:14px 0 18px;background:#fff;}
.acd-cal-bar{display:flex;align-items:center;justify-content:space-between;padding:0 18px 12px;}
.acd-cal-btns{display:flex;gap:14px;}
.acd-cal-bar h2{font-size:24.5px;font-weight:500;color:#212529;margin:0;}
.acd-cal-btn{height:29px;min-width:43px;padding:0 12px;border:1px solid #0A63C9;background:#0A63C9;color:#fff;
  border-radius:3.5px;font-family:inherit;font-size:14px;cursor:pointer;}
.acd-cal-btn:disabled{opacity:.65;cursor:default;}
.acd-cal{width:100%;border-collapse:collapse;table-layout:fixed;}
.acd-cal th{font-size:14px;font-weight:700;color:#212529;border:1px solid #ddd;padding:3px 0;text-align:center;}
.acd-cal td{height:56px;border:1px solid #ddd;vertical-align:top;text-align:right;padding:4px 6px;}
.acd-cal td span{font-size:14px;font-weight:600;color:#212529;}
.acd-cal td.other span{color:#c2c2c2;font-weight:400;}
.acd-cal td.today{background:rgba(255,220,40,.15);}
.acd-card{max-width:358px;min-height:95px;}
.acd-cap{background:#fff !important;border:3px solid #298dff;color:#298dff !important;border-radius:50%;
  width:54px;height:54px;display:flex;align-items:center;justify-content:center;font-size:22px;}
.acd-label{display:block;font-size:17px;font-weight:600;color:#212529;margin:22px 0 0;}
.acd-toolbar .grid-grouphint{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acd-toolbar .grid-search input{width:144px;}
.acd-kebab{margin-left:0;}
.acd-grid table{min-width:420px;}
.acd-grid .grid-nodata{min-height:170px;}
.acd-records{margin-top:6px;border:1px solid #ddd;border-radius:3px;padding:10px 8px;font-size:13px;font-weight:600;color:#555;}
.acd-chart{display:flex;gap:18px;align-items:flex-start;margin-top:26px;}
.acd-chart .hc-svg{flex:1;min-width:0;}
.acd-legend{flex:0 0 auto;display:grid;grid-template-columns:auto auto;grid-auto-flow:column;grid-template-rows:repeat(10,auto);
  gap:6px 20px;font-size:11px;color:#767676;}
.acd-legend .lg-item{display:flex;align-items:center;gap:7px;white-space:nowrap;}
.acd-legend .lg-item i{width:11px;height:11px;display:inline-block;}
@media (max-width:1100px){ .acd-top{grid-template-columns:1fr;} }
@media (max-width:700px){ .acd-chart{flex-direction:column;} }
.acd-grid th i{margin-left:8px;}

/* ================= HR (hr.html) — 24 Sep, asli /HR/Default/DashBoard ================= */
.hr-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;margin-top:18px;}
.hr-cell{padding-right:22px;}
.hr-card{overflow:visible;min-height:92px;box-shadow:0 3px 8px rgba(0,0,0,.12);}
.hr-card .card__icon_wrapper{right:-22px;width:50px;height:50px;border:3px solid currentColor;font-size:20px;}
.hr-card.c-magenta .card__icon_wrapper{background:#fff;color:#298dff;}
.hr-card .card__statics h5{font-size:17px;font-weight:700;color:#fff;margin:0 0 2px;}
.hr-card .card__statics p{line-height:1.35;}
.hr-card .card__statics p b{font-weight:600;}
.hr-card .card__statics p.nowrap{white-space:nowrap;overflow:hidden;}
.hr-card .card__spacer{margin-right:-20px;margin-top:10px;}
.hr-3col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:26px;}
.hr-ctitle{font-size:18px;font-weight:500;color:#0A63C9;margin:0 0 16px;line-height:1.35;}
.hr-svg{max-width:300px;margin:0 auto;}
.hr-legend{display:flex;justify-content:center;gap:22px;margin-top:8px;font-size:11px;color:#767676;}
.hr-legend span{display:flex;flex-direction:column;align-items:center;gap:4px;}
.hr-legend i{width:11px;height:11px;display:block;}
.hr-join-legend{grid-template-columns:auto;grid-template-rows:repeat(12,auto);}
@media (max-width:1100px){ .hr-cards,.hr-3col{grid-template-columns:1fr 1fr;} }
@media (max-width:700px){ .hr-cards,.hr-3col{grid-template-columns:1fr;} }

/* ================= LIBRARY (library.html) — 24 Sep, asli /LMS/Default/DashBoard ================= */
.lib-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 64px;}
.lib-cards .hr-card{min-height:92px;}
.lib-cards .card__icon_wrapper{border-color:currentColor;}
@media (max-width:700px){ .lib-cards{grid-template-columns:1fr;} }

/* ================= ASSETS (assets.html) — 24 Sep, asli /AssetManagement/Default/DashBoard ================= */
.ams-novalue .card__statics{padding-top:18px;}
.ams-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:22px;flex-wrap:wrap;}
.ams-head .section__title_color{padding-bottom:8px;}
.ams-filters{display:flex;gap:18px;flex-wrap:wrap;}
.ams-filters .ff-item{display:flex;flex-direction:column;gap:6px;}
.ams-filters label{font-size:12px;font-weight:600;color:#212529;}
.ams-filters select{width:130px;height:40px;border:1px solid #ced4da;border-radius:4px;padding:0 8px;font-family:inherit;font-size:13px;background:#fff;}
.ams-half{max-width:400px;margin-top:40px;}
.ams-empty{height:20px;}

/* ================= FINANCE (finance.html) — 24 Sep, asli /Finance/Default/DashBoard ================= */
.fin-2col{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px;}
.fin-panel{background:#fff;border-radius:10px;box-shadow:0 0 10px rgba(0,0,0,.08);padding:16px 14px;}
.fin-panel-head{display:flex;align-items:center;gap:14px;}
.fin-panel-head i{color:#0A63C9;font-size:20px;}
.fin-panel-head h4{font-size:18px;font-weight:700;color:#212529;margin:0;}
.fin-donut{position:relative;}
.fin-donut .hc-svg{max-width:400px;}
.fin-legend{position:absolute;top:0;right:4px;display:flex;flex-direction:column;gap:6px;}
.fin-legend .lg-item{font-size:11px;color:#767676;}
.fin-bars{margin-top:24px;padding:20px 14px 14px;}
@media (max-width:1100px){ .fin-2col{grid-template-columns:1fr;} }

/* ================= USER & PRIVILEGES (privileges.html) — 24 Sep, asli /Privileges/Default/DashBoard ================= */
.prv-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-top:18px;align-items:start;}
.mt-14{margin-top:14px;}
.prv-2col .hr-cell{padding-right:36px;}
.prv-panel{margin-top:14px;}
.prv-panel .fin-panel-head i{font-size:24px;}
.prv-legend{display:flex;justify-content:center;gap:18px;font-size:11px;color:#767676;margin-bottom:10px;}
.prv-legend span{display:flex;align-items:center;gap:6px;}
.prv-legend i{width:11px;height:11px;display:block;}
.prv-ring{display:flex;justify-content:center;padding:14px 0 4px;}
.prv-big{font-size:40px !important;}
.prv-help{background:#f6f6f6;border-radius:10px;box-shadow:0 0 10px rgba(0,0,0,.06);padding:20px;}
.prv-h{font-size:14px;font-weight:500;margin:10px 0 8px;}
.prv-h.orange{color:#298dff;}
.prv-h.green{color:#098a57;}
.prv-help ol{margin:0 0 12px;padding-left:18px;}
.prv-help li{font-size:12px;font-weight:600;color:#212529;line-height:1.45;margin-bottom:6px;}
@media (max-width:1100px){ .prv-2col{grid-template-columns:1fr;} }

/* ================= CONFIGURATION (configuration.html) — 24 Sep ================= */
.cfg-cards{display:flex;gap:10px;flex-wrap:wrap;}
.cfg-cards .hr-cell{width:215px;padding-right:22px;}
.cfg-cards .hr-card{min-height:76px;padding:12px 14px;}
.cfg-cards .card__statics label{font-size:26px;}
.cfg-cards .card__statics p{font-size:13px;}

/* ================= TRANSPORT (transport.html) — 24 Sep ================= */
.trn-cards{gap:14px 64px;}
.trn-card{min-height:94px;box-shadow:0 3px 8px rgba(0,0,0,.12);}
.trn-card .card__wrappers_content{padding-right:40px;}
.trn-card .card__spacer{margin-right:-30px;}
.trn-icon{position:absolute;right:-8px;top:50%;transform:translateY(-50%);font-size:42px;color:#fff;opacity:.95;}

/* ================= EVENT (event.html) — 24 Sep ================= */
.evt-rings{grid-template-columns:repeat(3,minmax(0,1fr));}
.evt-rings .svg__main_content p{font-size:13px;font-weight:500;max-width:110px;line-height:1.35;}
.evt-rings .svg__main_content h6{font-size:20px;}
@media (max-width:900px){ .evt-rings{grid-template-columns:1fr;} }

/* ================= BRANDING (branding.html) — 24 Sep ================= */
.brd-spacer{height:30px;}

/* ================= FRANCHISE (franchise.html) — 24 Sep: asli dashboard khali ================= */
.frn-empty{min-height:34px;padding:0;}

/* ================= E-PAPER (epaper.html) — 24 Sep: asli pe sirf "DashBoard" heading ================= */
.epg-title{font-size:32px;font-weight:500;color:#212529;margin:0 0 8px;}

/* ================= BACKEND SE JORNA (24 Sep) ================= */
.login-error{min-height:20px;color:#d32f2f;font-size:13px;font-weight:600;margin:4px 0 8px;}
.btn-login:disabled{opacity:.7;cursor:wait;}
.esm-error-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9999;background:#d32f2f;color:#fff;
  font-size:13px;font-weight:600;padding:10px 18px;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.2);max-width:90vw;}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#32ab13;margin-right:6px;vertical-align:middle;}
.live-note{font-size:13px;color:#8b8b8b;padding:18px 0;}
.live-donut{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center;}
.live-donut svg{width:300px;max-width:100%;height:auto;}
.live-donut-lg{display:flex;flex-direction:column;gap:6px;}
.grid-row td{padding:8px 10px;font-size:13px;color:#333;border-bottom:1px solid #eee;border-right:1px solid #eee;white-space:nowrap;}
.grid-row:nth-child(even) td{background:#f8fafc;}
.res-row span{font-size:11px;font-weight:500;}
.res-more{font-size:11px;color:#fff;opacity:.9;margin-top:2px;}
.res-card-table{min-height:136px;height:auto;}
.cal-ev{font-size:10px;color:#fff;border-radius:3px;padding:1px 4px;margin-top:3px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ================= FORMS (24 Sep) — asli ESM ke forms se naapa ================= */
.sub-menu a.sub-active{color:#0A63C9;background:rgba(10,99,201,.1);border-radius:6px;font-weight:600;}
/* bare page: sidebar/header nahi (asli New Admission / Fee Deposit) */
body.bare-page{background:#f0f0f7;}
body.bare-page .page-wrapper{margin-left:0 !important;padding-top:0 !important;}
body.bare-page .page-content{padding:16px 14px 40px;}
.bare-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.bare-back{font-size:13px;color:#0A63C9;text-decoration:none;font-weight:600;}

/* card with blue header band (BASIC INFO / ADDRESS / GUARDIAN) */
.f-card{background:#fff;border:1px solid rgba(0,0,0,.125);border-radius:4px;margin-bottom:22px;}
.f-card-head{background:#0A63C9;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 15px;min-height:52px;border-radius:4px 4px 0 0;}
.f-card-head h3{font-size:22px;font-weight:700;margin:0;text-transform:uppercase;letter-spacing:.2px;}
.f-card-body{padding:18px 18px 10px;}
.f-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 26px;}
.f-grid.g2{grid-template-columns:repeat(2,minmax(0,1fr));}
.f-field{display:flex;flex-direction:column;gap:5px;min-width:0;}
.f-field label{font-size:13px;font-weight:600;color:#212529;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:22px;}
.f-field label .req{color:#dc3545;margin-left:2px;}
.f-in{height:36px;border:1px solid #ced4da;border-radius:4px;padding:4px 10px;font-family:inherit;font-size:13px;color:#495057;background:#fff;width:100%;outline:none;}
.f-in:focus{border-color:#3498db;box-shadow:0 0 0 2px rgba(52,152,219,.15);}
textarea.f-in{height:auto;min-height:48px;padding:8px 10px;resize:vertical;}
.f-in.err{border-color:#dc3545;}
.f-err{font-size:11px;color:#dc3545;min-height:0;}
.f-add{font-size:12px;background:#007bff;color:#fff;border:0;border-radius:4px;padding:4px 9px;cursor:pointer;font-family:inherit;white-space:nowrap;}
.f-check{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;text-transform:uppercase;color:#212529;}
.f-radio{display:flex;gap:16px;font-size:13px;font-weight:600;align-items:center;height:36px;}
.f-tabbar{display:grid;text-align:center;font-size:14px;color:#fff;margin:0 -5px;}
.f-tabbar span{padding:6px 0;}
.f-split{display:grid;gap:0;}
.f-split > div{padding:14px 14px 6px;}
.f-split > div + div{border-left:2px solid #6c757d;}
.btn-f{height:36px;border:0;border-radius:4px;padding:0 16px;font-family:inherit;font-size:14px;color:#fff;background:#0A63C9;cursor:pointer;}
.btn-f.red{background:#dc3545;}
.btn-f.grey{background:#6c757d;}
.btn-f.green{background:#28a745;}
.btn-f:disabled{opacity:.6;cursor:wait;}
.f-actions{display:flex;justify-content:flex-end;gap:10px;margin:6px 0 20px;}
.f-toast{position:fixed;right:20px;top:20px;z-index:10000;background:#28a745;color:#fff;padding:12px 18px;border-radius:6px;font-size:14px;font-weight:600;box-shadow:0 4px 14px rgba(0,0,0,.2);}
.f-toast.bad{background:#dc3545;}

/* modal (Add Inquiry) */
.f-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:2000;display:none;overflow:auto;padding:30px 12px;}
.f-modal-bg.open{display:block;}
.f-modal{max-width:800px;margin:0 auto;background:#fff;border-radius:8px;border:1px solid rgba(0,0,0,.2);}
.f-modal-head{background:#0A63C9;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:11px 16px;border-radius:5px 5px 0 0;}
.f-modal-head h5{font-size:18px;font-weight:700;margin:0;text-transform:uppercase;}
.f-modal-head button{background:none;border:0;color:#fff;font-size:18px;cursor:pointer;}
.f-modal-body{padding:18px 20px 6px;}
.f-modal-body .f-field label{font-size:15px;font-weight:700;text-transform:none;}
.f-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:10px 20px 20px;}

/* list page (INQUIRY LIST / Attendance) */
.l-panel{background:#fff;border-radius:20px;padding:22px;}
.l-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;}
.l-head h4{font-size:20px;font-weight:700;margin:0;color:#212529;text-transform:uppercase;}
.l-head.normal h4{text-transform:none;font-weight:500;font-size:20px;}
.l-filters{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.l-filters .f-field{width:190px;}
.btn-plus{width:34px;height:34px;border:0;border-radius:4px;background:#007bff;color:#fff;font-size:16px;cursor:pointer;}
.l-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:13px;}
.l-table th{background:#0A63C9;color:#fff;font-weight:600;text-align:left;padding:9px 10px;white-space:nowrap;}
.l-table td{padding:8px 10px;border-bottom:1px solid #eee;white-space:nowrap;}
.l-table tr:nth-child(even) td{background:#f8fafc;}
.l-wrap{overflow-x:auto;}
.l-empty{text-align:center;color:#7a7a7a;padding:40px 0;font-size:15px;}
.badge-st{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;background:#e3f2fd;color:#0A63C9;}

/* attendance sheet */
.att-sheet td.st{font-weight:600;}
.att-row.present td{background:#e8f5e9 !important;}
.att-row.absent td{background:#ffebee !important;}
.att-row.leave td{background:#fff8e1 !important;}
.att-pick{display:flex;gap:6px;}
.att-pick button{border:1px solid #ced4da;background:#fff;border-radius:4px;padding:3px 9px;font-size:12px;cursor:pointer;font-family:inherit;}
.att-pick button.on.present{background:#28a745;color:#fff;border-color:#28a745;}
.att-pick button.on.absent{background:#dc3545;color:#fff;border-color:#dc3545;}
.att-pick button.on.leave{background:#298dff;color:#fff;border-color:#298dff;}
.att-pick button.on.late{background:#0B2447;color:#fff;border-color:#0B2447;}

/* fee deposit */
.fd-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:start;}
.fd-search h3{font-size:18px;font-weight:700;margin:0 0 12px;}
.fd-search .f-in{margin-bottom:10px;height:32px;font-size:12px;}
.fd-grid{background:#fff;border-radius:8px;padding:12px;}
.fd-hint{font-size:12px;color:#dc3545;margin:4px 0 8px;}
.fd-grid tr.sel td{background:#fff3cd !important;}
.fd-grid tbody tr{cursor:pointer;}
.fd-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:12px 14px;margin:18px -14px;}
.fd-bar .f-in{width:auto;}
.fd-bar .red-in{border-color:#f5a3aa;}
.fd-vouchers{margin-top:12px;}
@media (max-width:1100px){ .f-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .f-split{grid-template-columns:1fr !important;} .f-split > div + div{border-left:0;border-top:2px solid #6c757d;} }
@media (max-width:700px){ .f-grid,.f-grid.g2{grid-template-columns:1fr;} .fd-layout{grid-template-columns:1fr;} }
.f-field label.f-check{justify-content:flex-start;min-height:0;font-size:11px;font-weight:500;gap:6px;margin:1px 0;}
