/*
 * [PIE CUSTOM 2026-09-30] PiE Academy modern theme (Blue & Purple).
 * Light / Dark / System. Loaded after all SmartSchool styles, so the original files stay unchanged.
 * Dark mode is on when <html data-pie-theme="dark"> (set by pie-theme.js).
 */
/* [PIE CUSTOM 2026-11-01] V343: Bengali digits ০-৯ from Noto Sans Bengali (the Hind Siliguri "১" looked cut / like a comma). Only the 10 digits (3 KB each); every letter stays Hind Siliguri. Same family name, so every page that uses Hind Siliguri gets it. */
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/pie-bn-digits-400.woff2) format('woff2');unicode-range:U+09E6-09EF}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/pie-bn-digits-500.woff2) format('woff2');unicode-range:U+09E6-09EF}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/pie-bn-digits-600.woff2) format('woff2');unicode-range:U+09E6-09EF}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/pie-bn-digits-700.woff2) format('woff2');unicode-range:U+09E6-09EF}
:root{
 --pie-p:#4f46e5;--pie-p2:#0ea5e9;--pie-grad:linear-gradient(90deg,#4f46e5,#0369a1);
 --pie-bg:#f1f5f9;--pie-card:#ffffff;--pie-soft:#f8fafc;--pie-line:#e2e8f0;--pie-border:#e2e8f0;
 --pie-text:#111827;--pie-text2:#1f2937;--pie-muted:#4b5563;
 --pie-input:#ffffff;--pie-input-line:#cbd5e1;--pie-head:#ffffff;--pie-head-text:#1e293b;
 --pie-side:#0f172a;--pie-side2:#111c33;--pie-hover:#eef2ff;--pie-stripe:#fafbff;
 --pie-shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px rgba(15,23,42,.06);
 --pie-r:14px;
}
html[data-pie-theme="dark"]{
 --pie-bg:#0b1120;--pie-card:#111827;--pie-soft:#0f172a;--pie-line:#1f2a3d;--pie-border:#1f2a3d;
 --pie-text:#e2e8f0;--pie-text2:#c7d2e0;--pie-muted:#9fb0c6;
 --pie-input:#0f172a;--pie-input-line:#334155;--pie-head:#0f172a;--pie-head-text:#e2e8f0;
 --pie-side:#0a0f1e;--pie-side2:#0f172a;--pie-hover:#1e1b4b;--pie-stripe:#0f1626;
 --pie-shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
 color-scheme:dark;
}

/* ---------- base ---------- */
body,.content-wrapper,.main-header,.main-sidebar,.sidebar-menu,.box,.table,.form-control,.btn,h1,h2,h3,h4,h5,h6,label,p,td,th,.modal,.dropdown-menu,.info-box,.small-box{font-family:'Inter','Hind Siliguri',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif!important}
body{background:var(--pie-bg)!important;color:var(--pie-text)}
.wrapper,.content-wrapper,.right-side{background:var(--pie-bg)!important}
.content-wrapper{color:var(--pie-text)}
a{color:var(--pie-p)}
html[data-pie-theme="dark"] a{color:#a5b4fc}
html[data-pie-theme="dark"] .sidebar a,html[data-pie-theme="dark"] .btn,html[data-pie-theme="dark"] .label{color:inherit}
html[data-pie-theme="dark"] .reportlists li.active{background:rgba(99,102,241,.22)}html[data-pie-theme="dark"] .reportlists li.active a{color:#c7d2fe}
.text-muted{color:var(--pie-muted)!important}
h1,h2,h3,h4,h5,h6,.box-title{color:var(--pie-text)}
label{font-weight:600;color:var(--pie-text2)}
hr{border-top-color:var(--pie-line)}

/* ---------- Title Case for titles, headings, labels, table heads, menu and buttons ---------- */
.content-header h1,.box-title,.box-header h3,.box-header h4,.modal-title,.page-header,.pagetitleh2,
.table>thead>tr>th,.form-group>label,.control-label,.sidebar-menu>li>a>span,.sidebar-menu .treeview-menu>li>a,
.nav-tabs>li>a,.btn,.info-box-text,.pie-fi h4,.small-box p,.dataTables_wrapper .dt-buttons .btn{text-transform:capitalize}
.table>thead>tr>th{letter-spacing:.02em}

/* ---------- header ---------- */
.main-header{box-shadow:0 1px 0 var(--pie-line),0 6px 18px rgba(15,23,42,.06)!important;z-index:1030}
.main-header .navbar,.main-header .logo,.skin-blue .main-header .navbar,.skin-blue .main-header .logo,.skin-blue .main-header .logo:hover{background:var(--pie-head)!important;border:0!important;color:var(--pie-head-text)!important}
.main-header .logo{display:flex!important;align-items:center;justify-content:center;border-right:1px solid var(--pie-line)!important;overflow:hidden}
.main-header .logo .logo-lg img{max-height:36px;width:auto;max-width:190px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(15,23,42,.08))}
html[data-pie-theme="dark"] .main-header .logo .logo-lg img{filter:brightness(1.15) saturate(1.1) drop-shadow(0 0 10px rgba(14,165,233,.25))}
.main-header .logo .logo-mini img{width:32px;height:32px;border-radius:50%;background:#fff;padding:1px;box-shadow:0 0 0 2px rgba(79,70,229,.25)}
.main-header .sidebar-toggle,.main-header .sidebar-toggle:hover{color:var(--pie-head-text)!important;background:transparent!important}
.main-header .sidebar-toggle .icon-bar{background:var(--pie-head-text)!important}
.main-header .navbar .nav>li>a,.main-header .navbar .nav>li>a>i,.headertopmenu>li>a,.headertopmenu .fa{color:var(--pie-head-text)!important}
.main-header .navbar .nav>li>a:hover,.main-header .navbar .nav>.open>a{background:var(--pie-hover)!important}
.sidebar-session,.main-header .sidebar-session{font-weight:700!important;background:var(--pie-grad);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;letter-spacing:.2px}
.main-header .form-control,.navbar .form-control,.search-form3{height:36px!important;border-radius:20px!important;background:var(--pie-soft)!important;border:1px solid var(--pie-line)!important;color:var(--pie-text)!important}
.topsidesearchbtn{background:transparent!important;color:var(--pie-muted)!important;box-shadow:none!important}
.languageselectpicker,.currency-icon-list select,.langdiv select{background:transparent!important;color:var(--pie-head-text)!important;border:0!important}
.languageselectpicker option{color:#0f172a}

/* ---------- sidebar ---------- */
.main-sidebar,.left-side,.skin-blue .main-sidebar,.skin-blue .wrapper,.skin-blue .left-side{background:var(--pie-side)!important}
.skin-blue .wrapper{background:var(--pie-bg)!important}
.main-sidebar{box-shadow:none!important;border-right:1px solid rgba(255,255,255,.04)}
.sidebar-menu>li>a{margin:2px 10px;border-radius:10px;color:#cbd5e1!important;border-left:0!important;transition:background .15s,color .15s}
.sidebar-menu>li>a>.fa,.sidebar-menu>li>a>i{color:#94a3b8}
.sidebar-menu>li>a:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
.sidebar-menu>li.active>a,.sidebar-menu>li.menu-open>a{background:var(--pie-grad)!important;color:#fff!important;box-shadow:0 6px 16px rgba(79,70,229,.35)}
.sidebar-menu>li.active>a>.fa,.sidebar-menu>li.active>a>i{color:#fff}
.sidebar-menu .treeview-menu{background:transparent!important;margin:2px 10px;padding-left:10px}
.sidebar-menu .treeview-menu>li>a{color:#94a3b8!important;border-radius:8px;padding:7px 10px}
.sidebar-menu .treeview-menu>li.active>a,.sidebar-menu .treeview-menu>li>a:hover{color:#fff!important;background:rgba(255,255,255,.06)!important}
.sidebar-menu .treeview-menu>li.active>a:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#38bdf8;margin-right:6px;vertical-align:2px}
.user-panel,.sessionul,.sidebar .sessionul li,.sidebar .user-panel{background:transparent!important;color:#cbd5e1!important;border-color:rgba(255,255,255,.06)!important}
.sidebar .sessionul li a,.sidebar .sessionul li span{color:#cbd5e1!important}

/* ---------- content header ---------- */
.content-header.pie-ch{display:block!important;padding:14px 15px 0}
.content-header.pie-ch h1{font-size:22px;font-weight:700;margin:0;color:var(--pie-text)}
.content-header.pie-ch h1 .fa{background:var(--pie-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;margin-right:4px}

/* ---------- cards ---------- */
.box,.nav-tabs-custom,.info-box,.small-box,.panel,.well,.callout,.topprograssstart,.progress-box{border-radius:var(--pie-r)!important}
.box{border:1px solid var(--pie-line)!important;border-top:1px solid var(--pie-line)!important;box-shadow:var(--pie-shadow)!important;background:var(--pie-card)!important;color:var(--pie-text)}
.box.box-primary,.box.box-info,.box.box-success,.box.box-warning,.box.box-danger,.box.box-default{border-top:1px solid var(--pie-line)!important}
.box-header,.box-header.with-border{background:var(--pie-card)!important;border-bottom:1px solid var(--pie-line)!important;padding:14px 18px!important;border-radius:var(--pie-r) var(--pie-r) 0 0}
.box-header .box-title,.box-title{font-weight:650!important;font-size:17px!important}
.box-body{background:transparent}
.box-footer{background:var(--pie-card)!important;border-top:1px solid var(--pie-line)!important;border-radius:0 0 var(--pie-r) var(--pie-r)}
.nav-tabs-custom{background:var(--pie-card)!important;box-shadow:var(--pie-shadow)!important;border:1px solid var(--pie-line)}
.nav-tabs-custom>.nav-tabs{border-bottom-color:var(--pie-line)!important}
.nav-tabs-custom>.nav-tabs>li.active{border-top-color:var(--pie-p)!important}
.nav-tabs-custom>.nav-tabs>li.active>a,.nav-tabs-custom>.tab-content{background:var(--pie-card)!important;color:var(--pie-text)!important}
.nav-tabs-custom>.nav-tabs>li>a{color:var(--pie-muted)}
.info-box,.small-box,.topprograssstart{box-shadow:var(--pie-shadow)!important;border:1px solid var(--pie-line)!important;background:var(--pie-card)!important;color:var(--pie-text)}
.panel,.well,.list-group-item,.callout{background:var(--pie-card)!important;border-color:var(--pie-line)!important;color:var(--pie-text)}
.panel-heading,.panel-default>.panel-heading{background:var(--pie-soft)!important;color:var(--pie-text)!important;border-color:var(--pie-line)!important}
.main-footer{background:var(--pie-card)!important;border-top:1px solid var(--pie-line)!important;color:var(--pie-muted)!important}

/* ---------- buttons ---------- */
.btn{border-radius:10px!important;font-weight:500;transition:transform .12s,filter .12s,box-shadow .12s}
.btn-primary,.btn-info{background:var(--pie-grad)!important;border:0!important;color:#fff!important;box-shadow:0 4px 12px rgba(79,70,229,.25)}
.btn-success{background:linear-gradient(90deg,#059669,#10b981)!important;border:0!important;color:#fff!important}
.btn-danger{background:linear-gradient(90deg,#dc2626,#f43f5e)!important;border:0!important;color:#fff!important}
.btn-warning{background:linear-gradient(90deg,#b45309,#92400e)!important;border:0!important;color:#fff!important}
.btn-default{background:var(--pie-card)!important;border:1px solid var(--pie-input-line)!important;color:var(--pie-text2)!important}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn:active{transform:none}
.btn-xs{border-radius:7px!important}

/* ---------- forms ---------- */
.form-control,select.form-control,.input-group-addon,.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple,.bootstrap-select>.dropdown-toggle{border-radius:10px!important;border:1px solid var(--pie-input-line)!important;background-color:var(--pie-input)!important;color:var(--pie-text)!important;box-shadow:none!important}
.input-group .form-control:first-child{border-top-right-radius:0!important;border-bottom-right-radius:0!important}
.input-group .form-control:last-child,.input-group-addon:last-child{border-top-left-radius:0!important;border-bottom-left-radius:0!important}
.input-group-addon:first-child{border-top-right-radius:0!important;border-bottom-right-radius:0!important}
.form-control:focus{border-color:var(--pie-p)!important;box-shadow:0 0 0 3px rgba(79,70,229,.15)!important}
.form-control[disabled],.form-control[readonly]{background:var(--pie-soft)!important;opacity:.85}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--pie-text)!important}
.select2-dropdown,.select2-results__option{background:var(--pie-card)!important;color:var(--pie-text)!important;border-color:var(--pie-line)!important}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--pie-p)!important;color:#fff!important}
.pie-mt-label{margin-top:25px}

/* ---------- tables ---------- */
.table{color:var(--pie-text);background:transparent}
.table>thead>tr>th{background:var(--pie-soft)!important;color:var(--pie-muted)!important;font-size:12px;font-weight:700;border-bottom:1px solid var(--pie-line)!important}
.table>tbody>tr>td,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>tbody>tr>th{border-top:1px solid var(--pie-line)!important;vertical-align:middle!important}
.table-bordered,.table-bordered>thead>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border-color:var(--pie-line)!important}
.table-striped>tbody>tr:nth-of-type(odd){background:var(--pie-stripe)!important}
.table-hover>tbody>tr:hover{background:var(--pie-hover)!important}
table.dataTable tbody tr{background:transparent}
.dataTables_wrapper,.dataTables_info,.dataTables_length,.dataTables_filter{color:var(--pie-muted)!important}
.pagination>li>a,.pagination>li>span{background:var(--pie-card)!important;border-color:var(--pie-line)!important;color:var(--pie-text2)!important}
.pagination>.active>a,.pagination>.active>span,.paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current{background:var(--pie-grad)!important;color:#fff!important;border-color:transparent!important;border-radius:8px}
.label{border-radius:999px!important;padding:3px 9px!important;font-weight:600}
.alert{border-radius:12px!important;border:0!important}

/* ---------- modal / dropdown ---------- */
.modal-content{background:var(--pie-card)!important;color:var(--pie-text);border-radius:16px!important;border:1px solid var(--pie-line)!important;box-shadow:0 24px 60px rgba(15,23,42,.25)!important;overflow:hidden}
.modal-header{background:var(--pie-soft)!important;border-bottom:1px solid var(--pie-line)!important;color:var(--pie-text)}
.modal-footer{border-top:1px solid var(--pie-line)!important;background:var(--pie-card)!important}
.modal-header .close{color:var(--pie-text);opacity:.6}
.dropdown-menu{background:var(--pie-card)!important;border:1px solid var(--pie-line)!important;border-radius:12px!important;box-shadow:0 12px 32px rgba(15,23,42,.15)!important}
.dropdown-menu>li>a{color:var(--pie-text2)!important}
.dropdown-menu>li>a:hover{background:var(--pie-hover)!important}
.popover{background:var(--pie-card);color:var(--pie-text);border-color:var(--pie-line)}

/* ---------- dark mode extra coverage ---------- */
html[data-pie-theme="dark"] .bg-white,html[data-pie-theme="dark"] [style*="background:#fff"],html[data-pie-theme="dark"] [style*="background: #fff"],html[data-pie-theme="dark"] [style*="background-color:#fff"],html[data-pie-theme="dark"] [style*="background-color: #fff"],html[data-pie-theme="dark"] [style*="background:white"],html[data-pie-theme="dark"] [style*="background: white"]{background:var(--pie-card)!important}
html[data-pie-theme="dark"] .content-wrapper p,html[data-pie-theme="dark"] .content-wrapper li,html[data-pie-theme="dark"] .content-wrapper td,html[data-pie-theme="dark"] .content-wrapper dd,html[data-pie-theme="dark"] .content-wrapper dt,html[data-pie-theme="dark"] .content-wrapper b,html[data-pie-theme="dark"] .content-wrapper strong{color:inherit}
html[data-pie-theme="dark"] .content-wrapper .text-danger{color:#f87171!important}
html[data-pie-theme="dark"] .content-wrapper .text-success{color:#34d399!important}
html[data-pie-theme="dark"] .content-wrapper .text-info,html[data-pie-theme="dark"] .content-wrapper .text-primary{color:#7dd3fc!important}
html[data-pie-theme="dark"] .content-wrapper .text-warning{color:#fbbf24!important}
html[data-pie-theme="dark"] .alert-success{background:#064e3b!important;color:#d1fae5!important}
html[data-pie-theme="dark"] .alert-danger{background:#7f1d1d!important;color:#fee2e2!important}
html[data-pie-theme="dark"] .alert-info{background:#0c4a6e!important;color:#e0f2fe!important}
html[data-pie-theme="dark"] .alert-warning{background:#78350f!important;color:#fef3c7!important}
html[data-pie-theme="dark"] .datepicker,html[data-pie-theme="dark"] .bootstrap-datetimepicker-widget,html[data-pie-theme="dark"] .daterangepicker{background:var(--pie-card)!important;color:var(--pie-text)!important}
html[data-pie-theme="dark"] .datepicker table tr td.day:hover,html[data-pie-theme="dark"] .datepicker table tr td.day.focused{background:var(--pie-hover)!important}
html[data-pie-theme="dark"] .fc-unthemed td,html[data-pie-theme="dark"] .fc-unthemed th,html[data-pie-theme="dark"] .fc-unthemed .fc-content{border-color:var(--pie-line)!important}
html[data-pie-theme="dark"] .fc-unthemed .fc-today{background:#1e1b4b!important}
html[data-pie-theme="dark"] .timeline>li>.timeline-item,html[data-pie-theme="dark"] .products-list>.item,html[data-pie-theme="dark"] .todo-list>li{background:var(--pie-card)!important;color:var(--pie-text)!important;border-color:var(--pie-line)!important}
html[data-pie-theme="dark"] .close{color:#e5e7eb}
html[data-pie-theme="dark"] img.profile-user-img{border-color:var(--pie-line)}
html[data-pie-theme="dark"] .progress{background:#1f2937}
html[data-pie-theme="dark"] .label-default{background:#334155!important;color:#e2e8f0!important}
html[data-pie-theme="dark"] .mCSB_scrollTools .mCSB_draggerRail{background:rgba(255,255,255,.08)}
html[data-pie-theme="dark"] ::placeholder{color:#64748b}

/* ---------- shared PiE components ---------- */
.pie-sticky-save{position:sticky;bottom:0;z-index:25;background:var(--pie-card)!important;border-top:1px solid var(--pie-line)!important;box-shadow:0 -8px 20px rgba(15,23,42,.08)!important;margin-bottom:0}
.pie-sticky-save .pie-save-btn,.pie-save-btn{min-width:170px}
.pie-rangebar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:var(--pie-card);border:1px solid var(--pie-line);border-radius:var(--pie-r);box-shadow:var(--pie-shadow);padding:10px 14px;margin-bottom:15px}
.pie-rb-title{color:var(--pie-text2)}.pie-rb-title .fa{color:var(--pie-p)}
.pie-rb-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pie-seg{display:inline-flex;background:var(--pie-soft);border:1px solid var(--pie-line);border-radius:999px;padding:3px}
.pie-seg a,.pie-seg button{border:0;background:transparent;padding:6px 14px;border-radius:999px;color:var(--pie-muted)!important;font-weight:600;font-size:13px;text-decoration:none!important;cursor:pointer;white-space:nowrap}
.pie-seg a.on,.pie-seg button.on{background:var(--pie-grad);color:#fff!important;box-shadow:0 4px 10px rgba(79,70,229,.3)}
.pie-rb-nav a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--pie-line);margin-left:4px;color:var(--pie-text2)!important;text-decoration:none!important;background:var(--pie-card)}
.pie-rb-custom{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.pie-rb-custom input[type=date]{height:34px;border-radius:9px;border:1px solid var(--pie-input-line);background:var(--pie-input);color:var(--pie-text);padding:0 8px}
.pie-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:15px}
.pie-tabs>a{padding:8px 16px;border-radius:999px;background:var(--pie-card);border:1px solid var(--pie-line);color:var(--pie-text2)!important;font-weight:600;text-decoration:none!important}
.pie-tabs>a.on{background:var(--pie-grad);color:#fff!important;border-color:transparent;box-shadow:0 4px 12px rgba(79,70,229,.3)}
.pie-inline-form{display:inline-flex;gap:6px;align-items:center;margin-left:auto}
.pie-inline-form .form-control{width:180px;height:34px}
.pie-stat-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}
.pie-stat{flex:1 1 120px;background:var(--pie-card);border:1px solid var(--pie-line);border-radius:12px;padding:10px 14px;box-shadow:var(--pie-shadow)}
.pie-stat span{display:block;color:var(--pie-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.pie-stat b{font-size:22px;color:var(--pie-text)}
.pie-bar-row{margin-bottom:10px}
.pie-bar-lbl{font-size:13px;color:var(--pie-text2);margin-bottom:4px}
.pie-bar{height:8px;background:var(--pie-soft);border-radius:8px;overflow:hidden;border:1px solid var(--pie-line)}
.pie-bar span{display:block;height:100%;background:var(--pie-grad);border-radius:8px}
.pie-bulk{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--pie-soft);border-bottom:1px solid var(--pie-line)}
.pie-bulk-sub{font-weight:500;margin:0}
.pie-subj-table tr.pie-changed{background:rgba(14,165,233,.08)!important}
.pie-reset-btn{margin-left:6px}
.pie-fi,.pie-nb{border-color:var(--pie-line)!important;background:var(--pie-card)!important;color:var(--pie-text)}
.pie-fi h4{background:var(--pie-soft)!important;color:var(--pie-text)!important;border-color:var(--pie-line)!important}
.pie-nb-h{background:var(--pie-grad)!important}
.pie-nb-i{border-color:var(--pie-line)!important}
.pie-nb-i.new{background:rgba(14,165,233,.08)!important}
.pie-nb-m{color:var(--pie-text2)!important}

/* ---------- theme switch ---------- */
.pie-tt>a{display:flex!important;align-items:center;gap:6px}
.pie-tt .dropdown-menu{min-width:170px;padding:6px}
.pie-tt .dropdown-menu>li>a{border-radius:8px;padding:8px 12px;display:flex;gap:8px;align-items:center}
.pie-tt .dropdown-menu>li.on>a{background:var(--pie-grad)!important;color:#fff!important}
.pie-tt-float{position:fixed;top:14px;right:14px;z-index:9999;display:inline-flex;background:rgba(15,23,42,.55);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:3px}
.pie-tt-float button{border:0;background:transparent;color:#e2e8f0;width:34px;height:30px;border-radius:999px;cursor:pointer}
/* [PIE CUSTOM 2026-10-14] V90: on the login page it stays at the top of the page (moves away when scrolling), never over the form / notice in any browser */
.pie-tt-float{position:absolute!important}.pie-tt-float button{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1}.pie-tt-float svg{display:block;pointer-events:none}
.pie-tt-float button.on{background:var(--pie-grad);color:#fff}

/* ---------- login pages ---------- */
body.pie-login{background:#0b1022!important}
.pie-login .top-content,.pie-login .loginbg{background:#0b1022!important}
.pie-login .top-content .col-lg-4{background:linear-gradient(160deg,#0f172a,#1e1b4b 60%,#312e81)!important;min-height:100vh;display:flex;align-items:center}
.pie-login .form-top,.pie-login .form-bottom,.pie-login .top-content .col-lg-4 .inner-bg,.pie-login .top-content .col-lg-4 .bgoffsetbg,.pie-login .top-content .col-lg-4>div{background:transparent!important;box-shadow:none!important}
.pie-login .form-top h3,.pie-login .form-top-left h3,.pie-login .font-white{color:#fff!important}
.pie-login .top-content .col-lg-4 .form-top h3{font-size:26px;font-weight:700}
.pie-login .top-content .col-lg-4 .form-bottom form{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);border-radius:18px;padding:22px}
.pie-login .form-control,.pie-login input[type=text],.pie-login input[type=password],.pie-login input[type=email]{background:rgba(255,255,255,.96)!important;height:46px;border-radius:10px!important;border:1px solid #c7d2fe!important;color:#0f172a!important}
.pie-login .btn,.pie-login button.btn{background:var(--pie-grad)!important;height:46px;border-radius:10px!important;font-size:16px;border:0!important;color:#fff!important;box-shadow:0 10px 24px rgba(14,165,233,.35)}
.pie-login .forgot,.pie-login .forgot a,.pie-login a.forgot{color:#c7d2fe!important}
.pie-login .top-content .col-lg-8{position:relative}
.pie-login .top-content .col-lg-8:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.55),rgba(15,23,42,0) 45%);pointer-events:none}
.pie-login .logo img,.pie-login .form-top img{max-height:70px;width:auto;filter:drop-shadow(0 0 14px rgba(14,165,233,.35))}
html[data-pie-theme="light"] body.pie-login .top-content .col-lg-4{background:linear-gradient(160deg,#eef2ff,#e0f2fe)!important}
html[data-pie-theme="light"] body.pie-login .form-top h3,html[data-pie-theme="light"] body.pie-login .font-white,html[data-pie-theme="light"] body.pie-login .form-top-left h3{color:#1e1b4b!important}
html[data-pie-theme="light"] body.pie-login .top-content .col-lg-4 .form-bottom form{background:rgba(255,255,255,.8);border-color:#c7d2fe}
html[data-pie-theme="light"] body.pie-login .forgot,html[data-pie-theme="light"] body.pie-login .forgot a,html[data-pie-theme="light"] body.pie-login a.forgot{color:#4f46e5!important}
html[data-pie-theme="light"] body.pie-login label{color:#334155}

/* ---------- online admission (front site, always light) ---------- */
.onlineform{background:linear-gradient(180deg,#eef2ff,#f8fafc 320px)!important}
.onlineform h3,.onlineform h2{font-weight:700}
.printcontent{background:var(--pie-card);color:var(--pie-text);border:0!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(15,23,42,.07)!important;overflow:hidden;margin-bottom:18px!important}
.pagetitleh2{background:var(--pie-card)!important;color:var(--pie-text)!important;border:0!important;border-bottom:1px solid var(--pie-line)!important;font-weight:700!important;padding:14px 18px!important;position:relative}
.pagetitleh2:before{content:"";display:inline-block;width:4px;height:18px;border-radius:4px;background:var(--pie-grad);margin-right:10px;vertical-align:-3px}
.onlineformbtn,.onlineform .btn{background:var(--pie-grad)!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:9px 18px!important;box-shadow:0 6px 16px rgba(79,70,229,.25)}
.onlineform .form-control{border-radius:10px!important;border:1px solid #cbd5e1!important;box-shadow:none!important}
.onlineform .form-control:focus{border-color:#4f46e5!important;box-shadow:0 0 0 3px rgba(79,70,229,.15)!important}

/* ---------- print: always plain ---------- */
@media print{
 .pie-rangebar,.pie-tt,.pie-tt-float,.pie-sticky-save .btn{display:none!important}
 .box{box-shadow:none!important;border:1px solid #ddd!important}
 html[data-pie-theme="dark"] body,html[data-pie-theme="dark"] .content-wrapper,html[data-pie-theme="dark"] .box{background:#fff!important;color:#000!important}
}

/* ---------- tablet ---------- */
@media (max-width:991px){
 .pie-login .top-content .col-lg-4{min-height:auto!important;padding:48px 28px!important;display:block}
 .pie-login .top-content .col-lg-8:after{background:linear-gradient(180deg,rgba(15,23,42,.45),rgba(15,23,42,0) 40%)}
 .content{padding:12px!important}
 .pie-inline-form{margin-left:0}
}
/* ---------- mobile ---------- */
@media (max-width:767px){
 .pie-login .top-content .col-lg-4{padding:36px 20px!important}
 .pie-login .top-content .col-lg-4 .form-bottom form{padding:16px}
 .box{border-radius:12px!important;margin-bottom:12px!important}
 .box-header{padding:12px 14px!important}.box-body{padding:12px 14px!important}
 .box-header .box-title,.box-title{font-size:15px!important}
 .content{padding:8px!important}.content-header.pie-ch h1{font-size:18px!important}
 .form-control{font-size:15px}
 .table-responsive{border:0!important;-webkit-overflow-scrolling:touch}
 .table>tbody>tr>td,.table>thead>tr>th{font-size:12px;padding:7px 6px!important}
 .pie-rangebar{padding:10px}
 .pie-rb-ctrl{width:100%;justify-content:space-between}
 .pie-seg a,.pie-seg button{padding:6px 10px;font-size:12px}
 .pie-inline-form{width:100%}.pie-inline-form .form-control{flex:1;width:auto}
 .pie-sticky-save .pie-save-btn{width:100%}
 .pie-mt-label{margin-top:0}
 .main-sidebar{box-shadow:8px 0 24px rgba(0,0,0,.35)}
 .main-header .logo .logo-lg img{max-height:30px}
 .printcontent{border-radius:12px!important}.pagetitleh2{padding:12px 14px!important}
}

/* header pickers (currency / language) */
.main-header .bootstrap-select>.dropdown-toggle,.main-header .bootstrap-select .btn{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--pie-head-text)!important;height:auto!important}
.main-header .btn:hover{transform:none}
.main-header .bootstrap-select .dropdown-menu{min-width:120px}

/* ---------- dashboard analytics ---------- */
.pie-dash{margin-bottom:10px}
.pie-classic-off~*{display:none!important}
.pie-classic-bar{margin:4px 0 14px}
.pie-gbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:var(--pie-card);border:1px solid var(--pie-line);border-radius:var(--pie-r);box-shadow:var(--pie-shadow);padding:10px 14px;margin-bottom:15px;position:sticky;top:50px;z-index:20}
.pie-gbar-title{color:var(--pie-text2)}.pie-gbar-title .fa{color:var(--pie-p)}
.pie-gbar-ctrl{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pie-gbar-ctrl .pie-class-filter{width:auto;min-width:140px;height:34px;order:-1}
.pie-row{margin-bottom:0}
.pie-card{background:var(--pie-card);border:1px solid var(--pie-line);border-radius:var(--pie-r);box-shadow:var(--pie-shadow);margin-bottom:18px;overflow:hidden;color:var(--pie-text)}
.pie-card-h{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;justify-content:space-between;padding:14px 16px 6px}
.pie-card-t h3{margin:0;font-size:16px;font-weight:700;color:var(--pie-text);text-transform:capitalize}
.pie-card-t h3 .fa{width:28px;height:28px;line-height:28px;text-align:center;border-radius:8px;background:rgba(79,70,229,.1);color:var(--pie-p);margin-right:6px;font-size:14px}
.pie-card-t small{display:block;color:var(--pie-muted);margin:4px 0 0 36px;font-size:12px}
.pie-card-ctrl{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.pie-seg-sm a,.pie-seg-sm button{padding:4px 9px!important;font-size:11px!important}
.pie-card-ctrl .pie-rb-nav a{width:26px;height:26px;font-size:10px}
.pie-card-ctrl .pie-rb-custom input[type=date]{height:28px;font-size:12px}
.pie-card-b{padding:8px 16px 16px;position:relative}
.pie-card-b.pie-loading{opacity:.45;transition:opacity .2s}
.pie-canvas{position:relative;height:260px}
.pie-canvas-round{height:250px}
.pie-center{position:absolute;left:0;right:0;top:calc(50% - 30px);text-align:center;pointer-events:none}
.pie-center b{display:block;font-size:24px;color:var(--pie-text)}
.pie-center small{color:var(--pie-muted);font-size:12px}
.pie-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:180px;color:var(--pie-muted);text-align:center;padding:10px}
.pie-empty .fa{font-size:34px;background:var(--pie-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;opacity:.6}
.pie-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.pie-kpi{display:flex;gap:12px;align-items:center;padding:14px;border-radius:12px;background:var(--pie-soft);border:1px solid var(--pie-line)}
.pie-kpi-i{flex:0 0 44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--pie-grad);color:#fff;font-size:18px;box-shadow:0 6px 14px rgba(79,70,229,.25)}
.pie-kpi.tone-good .pie-kpi-i{background:linear-gradient(135deg,#059669,#34d399)}
.pie-kpi.tone-warn .pie-kpi-i,.pie-kpi.tone-orange .pie-kpi-i{background:linear-gradient(135deg,#d97706,#fbbf24)}
.pie-kpi.tone-bad .pie-kpi-i{background:linear-gradient(135deg,#dc2626,#fb7185)}
.pie-kpi.tone-purple .pie-kpi-i{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
.pie-kpi-t{min-width:0}
.pie-kpi-t span{display:block;font-size:12px;font-weight:600;color:var(--pie-muted);text-transform:uppercase;letter-spacing:.03em}
.pie-kpi-t b{display:block;font-size:22px;line-height:1.2;color:var(--pie-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pie-kpi-t small{display:block;color:var(--pie-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pie-list{display:flex;flex-direction:column;gap:6px}
.pie-li,.pie-rank{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--pie-line);background:var(--pie-soft);color:var(--pie-text)!important;text-decoration:none!important;transition:background .15s}
a.pie-li:hover,a.pie-rank:hover{background:var(--pie-hover)}
.pie-li-ic{flex:0 0 36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--pie-grad)}
.pie-li-ic.tone-purple{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
.pie-li-ic.tone-orange{background:linear-gradient(135deg,#d97706,#fbbf24)}
.pie-li-t{flex:1;min-width:0}
.pie-li-t b{display:block;font-weight:600}
.pie-li-t small{display:block;color:var(--pie-muted);font-size:12px}
.pie-li-w{font-size:12px;font-weight:600;color:var(--pie-p);white-space:nowrap}
html[data-pie-theme="dark"] .pie-li-w{color:#a5b4fc}
.pie-li-go{color:var(--pie-muted)}
.pie-tag{display:inline-block;margin:4px 4px 0 0;padding:2px 8px;border-radius:999px;background:rgba(239,68,68,.12);color:#dc2626;font-size:11px;font-weight:600}
html[data-pie-theme="dark"] .pie-tag{color:#fca5a5}
.pie-rank-n{flex:0 0 30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--pie-card);border:1px solid var(--pie-line);color:var(--pie-text2)}
.pie-rank-n.n1{background:linear-gradient(135deg,#f59e0b,#fde047);color:#78350f;border:0}
.pie-rank-n.n2{background:linear-gradient(135deg,#94a3b8,#e2e8f0);color:#1e293b;border:0}
.pie-rank-n.n3{background:linear-gradient(135deg,#b45309,#f59e0b);color:#fff;border:0}
.pie-rank-bar{display:block;height:5px;border-radius:5px;background:var(--pie-line);margin-top:5px;overflow:hidden}
.pie-rank-bar span{display:block;height:100%;background:var(--pie-grad)}
.pie-rank-v{font-weight:700;font-size:16px;color:var(--pie-text)}
.pie-more-note{text-align:center;color:var(--pie-muted);font-size:12px;padding:6px}
.pie-welcome{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:20px 22px;border-radius:18px;margin-bottom:15px;color:#fff;background:linear-gradient(120deg,#312e81,#4f46e5 45%,#0369a1);box-shadow:0 14px 30px rgba(79,70,229,.3);position:relative;overflow:hidden}
.pie-welcome:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08)}
.pie-welcome img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.6);background:#fff}
.pie-welcome h2{margin:0;font-size:22px;font-weight:700;color:#fff}
.pie-welcome p{margin:4px 0 0;color:#e0e7ff}
.pie-welcome .pie-w-chips{margin-left:auto;display:flex;flex-wrap:wrap;gap:6px;position:relative;z-index:1}
.pie-welcome .pie-w-chips span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600}
.pie-welcome a.btn{position:relative;z-index:1}
.pie-card .pie-nb{border:0!important;margin:0;box-shadow:none}
@media (max-width:991px){.pie-gbar{top:auto;position:relative}.pie-canvas{height:240px}}
@media (max-width:767px){
 .pie-card-h{padding:12px 12px 4px}.pie-card-b{padding:6px 12px 12px}
 .pie-card-ctrl{width:100%}
 .pie-card-t small{margin-left:0}
 .pie-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .pie-kpi{padding:10px;gap:8px}.pie-kpi-i{flex-basis:34px;height:34px;font-size:14px}.pie-kpi-t b{font-size:17px}
 .pie-canvas{height:220px}
 .pie-welcome{padding:16px}.pie-welcome h2{font-size:18px}.pie-welcome .pie-w-chips{margin-left:0}
 .pie-gbar-ctrl{width:100%}
}
.pie-row{display:flex;flex-wrap:wrap}
.pie-row>[class*="col-"]{display:flex;flex-direction:column}
.pie-row>[class*="col-"]>.pie-card{flex:1 1 auto}
@media (max-width:991px){.pie-row>[class*="col-md-"]{width:100%}}
@media (max-width:767px){.pie-card-b{min-height:0!important}}
/* let sticky bars work (overflow:hidden on .wrapper blocks position:sticky) */
.wrapper{overflow:clip!important}
.pie-card .pie-fi{border:0!important;border-radius:0!important;margin:-8px -16px -16px!important}@media (max-width:767px){.pie-card .pie-fi{margin:-6px -12px -12px!important}}

/* ================================================================== */
/* [PIE CUSTOM 2026-09-30 v2] Readability: clear text in Light and Dark */
/* ================================================================== */
:root{--pie-label:#374151;--pie-link:#4338ca;--pie-hover-bg:linear-gradient(90deg,rgba(99,102,241,.28),rgba(14,165,233,.16))}
html[data-pie-theme="dark"]{--pie-label:#b8c4d6;--pie-link:#a5b4fc}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.content-wrapper,.main-footer,.modal,.dropdown-menu,.popover{font-weight:500}
/* All normal text takes the theme colour (colour utilities, labels, badges and buttons keep their own). */
.content-wrapper :is(td,th,dt,dd,li,p,address,legend,caption,label,h1,h2,h3,h4,h5,h6,.form-control-static,.box-title,.info-box-text,.info-box-number,.widget-user-username,.widget-user-desc,.profile-username),
.content-wrapper :is(div,span,b,strong,small,em,font):not([class]),
.modal-content :is(td,th,p,li,label,h4,h5,.modal-title),
.dropdown-menu :is(li,p,h4,h5,span,div,small,b,strong):not([class*="label"]):not(.badge)
{color:var(--pie-text)!important}
/* [PIE CUSTOM 2026-10-11] V49: text inside a coloured button / card keeps that button's colour (white on a gradient), in Light and Dark */
.content-wrapper :is(.btn,.pie-xq,.label,.badge,.pb-chip,.pie-own,.small-box,.callout,.pie-ffb,[style*="gradient"],[class*="bg-"]) :is(div,span,b,strong,small,em,font,i):not([class]){color:inherit!important}
.dropdown-menu :is(.btn,.label,.badge,.pie-own) :is(span,div,small,b,strong){color:inherit!important}
.content-wrapper :is(td,th,dt,dd,li,p,label,span,div,b,strong,small,h3,h4,h5):is(.text-danger,.text-red,.fine){color:#dc2626!important}
.content-wrapper :is(td,th,dt,dd,li,p,label,span,div,b,strong,small,h3,h4,h5):is(.text-success,.text-green,.disc){color:#047857!important}
.content-wrapper :is(td,th,dt,dd,li,p,label,span,div,b,strong,small,h3,h4,h5):is(.text-info,.text-aqua,.text-primary,.text-blue,.text-light-blue){color:#0369a1!important}
.content-wrapper :is(td,th,dt,dd,li,p,label,span,div,b,strong,small,h3,h4,h5):is(.text-warning,.text-yellow,.text-orange){color:#b45309!important}
.content-wrapper :is(td,th,dt,dd,li,p,label,span,div,b,strong,small,h3,h4,h5,.help-block):is(.text-muted,.help-block){color:var(--pie-muted)!important}
html[data-pie-theme="dark"] .content-wrapper :is(td,th,dt,dd,li,p,label,span,div,b,strong,small,h3,h4,h5):is(.text-danger,.text-red,.fine){color:#fca5a5!important}
html[data-pie-theme="dark"] .content-wrapper :is(td,th,dt,dd,li,p,label,span,div,b,strong,small,h3,h4,h5):is(.text-success,.text-green,.disc){color:#6ee7b7!important}
html[data-pie-theme="dark"] .content-wrapper :is(td,th,dt,dd,li,p,label,span,div,b,strong,small,h3,h4,h5):is(.text-info,.text-aqua,.text-primary,.text-blue,.text-light-blue){color:#7dd3fc!important}
html[data-pie-theme="dark"] .content-wrapper :is(td,th,dt,dd,li,p,label,span,div,b,strong,small,h3,h4,h5):is(.text-warning,.text-yellow,.text-orange){color:#fcd34d!important}
.text-aqua,.text-light-blue{color:#0369a1!important}
html[data-pie-theme="dark"] .text-aqua,html[data-pie-theme="dark"] .text-light-blue{color:#7dd3fc!important}
/* Field names a little softer than the values, still easy to read. */
.content-wrapper .table>tbody>tr>td:first-child:not(:only-child),.content-wrapper .table>thead>tr>th,.content-wrapper .control-label{color:var(--pie-label)!important}
.content-wrapper .table>tbody>tr>td:first-child:has(input[type=checkbox]){color:var(--pie-text)!important}
/* Links */
/* [PIE CUSTOM 2026-10-20] V138 (Jahid Sir): :where() = low priority, so a button / chip / tab that sets its own colour (white on a selected
   pill) keeps it — before, this rule painted "Open (79)" in link blue on a blue pill (unreadable in light and dark) */
.content-wrapper a:where(:not(.btn):not(.label):not(.pie-li):not(.pie-rank):not([class*="bg-"]):not(.on):not(.active)){color:var(--pie-link)}
.content-wrapper a:not(.btn):not(.label):not(.pie-li):not(.pie-rank):hover{text-decoration:underline}
.content-wrapper .alert a{color:inherit!important;font-weight:700;text-decoration:underline}
.content-wrapper .alert,.content-wrapper .alert *{color:inherit}
.dashalert.alert-success{background:#ecfdf5!important;color:#065f46!important;border:1px solid #a7f3d0!important}
html[data-pie-theme="dark"] .dashalert.alert-success{background:#064e3b!important;color:#d1fae5!important;border-color:#065f46!important}
/* Labels / badges with stronger colours (white text stays readable) */
.label-success,.bg-green{background-color:#15803d!important;color:#fff!important}
.label-warning,.bg-yellow{background-color:#b45309!important;color:#fff!important}
.label-danger,.bg-red{background-color:#b91c1c!important;color:#fff!important}
.label-info,.bg-aqua{background-color:#0369a1!important;color:#fff!important}
.label-primary,.bg-light-blue{background-color:#4338ca!important;color:#fff!important}
.label-default{background-color:#e5e7eb!important;color:#1f2937!important}
/* Areas that stayed white in Dark */
html[data-pie-theme="dark"] :is(.bg-gray-light,.bg-gray,.widget-user-header,.box-profile,.bordertop,.table3,.around10,.nav-tabs-custom>.nav-tabs,.nav-tabs>li>a,.tab-pane,.sstopuser,.sstopuser-test,.dropdown-user,.user-footer,.user-header,.user-body,.list-group-item,.input-group-addon,.table-responsive,.well,.jumbotron,.thumbnail,.breadcrumb){background-color:var(--pie-card)!important;border-color:var(--pie-line)!important}
html[data-pie-theme="dark"] .widget-user-header.bg-gray-light,html[data-pie-theme="dark"] .box-widget .widget-user-header{background:var(--pie-soft)!important}
html[data-pie-theme="dark"] .nav-tabs>li.active>a,html[data-pie-theme="dark"] .nav-tabs>li.active>a:hover{background:var(--pie-card)!important;color:var(--pie-text)!important;border-color:var(--pie-line) var(--pie-line) transparent!important}
html[data-pie-theme="dark"] .nav-tabs{border-bottom-color:var(--pie-line)!important}
html[data-pie-theme="dark"] .table>tbody>tr,html[data-pie-theme="dark"] .table>tbody>tr>td,html[data-pie-theme="dark"] .table>tbody>tr>th{background-color:transparent}
html[data-pie-theme="dark"] .table-striped>tbody>tr:nth-of-type(odd)>td{background-color:transparent}
html[data-pie-theme="dark"] :is(.form-control,select,textarea,input[type=text],input[type=email],input[type=number],input[type=password],input[type=date],input[type=search]){background-color:var(--pie-input)!important;color:var(--pie-text)!important;border-color:var(--pie-input-line)!important}
html[data-pie-theme="dark"] select option{background:#0f172a;color:#e2e8f0}
html[data-pie-theme="dark"] .dataTables_wrapper .dataTables_filter input,html[data-pie-theme="dark"] .dataTables_wrapper .dataTables_length select{background:var(--pie-input)!important;color:var(--pie-text)!important}
html[data-pie-theme="dark"] .dt-buttons .btn,html[data-pie-theme="dark"] .dt-button{background:var(--pie-soft)!important;color:var(--pie-text)!important;border:1px solid var(--pie-line)!important}
/* Top user menu */
.dropdown-user,.dropdown-user *{color:var(--pie-text)}
.dropdown-user .sstopuser-test h4,.dropdown-user .sstopuser-test h5,.dropdown-user h4,.dropdown-user h5{color:var(--pie-text)!important}
.dropdown-user a,.dropdown-user a *{color:var(--pie-link)!important}
.dropdown-user .divider{background:var(--pie-line)!important}
.pie-chip{background:rgba(79,70,229,.12)!important;color:#3730a3!important}
html[data-pie-theme="dark"] .pie-chip{background:rgba(129,140,248,.18)!important;color:#c7d2fe!important}
.pie-nb-d{color:var(--pie-muted)!important}
.pie-nb-h,.pie-nb-h *{color:#fff!important}
.pie-nb-h span.label.label-warning{background:#fff!important;color:#b45309!important}

/* ---------- Menu hover: clear and attractive ---------- */
.sidebar-menu>li>a{position:relative;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.sidebar-menu>li>a:hover,.sidebar-menu>li>a:focus{background:var(--pie-hover-bg)!important;color:#fff!important;transform:translateX(3px);box-shadow:inset 3px 0 0 #38bdf8}
.sidebar-menu>li>a:hover>.fa,.sidebar-menu>li>a:hover>i{color:#7dd3fc!important}
.sidebar-menu>li.active>a:hover{transform:none;box-shadow:0 6px 16px rgba(79,70,229,.45)}
.sidebar-menu .treeview-menu>li>a{transition:background .15s,color .15s,padding-left .15s}
.sidebar-menu .treeview-menu>li>a:hover{background:rgba(56,189,248,.16)!important;color:#fff!important;padding-left:16px}
.sidebar-menu .treeview-menu>li>a:hover .fa{color:#7dd3fc!important}
.sidebar-menu>li>a,.sidebar-menu .treeview-menu>li>a{color:#d6deea!important}
.sidebar-menu>li>a>.fa,.sidebar-menu>li>a>i{color:#a7b4c8}
.dropdown-menu>li>a{transition:background .15s,color .15s}
.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background:linear-gradient(90deg,rgba(79,70,229,.14),rgba(14,165,233,.10))!important;color:var(--pie-p)!important}
html[data-pie-theme="dark"] .dropdown-menu>li>a:hover{color:#fff!important;background:linear-gradient(90deg,rgba(99,102,241,.35),rgba(14,165,233,.2))!important}
.nav-tabs>li>a{transition:background .15s,color .15s}
.nav-tabs>li:not(.active)>a:hover{background:rgba(79,70,229,.08)!important;color:var(--pie-p)!important;border-color:transparent!important}
html[data-pie-theme="dark"] .nav-tabs>li:not(.active)>a:hover{background:rgba(129,140,248,.14)!important;color:#fff!important}
.table-hover>tbody>tr{transition:background .12s}
.table-hover>tbody>tr:hover,.table-hover>tbody>tr:hover>td{background:rgba(79,70,229,.07)!important}
html[data-pie-theme="dark"] .table-hover>tbody>tr:hover,html[data-pie-theme="dark"] .table-hover>tbody>tr:hover>td{background:rgba(129,140,248,.12)!important}
.main-header .navbar .nav>li>a{transition:background .15s}
.main-header .navbar .nav>li>a:hover{background:rgba(79,70,229,.12)!important}
/* Keep own colours inside coloured parts (buttons, labels, banners, badges, coloured boxes). */
.content-wrapper :is(.btn,.label,.badge,.alert,.pie-welcome,.pie-kpi-i,.pie-li-ic,.pie-seg,.pie-rank-n,.pie-nb-h,.small-box,.callout,[class*="bg-"],[class*="label-"]) :is(div,span,b,strong,small,em,h1,h2,h3,h4,h5,p,li,td,label){color:inherit!important}
.content-wrapper .pie-welcome{color:#fff}.content-wrapper .pie-welcome :is(h2,span,b){color:#fff!important}.content-wrapper .pie-welcome p{color:#e0e7ff!important}
.content-wrapper :is(.pie-kpi-t,.pie-card-t,.pie-center,.pie-li-t,.pie-stat) :is(span,small):not([class]){color:var(--pie-muted)!important}
.content-wrapper .pie-li-t b,.content-wrapper .pie-kpi-t b{color:var(--pie-text)!important}
/* coloured blocks with white text: darker shades so the text stays clear */
.classtap{background:linear-gradient(90deg,#4f46e5,#0369a1)!important;color:#fff!important}
.btn-success{background:linear-gradient(90deg,#047857,#059669)!important}
.btn-warning{background:linear-gradient(90deg,#b45309,#92400e)!important}
.btn-danger{background:linear-gradient(90deg,#b91c1c,#dc2626)!important}
/* automatic guard (pie-theme.js): light boxes in Dark mode, and text that would not be readable */
html[data-pie-theme="dark"] .pie-dk-bg{background-color:var(--pie-card)!important;border-color:var(--pie-line)!important}
html[data-pie-theme="dark"] .pie-dk-bg.pie-dk-soft{background-color:var(--pie-soft)!important}
html body .pie-fg-fix.pie-fg-fix.pie-fg-fix{color:var(--pie-text)!important}html body :is(.on,.active,.btn,.pie-xq,.label,.badge) .pie-fg-fix.pie-fg-fix.pie-fg-fix{color:inherit!important} /* [PIE CUSTOM 2026-10-11] V49: a chip / button that turns coloured keeps its own text colour */
html body .pie-fg-link.pie-fg-link.pie-fg-link{color:var(--pie-link)!important}

.content-wrapper p.classtap{color:#fff!important}
.content-wrapper :is(label,span,p,div,li,td,a).btn:is(.btn-primary,.btn-info,.btn-success,.btn-danger,.btn-warning){color:#fff!important}
/* Alerts: soft background, dark readable text (Light) / deep background, light text (Dark) */
.content-wrapper .alert.alert-success{background:#dcfce7!important;color:#14532d!important}
.content-wrapper .alert.alert-info{background:#e0f2fe!important;color:#0c4a6e!important}
.content-wrapper .alert.alert-warning{background:#fef3c7!important;color:#78350f!important}
.content-wrapper .alert.alert-danger{background:#fee2e2!important;color:#7f1d1d!important}
html[data-pie-theme="dark"] .content-wrapper .alert.alert-success{background:#064e3b!important;color:#d1fae5!important}
html[data-pie-theme="dark"] .content-wrapper .alert.alert-info{background:#0c4a6e!important;color:#e0f2fe!important}
html[data-pie-theme="dark"] .content-wrapper .alert.alert-warning{background:#78350f!important;color:#fef3c7!important}
html[data-pie-theme="dark"] .content-wrapper .alert.alert-danger{background:#7f1d1d!important;color:#fee2e2!important}
.content-wrapper .alert :is(p,span,b,strong,div,li,small){color:inherit!important}
.content-wrapper :is(label,span,small,b,div).label{color:#fff!important}
.content-wrapper :is(label,span,small,b,div).label.label-default{color:#1f2937!important}
html[data-pie-theme="dark"] .content-wrapper :is(label,span,small,b,div).label.label-default{color:#e2e8f0!important}
.content-wrapper .fc-event,.content-wrapper .fc-event *,.content-wrapper a.fc-event{color:#fff!important;font-weight:600}
.content-wrapper .pagetitleh{background:var(--pie-soft)!important;color:var(--pie-text)!important;border-bottom:1px solid var(--pie-line)}
html[data-pie-theme="dark"] .dropify-wrapper{background:var(--pie-soft)!important;border-color:var(--pie-input-line)!important}
html[data-pie-theme="dark"] .dropify-wrapper .dropify-message p{color:var(--pie-text2)!important}
.content-wrapper .dropify-wrapper .dropify-infos :is(p,span){color:#fff!important}
.content-wrapper .fc-event{filter:brightness(.82) saturate(1.1);text-shadow:0 1px 1px rgba(0,0,0,.35)}
html[data-pie-theme="dark"] .pie-dk-bd{border-color:var(--pie-line)!important}

/* ---------- [PIE CUSTOM 2026-09-30] PiE Academy logo + name ---------- */
.pie-lg-d{display:none!important}
html[data-pie-theme="dark"] .pie-lg-l{display:none!important}
html[data-pie-theme="dark"] .pie-lg-d{display:inline-block!important}
.main-header .logo .pie-lock{display:flex!important;align-items:center;gap:9px;height:50px;padding:0 4px}
.main-header .logo .pie-lock img{height:42px;width:auto;max-width:none;filter:none!important;object-fit:contain}
.pie-lock-t{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05;text-align:left}
.pie-lock-t b{font-family:'Inter',system-ui,sans-serif;font-weight:800;font-size:19px;letter-spacing:-.01em;white-space:nowrap;background:linear-gradient(90deg,#0b63c4,#4f46e5);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
html[data-pie-theme="dark"] .pie-lock-t b{background:linear-gradient(90deg,#38bdf8,#a5b4fc);-webkit-background-clip:text;background-clip:text}
.pie-lock-t small{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:11.5px;color:#334155;margin-top:2px;white-space:nowrap;letter-spacing:.02em}
html[data-pie-theme="dark"] .pie-lock-t small{color:#cbd5e1}
.main-header .logo .pie-logo-mini img{height:40px;width:auto;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
.main-header .logo .logo-mini.pie-logo-mini{align-items:center;justify-content:center;height:50px}
.sidebar-mini.sidebar-collapse .main-header .logo .pie-logo-mini{display:flex!important}
/* the school name next to the menu button is now in the logo */
.main-header .navbar .sidebar-session{display:none!important}
/* login pages */
.pie-login-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 auto 6px}
.pie-login-brand img{height:120px;width:auto;max-height:none!important;filter:drop-shadow(0 6px 18px rgba(14,165,233,.25))}
.pie-login-brand .pie-lock-t{align-items:center}
.pie-login-brand .pie-lock-t b{font-size:26px}
.pie-login-brand .pie-lock-t small{font-size:14px}
body.pie-login .pie-login-brand .pie-lock-t small{color:#e0e7ff}
html[data-pie-theme="light"] body.pie-login .pie-login-brand .pie-lock-t small{color:#334155}
body.pie-login .pie-login-brand .pie-lock-t b{background:linear-gradient(90deg,#38bdf8,#a5b4fc);-webkit-background-clip:text;background-clip:text}
html[data-pie-theme="light"] body.pie-login .pie-login-brand .pie-lock-t b{background:linear-gradient(90deg,#0b63c4,#4f46e5);-webkit-background-clip:text;background-clip:text}
@media (max-width:767px){.main-header .logo .pie-lock img{height:36px}.pie-lock-t b{font-size:17px}.pie-lock-t small{font-size:10.5px}.pie-login-brand img{height:96px}}

/* ---------- [PIE CUSTOM 2026-09-30] Loading: logo with a spinning ring ---------- */
.pie-loader{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-weight:600;color:var(--pie-text2)}
.pie-ring{position:relative;width:78px;height:78px;display:flex;align-items:center;justify-content:center}
.pie-ring:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#4f46e5,#0369a1,#16a34a,transparent 75%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 0);animation:pieSpin 1s linear infinite}
.pie-ring img{width:52px;height:auto}
.pie-ring.sm{width:40px;height:40px}.pie-ring.sm:before{-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 0)}.pie-ring.sm img{width:26px}
@keyframes pieSpin{to{transform:rotate(360deg)}}
div.dataTables_wrapper div.dataTables_processing,.dataTables_processing{background:var(--pie-card)!important;border:1px solid var(--pie-line)!important;border-radius:16px!important;box-shadow:0 16px 40px rgba(15,23,42,.18)!important;color:var(--pie-text2)!important;width:auto!important;min-width:150px;height:auto!important;margin-left:-75px!important;margin-top:-60px!important;padding:14px 18px!important;text-align:center;z-index:30;font-size:13px}
#nprogress .bar{background:linear-gradient(90deg,#4f46e5,#0369a1,#16a34a)!important;height:3px!important}
#nprogress .peg{box-shadow:0 0 10px #0ea5e9,0 0 5px #0ea5e9!important}
#nprogress .spinner{display:none!important}
.pie-card-b.pie-loading{opacity:1!important}
.pie-card-b.pie-loading>*:not(.pie-card-ov){opacity:.35;transition:opacity .2s}
.pie-card-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:5}
/* collapsed menu: show only the full small logo, never a cut name */
@media (min-width:768px){
 .sidebar-mini.sidebar-collapse .main-header .logo .pie-lock{display:none!important}
 .sidebar-mini.sidebar-collapse .main-header .logo .pie-logo-mini img{height:40px;max-width:46px;object-fit:contain}
 .sidebar-mini.sidebar-collapse .main-header .logo .logo-mini{display:none!important}
 .sidebar-mini.sidebar-collapse .main-header .logo .logo-mini.pie-logo-mini{display:flex!important}
}
@media (max-width:767px){ .main-header .logo .pie-logo-mini{display:none!important} }

/* ================= [PIE CUSTOM 2026-09-30 v4] header alignment + mobile fixes ================= */
/* right side of the top bar: every item in one line, same height, centred */
.main-header .navbar .pull-right{display:flex;align-items:center;justify-content:flex-end;height:50px}
.main-header .navbar-custom-menu{display:flex!important;align-items:center;height:50px;float:none!important}
.main-header .navbar-custom-menu>.currency-icon-list,.main-header .navbar-custom-menu>.langdiv{display:flex;align-items:center;height:50px;margin:0!important;padding:0 2px!important;float:none!important}
.main-header .navbar-custom-menu>ul.nav,.main-header .navbar-custom-menu>.navbar-nav{display:flex!important;align-items:center;height:50px;margin:0!important;float:none!important}
.main-header .navbar-custom-menu>ul.nav>li{float:none!important;display:flex;align-items:center;height:50px}
.main-header .navbar-custom-menu>ul.nav>li>a{display:flex!important;align-items:center;justify-content:center;height:50px;padding:0 11px!important;line-height:1!important}
.main-header .navbar-custom-menu>ul.nav>li>a>i,.main-header .navbar-custom-menu>ul.nav>li>a>.fa{font-size:17px;line-height:1;margin:0}
.main-header .topuser-image{width:32px!important;height:32px!important;border-radius:50%!important;object-fit:cover;margin:0!important;display:block}
.main-header .bootstrap-select>.dropdown-toggle{display:flex!important;align-items:center;height:50px!important;padding:0 8px!important}
.main-header .navbar-custom-menu .dropdown-menu{margin-top:0!important}
/* user menu: Profile, Password and Logout on one tidy line, icons level with the text */
.dropdown-user .sspass{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:10px 4px 4px!important;margin:0!important}
.dropdown-user .sspass a{display:inline-flex!important;align-items:center;gap:7px;float:none!important;padding:4px 0!important;line-height:1.2!important;white-space:nowrap}
.dropdown-user .sspass a i,.dropdown-user .sspass a .fa{width:auto!important;margin:0!important;line-height:1!important;font-size:15px;position:static!important;top:auto!important}
.dropdown-user .sspass a.pull-right{margin-left:auto!important}
.dropdown-user .sstopuser{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.dropdown-user .sstopuser .divider{flex:0 0 100%;height:1px;margin:4px 0!important}
.dropdown-user .sstopuser .sspass{flex:0 0 100%}
.dropdown-user .ssuserleft{float:none!important}
.dropdown-user .ssuserleft img{width:72px!important;height:72px!important;border-radius:12px;object-fit:cover}
.dropdown-user .sstopuser-test{float:none!important;flex:1;min-width:0;padding:0!important}
.dropdown-user .sstopuser-test h4{margin:0 0 4px!important;font-size:17px!important;font-weight:700}
.dropdown-user .sstopuser-test h5{margin:0!important;font-size:13px!important;opacity:.85}
@media (max-width:767px){
 /* only one logo on phones, whatever the menu state */
 body .main-header .logo .logo-mini,body.sidebar-mini.sidebar-collapse .main-header .logo .logo-mini,body.sidebar-mini.sidebar-collapse .main-header .logo .pie-logo-mini{display:none!important}
 body .main-header .logo .pie-lock,body.sidebar-mini.sidebar-collapse .main-header .logo .pie-lock{display:flex!important;justify-content:center}
 body .main-header .logo .logo-lg:not(.pie-lock){display:none!important}
 .main-header .logo{width:100%!important;height:56px!important;float:none!important}
 .main-header .navbar{margin:0!important;display:flex!important;align-items:center;height:50px;min-height:50px}
 .main-header .navbar>.col-lg-5{display:none!important}
 .main-header .navbar>.col-lg-7{flex:1;width:auto!important;padding:0 4px!important;float:none!important}
 .main-header .navbar .sidebar-toggle{float:none!important;height:50px;display:flex!important;align-items:center;padding:0 14px!important}
 .main-header .navbar-custom-menu>ul.nav>li>a{padding:0 9px!important}
 .main-header .navbar-custom-menu .dropdown-menu.dropdown-user{position:fixed!important;right:8px!important;left:8px!important;top:106px!important;width:auto!important;max-width:none}
 .main-header .navbar .search-form{display:none!important}
}
@media (min-width:768px){.main-header .dropdown-menu.dropdown-user{min-width:340px!important;width:340px!important}}
/* mobile: show Chat (and Calendar) in the top bar like on desktop */
@media (max-width:767px){
 .main-header .navbar-custom-menu>ul.nav>li.cal15.d-sm-none{display:flex!important}
 .main-header .navbar-custom-menu>ul.nav>li.ellipsis-px-3{display:none!important}
}

/* [PIE CUSTOM 2026-10-01] Login captcha: picture, refresh button and box in one row of the same height; message on one line */
.pie-cap{margin-bottom:14px}
.pie-cap .pie-cap-row{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:stretch;gap:8px;width:100%}
.pie-cap .pie-cap-img{min-width:0;height:46px;display:block;border-radius:10px;overflow:hidden;border:1px solid rgba(148,163,184,.35);background:#8fd299}
.pie-cap .pie-cap-img img{display:block;width:100%!important;height:100%!important;object-fit:fill;max-width:none}
.pie-cap .pie-cap-ref{width:42px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid rgba(148,163,184,.45);background:rgba(99,102,241,.12);color:inherit;cursor:pointer;padding:0;font-size:16px;transition:background .15s,transform .3s}
.pie-cap .pie-cap-ref:hover{background:rgba(99,102,241,.25)}
.pie-cap .pie-cap-ref:active i{transform:rotate(180deg)}
.pie-cap .pie-cap-ref i{transition:transform .3s}
.pie-cap .pie-cap-in.form-control{width:100%!important;min-width:0;height:46px!important;margin:0!important;float:none!important}
.pie-cap .pie-cap-err{display:block;margin-top:5px;font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pie-cap .pie-cap-err:empty{display:none}

/* [PIE CUSTOM 2026-10-01] Auto logout warning */
.pie-idle{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.pie-idle-card{width:100%;max-width:380px;background:var(--pie-card,#fff);color:var(--pie-text,#111827);border-radius:16px;padding:22px 20px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.pie-idle-ic{width:56px;height:56px;margin:0 auto 10px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;background:linear-gradient(135deg,#4f46e5,#0369a1)}
.pie-idle-t{font-size:19px;font-weight:700;margin-bottom:6px}
.pie-idle-m{font-size:14.5px;line-height:1.6;margin-bottom:14px;color:var(--pie-text2,#334155)}
.pie-idle-s{font-size:17px;color:#dc2626}
.pie-idle-stay{min-width:180px}
html[data-pie-theme="dark"] .pie-cap .pie-cap-err{color:#fca5a5!important}

/* [PIE CUSTOM 2026-10-01] Notice popup for students / parents */
.pie-nm{position:fixed;inset:0;z-index:100001;background:rgba(15,23,42,.6);display:flex;align-items:center;justify-content:center;padding:14px}
body.pie-nm-open{overflow:hidden}
.pie-nm-card{width:100%;max-width:640px;max-height:92vh;display:flex;flex-direction:column;background:var(--pie-card,#fff);color:var(--pie-text,#111827);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.pie-nm-head{padding:14px 18px;font-size:17px;font-weight:700;color:#fff!important;background:linear-gradient(120deg,#312e81,#4f46e5 45%,#0369a1);font-family:"Hind Siliguri",Inter,sans-serif}
.pie-nm-body{padding:14px 18px;overflow:auto;font-size:14.5px;color:var(--pie-text2,#334155)}
.pie-nm-foot{padding:12px 18px;border-top:1px solid var(--pie-line,#e2e8f0);text-align:right}
.pie-nm-foot .btn{min-width:150px;font-family:"Hind Siliguri",Inter,sans-serif;font-size:15px}
@media (max-width:767px){.pie-nm-foot .btn{width:100%}}

/* [PIE CUSTOM 2026-10-01] Login page on phone / tablet: the group photo on top, then the logo and the login box (desktop unchanged) */
.pie-hero{display:none}
@media (max-width:991px){
 body.pie-login .pie-hero{display:block;position:relative;height:230px;overflow:hidden;border-radius:0 0 28px 28px;box-shadow:0 14px 30px rgba(0,0,0,.28);background:#1e1b4b}
 body.pie-login .pie-hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.18);transform-origin:center 20%}
 body.pie-login .pie-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.25),rgba(15,23,42,0) 35%,rgba(15,23,42,.35));pointer-events:none}
 body.pie-login .top-content .col-lg-8{display:none!important}
 body.pie-login .top-content .col-lg-4{padding-top:22px!important;margin-top:0!important;min-height:0!important}
 body.pie-login{background:linear-gradient(160deg,#0f172a,#1e1b4b 60%,#312e81)!important;min-height:100vh}
 html[data-pie-theme="light"] body.pie-login{background:linear-gradient(160deg,#eef2ff,#e0f2fe)!important}
 body.pie-login .top-content,body.pie-login .loginbg,body.pie-login .inner-bg{background:transparent!important}
}

/* [PIE CUSTOM 2026-10-01] short table texts on one line (see pie-ux.js) */
.content-wrapper table th.pie-nw,.content-wrapper table td.pie-nw{white-space:nowrap}

/* [PIE CUSTOM 2026-10-01] Sidebar: the "Current Session" bar stays on top while the menu scrolls under it, so it needs a solid background */
.main-sidebar .sessionul.fixedmenu,.sidebar .sessionul.fixedmenu{background:var(--pie-side)!important;position:sticky;top:0;z-index:5;width:auto!important;box-shadow:0 6px 10px -6px rgba(0,0,0,.45)}
.main-sidebar .sessionul.fixedmenu li{background:transparent!important}
.main-sidebar .sessionul.fixedmenu li>a,.main-sidebar .sessionul.fixedmenu li>span{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;font-size:13.5px}

/* [PIE CUSTOM 2026-10-01] Login page spacing fix (overrides the rules above; they are kept).
   Desktop: the photo fills the full screen height from the very top (no empty strip above or below)
   and stays in place when the login side is longer; the bottom of the photo (banner) is kept.
   Phone / tablet: smaller photo, logo and form close under it, so the login box is seen without scrolling. */
@media (min-width:992px){
 body.pie-login .top-content .bgoffsetbg{align-items:flex-start!important}
 body.pie-login .top-content .col-lg-8{position:sticky!important;top:0!important;height:100vh!important;min-height:0!important;align-self:flex-start!important;margin:0!important;padding:0!important;overflow:hidden}
 body.pie-login .top-content .col-lg-8>div{height:100%!important;min-height:0!important;margin:0!important;background-size:cover!important;background-position:center bottom!important}
 body.pie-login .top-content .col-lg-8 .text-wrap::before{display:none!important}
 body.pie-login .top-content .col-lg-8 .text-wrap::after{background-size:cover!important;background-position:center bottom!important}
 body.pie-login .top-content .col-lg-4 .form-top-left{padding-top:14px!important;padding-bottom:0!important}
 body.pie-login .top-content .col-lg-4 .form-top{padding-bottom:4px!important}
 body.pie-login .top-content .col-lg-4 .form-bottom{padding-top:10px!important;padding-bottom:16px!important}
 body.pie-login .pie-login-brand img{height:100px}
}
@media (max-width:991px){
 body.pie-login .pie-hero{height:clamp(165px,40vw,300px);border-radius:0 0 24px 24px}
 body.pie-login .pie-hero img{transform:none;object-position:center 60%}
 body.pie-login .top-content .col-lg-4{padding:14px 18px 20px!important;background:transparent!important}
 html[data-pie-theme="light"] body.pie-login .top-content .col-lg-4,html[data-pie-theme="dark"] body.pie-login .top-content .col-lg-4{background:transparent!important}
 body.pie-login .top-content .col-lg-4 .form-top-left{padding:0!important}
 body.pie-login .top-content .col-lg-4 .form-top{padding:0 0 4px!important}
 body.pie-login .top-content .col-lg-4 .form-bottom{padding:6px 0 10px!important}
 body.pie-login .top-content .col-lg-4 .form-top h3,body.pie-login .top-content .col-lg-4 .form-bottom h3{font-size:21px!important;margin:4px 0 10px!important}
 body.pie-login .pie-login-brand{gap:4px;margin:0 auto 2px}
 body.pie-login .pie-login-brand img{height:76px}
 body.pie-login .pie-login-brand .pie-lock-t b{font-size:21px}
 body.pie-login .pie-login-brand .pie-lock-t small{font-size:12.5px}
 body.pie-login .pie-lnb{margin-bottom:10px!important}
}
/* Desktop windows that are nearly square (e.g. tablet held sideways): the full photo sits at the bottom,
   the blurred sky of the same photo fills the top, so nothing is cut and there is no empty strip */
@media (min-width:992px) and (max-aspect-ratio:3/2){
 body.pie-login .top-content .col-lg-8 .text-wrap::before{display:block!important}
 body.pie-login .top-content .col-lg-8 .text-wrap::after{background-size:contain!important;background-position:center bottom!important}
}
@media (min-width:600px) and (max-width:991px){
 body.pie-login .top-content .col-lg-4{max-width:520px;margin-left:auto!important;margin-right:auto!important;float:none!important}
}

/* [PIE CUSTOM 2026-10-01] Phone / tablet photo: show the students and a little sky above them only,
   hide the floor and feet at the bottom (box keeps the photo's upper part, about 1460 x 620) */
@media (max-width:991px){
 body.pie-login .pie-hero{width:100%;height:42.5vw!important;max-height:300px}
 body.pie-login .pie-hero img{transform:none!important;object-fit:cover;object-position:center 13%!important}
}

/* [PIE CUSTOM 2026-10-01] Dropdown / drop-up / picker lists follow the theme ("Navy" in dark mode).
   Covers: normal select lists, bootstrap-select, select2, month multiselect, action / header menus,
   date, date-time, date-range and time pickers, colour picker, autocomplete and the table "Columns" list.
   Only colours / shapes change; no behaviour or form data is touched. */
:root{--pie-pop:#ffffff;--pie-pop-line:#e2e8f0;--pie-pop-in:#ffffff;--pie-pop-tx:#1f2937;--pie-pop-mu:#64748b;--pie-pop-hov:#eef2ff;--pie-pop-hovtx:#3730a3;--pie-pop-sh:0 14px 34px rgba(15,23,42,.14);--pie-pop-sel:linear-gradient(90deg,#4f46e5,#0369a1)}
html[data-pie-theme="dark"]{--pie-pop:#151d2e;--pie-pop-line:#2a3650;--pie-pop-in:#0f172a;--pie-pop-tx:#e2e8f0;--pie-pop-mu:#94a3b8;--pie-pop-hov:#1e2550;--pie-pop-hovtx:#ffffff;--pie-pop-sh:0 14px 34px rgba(0,0,0,.45)}

/* 1. normal <select>: Chrome / Edge 135+ draw the whole list (rounded, colours below);
      other browsers keep their own list but with the theme colours */
html select option,html select optgroup{background-color:var(--pie-pop)!important;color:var(--pie-pop-tx)!important}
@supports (appearance:base-select){
 html select:not([multiple]):not([size]),html select:not([multiple]):not([size])::picker(select){appearance:base-select}
 html select:not([multiple]):not([size]){display:inline-flex;align-items:center;gap:6px;cursor:pointer;vertical-align:middle}
 html select.form-control:not([multiple]):not([size]){display:flex}
 html select:not([multiple]):not([size]):disabled{cursor:not-allowed;opacity:.65}
 html select:not([multiple]):not([size])::picker-icon{color:var(--pie-pop-mu);font-size:11px;transition:transform .2s}
 html select:not([multiple]):not([size]):open::picker-icon{transform:rotate(180deg)}
 html select::picker(select){background:var(--pie-pop);color:var(--pie-pop-tx);border:1px solid var(--pie-pop-line);border-radius:12px;padding:6px;margin-top:4px;box-shadow:var(--pie-pop-sh);max-height:min(360px,60vh);max-width:calc(100vw - 16px);overflow:auto;min-width:anchor-size(width)}
 html select:not([multiple]):not([size]) option{background:transparent!important;color:var(--pie-pop-tx)!important;padding:8px 10px;border-radius:8px;min-height:0;font-size:14px;white-space:normal;cursor:pointer}
 html select:not([multiple]):not([size]) option::checkmark{display:none}
 html select:not([multiple]):not([size]) option:hover,html select:not([multiple]):not([size]) option:focus-visible{background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important;outline:0}
 html select:not([multiple]):not([size]) option:checked{background:var(--pie-pop-sel)!important;color:#fff!important;font-weight:600}
 html select:not([multiple]):not([size]) option:disabled{opacity:.5;cursor:default}
 html select:not([multiple]):not([size]) optgroup{background:transparent!important;color:var(--pie-pop-mu)!important;font-weight:700;padding:4px 6px}
}

/* 2. bootstrap dropdown menus (action buttons, drop-up, header, bootstrap-select, pickers built on it) */
html .dropdown-menu{background:var(--pie-pop)!important;border:1px solid var(--pie-pop-line)!important;border-radius:12px!important;box-shadow:var(--pie-pop-sh)!important;padding:6px!important;color:var(--pie-pop-tx)}
html .dropdown-menu>li>a{color:var(--pie-pop-tx)!important;border-radius:8px;padding:8px 12px!important;white-space:nowrap}
html .dropdown-menu>li>a:hover,html .dropdown-menu>li>a:focus{background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important}
html .dropdown-menu>.active>a,html .dropdown-menu>.active>a:hover,html .dropdown-menu>.active>a:focus{background:var(--pie-pop-sel)!important;color:#fff!important}
html .dropdown-menu>li>a.text-danger,html .dropdown-menu>li>a.text-red{color:#ef4444!important}
html[data-pie-theme="dark"] .dropdown-menu>li>a.text-danger,html[data-pie-theme="dark"] .dropdown-menu>li>a.text-red{color:#f87171!important}
html .dropdown-menu .divider{background:var(--pie-pop-line)!important;margin:5px 4px!important}
html .dropdown-menu .dropdown-header{color:var(--pie-pop-mu)!important}
/* bootstrap-select */
html .bootstrap-select .dropdown-menu ul.dropdown-menu{border:0!important;box-shadow:none!important;padding:0!important;background:transparent!important}
html .bootstrap-select .bs-searchbox{padding:0 0 6px!important}
html .bootstrap-select .bs-searchbox input,html .bootstrap-select .bs-actionsbox .btn{background:var(--pie-pop-in)!important;color:var(--pie-pop-tx)!important;border:1px solid var(--pie-pop-line)!important;border-radius:8px!important;height:34px}
html .bootstrap-select .dropdown-menu li.selected>a{background:transparent!important;color:var(--pie-pop-tx)!important;font-weight:600}
html .bootstrap-select:not(.show-tick) .dropdown-menu li.selected>a{background:var(--pie-pop-sel)!important;color:#fff!important}
html .bootstrap-select .dropdown-menu li.active>a,html .bootstrap-select .dropdown-menu li>a:hover{background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important}
html .bootstrap-select .dropdown-menu li a span.check-mark{color:#6366f1}
html .bootstrap-select .no-results{background:transparent!important;color:var(--pie-pop-mu)!important}

/* 3. select2 */
html .select2-dropdown{background:var(--pie-pop)!important;border:1px solid var(--pie-pop-line)!important;border-radius:12px!important;box-shadow:var(--pie-pop-sh)!important;overflow:hidden;padding:6px}
html .select2-container--open .select2-dropdown--below{margin-top:4px}
html .select2-container--open .select2-dropdown--above{margin-top:-4px}
html .select2-search--dropdown{padding:0 0 6px!important}
html .select2-search--dropdown .select2-search__field{background:var(--pie-pop-in)!important;color:var(--pie-pop-tx)!important;border:1px solid var(--pie-pop-line)!important;border-radius:8px!important;height:34px;padding:4px 10px;outline:0}
html .select2-results__option{background:transparent!important;color:var(--pie-pop-tx)!important;border-radius:8px;padding:8px 10px!important}
html .select2-container--default .select2-results__option[aria-selected=true]{background:var(--pie-pop-sel)!important;color:#fff!important;font-weight:600}
html .select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important}
html .select2-results__message{color:var(--pie-pop-mu)!important}
html .select2-container--default .select2-selection--multiple .select2-selection__choice{background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important;border:1px solid var(--pie-pop-line)!important;border-radius:6px!important}

/* 4. month / fee multiselect (jquery.multiselect) */
html .ms-options-wrap>button,html .ms-options-wrap>button:focus{background:var(--pie-input)!important;color:var(--pie-text)!important;border:1px solid var(--pie-input-line)!important;border-radius:10px!important;min-height:34px}
html .ms-options-wrap>.ms-options{background:var(--pie-pop)!important;border:1px solid var(--pie-pop-line)!important;border-radius:12px!important;box-shadow:var(--pie-pop-sh)!important;padding:6px!important;margin-top:4px!important;color:var(--pie-pop-tx)}
html .ms-options-wrap>.ms-options>.ms-search input{background:var(--pie-pop-in)!important;color:var(--pie-pop-tx)!important;border:1px solid var(--pie-pop-line)!important;border-radius:8px!important;margin-bottom:6px}
html .ms-options-wrap>.ms-options>ul label{color:var(--pie-pop-tx)!important;border-radius:8px;padding:7px 10px 7px 32px!important;margin:0!important;background:transparent!important}
html .ms-options-wrap>.ms-options>ul label:hover{background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important}
html .ms-options-wrap>.ms-options>ul li.selected label{background:var(--pie-pop-sel)!important;color:#fff!important;font-weight:600}
html .ms-options-wrap>.ms-options>ul input[type=checkbox]{accent-color:#4f46e5;left:10px!important}
html .ms-options-wrap>.ms-options .ms-selectall{color:#6366f1!important}

/* 5. date picker (bootstrap-datepicker), date-time picker, time picker */
html .datepicker.dropdown-menu,html .bootstrap-datetimepicker-widget.dropdown-menu,html .bootstrap-timepicker-widget.dropdown-menu{padding:8px!important;color:var(--pie-pop-tx)!important}
html .datepicker table tr td,html .datepicker table tr th,html .bootstrap-datetimepicker-widget td,html .bootstrap-datetimepicker-widget th{color:var(--pie-pop-tx);border-radius:8px!important;background:transparent}
html .datepicker table tr th,html .bootstrap-datetimepicker-widget th{font-weight:700}
html .datepicker table tr th.dow,html .bootstrap-datetimepicker-widget th.dow{color:var(--pie-pop-mu)!important;font-weight:600}
html .datepicker table tr td.old,html .datepicker table tr td.new,html .bootstrap-datetimepicker-widget td.old,html .bootstrap-datetimepicker-widget td.new{color:var(--pie-pop-mu)!important;opacity:.55}
html .datepicker table tr td.day:hover,html .datepicker table tr td.day.focused,html .datepicker table tr td span:hover,html .datepicker thead tr:first-child th:hover,html .datepicker tfoot tr th:hover,
html .bootstrap-datetimepicker-widget td.day:hover,html .bootstrap-datetimepicker-widget td.hour:hover,html .bootstrap-datetimepicker-widget td.minute:hover,html .bootstrap-datetimepicker-widget td span:hover,html .bootstrap-datetimepicker-widget thead tr:first-child th:hover,html .bootstrap-datetimepicker-widget a[data-action]:hover{background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important}
html .datepicker table tr td.today,html .datepicker table tr td.today:hover,html .bootstrap-datetimepicker-widget td.today{background:transparent!important;color:#6366f1!important;font-weight:700;box-shadow:inset 0 0 0 1.5px #6366f1}
html .bootstrap-datetimepicker-widget td.today:before{border-bottom-color:#6366f1!important}
html .datepicker table tr td.active,html .datepicker table tr td.active:hover,html .datepicker table tr td.active.day,html .datepicker table tr td span.active,html .datepicker table tr td span.active:hover,
html .bootstrap-datetimepicker-widget td.active,html .bootstrap-datetimepicker-widget td.active:hover,html .bootstrap-datetimepicker-widget td span.active{background:var(--pie-pop-sel)!important;color:#fff!important;text-shadow:none!important;box-shadow:none!important;font-weight:700}
html .datepicker table tr td.disabled,html .datepicker table tr td.disabled:hover,html .bootstrap-datetimepicker-widget td.disabled{color:var(--pie-pop-mu)!important;opacity:.35;background:transparent!important}
html .bootstrap-datetimepicker-widget .btn,html .bootstrap-datetimepicker-widget a.btn{background:transparent!important;color:var(--pie-pop-tx)!important;box-shadow:none!important}
html .bootstrap-datetimepicker-widget .picker-switch a,html .bootstrap-datetimepicker-widget .timepicker-picker span{color:var(--pie-pop-tx)!important}
html .bootstrap-datetimepicker-widget li.picker-switch{border-top:1px solid var(--pie-pop-line)}
html .bootstrap-timepicker-widget table td a{color:var(--pie-pop-tx)!important;border-radius:8px!important}
html .bootstrap-timepicker-widget table td a:hover{background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important;border-color:transparent!important}
html .bootstrap-timepicker-widget table td input{background:var(--pie-pop-in)!important;color:var(--pie-pop-tx)!important;border:1px solid var(--pie-pop-line)!important;border-radius:8px!important;width:40px!important;height:30px}
/* small pointer arrows on the pickers */
html .datepicker.dropdown-menu:before,html .bootstrap-datetimepicker-widget.dropdown-menu:before,html .bootstrap-timepicker-widget.dropdown-menu:before,html .colorpicker:before,html .daterangepicker:before{border-bottom-color:var(--pie-pop-line)!important}
html .datepicker.dropdown-menu:after,html .bootstrap-datetimepicker-widget.dropdown-menu:after,html .bootstrap-timepicker-widget.dropdown-menu:after,html .colorpicker:after,html .daterangepicker:after{border-bottom-color:var(--pie-pop)!important}
html .datepicker.datepicker-orient-bottom:before,html .bootstrap-datetimepicker-widget.dropdown-menu.top:before,html .bootstrap-timepicker-widget.timepicker-orient-bottom:before{border-top-color:var(--pie-pop-line)!important;border-bottom-color:transparent!important}
html .datepicker.datepicker-orient-bottom:after,html .bootstrap-datetimepicker-widget.dropdown-menu.top:after,html .bootstrap-timepicker-widget.timepicker-orient-bottom:after{border-top-color:var(--pie-pop)!important;border-bottom-color:transparent!important}

/* 6. date-range picker */
html .daterangepicker{background:var(--pie-pop)!important;border:1px solid var(--pie-pop-line)!important;border-radius:12px!important;box-shadow:var(--pie-pop-sh)!important;color:var(--pie-pop-tx)!important;padding:8px!important}
html .daterangepicker .calendar-table,html .daterangepicker .calendar-date{background:transparent!important;border-color:var(--pie-pop-line)!important}
html .daterangepicker td,html .daterangepicker th{color:var(--pie-pop-tx);border-radius:8px!important}
html .daterangepicker td.off,html .daterangepicker td.off.in-range{color:var(--pie-pop-mu)!important;background:transparent!important;opacity:.55}
html .daterangepicker td.available:hover,html .daterangepicker th.available:hover{background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important}
html .daterangepicker td.in-range{background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important;border-radius:0!important}
html .daterangepicker td.active,html .daterangepicker td.active:hover,html .daterangepicker td.start-date,html .daterangepicker td.end-date{background:var(--pie-pop-sel)!important;color:#fff!important;border-radius:8px!important}
html .daterangepicker .ranges li{background:transparent!important;border:0!important;color:var(--pie-pop-tx)!important;border-radius:8px!important;padding:7px 12px!important;margin-bottom:3px!important;font-size:13px}
html .daterangepicker .ranges li:hover{background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important}
html .daterangepicker .ranges li.active{background:var(--pie-pop-sel)!important;color:#fff!important}
html .daterangepicker input,html .daterangepicker .input-mini,html .daterangepicker select{background:var(--pie-pop-in)!important;color:var(--pie-pop-tx)!important;border:1px solid var(--pie-pop-line)!important;border-radius:8px!important}
html .daterangepicker .daterangepicker_input i,html .daterangepicker .calendar th.prev,html .daterangepicker .calendar th.next{color:var(--pie-pop-mu)}
html .daterangepicker .drp-buttons,html .daterangepicker .range_inputs{border-color:var(--pie-pop-line)!important}
html .daterangepicker .cancelBtn,html .daterangepicker .btn-default{background:transparent!important;color:var(--pie-pop-tx)!important;border:1px solid var(--pie-pop-line)!important}

/* 7. colour picker */
html .colorpicker.dropdown-menu{padding:8px!important}

/* 8. autocomplete (jQuery UI) */
html .ui-autocomplete,html .ui-menu.ui-widget-content{list-style:none;margin:4px 0 0;padding:6px;background:var(--pie-pop)!important;border:1px solid var(--pie-pop-line)!important;border-radius:12px;box-shadow:var(--pie-pop-sh);color:var(--pie-pop-tx);z-index:3000!important;max-height:320px;overflow-y:auto;overflow-x:hidden}
html .ui-autocomplete .ui-menu-item,html .ui-autocomplete .ui-menu-item-wrapper{padding:8px 10px;border-radius:8px;cursor:pointer;border:0!important;margin:0!important;color:var(--pie-pop-tx);background:transparent}
html .ui-autocomplete .ui-state-focus,html .ui-autocomplete .ui-state-active,html .ui-autocomplete .ui-menu-item:hover{background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important;border:0!important}
html .ui-helper-hidden-accessible{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* 9. table "Columns" / export collection (DataTables buttons) */
html div.dt-button-collection{background:var(--pie-pop)!important;border:1px solid var(--pie-pop-line)!important;border-radius:12px!important;box-shadow:var(--pie-pop-sh)!important;padding:6px!important;width:190px}
html div.dt-button-collection .dt-button,html div.dt-button-collection button.dt-button,html div.dt-button-collection a.dt-button{background:transparent!important;color:var(--pie-pop-tx)!important;border:0!important;border-radius:8px!important;padding:8px 12px 8px 34px!important;margin:0 0 2px!important;box-shadow:none!important;font-size:13.5px!important;position:relative;opacity:.7}
html div.dt-button-collection .dt-button:before{content:"";position:absolute;left:11px;top:50%;width:15px;height:15px;margin-top:-7.5px;border:1.5px solid var(--pie-pop-mu);border-radius:4px}
html div.dt-button-collection .dt-button.active{opacity:1;font-weight:600}
html div.dt-button-collection .dt-button.active:before{background:#4f46e5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center/12px no-repeat;border-color:#4f46e5}
html div.dt-button-collection .dt-button:hover:not(.disabled){background:var(--pie-pop-hov)!important;color:var(--pie-pop-hovtx)!important;opacity:1}
html div.dt-button-collection .buttons-colvisRestore{border-top:1px solid var(--pie-pop-line)!important;border-radius:0 0 8px 8px!important;margin-top:4px!important;padding-left:12px!important;opacity:1}
html div.dt-button-collection .buttons-colvisRestore:before{display:none}
html div.dt-button-background{background:transparent!important}
html .dropdown-menu>li>a,html .dropdown-menu>li>a:hover,html .dropdown-menu>li>a:focus{text-decoration:none!important}
html .ui-autocomplete{box-sizing:border-box}
html .ui-autocomplete *{box-sizing:border-box}
html .ui-autocomplete{position:absolute;top:0;left:0;max-width:calc(100vw - 16px)}

/* [PIE CUSTOM 2026-10-01] Phones: tables as cards (set up by pie-ux.js). Each row is a card, each cell is "Label  value".
   Tablet and desktop keep the normal table. */
@media (max-width:767px){
 table.pie-cards,table.pie-cards>tbody,table.pie-cards>tfoot{display:block!important;width:100%!important;min-width:0!important;border:0!important;background:transparent!important}
 table.pie-cards>thead,table.pie-cards tr.pie-c-head{display:none!important}
 table.pie-cards>tbody>tr,table.pie-cards>tfoot>tr,table.pie-cards>tr{display:block!important;background:var(--pie-card,#fff)!important;border:1px solid var(--pie-line,#e2e8f0)!important;border-radius:12px;margin:0 0 10px;padding:4px 12px;box-shadow:0 1px 2px rgba(15,23,42,.05)}
 table.pie-cards>tbody>tr>td,table.pie-cards>tbody>tr>th,table.pie-cards>tfoot>tr>td,table.pie-cards>tfoot>tr>th{display:block!important;position:relative;width:auto!important;min-width:0!important;max-width:none!important;border:0!important;border-bottom:1px dashed var(--pie-line,#e2e8f0)!important;padding:8px 0!important;text-align:right!important;white-space:normal!important;word-break:break-word;background:transparent!important;height:auto!important}
 table.pie-cards>tbody>tr>td:last-child,table.pie-cards>tfoot>tr>td:last-child{border-bottom:0!important}
 table.pie-cards td[data-pie-label]::before,table.pie-cards th[data-pie-label]::before{content:attr(data-pie-label);float:left;width:40%;padding-right:8px;text-align:left;font-weight:600;font-size:12.5px;line-height:1.35;color:var(--pie-muted,#64748b);white-space:normal}
 table.pie-cards td[data-pie-label=""]::before{display:none}
 table.pie-cards td[data-pie-label=""],table.pie-cards td:not([data-pie-label]){text-align:left!important}
 table.pie-cards>tbody>tr>td::after,table.pie-cards>tfoot>tr>td::after{content:"";display:table;clear:both}
 table.pie-cards td.pie-c-empty{display:none!important}
 table.pie-cards td.pie-c-full,table.pie-cards th.pie-c-full{display:block!important;text-align:center!important;border:0!important;padding-left:0!important}
 table.pie-cards td .btn-group,table.pie-cards td .pull-right{float:none!important}
 table.pie-cards td>*{max-width:100%}
 table.pie-cards td.dataTables_empty{display:block!important;text-align:center!important}
 table.pie-cards>tbody>tr:hover{background:var(--pie-card,#fff)!important}
 .table-responsive:has(> table.pie-cards),.dataTables_wrapper:has(table.pie-cards){overflow:visible!important;border:0!important}
 /* info tables: Name / Father Name ... two per line on a phone */
 table.pie-kv,table.pie-kv>tbody{display:block!important;width:100%!important}
 table.pie-kv>tbody>tr,table.pie-kv>tr{display:flex!important;flex-wrap:wrap;border-bottom:1px solid var(--pie-line,#e2e8f0)}
 table.pie-kv>tbody>tr>th,table.pie-kv>tbody>tr>td{display:block!important;border:0!important;padding:7px 4px!important;white-space:normal!important;width:auto!important}
 table.pie-kv>tbody>tr>th{flex:0 0 42%}
 table.pie-kv>tbody>tr>td{flex:0 0 58%;word-break:break-word}
 /* DataTables controls above a table: tidy rows on a phone */
 .dataTables_wrapper .dt-buttons,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_length{float:none!important;display:flex!important;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:100%!important;margin:0 0 8px!important;text-align:center!important}
 .dataTables_wrapper .dataTables_filter label{display:flex;align-items:center;gap:6px;width:100%;margin:0}
 .dataTables_wrapper .dataTables_filter input{flex:1 1 auto;width:auto!important;min-width:0;margin:0!important}
 .dataTables_wrapper .dataTables_length select{height:34px!important;width:auto!important}
 .dataTables_wrapper .top{display:flex;flex-direction:column;gap:6px}
}

/* [PIE CUSTOM 2026-10-01] Month bar (student panel: exam results, attendance) */
.pie-mbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;margin:0 0 12px;border:1px solid var(--pie-line,#e2e8f0);border-radius:12px;background:var(--pie-soft,#f8fafc)}
.pie-mbar-t{font-weight:600}
.pie-mbar-c{display:flex;align-items:center;gap:6px;flex:0 1 auto;min-width:0}
.pie-mbar-s{width:auto!important;min-width:170px;max-width:100%}
@media (max-width:480px){.pie-mbar-c{flex:1 1 100%}.pie-mbar-s{flex:1 1 auto;min-width:0}}
/* [PIE CUSTOM 2026-10-02] separate Month + Year lists */
.pie-mbar-c{flex-wrap:wrap}.pie-mbar-mo{min-width:150px}.pie-mbar-yr{min-width:90px!important;flex:0 0 auto!important}
@media (max-width:480px){.pie-mbar-mo{flex:1 1 0!important}}
.pie-hide-col{display:none!important}

/* [PIE CUSTOM 2026-10-02] Dashboard cards open their details; 6 cards = 3 + 3 on a computer */
.pie-kpi-btn{position:relative;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.pie-kpi-btn:hover,.pie-kpi-btn:focus-visible{border-color:#4f46e5;box-shadow:0 6px 18px rgba(79,70,229,.15);outline:none}
.pie-kpi-btn:active{transform:scale(.98)}
.pie-kpi-go{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--pie-muted);font-size:18px;opacity:.7}
.pie-kpi-btn .pie-kpi-t{padding-right:14px}
@media (min-width:992px){.pie-kpis.n6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:576px) and (max-width:991px){.pie-kpis.n6{grid-template-columns:repeat(2,minmax(0,1fr))}}
body.pie-dd-open{overflow:hidden}
.pie-dd-bg{position:fixed;inset:0;z-index:3050;background:rgba(15,23,42,.5);display:flex;align-items:flex-start;justify-content:center;padding:6vh 12px 12px}
.pie-dd-box{width:100%;max-width:640px;max-height:86vh;display:flex;flex-direction:column;background:var(--pie-card,#fff);color:var(--pie-text,#111827);border:1px solid var(--pie-line,#e2e8f0);border-radius:16px;box-shadow:0 24px 60px rgba(15,23,42,.35);overflow:hidden}
.pie-dd-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px;background:var(--pie-grad,linear-gradient(120deg,#312e81,#4f46e5 45%,#0369a1));color:#fff}
.pie-dd-h b{display:block;font-size:17px;color:#fff}.pie-dd-h small{display:block;color:#e0e7ff;font-size:12.5px}
.pie-dd-x{border:0;background:rgba(255,255,255,.18);color:#fff;width:34px;height:34px;border-radius:10px;font-size:22px;line-height:1;flex:0 0 34px}
.pie-dd-b{padding:14px 16px;overflow-y:auto}
.pie-dd-empty{padding:18px 6px;text-align:center;color:var(--pie-muted,#64748b)}
.pie-dd-total{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:var(--pie-soft,#f8fafc);border:1px solid var(--pie-line,#e2e8f0);margin-bottom:10px}
.pie-dd-total span{color:var(--pie-muted,#64748b);font-weight:600}.pie-dd-total b{font-size:20px}
.pie-dd-total.bad b,.pie-dd-r.bad{color:#dc2626}.pie-dd-total.good b,.pie-dd-r.good{color:#059669}.pie-dd-total.warn b,.pie-dd-r.warn{color:#b45309}.pie-dd-r.muted{color:var(--pie-muted,#64748b)}
html[data-pie-theme="dark"] .pie-dd-total.bad b,html[data-pie-theme="dark"] .pie-dd-r.bad{color:#f87171}
html[data-pie-theme="dark"] .pie-dd-total.good b,html[data-pie-theme="dark"] .pie-dd-r.good{color:#34d399}
html[data-pie-theme="dark"] .pie-dd-total.warn b,html[data-pie-theme="dark"] .pie-dd-r.warn{color:#fbbf24}
.pie-dd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.pie-dd-chip{padding:4px 10px;border-radius:999px;border:1px solid var(--pie-line,#e2e8f0);background:var(--pie-soft,#f8fafc);font-size:12.5px}
.pie-dd-list{display:flex;flex-direction:column}
.pie-dd-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--pie-line,#e2e8f0)}
.pie-dd-row:last-child{border-bottom:0}
.pie-dd-l{min-width:0}.pie-dd-l b{display:block;font-size:14.5px}.pie-dd-l small{display:block;color:var(--pie-muted,#64748b);font-size:12.5px;line-height:1.5;word-break:break-word}
.pie-dd-r{flex:0 0 auto;font-weight:700;text-align:right;white-space:nowrap}.pie-dd-r small{display:block;font-weight:400;font-size:11.5px;color:var(--pie-muted,#64748b)}
.pie-dd-sch .pie-dd-l small{white-space:normal}
.pie-dd-sub{border:1px solid var(--pie-line,#e2e8f0);border-radius:12px;padding:0 12px;margin-bottom:8px}
.pie-dd-sub summary{cursor:pointer;padding:10px 0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;list-style:none}
.pie-dd-sub summary::-webkit-details-marker{display:none}
.pie-dd-sub summary b{flex:1 1 auto}.pie-dd-sub summary span{color:var(--pie-muted,#64748b);font-size:12.5px}
.pie-dd-bar{flex:1 1 100%;height:6px;border-radius:6px;background:var(--pie-line,#e2e8f0);overflow:hidden;display:block}
.pie-dd-bar i{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#0369a1)}
.pie-dd-note{margin:10px 0 0;color:var(--pie-muted,#64748b);font-size:12.5px}
.pie-dd-foot{margin-top:10px;text-align:right}
@media (max-width:575px){.pie-dd-bg{padding:0;align-items:flex-end}.pie-dd-box{max-width:none;max-height:88vh;border-radius:16px 16px 0 0}.pie-dd-r{white-space:normal;max-width:45%}}
.content-wrapper .pie-dd-total.bad b,.content-wrapper .pie-dd-r.bad{color:#dc2626!important}.content-wrapper .pie-dd-total.good b,.content-wrapper .pie-dd-r.good{color:#059669!important}.content-wrapper .pie-dd-total.warn b,.content-wrapper .pie-dd-r.warn{color:#b45309!important}
html[data-pie-theme="dark"] .content-wrapper .pie-dd-total.bad b,html[data-pie-theme="dark"] .content-wrapper .pie-dd-r.bad{color:#f87171!important}html[data-pie-theme="dark"] .content-wrapper .pie-dd-total.good b,html[data-pie-theme="dark"] .content-wrapper .pie-dd-r.good{color:#34d399!important}html[data-pie-theme="dark"] .content-wrapper .pie-dd-total.warn b,html[data-pie-theme="dark"] .content-wrapper .pie-dd-r.warn{color:#fbbf24!important}
.content-wrapper .pie-dd-l small,.content-wrapper .pie-dd-total span{color:var(--pie-muted,#64748b)!important}

/* [PIE CUSTOM 2026-10-03] detail pop-up: Close button at the bottom */
.pie-dd-f{padding:10px 16px;border-top:1px solid var(--pie-line,#e2e8f0);display:flex;justify-content:flex-end}
.pie-dd-f .pie-dd-x.pie-dd-cancel{font-size:14px;line-height:1.4;min-width:110px;width:auto;height:auto;flex:0 0 auto;border:1px solid var(--pie-line,#cbd5e1);background:var(--pie-card,#fff);color:var(--pie-text,#111827);padding:8px 14px}
@media (max-width:575px){.pie-dd-f .pie-dd-x.pie-dd-cancel{flex:1 1 auto}}
/* [PIE CUSTOM 2026-10-03] Bootstrap pop-ups: the Cancel button added at the bottom (pie-ux.js) */
.modal-footer .pie-modal-cancel{float:none}
/* [PIE CUSTOM 2026-10-03] phones: buttons in a box header go to their own row (never over the title) */
@media (max-width:767px){
 .content-wrapper .box-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
 .content-wrapper .box-header>.box-title{flex:1 1 auto;min-width:0}
 .content-wrapper .box-header>.box-tools,.content-wrapper .box-header>.pull-right:not(.box-title){position:static!important;float:none!important;width:100%;display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0!important;top:auto;right:auto;transform:none}
 .content-wrapper .box-header>.box-tools>.btn,.content-wrapper .box-header>.pull-right>.btn{flex:1 1 auto;margin:0!important}
}
/* [PIE CUSTOM 2026-10-03] profile detail rows: long text wraps on phones instead of being cut */
@media (max-width:767px){.table3 td{white-space:normal!important;word-break:break-word}}
/* [PIE CUSTOM 2026-10-03] table tools bar: sort, filters, count, search suggestions (pie-tools.js) */
.pie-tt-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 6px}
.pie-tt-sort{display:flex;gap:4px;align-items:center;flex:0 1 auto}.pie-tt-sort .fa{color:var(--pie-muted,#64748b)}
.pie-tt-sort select{width:auto;max-width:200px}.pie-tt-dir{min-width:58px;font-weight:600}
.pie-tt-count{margin-left:auto;font-size:12px;color:var(--pie-muted,#64748b);font-weight:600}
.pie-tt-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px;align-items:center}.pie-tt-chips:empty{display:none}
.pie-tt-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 4px 3px 10px;font-size:12px;background:rgba(79,70,229,.1);color:var(--pie-text,#1e293b);border:1px solid rgba(79,70,229,.25)}
.pie-tt-chip button{border:0;background:rgba(0,0,0,.08);border-radius:50%;width:20px;height:20px;line-height:18px;padding:0;font-size:14px;color:inherit}
.pie-tt-clear{font-size:12px}
.pie-tt-fbox{border:1px solid var(--pie-line,#e2e8f0);border-radius:12px;padding:10px;margin:0 0 8px;background:var(--pie-soft,#f8fafc)}
.pie-tt-frow{display:flex;flex-wrap:wrap;gap:6px}.pie-tt-frow>select,.pie-tt-frow>span{flex:1 1 140px}.pie-tt-frow .pie-tt-fop{flex:0 1 110px}
.pie-tt-fact{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}
.pie-tt-sug{position:absolute;z-index:50;top:100%;left:0;right:0;min-width:220px;max-height:300px;overflow:auto;background:var(--pie-card,#fff);border:1px solid var(--pie-line,#e2e8f0);border-radius:10px;box-shadow:0 10px 30px rgba(15,23,42,.18);text-align:left}
.pie-tt-sug button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 12px;color:var(--pie-text,#1e293b);border-bottom:1px solid var(--pie-line,#eef2f7)}
.pie-tt-sug button:hover{background:rgba(79,70,229,.08)}.pie-tt-sug span{color:#4f46e5;font-weight:600}
html[data-pie-theme="dark"] .pie-tt-sug span{color:#a5b4fc}
tr.pie-tt-hit>td{background:rgba(250,204,21,.35)!important;transition:background .4s}
@media (max-width:575px){.pie-tt-sort{flex:1 1 100%}.pie-tt-sort select{flex:1;max-width:none}.pie-tt-fbtn{flex:1}.pie-tt-count{margin-left:0}}
/* [PIE CUSTOM 2026-10-03] admin Overview details: counts row, Open full page, birthday card colour */
.pie-ad-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:0 0 12px}
.pie-ad-counts div{border:1px solid var(--pie-line,#e2e8f0);border-radius:12px;padding:8px 10px;background:var(--pie-soft,#f8fafc);text-align:center}
.pie-ad-counts b{display:block;font-size:19px;line-height:1.2}.pie-ad-counts span{font-size:11.5px;color:var(--pie-muted,#64748b);font-weight:600}
.pie-ad-counts .good b{color:#059669}.pie-ad-counts .bad b{color:#dc2626}.pie-ad-counts .warn b{color:#d97706}.pie-ad-counts .blue b{color:#4f46e5}
.pie-ad-nick{color:#4f46e5;font-weight:600}html[data-pie-theme="dark"] .pie-ad-nick{color:#a5b4fc}
.pie-dd-f{gap:8px}.pie-dd-full{margin-right:auto}
.pie-kpi.tone-pink .pie-kpi-i{background:linear-gradient(135deg,#db2777,#a855f7)}
a.pie-dd-row{color:inherit;text-decoration:none}a.pie-dd-row:hover{background:rgba(79,70,229,.05)}
@media (max-width:575px){.pie-dd-f{flex-wrap:wrap}.pie-dd-full{flex:1 1 100%;margin:0}}
/* [PIE CUSTOM 2026-10-03] counts by group above tables (tap = filter) */
.pie-tt-sum{display:flex;flex-direction:column;gap:4px;margin:0 0 8px}.pie-tt-sum:empty{display:none}
.pie-tt-sg{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.pie-tt-sl{font-size:12px;font-weight:700;color:var(--pie-muted,#64748b);margin-right:2px}
.pie-tt-sg button{border:1px solid var(--pie-line,#e2e8f0);background:var(--pie-card,#fff);color:var(--pie-text,#1e293b);border-radius:999px;padding:2px 9px;font-size:12px}
.pie-tt-sg button b{color:#4f46e5;margin-left:2px}html[data-pie-theme="dark"] .pie-tt-sg button b{color:#a5b4fc}
.pie-tt-sg button:hover{border-color:#4f46e5}
/* [PIE CUSTOM 2026-10-04] a student name opens the profile */
a.pie-stu-link{color:inherit;text-decoration:underline dotted;text-underline-offset:3px}a.pie-stu-link:hover{color:#4f46e5}
.pie-ad-gh{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;margin:8px 0 2px}.pie-ad-gh.bad{color:#dc2626}.pie-ad-gh.warn{color:#b45309}.pie-ad-gh.good{color:#059669}

/* [PIE CUSTOM 2026-10-04] long choices (e.g. "Weekly Exam (04 October 2026)") stay inside their box */
.select2-container .select2-selection--single{height:auto!important;min-height:34px}
.select2-container .select2-selection--single .select2-selection__rendered{white-space:normal!important;word-break:break-word;line-height:1.35!important;padding-top:6px!important;padding-bottom:6px!important;padding-right:24px!important}
.select2-container .select2-selection--single .select2-selection__arrow{height:100%!important;top:0!important}
select.form-control{text-overflow:ellipsis;white-space:nowrap!important;overflow:hidden}

/* [PIE CUSTOM 2026-10-04] batch chips on the Active Students box: "SSC 2029 (7)" */
.pie-kpi-t .pie-chips{display:flex!important;flex-wrap:wrap;gap:4px;margin-top:6px;text-transform:none;letter-spacing:0;font-weight:400}
.pie-kpi-t .pie-chip{font-style:normal;font-size:11px;font-weight:600;line-height:1.5;padding:1px 8px;border-radius:999px;white-space:nowrap;background:rgba(79,70,229,.10);color:#4338ca!important;border:1px solid rgba(79,70,229,.22)}
html[data-pie-theme="dark"] .pie-kpi-t .pie-chip{background:rgba(129,140,248,.16);color:#c7d2fe!important;border-color:rgba(129,140,248,.35)}
@media (max-width:575px){.pie-kpi-t .pie-chip{font-size:10px;padding:0 6px}}

/* [PIE CUSTOM 2026-10-04] Examiner dashboard: quick buttons */
.pie-xqs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pie-xq{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:10px;border-radius:14px;color:#fff!important;font-weight:700;font-size:14px;text-align:center;background:linear-gradient(135deg,#4338ca,#0891b2);box-shadow:0 6px 16px rgba(79,70,229,.2);text-decoration:none!important}
.pie-xq span{color:#fff!important}.pie-xq .fa{font-size:17px}html body .content-wrapper .pie-xq .fa,html body .content-wrapper .pie-xq span{color:#fff!important} /* [PIE CUSTOM 2026-10-11] V49 */
.pie-xq.q2{background:linear-gradient(135deg,#047857,#10b981)}.pie-xq.q3{background:linear-gradient(135deg,#b45309,#d97706)}.pie-xq.q4{background:linear-gradient(135deg,#6d28d9,#8b5cf6)} /* [PIE CUSTOM 2026-10-11] V49 darker = white text readable */
.pie-xq:hover{filter:brightness(1.05);transform:translateY(-1px)}
.pie-card:has(.pie-xqs){background:transparent;border:0;box-shadow:none;padding:0}
@media (max-width:767px){.pie-xqs{grid-template-columns:1fr 1fr;gap:8px}.pie-xq{font-size:13px;min-height:50px}}

/* [PIE CUSTOM 2026-10-04] no text out of a box: select2 boxes fill their column, long text wraps / ends inside */
.form-group .select2-container,.pie-crit .select2-container{width:100%!important;max-width:100%}
.select2-container{max-width:100%}
.select2-container .select2-selection--single .select2-selection__rendered{overflow:hidden!important;max-width:100%}
select.form-control{max-width:100%;text-overflow:ellipsis}
.pie-tt-sort select{max-width:220px}
.pie-crit select.form-control{padding-left:8px;padding-right:22px}

/* [PIE CUSTOM 2026-10-05] attendance quick filter chips */
.pie-qf{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px}
.pie-qf-l{font-size:12px;font-weight:700;color:var(--pie-muted,#64748b)}
.pie-qf-b{border:1px solid var(--pie-line,#cbd5e1);background:var(--pie-card,#fff);color:var(--pie-text,#1e293b);border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:600}
.pie-qf-b b{margin-left:2px}
.pie-qf-b.on{background:#4f46e5;border-color:#4f46e5;color:#fff}.pie-qf-b.k-A.on{background:#dc2626;border-color:#dc2626}.pie-qf-b.k-L.on{background:#d97706;border-color:#d97706}.pie-qf-b.k-P.on{background:#059669;border-color:#059669}
tr.pie-qf-hide{display:none!important}

/* [PIE CUSTOM 2026-10-05] auto-save status */
.pie-as-st{font-size:12.5px;font-weight:600;margin:4px 0 8px;min-height:18px;color:#64748b}.pie-as-st:empty{display:none}.pie-as-st.ok{color:#059669}.pie-as-st.bad{color:#b45309}.pie-as-st.wait{color:#4f46e5}
.pie-as-restore{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:#fffbeb;border:1px solid #fde68a;color:#713f12;border-radius:12px;padding:8px 12px;margin:0 0 10px;font-size:13px}
html[data-pie-theme="dark"] .pie-as-restore{background:#3b2f12;border-color:#854d0e;color:#fde68a}html[data-pie-theme="dark"] .pie-as-st.ok{color:#34d399}html[data-pie-theme="dark"] .pie-as-st.bad{color:#fbbf24}html[data-pie-theme="dark"] .pie-as-st.wait{color:#a5b4fc}

/* [PIE CUSTOM 2026-10-05] V13 shared look (Student Requests, School Syllabus, School / College Names) */
.pie13 .tbl{width:100%;border-collapse:collapse}
.pie13 .tbl td,.pie13 .tbl th{padding:8px;border-bottom:1px solid var(--pie-line,#eef2f7);font-size:13px;vertical-align:middle}
.pie13 .tbl th{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.pie13 .tbl tr.hl td{background:rgba(245,158,11,.08)}
.pie13 .chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px;align-items:center}
.pie13 .chips a,.pie13 .chips span.c{display:inline-block!important;border:1px solid var(--pie-line,#cbd5e1);border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:700;color:inherit;background:var(--pie-card,#fff);text-decoration:none}
.pie13 .chips a.on{background:#4f46e5!important;border-color:#4f46e5!important;color:#fff!important}
.pie13 .bd{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#4338ca;white-space:nowrap}
.pie13 .bd.g{background:#dcfce7;color:#15803d}.pie13 .bd.o{background:#ffedd5;color:#c2410c}.pie13 .bd.r{background:#fee2e2;color:#b91c1c}.pie13 .bd.x{background:#f1f5f9;color:#64748b}.pie13 .bd.y{background:#fef3c7;color:#92400e}
.pie13 .tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.pie13 .tabs a{display:inline-block!important;padding:8px 14px;border-radius:10px;font-weight:700;font-size:13px;background:var(--pie-card,#fff);border:1px solid var(--pie-line,#e2e8f0);color:inherit}
.pie13 .tabs a.on{background:linear-gradient(90deg,#4f46e5,#0e7490);color:#fff!important;border-color:transparent}
.pie13 .tabs a .n{display:inline-block;margin-left:6px;background:#ef4444;color:#fff;border-radius:999px;font-size:11px;padding:0 7px}
.pie13 .muted{color:#64748b}.pie13 .money{font-weight:800;white-space:nowrap}.pie13 .money.p{color:#059669}.pie13 .money.m{color:#dc2626}
.pie13 .act{display:flex;flex-wrap:wrap;gap:4px}.pie13 .act .btn{white-space:nowrap}
.pie13 .bar{position:sticky;bottom:0;z-index:5;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;background:var(--pie-card,#fff);border:1px solid var(--pie-line,#e2e8f0);border-radius:14px;padding:10px 12px;margin-top:10px}
.pie13 .flt{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}.pie13 .flt .form-control{width:auto;min-width:150px}
.pie13 .note{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:10px 12px;font-size:12.5px;color:#713f12;line-height:1.5;margin:8px 0}
.pie13 .sub{font-size:12px;color:#64748b;display:block;margin-top:2px}
.pie13 .pbar{height:8px;background:#e2e8f0;border-radius:99px;overflow:hidden;min-width:70px}.pie13 .pbar i{display:block;height:100%;background:linear-gradient(90deg,#059669,#34d399)}
html[data-pie-theme="dark"] .pie13 .bd{background:#1e1b4b;color:#c7d2fe}html[data-pie-theme="dark"] .pie13 .bd.g{background:#064e3b;color:#a7f3d0}html[data-pie-theme="dark"] .pie13 .bd.o{background:#431407;color:#fed7aa}html[data-pie-theme="dark"] .pie13 .bd.r{background:#450a0a;color:#fecaca}html[data-pie-theme="dark"] .pie13 .bd.x{background:#1e293b;color:#94a3b8}html[data-pie-theme="dark"] .pie13 .bd.y{background:#3b2f12;color:#fde68a}
html[data-pie-theme="dark"] .pie13 .bar{background:#131c2e;border-color:#334155}html[data-pie-theme="dark"] .pie13 .note{background:#3b2f12;border-color:#854d0e;color:#fde68a}html[data-pie-theme="dark"] .pie13 .pbar{background:#334155}html[data-pie-theme="dark"] .pie13 .tbl tr.hl td{background:rgba(245,158,11,.12)}
html[data-pie-theme="dark"] .pie13 .chips a,html[data-pie-theme="dark"] .pie13 .tabs a{background:#131c2e;border-color:#334155}
@media(max-width:767px){.pie13 .hx{display:none}.pie13 .tbl td,.pie13 .tbl th{padding:6px 4px;font-size:12.5px}.pie13 .flt .form-control{flex:1 1 45%;min-width:0}.pie13 .bar .btn{flex:1}}

/* [PIE CUSTOM 2026-10-05] a visible file picker (the theme hides plain file inputs) */
/* V200: the old theme hides every file box (opacity 0, for its drag-and-drop areas); on the new pages show it like .pie-file */
.pie13 input[type=file]:not(.filestyle):not(.dropify):not([style*="display:none"]),.pie-hk input[type=file]:not(.filestyle):not(.dropify){opacity:1!important;display:block;width:100%;max-width:420px;padding:10px;border:1.5px dashed #94a3b8!important;border-radius:12px;background:var(--pie-soft,#f8fafc);cursor:pointer;height:auto}
.pie13 input[type=file]:not(.filestyle):not(.dropify)::file-selector-button,.pie-hk input[type=file]:not(.filestyle):not(.dropify)::file-selector-button{border:0;border-radius:8px;padding:6px 12px;margin-right:10px;background:#4f46e5;color:#fff;font-weight:700;cursor:pointer}
html[data-pie-theme="dark"] .pie13 input[type=file]:not(.filestyle):not(.dropify),html[data-pie-theme="dark"] .pie-hk input[type=file]:not(.filestyle):not(.dropify){background:#0f172a;border-color:#475569!important;color:#e2e8f0}
input[type=file].pie-file{opacity:1!important;display:block;width:100%;max-width:420px;padding:10px;border:1.5px dashed #94a3b8!important;border-radius:12px;background:var(--pie-soft,#f8fafc);cursor:pointer;height:auto}
input[type=file].pie-file::file-selector-button{border:0;border-radius:8px;padding:6px 12px;margin-right:10px;background:#4f46e5;color:#fff;font-weight:700;cursor:pointer}
html[data-pie-theme="dark"] input[type=file].pie-file{background:#0f172a;border-color:#475569!important;color:#e2e8f0}

/* [PIE CUSTOM 2026-10-05] Active Students: batch chips in a small grid under the card (same height as the other cards) */
.pie-kpi:has(.pie-chips-full){flex-wrap:wrap;align-content:center;row-gap:6px}
.pie-kpi .pie-chips-full{flex:1 1 100%;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:4px;margin:0;padding-right:14px}
.pie-kpi .pie-chips-full .pie-chip{font-style:normal;font-size:10px;font-weight:700;letter-spacing:-.1px;line-height:1.6;padding:0 2px;border-radius:7px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(79,70,229,.10);color:#4338ca!important;border:1px solid rgba(79,70,229,.2)}
html[data-pie-theme="dark"] .pie-kpi .pie-chips-full .pie-chip{background:rgba(129,140,248,.16);color:#c7d2fe!important;border-color:rgba(129,140,248,.35)}
.pie-kpi:has(.pie-chips-full) .pie-kpi-t small{display:none}

/* [PIE CUSTOM 2026-10-05] profile menu: Profile / Password / My Login / Logout as one neat row of equal buttons (web + mobile) */
.dropdown-user .sspass{display:grid!important;grid-auto-flow:column;grid-auto-columns:1fr;grid-template-columns:none;gap:6px;padding:10px 12px!important;margin:0!important;clear:both}
.dropdown-user .sspass a{float:none!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:0!important;padding:8px 4px!important;border-radius:10px;border:1px solid var(--pie-line,#e2e8f0);font-size:12px;font-weight:600;text-align:center;white-space:normal;line-height:1.2;min-width:0}
.dropdown-user .sspass a i{margin:0!important;font-size:15px}
.dropdown-user .sspass a[href*="logout"]{color:#dc2626!important;border-color:rgba(220,38,38,.35)}
.dropdown-user .sspass a:hover{background:rgba(79,70,229,.08)}
html[data-pie-theme="dark"] .dropdown-user .sspass a{border-color:#334155}html[data-pie-theme="dark"] .dropdown-user .sspass a[href*="logout"]{color:#f87171!important;border-color:rgba(248,113,113,.4)}
.dropdown-menu.dropdown-user{min-width:330px}
@media (max-width:767px){.dropdown-menu.dropdown-user{min-width:0;width:calc(100vw - 24px);max-width:360px}}

.dropdown-user .sspass a.pull-right,.dropdown-user .sspass a.pl25{margin-left:0!important}
.pie-kpi .pie-chips-full .pie-chip{display:flex!important;flex-direction:column;align-items:center;padding:2px 2px!important;line-height:1.15!important}
.pie-kpi .pie-chips-full .pie-chip small{display:block!important;font-size:9.5px;font-weight:700;opacity:.85;white-space:nowrap}
.pie-kpi .pie-chips-full .pie-chip b{display:block;font-size:13px;font-weight:800}
.dropdown-user .sspass{align-items:stretch!important}.dropdown-user .sspass a{font-size:11.5px!important;padding:8px 2px!important;word-break:normal;letter-spacing:-.2px}
.pie-kpi:has(.pie-chips-full) .pie-kpi-t{flex:1 1 0;min-width:0}
.pie-open-btn{display:inline-flex!important;align-items:center;gap:4px;width:auto!important;padding:3px 10px!important;font-weight:700;font-size:12px!important;border-radius:8px!important;white-space:nowrap}.pie-open-btn span{font-weight:700}
/* [PIE CUSTOM 2026-10-05] period filter on lists */
.pie-pf{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 10px}
.pie-pf>button,.pie-pf-nav button{border:1px solid var(--pie-line,#cbd5e1);background:var(--pie-card,#fff);color:inherit;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:700;line-height:1.4}
.pie-pf>button.on{background:linear-gradient(90deg,#4f46e5,#0e7490);border-color:transparent;color:#fff}
.pie-pf-nav{display:inline-flex;align-items:center;gap:6px}.pie-pf-nav button{padding:3px 9px}.pie-pf-l{font-size:12.5px}
.pie-pf-c{display:inline-flex;align-items:center;gap:4px}.pie-pf-c .form-control{width:auto;height:30px}
.pie-pf-n{color:var(--pie-muted,#64748b);font-weight:600}
tr.pie-pf-hide{display:none!important}
html[data-pie-theme="dark"] .pie-pf>button,html[data-pie-theme="dark"] .pie-pf-nav button{background:#131c2e;border-color:#334155}
@media(max-width:575px){.pie-pf>button{padding:4px 9px;font-size:12px}}
html[data-pie-theme="dark"] .pie13 .tabs a.on,html[data-pie-theme="dark"] .pie13 .chips a.on{background:linear-gradient(90deg,#4f46e5,#0e7490)!important;color:#fff!important;border-color:transparent!important}
/* [PIE CUSTOM 2026-10-05] notification boxes */
.pie-nt{position:fixed;right:16px;bottom:16px;z-index:2000;width:360px;max-width:calc(100vw - 24px);max-height:70vh;overflow:auto;display:flex;flex-direction:column;gap:8px}
.pie-nt-i,.pie-nt-push{position:relative;display:flex;gap:10px;padding:12px 14px;border-radius:14px;background:#111827;color:#f8fafc;box-shadow:0 14px 34px rgba(0,0,0,.35);animation:pieNtIn .25s ease-out}
.pie-nt-push{background:linear-gradient(120deg,#312e81,#4f46e5 55%,#0369a1)}
.pie-nt-ic{width:34px;height:34px;flex:none;border-radius:10px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:16px}
.pie-nt-b{flex:1;min-width:0}.pie-nt-b b{display:block;font-size:14px;color:#fff;padding-right:18px}.pie-nt-b span{display:block;font-size:12.5px;opacity:.92;margin-top:2px;white-space:pre-line}.pie-nt-b small{display:block;font-size:11px;opacity:.7;margin-top:3px}
.pie-nt-a{display:flex;gap:6px;margin-top:8px}.pie-nt-a .btn-default{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.3)!important}
.pie-nt-close{position:absolute;top:6px;right:8px;border:0;background:none;color:#fff;font-size:20px;line-height:1;opacity:.8}
.pie-nt-all{text-align:right}.pie-nt-x-all{border:0;border-radius:999px;background:#111827;color:#fff;font-size:12px;font-weight:700;padding:4px 12px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
@keyframes pieNtIn{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:575px){.pie-nt{left:12px;right:12px;bottom:12px;width:auto}}
/* [PIE CUSTOM 2026-10-05] shown only on phones (beside .hx that hides on phones) */
.pie13 .vx{display:none}@media(max-width:767px){.pie13 .vx{display:block}}
/* [PIE CUSTOM 2026-10-05] Day / Week / Month / Year / Custom / All above the Month bar */
.pie-mbar-seg{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 8px}
.pie-mbar-seg a{display:inline-block;padding:5px 12px;border-radius:999px;border:1px solid var(--pie-line,#cbd5e1);font-weight:700;font-size:12.5px;color:inherit;background:var(--pie-card,#fff);text-decoration:none}
.pie-mbar-seg a.on{background:linear-gradient(90deg,#4f46e5,#0e7490);color:#fff!important;border-color:transparent}
html[data-pie-theme="dark"] .pie-mbar-seg a{background:#131c2e;border-color:#334155;color:#e2e8f0}
html[data-pie-theme="dark"] .pie-mbar-seg a.on{background:linear-gradient(90deg,#4f46e5,#0e7490)}
/* [PIE CUSTOM 2026-10-05] bulk bar */
.pie-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;margin:8px 0;border:1px dashed var(--pie-line,#cbd5e1);border-radius:12px;background:var(--pie-soft,#f8fafc);position:sticky;bottom:6px;z-index:5}
.pie-bulk-bar.has{border-style:solid;border-color:#6366f1;box-shadow:0 6px 18px rgba(79,70,229,.15)}
.pie-bulk-bar .pb-l{margin:0;font-weight:700;display:flex;gap:6px;align-items:center;cursor:pointer}
.pie-bulk-bar select.form-control{width:auto;max-width:190px}
.pie-bulk-bar .pb-n{font-weight:700;color:#4f46e5;font-size:12.5px}
.pie-bulk-bar .pb-reason{flex:1 1 220px;max-width:360px}
.pie-bulk-bar .pb-acts{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
html[data-pie-theme="dark"] .pie-bulk-bar{background:#0f172a;border-color:#334155}
html[data-pie-theme="dark"] .pie-bulk-bar .pb-n{color:#a5b4fc}
@media(max-width:575px){.pie-bulk-bar select.form-control{flex:1 1 45%;max-width:none}.pie-bulk-bar .pb-acts{margin-left:0;width:100%}.pie-bulk-bar .pb-acts .btn{flex:1}}
/* [PIE CUSTOM 2026-10-05] notification boxes: never cover the whole page */
.pie-nt{max-height:70vh;overflow-y:auto}
.pie-nt-i.pie-nt-wait{display:none}
.pie-nt-left{font-size:12px;font-weight:700;color:#fff;background:rgba(15,23,42,.75);border-radius:999px;padding:3px 9px;margin-right:6px}
@media(max-width:767px){.pie-nt{max-height:45vh}}

/* [PIE CUSTOM 2026-10-06] Colourful icons with one meaning everywhere (Jahid Sir): the same icon has the same colour on
   every page, so its work is clear at a glance. Only plain icons are coloured (menus, tabs, plain links, white buttons);
   icons on coloured buttons / active tabs stay white. Shape changes (below) only for menu icons that were not clear. */
:root{--ic-money:#059669;--ic-edit:#2563eb;--ic-del:#dc2626;--ic-view:#4f46e5;--ic-key:#d97706;--ic-cal:#0284c7;--ic-hw:#ea580c;--ic-syl:#0d9488;
  --ic-bell:#ca8a04;--ic-user:#7c3aed;--ic-ok:#16a34a;--ic-chart:#9333ea;--ic-exam:#7c3aed;--ic-print:#475569;--ic-file:#0f766e;--ic-set:#64748b;--ic-wa:#16a34a;--ic-star:#d97706;--ic-send:#0284c7}
html[data-pie-theme="dark"]{--ic-money:#34d399;--ic-edit:#60a5fa;--ic-del:#f87171;--ic-view:#a5b4fc;--ic-key:#fbbf24;--ic-cal:#38bdf8;--ic-hw:#fb923c;--ic-syl:#2dd4bf;
  --ic-bell:#facc15;--ic-user:#c4b5fd;--ic-ok:#4ade80;--ic-chart:#d8b4fe;--ic-exam:#c4b5fd;--ic-print:#cbd5e1;--ic-file:#5eead4;--ic-set:#94a3b8;--ic-wa:#4ade80;--ic-star:#fbbf24;--ic-send:#7dd3fc}

/* left menu (dark in both themes): a light colour for every item; the open / active item stays white */
.sidebar-menu>li:not(.active):not(.menu-open)>a>i.fa{opacity:1}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-ioxhost{color:#7dd3fc}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-user-plus,.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-user{color:#a5b4fc}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-money,.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-usd{color:#34d399}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-credit-card{color:#f87171}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-map-o,.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-rss{color:#c4b5fd}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-calendar-check-o,.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-calendar-plus-o,.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-check-square{color:#38bdf8}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-mortar-board,.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-universal-access{color:#fcd34d}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-list-alt,.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-list-ol{color:#2dd4bf}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-sitemap{color:#f9a8d4}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-bullhorn,.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-bell{color:#facc15}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-download{color:#5eead4}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-flask{color:#fb923c}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-book{color:#fdba74}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-object-group{color:#d6d3d1}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-bus{color:#fde047}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-building-o{color:#93c5fd}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-newspaper-o{color:#fcd34d}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-empire{color:#67e8f9}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-line-chart{color:#d8b4fe}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-gears,.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-cog{color:#cbd5e1}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-television,.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-dashboard{color:#a5b4fc}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-paper-plane{color:#7dd3fc}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-file-video-o,.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-video-camera{color:#f9a8d4}
.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-lightbulb-o,.sidebar-menu>li:not(.active):not(.menu-open)>a>.fa-key{color:#fbbf24}
/* clearer shapes for menu icons that did not say what the part is */
.sidebar-menu>li>a>.fa-ioxhost:before{content:"\f2b5"}          /* Front Office: handshake */
.sidebar-menu>li>a>.fa-map-o:before{content:"\f044"}            /* Examinations: paper and pen */
.sidebar-menu>li>a>.fa-rss:before{content:"\f109"}              /* Online Examinations: laptop */
.sidebar-menu>li>a>.fa-flask:before{content:"\f0ae"}            /* Homework: task list */
.sidebar-menu>li>a>.fa-object-group:before{content:"\f1b3"}     /* Inventory: boxes */
.sidebar-menu>li>a>.fa-empire:before{content:"\f0ac"}           /* Front CMS: website */
.sidebar-menu>li>a>.fa-mortar-board:before{content:"\f19c"}     /* Academics: institution */
.sidebar-menu>li>a>.fa-universal-access:before{content:"\f19d"} /* Alumni: graduation cap */
.sidebar-menu>li>a>.fa-newspaper-o:before{content:"\f0a3"}      /* Certificate */
.sidebar-menu>li>a>.fa-sitemap:before{content:"\f2c1"}          /* Human Resource: staff badge */
.sidebar-menu>li>a>.fa-building-o:before{content:"\f236"}       /* Hostel: bed */
.sidebar-menu>li>a>.fa-user-plus:before{content:"\f0c0"}        /* Student Information / My Profile: people */
.sidebar-menu>li>a>.fa-credit-card:before{content:"\f09d"}      /* Expense */

/* the same colours in pages: plain links, white (default) buttons, tabs, headings, menus */
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.nav-tabs>li:not(.active)>a,.box-title,.content-header>h1,.pie-ch>h1,.dropdown-menu>li>a,th,label,h3,h4,.pie-ic-fee)>.fa:is(.fa-money,.fa-usd,.fa-dollar,.fa-bank,.fa-calculator){color:var(--ic-money)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.nav-tabs>li:not(.active)>a,.box-title,.content-header>h1,.pie-ch>h1,.dropdown-menu>li>a,th,label,h3,h4)>.fa:is(.fa-pencil,.fa-edit,.fa-pencil-square-o,.fa-pencil-square){color:var(--ic-edit)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.dropdown-menu>li>a)>.fa:is(.fa-trash,.fa-trash-o,.fa-remove,.fa-times-circle,.fa-ban,.fa-undo,.fa-reply,.fa-rotate-left,.fa-thumbs-o-down,.fa-user-times,.fa-sign-out){color:var(--ic-del)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.nav-tabs>li:not(.active)>a,.dropdown-menu>li>a,h3,h4)>.fa:is(.fa-eye,.fa-search,.fa-search-plus,.fa-info-circle){color:var(--ic-view)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.dropdown-menu>li>a,h3,h4)>.fa:is(.fa-key,.fa-lock,.fa-unlock,.fa-unlock-alt,.fa-shield){color:var(--ic-key)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.nav-tabs>li:not(.active)>a,.box-title,.content-header>h1,.pie-ch>h1,.dropdown-menu>li>a,th,label,h3,h4)>.fa:is(.fa-calendar,.fa-calendar-o,.fa-calendar-check-o,.fa-calendar-plus-o,.fa-calendar-times-o,.fa-clock-o,.fa-history){color:var(--ic-cal)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.nav-tabs>li:not(.active)>a,.box-title,.content-header>h1,.pie-ch>h1,.dropdown-menu>li>a,h3,h4)>.fa:is(.fa-flask,.fa-tasks,.fa-book){color:var(--ic-hw)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.nav-tabs>li:not(.active)>a,.box-title,.content-header>h1,.pie-ch>h1,.dropdown-menu>li>a,h3,h4)>.fa:is(.fa-list-alt,.fa-list-ol,.fa-list,.fa-th-list){color:var(--ic-syl)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.nav-tabs>li:not(.active)>a,.box-title,.content-header>h1,.pie-ch>h1,.dropdown-menu>li>a,h3,h4)>.fa:is(.fa-bell,.fa-bell-o,.fa-bullhorn,.fa-envelope,.fa-envelope-o,.fa-comment,.fa-comments,.fa-commenting-o,.fa-exclamation-triangle,.fa-warning){color:var(--ic-bell)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.nav-tabs>li:not(.active)>a,.box-title,.content-header>h1,.pie-ch>h1,.dropdown-menu>li>a,h3,h4)>.fa:is(.fa-user,.fa-users,.fa-user-plus,.fa-user-o,.fa-id-card-o,.fa-id-badge,.fa-user-secret){color:var(--ic-user)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.dropdown-menu>li>a,h3,h4)>.fa:is(.fa-check,.fa-check-circle,.fa-check-square-o,.fa-thumbs-o-up,.fa-thumbs-up,.fa-plus,.fa-plus-circle,.fa-user-check){color:var(--ic-ok)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.nav-tabs>li:not(.active)>a,.box-title,.content-header>h1,.pie-ch>h1,.dropdown-menu>li>a,h3,h4)>.fa:is(.fa-bar-chart,.fa-line-chart,.fa-pie-chart,.fa-area-chart,.fa-trophy,.fa-star,.fa-graduation-cap,.fa-mortar-board){color:var(--ic-chart)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.dropdown-menu>li>a)>.fa:is(.fa-print,.fa-files-o,.fa-copy){color:var(--ic-print)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.dropdown-menu>li>a,.box-title,h3,h4)>.fa:is(.fa-download,.fa-upload,.fa-file-pdf-o,.fa-file-excel-o,.fa-file-text-o,.fa-file-o,.fa-paperclip,.fa-file-image-o){color:var(--ic-file)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.dropdown-menu>li>a,.box-title,h3,h4)>.fa:is(.fa-cog,.fa-cogs,.fa-gear,.fa-gears,.fa-sliders,.fa-wrench,.fa-ellipsis-v,.fa-bars){color:var(--ic-set)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.dropdown-menu>li>a)>.fa:is(.fa-whatsapp,.fa-phone){color:var(--ic-wa)}
:is(a:not(.btn):not(.on):not(.active):not(.pie-on),.btn-default,.btn-link,.nav-tabs>li:not(.active)>a,.dropdown-menu>li>a,.box-title,h3,h4)>.fa:is(.fa-paper-plane,.fa-paper-plane-o,.fa-send,.fa-share,.fa-exchange){color:var(--ic-send)}
/* the profile's Collect Fees button: a clear money icon */
.pie-ic-fee .fa-money{font-size:15px}

/* [PIE CUSTOM 2026-10-06] dashboard cards: batch-wise numbers in one short line each ("SSC 2029 (5/6)"), wrapping down,
   never sideways; every card in a row has the same height */
.pie-kpis{align-items:stretch}
.pie-kpis>.pie-kpi{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;align-content:start;column-gap:12px;row-gap:8px}
.pie-kpis>.pie-kpi>.pie-kpi-i{width:44px;height:44px}
.pie-kpis>.pie-kpi:has(.pie-bchips)>.pie-kpi-go{top:14px;transform:none}
.pie-kpi .pie-bchips{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:4px 3px;margin:0;min-width:0}
.pie-kpi .pie-bchip{font-style:normal;font-size:10px;letter-spacing:-.1px;font-weight:600;line-height:1.55;padding:0 6px;border-radius:999px;white-space:nowrap;background:rgba(79,70,229,.09);color:#3730a3;border:1px solid rgba(79,70,229,.18)}
.pie-kpi .pie-bchip b{font-weight:800}
html[data-pie-theme="dark"] .pie-kpi .pie-bchip{background:rgba(129,140,248,.15);color:#c7d2fe;border-color:rgba(129,140,248,.32)}
.pie-kpi-t small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:575px){.pie-kpis>.pie-kpi>.pie-kpi-i{width:34px;height:34px}.pie-kpi .pie-bchip{font-size:9.5px;padding:0 5px}.pie-kpi .pie-bchips{gap:3px}}

/* [PIE CUSTOM 2026-10-06] dashboard pop-ups: own period + batch filter, serial numbers, tick boxes and a bulk bar */
.pie-dd-ctl{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--pie-line,#e2e8f0);background:var(--pie-soft,#f8fafc)}
.pie-dd-ctl .pie-dd-per{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pie-dd-ctl .pie-dd-cls{width:auto;min-width:140px;max-width:100%}
.pie-dd-bulk{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:6px 14px;border-bottom:1px solid var(--pie-line,#e2e8f0);font-size:12.5px}
.pie-dd-bulk label{margin:0;font-weight:700;cursor:pointer;display:inline-flex;gap:5px;align-items:center}
.pie-dd-bulk .pie-dd-cnt{color:#64748b;margin-right:auto}
.pie-dd-list{counter-reset:pdd}
.pie-dd-list>.pie-dd-row{counter-increment:pdd}
.pie-dd-list>.pie-dd-row::before{content:counter(pdd);flex:0 0 22px;text-align:center;font-size:11.5px;color:#94a3b8;font-weight:600}
.pie-dd-row .pie-dd-ck{flex:0 0 auto;margin:0;width:16px;height:16px;cursor:pointer}
.pie-dd-person .pie-dd-l{flex:1 1 auto;min-width:0}
.pie-dd-fl{margin:6px 0 8px}.pie-dd-fl label{display:flex;gap:8px;align-items:center;font-weight:600;margin:0}.pie-dd-fl select{width:auto}
.pie-ad-t-bad{color:#dc2626}.pie-ad-t-warn{color:#b45309}.pie-ad-t-good{color:#059669}
html[data-pie-theme="dark"] .pie-dd-ctl{background:#0f172a;border-color:#334155}
html[data-pie-theme="dark"] .pie-dd-bulk{border-color:#334155}
html[data-pie-theme="dark"] .pie-ad-t-bad{color:#f87171}html[data-pie-theme="dark"] .pie-ad-t-warn{color:#fbbf24}html[data-pie-theme="dark"] .pie-ad-t-good{color:#34d399}
@media(max-width:575px){.pie-dd-ctl{padding:6px 10px}.pie-dd-ctl .pie-seg button{padding:4px 7px;font-size:11.5px}.pie-dd-ctl .pie-dd-cls{flex:1 1 100%}.pie-dd-bulk{padding:6px 10px}}

/* [PIE CUSTOM 2026-10-06] examiners' work table (scripts, guard, payable) */
.pie-xw{width:100%;border-collapse:collapse}.pie-xw td,.pie-xw th{padding:8px;border-bottom:1px solid var(--pie-line,#e2e8f0);vertical-align:top}
.pie-xw th{font-size:12px;color:#64748b}.pie-xw td.sn,.pie-xw th.sn{width:28px;text-align:center;color:#94a3b8;font-size:11.5px}
.pie-xw-t td{background:var(--pie-soft,#f8fafc)}.pie-xw-w{color:#d97706;font-weight:700}
html[data-pie-theme="dark"] .pie-xw-t td{background:#0f172a}html[data-pie-theme="dark"] .pie-xw-w{color:#fbbf24}
/* [PIE CUSTOM 2026-10-06] V24 dashboard cards (Jahid Sir, Option B): title, big number, one bar per batch.
   4 per row on PC, 3 on a small laptop, 2 on tablet and mobile; every card the same size (grid-auto-rows:1fr). */
.pie-k2s{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:12px}
@media (max-width:1199px){.pie-k2s{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:991px){.pie-k2s{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.pie-k2{position:relative;display:flex;flex-direction:column;min-width:0;min-height:178px;padding:13px 14px;border-radius:14px;background:var(--pie-soft);border:1px solid var(--pie-line);color:var(--pie-text);text-align:left;font:inherit;width:100%;-webkit-appearance:none;appearance:none}
.pie-k2.pie-kpi-btn{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.pie-k2.pie-kpi-btn:hover,.pie-k2.pie-kpi-btn:focus-visible{border-color:#4f46e5;box-shadow:0 6px 18px rgba(79,70,229,.15);outline:none}
.pie-k2.pie-kpi-btn:active{transform:scale(.98)}
.pie-k2-h{display:flex;align-items:flex-start;gap:10px;min-height:36px;padding-right:18px}
.pie-k2-i{flex:0 0 34px;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff!important;font-size:15px;background:linear-gradient(135deg,#4f46e5,#818cf8);box-shadow:0 5px 12px rgba(79,70,229,.22)}
.pie-k2.tone-good .pie-k2-i{background:linear-gradient(135deg,#059669,#34d399)}
.pie-k2.tone-warn .pie-k2-i,.pie-k2.tone-orange .pie-k2-i{background:linear-gradient(135deg,#d97706,#fbbf24)}
.pie-k2.tone-bad .pie-k2-i{background:linear-gradient(135deg,#dc2626,#fb7185)}
.pie-k2.tone-purple .pie-k2-i{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
.pie-k2.tone-pink .pie-k2-i{background:linear-gradient(135deg,#db2777,#a855f7)}
.pie-k2.tone-blue .pie-k2-i{background:linear-gradient(135deg,#2563eb,#38bdf8)}
.pie-k2-k{flex:1 1 auto;min-width:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1.3;color:var(--pie-muted)!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-top:2px}
.pie-k2-badge{flex:none;font-style:normal;font-size:9.5px;font-weight:800;padding:1px 6px;border-radius:6px;background:rgba(124,58,237,.14);color:#6d28d9!important;margin-top:2px}
.pie-k2-go{position:absolute;right:10px;top:14px;color:var(--pie-muted);font-size:17px;opacity:.7}
.pie-k2-n{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;margin:10px 0 8px;min-width:0}
.pie-k2-n b{font-size:24px;font-weight:800;line-height:1.05;color:var(--pie-text)!important;white-space:nowrap}
.pie-k2-n small{font-size:11.5px;color:var(--pie-muted)!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.pie-k2-bars{display:flex;flex-direction:column;gap:4px;margin-top:0} /* [PIE CUSTOM 2026-10-08] V30 Sir: data right under the number, the empty space (if any) at the bottom */
.pie-k2-row{display:grid;grid-template-columns:minmax(52px,64px) minmax(20px,1fr) auto;align-items:center;gap:7px;font-size:10.5px;line-height:1.35}
.pie-k2-l{color:var(--pie-muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pie-k2-t{display:block;height:5px;border-radius:3px;background:var(--pie-line);overflow:hidden}
.pie-k2-t i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#4f46e5,#8b5cf6)}
.pie-k2.tone-good .pie-k2-t i{background:linear-gradient(90deg,#059669,#34d399)}
.pie-k2.tone-orange .pie-k2-t i,.pie-k2.tone-warn .pie-k2-t i{background:linear-gradient(90deg,#d97706,#fbbf24)}
.pie-k2.tone-bad .pie-k2-t i{background:linear-gradient(90deg,#dc2626,#fb7185)}
.pie-k2-v{font-weight:700;color:var(--pie-text)!important;text-align:right;white-space:nowrap;min-width:26px}
html[data-pie-theme="dark"] .pie-k2-badge{background:rgba(167,139,250,.18);color:#c4b5fd!important}
html[data-pie-theme="dark"] .pie-k2-t{background:rgba(148,163,184,.18)}
@keyframes pieK2Blink{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}50%{box-shadow:0 0 0 4px rgba(239,68,68,.35)}}
.pie-k2-blink{border-color:#ef4444!important;animation:pieK2Blink 1.4s ease-in-out infinite}
@media (max-width:575px){
 .pie-k2{min-height:160px;padding:10px 10px;border-radius:12px}
 .pie-k2-h{gap:7px;min-height:30px;padding-right:12px}.pie-k2-i{flex-basis:28px;width:28px;height:28px;font-size:12.5px;border-radius:8px}
 .pie-k2-k{font-size:10px;letter-spacing:.03em}.pie-k2-go{right:6px;top:10px;font-size:15px}
 .pie-k2-n{margin:7px 0 6px}.pie-k2-n b{font-size:19px}.pie-k2-n small{font-size:10.5px}
 .pie-k2-row{grid-template-columns:47px minmax(10px,1fr) auto;gap:3px;font-size:9.5px;letter-spacing:-.2px}.pie-k2-v{min-width:18px}
}
@media (prefers-reduced-motion:reduce){.pie-k2-blink{animation:none}}
/* [PIE CUSTOM 2026-10-06] V24: a dashboard whose cards have no batch bars (student page): no empty space */
.pie-k2s:not(:has(.pie-k2-row)) .pie-k2{min-height:0}
.pie-k2s:not(:has(.pie-k2-row)) .pie-k2-bars{display:none}
/* [PIE CUSTOM 2026-10-07] V25: serial numbers and names start on one straight line in every pop-up list */
.pie-dd-list>.pie-dd-row{justify-content:flex-start}
.pie-dd-list>.pie-dd-row>.pie-dd-l{flex:1 1 auto;min-width:0;text-align:left}
.pie-dd-list>.pie-dd-row>.pie-dd-r{flex:0 0 auto;margin-left:auto;text-align:right}
.pie-dd-list>.pie-dd-row::before{flex:0 0 26px!important;align-self:center}
/* [PIE CUSTOM 2026-10-07] V25: Roll / School line under a student's name */
.pie-id{display:block;font-size:11.5px;line-height:1.4;color:var(--pie-muted,#64748b)!important;font-weight:500;letter-spacing:0;white-space:normal}
.pie-dd-gh{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--pie-muted,#64748b);margin:12px 0 2px}
.pie-dd-gh:first-child{margin-top:0}
/* [PIE CUSTOM 2026-10-07] V25: the profile menu buttons (Change Password / My Login / Logout ...) all the same size, web and mobile */
.dropdown-user .sspass{grid-auto-flow:column!important;grid-auto-columns:minmax(0,1fr)!important;align-items:stretch!important}
.dropdown-user .sspass>a{width:auto!important;min-width:0!important;min-height:60px!important;height:100%!important;margin:0!important;text-align:center;white-space:normal!important;line-height:1.25!important;box-sizing:border-box}
/* [PIE CUSTOM 2026-10-07] V25: sortable column titles */
th.pie-sortable{cursor:pointer;user-select:none;white-space:nowrap}
th.pie-sortable::after{content:"\2195";opacity:.35;margin-left:4px;font-size:.9em}
th.pie-sortable.pie-s-asc::after{content:"\2191";opacity:.9}
th.pie-sortable.pie-s-desc::after{content:"\2193";opacity:.9}
th.pie-sortable:hover{color:var(--pie-link,#4f46e5)!important}
/* [PIE CUSTOM 2026-10-07] V26: clickable count boxes in pop-ups */
.pie-ad-counts .pie-ad-click{cursor:pointer;transition:box-shadow .15s,transform .1s}
.pie-ad-counts .pie-ad-click:hover{box-shadow:0 0 0 2px rgba(79,70,229,.35)}
.pie-ad-counts .pie-ad-click.on{box-shadow:0 0 0 2px #ef4444}
.pie-ad-counts .pie-ad-click:active{transform:scale(.97)}
.pie-dd-showing{margin:8px 0;padding:7px 10px;border-radius:10px;background:rgba(79,70,229,.08);font-size:12.5px}
/* [PIE CUSTOM 2026-10-07] V27: pages found by the top search box */
.pie-gs{position:fixed;z-index:100010;display:none;max-height:70vh;overflow:auto;background:var(--pie-card,#fff);border:1px solid var(--pie-line,#e2e8f0);border-radius:12px;box-shadow:0 16px 40px rgba(15,23,42,.25);padding:6px}
.pie-gs-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--pie-muted,#64748b);padding:4px 8px}
.pie-gs a{display:block;padding:7px 10px;border-radius:8px;color:var(--pie-text,#0f172a)!important;text-decoration:none}.pie-gs a b{display:block;font-size:13.5px}.pie-gs a small{display:block;font-size:11.5px;color:var(--pie-muted,#64748b)}
.pie-gs a:hover,.pie-gs a.on{background:rgba(79,70,229,.1)}
.pie-gs-f{font-size:11px;color:var(--pie-muted,#64748b);padding:4px 8px;border-top:1px solid var(--pie-line,#e2e8f0);margin-top:4px}
.pie-gs-n{padding:8px 10px;font-size:12.5px;color:var(--pie-muted,#64748b)}
/* the page search box on student / examiner headers */
.pie-gs-form{margin:8px 6px 0 0!important;padding:0!important;border:0!important;box-shadow:none!important}
.pie-gs-form .input-group{width:240px}
.main-header .navbar form.pie-gs-form{display:block!important}.pie-gs-form .input-group{display:table!important}.pie-gs-form input#pieGsBox{display:table-cell!important}
@media (max-width:767px){.main-header .navbar form.pie-gs-form{position:absolute;left:8px;right:8px;top:auto;bottom:-46px;margin:0!important;z-index:5}.pie-gs-form .input-group{width:100%}.main-header .navbar>.col-lg-7{position:static!important}.main-header .navbar{position:relative}body:has(.pie-gs-form) .main-header{padding-bottom:48px}body:has(.pie-gs-form) .content-wrapper{padding-top:148px!important}}
/* [PIE CUSTOM 2026-10-08] V30 drop-downs with a search box (backend/pie/pie-select.js) */
.pie-ss{position:fixed;z-index:100010;display:none;background:var(--pie-card,#fff);border:1px solid var(--pie-line,#e2e8f0);border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.22);overflow:hidden;max-height:360px;font-size:14px}
.pie-ss.sheet{max-height:70vh}
.pie-ss-h{display:flex;gap:6px;align-items:center;padding:8px;border-bottom:1px solid var(--pie-line,#e2e8f0)}
.pie-ss-q{flex:1;min-width:0;border:1.5px solid #c7d2fe;border-radius:10px;padding:7px 10px;font-size:14px;background:var(--pie-card,#fff);color:inherit;outline:none}.pie-ss-q:focus{border-color:#4f46e5}
.pie-ss-x{border:0;background:none;font-size:22px;line-height:1;padding:0 6px;color:var(--pie-muted,#64748b)}
.pie-ss-l{overflow:auto;max-height:300px;padding:4px}.pie-ss.sheet .pie-ss-l{max-height:calc(70vh - 56px)}
.pie-ss-o{padding:8px 10px;border-radius:9px;cursor:pointer;line-height:1.35}.pie-ss-o:hover,.pie-ss-o.cur{background:#eef2ff}.pie-ss-o.sel{background:#4f46e5;color:#fff}.pie-ss-o.dis{opacity:.45;cursor:default}
.pie-ss-g{padding:6px 10px 2px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--pie-muted,#64748b)}
.pie-ss-e{padding:14px;text-align:center;color:var(--pie-muted,#64748b)}
html[data-pie-theme="dark"] .pie-ss{background:#0f172a;border-color:#334155}html[data-pie-theme="dark"] .pie-ss-q{background:#131c2e;border-color:#4338ca}html[data-pie-theme="dark"] .pie-ss-o:hover,html[data-pie-theme="dark"] .pie-ss-o.cur{background:#1e1b4b}

/* [PIE CUSTOM 2026-10-09] V32: My Position card with Exam + Overall */
.pie-k2-dual{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 6px;min-width:0}
.pie-k2-dual span{border:1px solid var(--pie-line,#e2e8f0);border-radius:10px;padding:5px 8px;min-width:0}
.pie-k2-dual small{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--pie-muted)!important}
.pie-k2-dual b{display:block;font-size:21px;font-weight:800;line-height:1.1;color:#059669!important}.pie-k2-dual .o b{color:#d97706!important}
.pie-k2-dual em{display:block;font-style:normal;font-size:10.5px;color:var(--pie-muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-pie-theme="dark"] .pie-k2-dual span{border-color:#334155}html[data-pie-theme="dark"] .pie-k2-dual b{color:#34d399!important}html[data-pie-theme="dark"] .pie-k2-dual .o b{color:#fbbf24!important}

/* [PIE CUSTOM 2026-10-09] V33a: search at the top of the left menu (everything) + students-only box at the top */
.pie-gs-side{position:relative;margin:8px 10px 6px!important;padding:0!important}
.pie-gs-side i{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:13px;pointer-events:none}
.pie-gs-side input{width:100%;height:36px;border-radius:10px;border:1.5px solid rgba(148,163,184,.35);background:rgba(255,255,255,.08);color:#f8fafc;padding:0 10px 0 32px;font-size:13.5px;outline:0}
.pie-gs-side input::placeholder{color:#94a3b8}.pie-gs-side input:focus{border-color:#818cf8;background:rgba(255,255,255,.12)}
html[data-pie-theme="light"] .skin-light .pie-gs-side input,.skin-white .pie-gs-side input{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}
@media (min-width:768px){.sidebar-collapse .pie-gs-side{display:none}}
.main-sidebar .search-form2{display:none!important}
.pie-gs .pie-gs-h{margin-top:4px}
.pie-stu-btn{display:none;border:0;background:transparent;color:inherit;font-size:15px;padding:14px 10px;line-height:1}.pie-stu-btn .fa-search{font-size:10px;margin-left:1px}
@media (max-width:767px){.pie-stu-btn{display:inline-block}body.pie-stu-open #header_search_form{display:block!important;position:fixed;left:8px;right:8px;top:58px;z-index:1050;margin:0!important;padding:8px!important;border-radius:12px;background:var(--pie-card,#fff);box-shadow:0 12px 30px rgba(0,0,0,.3)}body.pie-stu-open #header_search_form .input-group{width:100%;display:table!important}body.pie-stu-open #header_search_form input{display:table-cell!important;width:100%}}

/* [PIE CUSTOM 2026-10-09] V33b: why (absent / late / HW) shown small next to a name; Unknown when not written */
.pie-why{display:inline-block;margin:3px 4px 0 0;font-size:11.5px;font-weight:700;border-radius:6px;padding:1px 7px;line-height:1.5;white-space:normal;background:#fef3c7;color:#92400e}
.pie-why.r{background:#fee2e2;color:#b91c1c}.pie-why.u{background:#e2e8f0;color:#475569}
html[data-pie-theme="dark"] .pie-why{background:#78350f;color:#fde68a}html[data-pie-theme="dark"] .pie-why.r{background:#7f1d1d;color:#fecaca}html[data-pie-theme="dark"] .pie-why.u{background:#334155;color:#cbd5e1}
/* [PIE CUSTOM 2026-10-11] V51 search inside a pop-up */
.pie-dd-nf{display:none!important}.pie-dd-findw{display:flex;gap:8px;align-items:center;padding:6px 14px 2px}.pie-dd-findw .pie-dd-find{flex:1;max-width:420px}.pie-dd-findn{font-size:12px;font-weight:700;color:var(--pie-muted,#475569)}
/* [PIE CUSTOM 2026-10-11] V55 reason right in a pop-up */
.pie-rsn{border:1px dashed #6366f1;background:transparent;color:#4338ca;border-radius:999px;padding:0 8px;font-size:11.5px;font-weight:700;margin:2px 4px 2px 2px;line-height:20px}.pie-rsn-w{display:inline-block;font-size:11px;font-weight:700;color:#047857;margin-right:4px}.pie-rsn-f{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0;width:100%}.pie-rsn-f input[type=text]{flex:1 1 180px;max-width:320px}.pie-rsn-f label{display:inline-flex;gap:4px;align-items:center;margin:0;font-size:12px;font-weight:700}.pie-rsn-f small{color:#b91c1c;font-weight:600;flex-basis:100%}html[data-pie-theme="dark"] .pie-rsn{color:#a5b4fc;border-color:#818cf8}html[data-pie-theme="dark"] .pie-rsn-w{color:#6ee7b7}html[data-pie-theme="dark"] .pie-rsn-f small{color:#fca5a5}
/* [PIE CUSTOM 2026-10-11] V57 icons always stand out */
html body .pie-ic-w.pie-ic-w.pie-ic-w{color:#fff!important}html body .pie-ic-d.pie-ic-d.pie-ic-d{color:#1e293b!important}
/* [PIE CUSTOM 2026-10-14] V82: login page — the colour goes to the very bottom on phones (no dark band under Register) */
@media(max-width:991px){html body.pie-login{background:#312e81!important}.pie-login .top-content,.pie-login .loginbg{background:transparent!important}html body.pie-login .top-content .col-lg-4{padding-bottom:28px!important}}
html[data-pie-theme="light"] body.pie-login{background:#e0f2fe!important}
@media(prefers-color-scheme:light){html:not([data-pie-theme="dark"]) body.pie-login{background:#e0f2fe!important}}

/* [PIE CUSTOM 2026-10-17] V117: batch of each dashboard card + Reset all */
.pie-card-clsw{display:inline-flex;align-items:center;gap:3px;margin-right:2px}.pie-card-cls{width:auto!important;max-width:150px;height:28px!important;padding:2px 6px!important;font-size:12px!important;border-radius:8px!important}.pie-card-cls.on{border:2px solid #4f46e5!important;color:#4338ca;font-weight:700;background:#eef2ff}
.pie-card-clsx{border:0;background:#e0e7ff;color:#4338ca;border-radius:999px;width:22px;height:22px;line-height:22px;padding:0;font-weight:800;cursor:pointer}.pie-card-clsx[hidden],.pie-card-clsc[hidden],.pie-cls-sum[hidden]{display:none!important}
.pie-card-clsc{display:inline-block;font-style:normal;font-weight:800;font-size:11px;background:#4f46e5;color:#fff;border-radius:999px;padding:1px 8px;margin-right:2px}.pie-card.pie-cls-own{box-shadow:0 0 0 2px #818cf8}
.pie-cls-reset{height:34px;font-weight:700}.pie-cls-reset.on{border-color:#4f46e5;color:#4338ca}.pie-cls-sum{font-size:12px;font-weight:700;color:#4338ca}
html[data-pie-theme="dark"] .pie-card-cls.on{background:#1e1b4b;color:#c7d2fe;border-color:#818cf8!important}html[data-pie-theme="dark"] .pie-card-clsx{background:#312e81;color:#c7d2fe}html[data-pie-theme="dark"] .pie-cls-reset.on,html[data-pie-theme="dark"] .pie-cls-sum{color:#a5b4fc}

/* [PIE CUSTOM 2026-10-18] V122: Accept miss (Exam Missed fine) button in lists / pop-ups */
.pie-mac{border:1px solid #f87171;background:transparent;color:#b91c1c;border-radius:999px;padding:0 8px;font-size:11.5px;font-weight:700;margin:2px 4px 2px 2px;cursor:pointer}.pie-mac-ok{font-size:11.5px;font-weight:700;color:#b91c1c;margin:0 4px}
html[data-pie-theme="dark"] .pie-mac,html[data-pie-theme="dark"] .pie-mac-ok{color:#fca5a5}

/* [PIE CUSTOM 2026-10-20] V130 (Jahid Sir): syllabus / topic lists — one line per subject, whole chapter = one chip */
.pie-syf{display:flex;flex-direction:column;gap:5px;font-size:13px;line-height:1.45}
.pie-syf .r{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}
.pie-syf .s{flex:none;min-width:120px;font-weight:800;color:#3730a3}
.pie-syf .l{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}
.pie-syf .c{display:inline-block;padding:1px 8px;border-radius:8px;background:rgba(79,70,229,.07);border:1px solid rgba(79,70,229,.15);cursor:help;white-space:normal}
.pie-syf .c.f{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.35)}
.pie-syf .c i{font-style:normal;font-weight:800;color:#047857;font-size:11.5px}
.pie-syf .c u{text-decoration:none;font-weight:700}
.pie-syf .c.o{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.35)}
.pie-syf .c.m{background:#e2e8f0;cursor:default;font-weight:700}
html[data-pie-theme="dark"] .pie-syf .s{color:#a5b4fc}
html[data-pie-theme="dark"] .pie-syf .c{background:rgba(129,140,248,.12);border-color:rgba(129,140,248,.25)}
html[data-pie-theme="dark"] .pie-syf .c.f{background:rgba(16,185,129,.14);border-color:rgba(16,185,129,.35)}
html[data-pie-theme="dark"] .pie-syf .c i{color:#6ee7b7}
html[data-pie-theme="dark"] .pie-syf .c.o{background:rgba(245,158,11,.14)}
html[data-pie-theme="dark"] .pie-syf .c.m{background:#334155}
@media(max-width:575px){.pie-syf .s{min-width:0;flex-basis:100%}}
/* [PIE CUSTOM 2026-10-20] V138 (Jahid Sir): every button / chip / tab readable in Light and Dark (contrast >= 4.5) */
.pie-rank-n.n3{background:linear-gradient(135deg,#b45309,#92400e)!important}
.pie-xq.q2{background:linear-gradient(135deg,#065f46,#047857)!important}
.pie-welcome .pie-w-chips span{background:rgba(15,23,42,.28)!important;color:#fff!important}
.pie-lq-head p{color:#fff!important;opacity:1!important}
span.muted,summary span.n,.pie-ts.v0,.pie-rst-x{color:#64748b!important}
html[data-pie-theme="dark"] :is(span.muted,summary span.n,.pie-ts.v0,.pie-rst-x){color:#94a3b8!important}
html[data-pie-theme="dark"] .pie-seg a:not(.on),html[data-pie-theme="dark"] .pie-seg button:not(.on){color:#cbd5e1!important}
html[data-pie-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button:not(.current),html[data-pie-theme="dark"] .pagination>li:not(.active)>a{color:#cbd5e1!important}
html[data-pie-theme="dark"] .content-wrapper button.x{color:#f87171!important}
html[data-pie-theme="dark"] .callout.callout-success{background:#14532d!important;color:#dcfce7!important;border-color:#16a34a!important}
html body .pie-fg-lt.pie-fg-lt.pie-fg-lt{color:#fff!important}html body .pie-fg-dk.pie-fg-dk.pie-fg-dk{color:#111827!important}
/* [PIE CUSTOM 2026-10-24] V175: ☰ at the left of the open phone search box */
.pie-stu-ham{display:none}
@media (max-width:767px){body.pie-stu-open #header_search_form{display:flex!important;align-items:center;gap:8px}body.pie-stu-open #header_search_form .input-group{flex:1 1 auto;min-width:0}
body.pie-stu-open .pie-stu-ham{display:inline-flex;align-items:center;justify-content:center;flex:none;width:42px;height:40px;border:1.5px solid var(--pie-line,#cbd5e1);border-radius:10px;background:var(--pie-card,#fff);color:inherit;font-size:20px;padding:0}
html[data-pie-theme="dark"] body.pie-stu-open .pie-stu-ham{background:#0f172a;color:#e2e8f0;border-color:#475569}}
/* [PIE CUSTOM 2026-10-25] V181: "Powered by BayByte" in the footer — plain inline link; the page-wide link effect (::after) made the page scroll far below the footer */
.pie-pb a{display:inline!important;position:relative!important;float:none!important;font-weight:600}.pie-pb a::before,.pie-pb a::after{display:none!important;content:none!important}

/* [PIE CUSTOM 2026-10-25] V182: exam re-check — marks now (amber) and the claimed mark (green), readable in light + dark */
.pie-rc-now{color:#b45309}.pie-rc-cl{color:#15803d}html[data-pie-theme="dark"] .pie-rc-now{color:#fbbf24}html[data-pie-theme="dark"] .pie-rc-cl{color:#86efac}
a.pie-fx-wait{color:#92400e!important;text-decoration:none!important}html[data-pie-theme="dark"] a.pie-fx-wait{color:#fcd34d!important}

/* [PIE CUSTOM 2026-10-29] V301: text size (A- A A+ A++) chosen in the theme menu, kept in this browser */
html[data-pie-fs="s"] body{zoom:.92}html[data-pie-fs="l"] body{zoom:1.12}html[data-pie-fs="xl"] body{zoom:1.25}
.pie-tt .pie-fs-row{display:flex;align-items:center;gap:4px;padding:6px 12px}.pie-tt .pie-fs-row span{font-size:12px;font-weight:700;margin-right:4px;opacity:.8}
.pie-tt .pie-fs-row button{flex:1;border:1.5px solid #cbd5e1;background:transparent;color:inherit;border-radius:8px;padding:3px 0;font-weight:800;font-size:12px;min-width:34px}
.pie-tt .pie-fs-row button.on{background:#4f46e5;border-color:#4f46e5;color:#fff}
html[data-pie-theme="dark"] .pie-tt .pie-fs-row button{border-color:#475569}
/* [PIE CUSTOM 2026-10-29] V303: one search box — the work for each student under the name (today's P / L / A, Fee, Call, SMS, Profile) */
.pie-stu-sug .pie-ob-row{border-bottom:1px solid var(--pie-line,#e2e8f0);padding:2px 0 6px}.pie-stu-sug .pie-ob-row:last-of-type{border-bottom:0}
.pie-ob-acts{display:flex;flex-wrap:wrap;gap:5px;padding:0 10px}
.pie-ob-acts .pie-ob-c{display:inline-block!important;padding:3px 9px!important;border:1px solid var(--pie-line,#e2e8f0);border-radius:999px!important;font-size:12px;font-weight:700}
.pie-ob-att{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--pie-line,#e2e8f0);border-radius:999px;padding:2px 4px 2px 8px}
.pie-ob-att em{font-style:normal;font-size:11.5px;font-weight:800;color:var(--pie-muted,#64748b);margin-right:2px}
.pie-ob-att button{border:1.5px solid #cbd5e1;background:transparent;color:inherit;border-radius:999px;min-width:26px;height:24px;padding:0 6px;font-weight:800;font-size:12px;line-height:1}
.pie-ob-att em.pie-ob-p{color:#16a34a}.pie-ob-att em.pie-ob-l{color:#d97706}.pie-ob-att em.pie-ob-a{color:#dc2626}.pie-ob-att em.pie-ob-v{color:#0891b2}
.pie-ob-att button.pie-ob-p.on{background:#16a34a;border-color:#16a34a;color:#fff}.pie-ob-att button.pie-ob-l.on{background:#d97706;border-color:#d97706;color:#fff}.pie-ob-att button.pie-ob-a.on{background:#dc2626;border-color:#dc2626;color:#fff}
html[data-pie-theme="dark"] .pie-ob-acts .pie-ob-c,html[data-pie-theme="dark"] .pie-ob-att,html[data-pie-theme="dark"] .pie-stu-sug .pie-ob-row{border-color:#334155}html[data-pie-theme="dark"] .pie-ob-att button{border-color:#475569}
/* [PIE CUSTOM 2026-10-30] V332: 🔕 Mute in the notification pop-up (panel, "বন্ধ" pill, "আবার চালু" line) */
.pie-nt-all{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:6px}
.pie-nt-m-all{border:0;border-radius:999px;background:#7c3aed;color:#fff;font-size:12px;font-weight:700;padding:4px 12px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.pie-nt-a .btn.pie-nt-m{background:#7c3aed!important;border-color:#7c3aed!important;color:#fff!important}
.pie-nt-mp{flex:none;display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:14px;background:#fff;color:#0f172a;border:2px solid #7c3aed;box-shadow:0 14px 34px rgba(0,0,0,.3);animation:pieNtIn .2s ease-out;font-size:13px}
.pie-nt-mp>b{font-size:14.5px}.pie-nt-mp label{margin:0;font-weight:500;display:flex;gap:6px;align-items:center;cursor:pointer}.pie-nt-mp input{margin:0}
.pie-nt-mp-c{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:2px}
.pie-nt-mp-c button{border-radius:10px;padding:8px 2px;font-weight:800;font-size:12.5px;line-height:1.2;background:#f5f3ff;border:1.5px solid #c4b5fd;color:#4c1d95}
.pie-nt-mp-c button:hover,.pie-nt-mp-c button:focus{background:#7c3aed;border-color:#7c3aed;color:#fff;outline:0}
.pie-nt-mp small{font-size:11.5px;opacity:.8}
.pie-nt-mp-x{align-self:flex-end;border:1px solid #cbd5e1;background:transparent;color:inherit;border-radius:8px;padding:3px 12px;font-size:12px;font-weight:700}
.pie-nt-off,.pie-nt-back{flex:none;align-self:flex-end;display:flex;align-items:center;gap:8px;max-width:100%;border-radius:999px;padding:6px 8px 6px 14px;font-size:12.5px;font-weight:700;background:#fff;color:#4c1d95;border:2px solid #7c3aed;box-shadow:0 8px 20px rgba(0,0,0,.25);animation:pieNtIn .25s ease-out}
.pie-nt-off>span,.pie-nt-back>span{min-width:0}.pie-nt-off i{font-style:normal;opacity:.75}
.pie-nt-on{flex:none;border:0;border-radius:999px;background:#16a34a;color:#fff;font-weight:800;font-size:12px;padding:4px 10px}
.pie-nt-off-x,.pie-nt-back button{flex:none;border:0;background:none;color:inherit;font-size:18px;line-height:1;opacity:.6;padding:0 4px}
.pie-nt-back{border-color:#16a34a;color:#14532d}
html[data-pie-theme="dark"] .pie-nt-mp{background:#1e1b4b;color:#ede9fe;border-color:#8b5cf6}
html[data-pie-theme="dark"] .pie-nt-mp-c button{background:#312e81;border-color:#6d28d9;color:#fff}
html[data-pie-theme="dark"] .pie-nt-mp-c button:hover,html[data-pie-theme="dark"] .pie-nt-mp-c button:focus{background:#7c3aed}
html[data-pie-theme="dark"] .pie-nt-mp-x{border-color:#6d28d9}
html[data-pie-theme="dark"] .pie-nt-off{background:#2e1065;color:#fff;border-color:#8b5cf6}
html[data-pie-theme="dark"] .pie-nt-back{background:#052e16;color:#dcfce7;border-color:#22c55e}
@media(max-width:575px){.pie-nt-mp-c{grid-template-columns:repeat(2,1fr)}.pie-nt-off,.pie-nt-back{border-radius:16px;align-self:stretch}.pie-nt-off>span,.pie-nt-back>span{flex:1}}
