/* ==========================================================================
   Skoolnix UI — same colourful look as the Skoolnix SKX theme
   (per-module accents, gradient card headers, rounded cards, soft shadows)
   ========================================================================== */
:root{
  --skx-ink:#141c40; --skx-ink-2:#5b658d; --skx-line:#e5e9f7; --skx-card:#fff;
  --skx-a1:#4f46e5; --skx-a2:#a855f7; --skx-a3:#ec4899; --skx-a-soft:#eef0ff; --skx-glow:rgba(79,70,229,.45);
  --skx-green:#15803d; --skx-green-2:#4ade80; --skx-amber:#d97706; --skx-amber-2:#fbbf24;
  --skx-red:#dc2626; --skx-red-2:#fb7185; --skx-blue:#0284c7; --skx-blue-2:#38bdf8;
  --skx-teal:#0d9488; --skx-teal-2:#2dd4bf;
  --skx-r:16px;
  --skx-shadow:0 2px 6px rgba(20,28,64,.06),0 16px 34px -20px rgba(20,28,64,.45);
  --skx-shadow-h:0 6px 14px rgba(20,28,64,.09),0 26px 50px -24px rgba(20,28,64,.5);
  --side-w:258px;
}
/* module accents */
.skx-m-students{--skx-a1:#0369a1;--skx-a2:#38bdf8;--skx-a3:#22d3ee;--skx-a-soft:#e3f4ff;--skx-glow:rgba(3,105,161,.45)}
.skx-m-fees{--skx-a1:#15803d;--skx-a2:#34d399;--skx-a3:#a3e635;--skx-a-soft:#e6f8ee;--skx-glow:rgba(21,128,61,.45)}
.skx-m-attendance{--skx-a1:#0d9488;--skx-a2:#2dd4bf;--skx-a3:#6ee7b7;--skx-a-soft:#e2f8f5;--skx-glow:rgba(13,148,136,.45)}
.skx-m-staff{--skx-a1:#be123c;--skx-a2:#fb7185;--skx-a3:#f0abfc;--skx-a-soft:#ffe9ee;--skx-glow:rgba(190,18,60,.4)}
.skx-m-academics{--skx-a1:#c2410c;--skx-a2:#fb923c;--skx-a3:#fbbf24;--skx-a-soft:#fff0e3;--skx-glow:rgba(194,65,12,.4)}
.skx-m-reports{--skx-a1:#4338ca;--skx-a2:#818cf8;--skx-a3:#38bdf8;--skx-a-soft:#eceeff;--skx-glow:rgba(67,56,202,.45)}
.skx-m-settings{--skx-a1:#334155;--skx-a2:#64748b;--skx-a3:#38bdf8;--skx-a-soft:#eef2f7;--skx-glow:rgba(51,65,85,.45)}
.skx-m-portal{--skx-a1:#7c3aed;--skx-a2:#c084fc;--skx-a3:#22d3ee;--skx-a-soft:#f4ecff;--skx-glow:rgba(124,58,237,.45)}

html,body{height:100%}
body.skx-ui{font-family:"Source Sans 3","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;color:var(--skx-ink);background:#f4f6fd;font-size:14.5px}
a{color:var(--skx-a1)} a:hover{color:var(--skx-a3)}

/* ---------- SIDEBAR ---------- */
.skx-side{position:fixed;inset:0 auto 0 0;width:var(--side-w);background:linear-gradient(180deg,#141c40 0%,#1e2757 100%);color:#c7cdf5;z-index:1040;display:flex;flex-direction:column;transition:transform .25s ease}
.skx-side .brand{display:flex;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.skx-side .brand img{height:42px;max-width:100%}
.skx-side .me{display:flex;gap:10px;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.06)}
.skx-side .me .av{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#4f46e5,#a855f7);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.skx-side .me b{color:#fff;display:block;font-size:14px;line-height:1.2}
.skx-side .me small{color:#8f98cf;font-size:12px}
.skx-side nav{overflow-y:auto;padding:10px 10px 30px;flex:1}
.skx-side .nav-link{color:#c7cdf5;border-radius:11px;padding:10px 12px;display:flex;align-items:center;gap:11px;font-weight:600;font-size:14px}
.skx-side .nav-link i.ic{font-size:17px;width:22px;text-align:center}
.skx-side .nav-link:hover{background:rgba(255,255,255,.07);color:#fff}
.skx-side .nav-link.active{background:linear-gradient(135deg,#4f46e5,#a855f7);color:#fff;box-shadow:0 10px 20px -12px rgba(168,85,247,.8)}
.skx-side .nav-link .chev{margin-left:auto;font-size:12px;transition:transform .2s}
.skx-side .nav-link[aria-expanded=true] .chev{transform:rotate(90deg)}
.skx-side .sub{list-style:none;margin:2px 0 6px;padding:0 0 0 32px}
.skx-side .sub a{display:block;color:#aab2e6;padding:7px 10px;border-radius:9px;font-size:13.5px;text-decoration:none}
.skx-side .sub a:hover{color:#fff;background:rgba(255,255,255,.06)}
.skx-side .sub a.active{color:#fff;background:rgba(168,85,247,.25);font-weight:700}
.skx-backdrop{display:none}

/* ---------- TOPBAR & CONTENT ---------- */
.skx-main{margin-left:var(--side-w);min-height:100vh;display:flex;flex-direction:column;
  background:
   radial-gradient(1000px 380px at 92% -140px,color-mix(in srgb,var(--skx-a2) 26%,transparent) 0%,transparent 62%),
   radial-gradient(820px 360px at -5% -80px,color-mix(in srgb,var(--skx-a1) 20%,transparent) 0%,transparent 60%),
   radial-gradient(760px 460px at 65% 115%,color-mix(in srgb,var(--skx-a3) 18%,transparent) 0%,transparent 58%),#f4f6fd}
.skx-top{position:sticky;top:0;z-index:1020;display:flex;align-items:center;gap:10px;padding:10px 20px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--skx-line)}
.skx-top .burger{display:none;border:none;background:var(--skx-a-soft);color:var(--skx-a1);width:40px;height:40px;border-radius:11px;font-size:20px}
.skx-top .school{font-weight:800;color:var(--skx-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.skx-top .pill{background:var(--skx-a-soft);color:var(--skx-a1);font-weight:700;border-radius:999px;padding:5px 12px;font-size:12.5px;white-space:nowrap}
.skx-top .form-select-sm{border-radius:10px;border:1.5px solid var(--skx-line);font-weight:600;max-width:190px}
.skx-content{padding:20px 20px 48px;flex:1}
.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.page-head h1{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0}
.crumb{background:#fff;border-radius:999px;padding:6px 14px;box-shadow:var(--skx-shadow);font-size:13px;color:var(--skx-ink-2)}
.crumb a{font-weight:700;text-decoration:none}
.skx-foot{padding:14px 20px;color:var(--skx-ink-2);font-size:12.5px;text-align:center}

/* ---------- CARDS (box) ---------- */
.box{background:var(--skx-card);border-radius:var(--skx-r);box-shadow:var(--skx-shadow);overflow:hidden;margin-bottom:22px;transition:box-shadow .2s,transform .2s}
.box:hover{box-shadow:var(--skx-shadow-h)}
.box-header{padding:16px 20px;color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  background:linear-gradient(120deg,var(--skx-a1) 0%,var(--skx-a2) 58%,var(--skx-a3) 130%)}
.box-header::after{content:"";position:absolute;right:-60px;top:-90px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.14);pointer-events:none}
.box.alt > .box-header{background:linear-gradient(120deg,var(--skx-a2),var(--skx-a3) 70%,var(--skx-a1) 140%)}
.box.success > .box-header{background:linear-gradient(120deg,var(--skx-green),var(--skx-teal-2) 75%)}
.box.warning > .box-header{background:linear-gradient(120deg,var(--skx-amber),var(--skx-red-2) 80%)}
.box.danger > .box-header{background:linear-gradient(120deg,var(--skx-red),var(--skx-amber-2) 95%)}
.box.info > .box-header{background:linear-gradient(120deg,var(--skx-blue),var(--skx-teal-2) 80%)}
.box-title{color:#fff;font-size:18px;font-weight:700;margin:0;display:inline-flex;align-items:center;gap:12px;text-shadow:0 1px 2px rgba(0,0,0,.12);z-index:1}
.box-title .ico{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;background:rgba(255,255,255,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);font-size:16px}
.box-tools{z-index:1;display:flex;gap:8px;flex-wrap:wrap}
.box-tools .btn{background:rgba(255,255,255,.95);color:var(--skx-a1);box-shadow:0 6px 16px -8px rgba(0,0,0,.55)}
.box-tools .btn:hover{background:#fff;color:var(--skx-a3)}
.box-body{padding:20px}
.box-footer{background:#fbfcff;border-top:1px solid var(--skx-line);padding:14px 20px}

/* ---------- STAT CARDS ---------- */
.stat{border-radius:16px;padding:18px;color:#fff;box-shadow:var(--skx-shadow);position:relative;overflow:hidden;height:100%;display:block;text-decoration:none}
.stat:hover{color:#fff;box-shadow:var(--skx-shadow-h);transform:translateY(-2px)}
.stat h3{font-weight:800;font-size:30px;letter-spacing:-.02em;margin:0}
.stat p{margin:2px 0 0;font-weight:600;opacity:.95}
.stat i{position:absolute;right:14px;top:10px;font-size:52px;opacity:.28}
.stat.s1{background:linear-gradient(135deg,#0369a1,#38bdf8)} .stat.s2{background:linear-gradient(135deg,#15803d,#34d399)}
.stat.s3{background:linear-gradient(135deg,#0d9488,#2dd4bf)} .stat.s4{background:linear-gradient(135deg,#be123c,#fb7185)}
.stat.s5{background:linear-gradient(135deg,#6d28d9,#a855f7)} .stat.s6{background:linear-gradient(135deg,#c2410c,#fbbf24)}

/* ---------- BUTTONS ---------- */
.btn{border-radius:10px;font-weight:700;border:none;padding:9px 17px;transition:transform .12s,box-shadow .15s,filter .15s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn-sm{padding:6px 12px;border-radius:9px}
.btn-primary{background:linear-gradient(135deg,var(--skx-a1),var(--skx-a2));color:#fff;box-shadow:0 8px 18px -9px var(--skx-glow)}
.btn-primary:hover,.btn-primary:focus{color:#fff;background:linear-gradient(135deg,var(--skx-a1),var(--skx-a2))}
.btn-success{background:linear-gradient(135deg,var(--skx-green),var(--skx-teal-2));color:#fff}
.btn-info{background:linear-gradient(135deg,var(--skx-blue),var(--skx-teal-2));color:#fff}
.btn-warning{background:linear-gradient(135deg,var(--skx-amber),#fb923c);color:#fff}
.btn-danger{background:linear-gradient(135deg,var(--skx-red),var(--skx-red-2));color:#fff}
.btn-light,.btn-default{background:#fff;color:var(--skx-a1);box-shadow:0 0 0 1.5px var(--skx-line),0 4px 10px -6px rgba(20,28,64,.5)}
.btn-light:hover{background:#fff;color:var(--skx-a2)}
.btn-ic{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--skx-a-soft);color:var(--skx-a1)}
.btn-ic:hover{background:var(--skx-a1);color:#fff}
.btn-ic.red{background:#ffe9ed;color:var(--skx-red)} .btn-ic.red:hover{background:var(--skx-red);color:#fff}
.btn-ic.blue{background:#e3f5ff;color:var(--skx-blue)} .btn-ic.blue:hover{background:var(--skx-blue);color:#fff}
.btn-ic.green{background:#e8f9ef;color:var(--skx-green)} .btn-ic.green:hover{background:var(--skx-green);color:#fff}

/* ---------- TABLES ---------- */
.table-wrap{border-radius:12px;overflow:auto;background:#fff;box-shadow:0 0 0 1px #e9ecf9}
.table{margin:0;--bs-table-bg:transparent}
.table > thead > tr{background:linear-gradient(120deg,var(--skx-a1),var(--skx-a2) 65%,var(--skx-a3) 130%)}
.table > thead > tr > th{background:transparent;color:#fff;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;border:none;padding:13px 12px;vertical-align:middle;white-space:nowrap}
.table > tbody > tr > td{padding:11px 12px;border-top:1px solid #eef1fb;border-bottom:none;color:var(--skx-ink);vertical-align:middle;font-size:13.5px}
.table > tbody > tr:nth-of-type(odd) > td{background:#fbfbff}
.table > tbody > tr:hover > td{background:var(--skx-a-soft)}
.table > tbody > tr:hover > td:first-child{box-shadow:inset 3px 0 0 var(--skx-a2)}
.table > tfoot td,.table > tfoot th{font-weight:800;background:var(--skx-a-soft);border-top:2px solid var(--skx-line)}
.table td a{font-weight:600;text-decoration:none}
.table .num{text-align:right;white-space:nowrap}

/* ---------- FORMS ---------- */
.form-control,.form-select{border-radius:10px;border:1.5px solid #e2e7f8;min-height:42px;color:var(--skx-ink);font-size:14px}
.form-control:focus,.form-select:focus{border-color:var(--skx-a2);box-shadow:0 0 0 4px color-mix(in srgb,var(--skx-a2) 20%,transparent)}
.form-label{color:var(--skx-ink-2);font-weight:700;font-size:12.5px;margin-bottom:5px}
.req{color:var(--skx-red)}
.filter-strip{background:linear-gradient(120deg,var(--skx-a-soft),#fff 60%,var(--skx-a-soft));border-radius:14px;padding:16px;margin:0 0 20px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--skx-a1) 10%,transparent)}
.filter-strip .form-label{text-transform:uppercase;font-size:11px;letter-spacing:.07em;color:var(--skx-a1);font-weight:800}
.sec-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--skx-a1);font-weight:800;margin:6px 0 12px;padding-bottom:6px;border-bottom:2px solid var(--skx-a-soft)}

/* ---------- BADGES & ALERTS ---------- */
.badge{border-radius:999px;padding:5px 11px;font-weight:800;font-size:11px;letter-spacing:.03em}
.bg-grad{background:linear-gradient(135deg,var(--skx-a1),var(--skx-a2))!important;color:#fff}
.bg-ok{background:linear-gradient(135deg,var(--skx-green),var(--skx-teal-2))!important;color:#fff}
.bg-warn{background:linear-gradient(135deg,var(--skx-amber),var(--skx-amber-2))!important;color:#fff}
.bg-bad{background:linear-gradient(135deg,var(--skx-red),var(--skx-red-2))!important;color:#fff}
.bg-soft{background:#eceffc!important;color:var(--skx-ink-2)}
.alert{border:none;border-radius:13px;border-left:5px solid;font-weight:600}
.alert-success{background:#e8f9ee;color:#14532d;border-color:var(--skx-green)}
.alert-danger{background:#ffecef;color:#881337;border-color:var(--skx-red)}
.alert-warning{background:#fff4de;color:#7c2d12;border-color:var(--skx-amber)}
.alert-info{background:#e4f4ff;color:#075985;border-color:var(--skx-blue)}

/* attendance pills */
.att-opts{display:flex;gap:4px;flex-wrap:wrap}
.att-opts input{display:none}
.att-opts label{cursor:pointer;min-width:34px;height:32px;padding:0 8px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12.5px;background:#f1f3fb;color:var(--skx-ink-2);user-select:none}
.att-opts input:checked + label.P{background:linear-gradient(135deg,#15803d,#4ade80);color:#fff}
.att-opts input:checked + label.A{background:linear-gradient(135deg,#dc2626,#fb7185);color:#fff}
.att-opts input:checked + label.L{background:linear-gradient(135deg,#d97706,#fbbf24);color:#fff}
.att-opts input:checked + label.H{background:linear-gradient(135deg,#0284c7,#38bdf8);color:#fff}
.att-opts input:checked + label.V{background:linear-gradient(135deg,#6d28d9,#a855f7);color:#fff}
.reg td,.reg th{padding:6px 5px!important;text-align:center;font-size:12px!important}
.reg .c-P{color:#15803d;font-weight:800}.reg .c-A{color:#dc2626;font-weight:800}.reg .c-L{color:#d97706;font-weight:800}.reg .c-H{color:#0284c7;font-weight:800}.reg .c-V{color:#6d28d9;font-weight:800}
.reg td.nm,.reg th.nm{text-align:left;white-space:nowrap;position:sticky;left:0;z-index:1}
.reg th.nm{z-index:2}

/* profile */
.profile-card{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.profile-card img{width:96px;height:96px;border-radius:20px;object-fit:cover;box-shadow:var(--skx-shadow)}
.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.kv div{background:#fbfcff;border:1px solid #eef1fb;border-radius:12px;padding:10px 12px}
.kv small{display:block;color:var(--skx-ink-2);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.kv b{font-weight:700;word-break:break-word}
.empty{text-align:center;padding:34px 10px;color:var(--skx-ink-2)}
.empty i{font-size:40px;display:block;margin-bottom:8px;color:var(--skx-a2)}
.pagination .page-link{border-radius:10px!important;margin:0 3px;border-color:#e6eaf8;color:var(--skx-ink-2);font-weight:700}
.pagination .active .page-link{background:linear-gradient(135deg,var(--skx-a1),var(--skx-a2));border-color:transparent;color:#fff}

/* login */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;
 background:radial-gradient(900px 420px at 90% -120px,rgba(168,85,247,.35),transparent 60%),radial-gradient(800px 380px at -5% -60px,rgba(79,70,229,.35),transparent 60%),radial-gradient(700px 420px at 60% 115%,rgba(236,72,153,.22),transparent 60%),#141c40}
.auth-card{width:100%;max-width:420px;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 34px 80px -22px rgba(0,0,0,.6)}
.auth-card .top{padding:26px 26px 20px;text-align:center;color:#fff;position:relative;overflow:hidden;background:linear-gradient(120deg,#4f46e5,#a855f7 58%,#ec4899 130%)}
.auth-card .top::after{content:"";position:absolute;right:-50px;top:-80px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.14)}
.auth-card .top img{width:64px;height:64px;border-radius:16px;background:#fff;object-fit:contain;padding:4px}
.auth-card .top h1{font-size:20px;font-weight:800;margin:12px 0 2px}
.auth-card .body{padding:24px 26px 28px}
.auth-foot{color:#8f98cf;text-align:center;font-size:12px;margin-top:14px}
.auth-foot img{height:26px;vertical-align:middle}

/* ---------- MOBILE ---------- */
@media screen and (max-width:991px){
  .skx-side{transform:translateX(-100%)}
  body.side-open .skx-side{transform:none}
  body.side-open .skx-backdrop{display:block;position:fixed;inset:0;background:rgba(20,28,64,.5);z-index:1030}
  .skx-main{margin-left:0}
  .skx-top .burger{display:inline-flex;align-items:center;justify-content:center}
  .skx-content{padding:14px 10px 36px}
  .box-body{padding:14px 12px}
  .box-header{padding:14px}
  .box-title{font-size:16px}
  .form-control,.form-select{font-size:16px;min-height:44px}
  .page-head h1{font-size:20px}
  .stat h3{font-size:22px!important}
  .stat i{font-size:40px}
  .hide-sm{display:none!important}
}
/* ---------- PRINT ---------- */
@media print{
  .skx-side,.skx-top,.skx-foot,.no-print,.page-head .crumb{display:none!important}
  .skx-main{margin:0;background:#fff!important}
  .skx-content{padding:0}
  .box{box-shadow:none;border:1px solid #ccc}
  .box-header{background:#fff!important;color:#000}
  .box-title{color:#000;text-shadow:none}
  .table > thead > tr{background:#eee!important}
  .table > thead > tr > th{color:#000}
}
.skx-m-timetable{--skx-a1:#c2410c;--skx-a2:#fb923c;--skx-a3:#fbbf24;--skx-a-soft:#fff0e3;--skx-glow:rgba(194,65,12,.4)}
.skx-m-transport{--skx-a1:#1d4ed8;--skx-a2:#60a5fa;--skx-a3:#22d3ee;--skx-a-soft:#e7efff;--skx-glow:rgba(29,78,216,.45)}
.skx-m-certificate{--skx-a1:#a16207;--skx-a2:#fbbf24;--skx-a3:#fda4af;--skx-a-soft:#fdf3d8;--skx-glow:rgba(161,98,7,.4)}
.skx-m-comm{--skx-a1:#047857;--skx-a2:#34d399;--skx-a3:#7dd3fc;--skx-a-soft:#e4f8f0;--skx-glow:rgba(4,120,87,.45)}
.skx-m-ai{--skx-a1:#7c3aed;--skx-a2:#c084fc;--skx-a3:#22d3ee;--skx-a-soft:#f4ecff;--skx-glow:rgba(124,58,237,.45)}
.tt td{min-width:120px;vertical-align:top!important}.tt select{font-size:12px;min-height:30px!important;padding:3px 6px;margin-bottom:3px}
.tt .cell{font-size:12.5px;line-height:1.3}.tt .cell small{color:var(--skx-ink-2)}
.ai-out{white-space:pre-wrap;background:#fbfaff;border:1px solid #ece6ff;border-radius:12px;padding:16px;font-size:14px}
.skx-m-exams{--skx-a1:#6d28d9;--skx-a2:#a855f7;--skx-a3:#f472b6;--skx-a-soft:#f3ecff;--skx-glow:rgba(109,40,217,.45)}
.marks-in{width:78px;min-height:36px!important;padding:4px 8px;text-align:right}
.marks-in.bad{border-color:var(--skx-red)!important;background:#ffecef}

/* ---- admission (1.6) ---- */
.adm-thumb{width:42px;height:42px;object-fit:cover;border-radius:8px;border:1px solid var(--skx-border,#e5e7eb);flex:0 0 auto}
.adm-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.25rem .75rem;max-height:220px;overflow:auto;border:1px solid var(--skx-border,#e5e7eb);border-radius:10px;padding:.6rem .8rem}
.badge-doc{display:inline-flex;align-items:center;gap:.2rem;background:var(--skx-soft,#f1f5f9);border-radius:999px;padding:.3rem .75rem;font-size:.85rem}
.badge-doc a{text-decoration:none}
.ai-filled{background:#fef9c3 !important;border-color:#eab308 !important}
.adm-scan{border:1px dashed #a78bfa}
.house-dot{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;vertical-align:middle;margin-right:.3rem;border:1px solid rgba(0,0,0,.15)}
.otp-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
@media print{.no-print{display:none !important}.print-sheet{font-size:12px}.print-sheet .sec-title{border-bottom:1px solid #000}}

/* ===================== v3.2 look: font, sidebar, header search ===================== */
body.skx-ui{font-family:"Plus Jakarta Sans","Source Sans 3","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;font-size:14px;letter-spacing:-.005em}
h1,h2,h3,h4,h5,.box-title,.page-head h1{font-family:"Plus Jakarta Sans","Segoe UI",sans-serif;letter-spacing:-.02em}
.skx-side{background:radial-gradient(120% 60% at 0% 0%,#26306b 0%,rgba(38,48,107,0) 60%),linear-gradient(180deg,#0f1535 0%,#171f4a 55%,#1c2555 100%);box-shadow:4px 0 30px -12px rgba(10,16,48,.6)}
.skx-side .brand{padding:14px 16px}
.skx-side .me{margin:10px 12px 4px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.04)}
.skx-side .me .av{background:linear-gradient(135deg,#c9a961,#f3d98b);color:#0f1535}
.side-find{position:relative;margin:10px 12px 4px}
.side-find i{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#7f89c4;font-size:13px}
.side-find input{width:100%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:#fff;border-radius:11px;padding:8px 10px 8px 32px;font-size:13px;outline:0}
.side-find input::placeholder{color:#7f89c4}.side-find input:focus{border-color:#c9a961;background:rgba(255,255,255,.1)}
.skx-side nav{padding:6px 10px 20px}
.skx-side nav::-webkit-scrollbar{width:6px}.skx-side nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:6px}
.skx-side .nav-link{position:relative;padding:9px 12px;margin:1px 0;font-weight:600;font-size:13.5px;color:#c5cbf0}
.skx-side .nav-link i.ic{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);font-size:15px;flex:none}
.skx-side .nav-link:hover i.ic{background:rgba(255,255,255,.1)}
.skx-side .nav-link.active{background:linear-gradient(90deg,rgba(201,169,97,.22),rgba(201,169,97,.05));color:#fff;box-shadow:none}
.skx-side .nav-link.active:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:#c9a961}
.skx-side .nav-link.active i.ic{background:linear-gradient(135deg,#c9a961,#f3d98b);color:#0f1535}
.skx-side .sub{padding-left:42px;border-left:1px dashed rgba(255,255,255,.1);margin-left:26px;padding-left:12px}
.skx-side .sub a{font-size:13px;padding:6px 10px}
.skx-side .sub a.active{background:rgba(201,169,97,.18);color:#fff}
.skx-side .sub a.active:before{content:"•";color:#c9a961;margin-right:6px}
.side-mini{margin:6px 12px 12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#aab2e6;border-radius:11px;padding:8px 12px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}
.side-mini:hover{color:#fff;background:rgba(255,255,255,.08)}
.skx-side .hit mark{background:#c9a961;color:#0f1535;padding:0 2px;border-radius:3px}
/* mini (icon only) sidebar on desktop */
@media (min-width:992px){
  body.side-mini-on{--side-w:84px}
  body.side-mini-on .skx-side .lbl,body.side-mini-on .skx-side .me div,body.side-mini-on .skx-side .chev,body.side-mini-on .side-find,body.side-mini-on .skx-side .sub{display:none!important}
  body.side-mini-on .skx-side .nav-link{justify-content:center;padding:8px}
  body.side-mini-on .skx-side .me{justify-content:center;padding:8px}
  body.side-mini-on .skx-side .brand img{height:30px}
  body.side-mini-on .side-mini{justify-content:center}
}
/* header */
.skx-top{gap:14px}
.skx-top .school{font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.top-search{position:relative;max-width:560px;margin:0 auto}
.top-search>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8a93bd}
.top-search input{width:100%;border:1px solid var(--skx-line);background:#f4f6fd;border-radius:14px;padding:9px 70px 9px 40px;font-size:13.5px;outline:0;transition:.2s}
.top-search input:focus{background:#fff;border-color:#a5b4fc;box-shadow:0 0 0 4px rgba(99,102,241,.12)}
.top-search kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#fff;color:#8a93bd;border:1px solid var(--skx-line);font-size:11px;font-family:inherit;box-shadow:none}
.top-res{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border-radius:16px;box-shadow:0 24px 60px -20px rgba(15,21,53,.45),0 2px 8px rgba(15,21,53,.08);border:1px solid var(--skx-line);max-height:70vh;overflow:auto;z-index:1060;padding:6px}
.top-res .grp{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:#8a93bd;font-weight:800;padding:8px 10px 4px}
.top-res a.it{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:11px;text-decoration:none;color:var(--skx-ink)}
.top-res a.it:hover,.top-res a.it.on{background:#eef0ff}
.top-res .ic{width:34px;height:34px;border-radius:10px;background:#f1f3fb;display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden}
.top-res .ic img{width:100%;height:100%;object-fit:cover}
.top-res b{font-size:13.5px;display:block}.top-res small{color:#8a93bd}
.top-res .fee{margin-left:auto;font-size:11.5px;font-weight:700;color:#15803d;background:#e6f8ee;border-radius:20px;padding:2px 9px}
.top-res .none{padding:14px;color:#8a93bd;text-align:center}
@media screen and (max-width:767px){.skx-top .school{display:none}.top-search kbd{display:none}.top-search input{padding-right:12px}}

/* =====================================================================
   v3.4 "Aurora" look — themes, sidebar, header, cards, tables, forms
   ===================================================================== */
html[data-theme="aurora"]{--t1:#6366f1;--t2:#a855f7;--t3:#ec4899;--t-soft:#eef0ff;--t-ink:#4338ca}
html[data-theme="ocean"]{--t1:#0284c7;--t2:#6366f1;--t3:#22d3ee;--t-soft:#e6f4ff;--t-ink:#075985}
html[data-theme="emerald"]{--t1:#059669;--t2:#0ea5e9;--t3:#84cc16;--t-soft:#e7f8f1;--t-ink:#065f46}
html[data-theme="sunset"]{--t1:#ea580c;--t2:#e11d48;--t3:#f59e0b;--t-soft:#fff1e8;--t-ink:#9a3412}
html[data-theme="royal"]{--t1:#1e3a8a;--t2:#3b5bdb;--t3:#c9a961;--t-soft:#eaf0ff;--t-ink:#1e3a8a}
html[data-theme]:not([data-theme="colourful"]) body.skx-ui{--skx-a1:var(--t1);--skx-a2:var(--t2);--skx-a3:var(--t3);--skx-a-soft:var(--t-soft);--skx-glow:color-mix(in srgb,var(--t1) 55%,transparent);}
html[data-theme] body.skx-ui{
  --skx-ink:#0f172a;--skx-ink-2:#5b6478;--skx-line:#e7eaf3;--skx-r:18px;
  --skx-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px -12px rgba(15,23,42,.18);--skx-shadow-h:0 2px 4px rgba(15,23,42,.05),0 18px 40px -16px rgba(15,23,42,.28);
  --side-bg1:#0b1026;--side-bg2:#121a3a;--side-ink:#aab3d6;--side-ink-h:#fff;--side-line:rgba(255,255,255,.07)}
html[data-side="light"] body.skx-ui{--side-bg1:#ffffff;--side-bg2:#f7f8fc;--side-ink:#475069;--side-ink-h:#0f172a;--side-line:#eceff6}

/* page */
html[data-theme] .skx-main{background:
  radial-gradient(900px 340px at 100% -120px,color-mix(in srgb,var(--t2) 14%,transparent),transparent 65%),
  radial-gradient(700px 300px at 0% -80px,color-mix(in srgb,var(--t1) 12%,transparent),transparent 62%),
  radial-gradient(#e6e9f2 1px,transparent 1px) 0 0/22px 22px,#f5f6fa}
html[data-theme] .page-head h1{font-size:26px;font-weight:800;letter-spacing:-.03em;background:linear-gradient(90deg,#0f172a,color-mix(in srgb,var(--t1) 70%,#0f172a));-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-theme] .crumb{border:1px solid var(--skx-line);box-shadow:none;background:rgba(255,255,255,.8)}
html[data-theme] .crumb a{color:var(--t1)}

/* sidebar */
html[data-theme] .skx-side{background:
  radial-gradient(420px 260px at 10% -60px,color-mix(in srgb,var(--t2) 38%,transparent),transparent 70%),
  radial-gradient(380px 300px at 110% 30%,color-mix(in srgb,var(--t1) 22%,transparent),transparent 70%),
  radial-gradient(360px 260px at -20% 105%,color-mix(in srgb,var(--t3) 20%,transparent),transparent 70%),
  linear-gradient(180deg,var(--side-bg1),var(--side-bg2));
  color:var(--side-ink);border-right:1px solid var(--side-line);box-shadow:8px 0 40px -24px rgba(8,12,40,.7)}
html[data-side="light"] .skx-side{background:linear-gradient(180deg,#fff,#f8f9fc);box-shadow:4px 0 30px -18px rgba(15,23,42,.25)}
html[data-theme] .skx-side .brand{border-bottom:1px solid var(--side-line)}
html[data-side="light"] .skx-side .brand img{filter:none}
html[data-theme] .skx-side .me{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid var(--side-line);border-radius:16px}
html[data-side="light"] .skx-side .me{background:var(--t-soft);border-color:transparent}
html[data-theme] .skx-side .me .av{background:linear-gradient(135deg,var(--t1),var(--t2) 60%,var(--t3));color:#fff;box-shadow:0 8px 20px -8px var(--skx-glow)}
html[data-theme] .skx-side .me b{color:var(--side-ink-h)} html[data-theme] .skx-side .me small{color:var(--side-ink)}
html[data-theme] .side-find input{background:rgba(255,255,255,.06);border-color:var(--side-line);color:var(--side-ink-h)}
html[data-side="light"] .side-find input{background:#f1f3f9;color:#0f172a}
html[data-theme] .side-find input:focus{border-color:var(--t2)}
html[data-theme] .skx-side .nav-link{color:var(--side-ink);border-radius:12px;padding:8px 10px;gap:12px;transition:background .15s,color .15s}
html[data-theme] .skx-side .nav-link:hover{background:rgba(255,255,255,.06);color:var(--side-ink-h)}
html[data-side="light"] .skx-side .nav-link:hover{background:#f1f3f9}
html[data-theme] .skx-side .nav-link i.ic{width:32px;height:32px;border-radius:10px;color:#fff;background:linear-gradient(135deg,var(--c1,#6366f1),var(--c2,#a855f7));box-shadow:0 6px 14px -8px var(--c1,#6366f1);font-size:15px}
#sideNav>li:nth-child(8n+1){--c1:#6366f1;--c2:#a855f7}#sideNav>li:nth-child(8n+2){--c1:#0ea5e9;--c2:#22d3ee}#sideNav>li:nth-child(8n+3){--c1:#f43f5e;--c2:#fb7185}
#sideNav>li:nth-child(8n+4){--c1:#10b981;--c2:#34d399}#sideNav>li:nth-child(8n+5){--c1:#f59e0b;--c2:#fbbf24}#sideNav>li:nth-child(8n+6){--c1:#8b5cf6;--c2:#ec4899}
#sideNav>li:nth-child(8n+7){--c1:#14b8a6;--c2:#0ea5e9}#sideNav>li:nth-child(8n+8){--c1:#ef4444;--c2:#f97316}
html[data-theme] .skx-side .nav-link.active{background:linear-gradient(90deg,color-mix(in srgb,var(--t1) 38%,transparent),color-mix(in srgb,var(--t2) 14%,transparent));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
html[data-side="light"] .skx-side .nav-link.active{background:linear-gradient(90deg,var(--t-soft),#fff);color:var(--t-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t1) 18%,transparent)}
html[data-theme] .skx-side .nav-link.active:before{background:linear-gradient(180deg,var(--t2),var(--t3));width:4px;left:-10px}
html[data-theme] .skx-side .nav-link.active i.ic{box-shadow:0 0 0 3px rgba(255,255,255,.12),0 8px 18px -6px var(--c1)}
html[data-theme] .skx-side .sub{border-left:1px solid var(--side-line);margin-left:25px;padding-left:12px}
html[data-theme] .skx-side .sub a{color:var(--side-ink);border-radius:10px}
html[data-theme] .skx-side .sub a:hover{color:var(--side-ink-h);background:rgba(255,255,255,.05)}
html[data-side="light"] .skx-side .sub a:hover{background:#f1f3f9}
html[data-theme] .skx-side .sub a.active{color:var(--side-ink-h);background:color-mix(in srgb,var(--t2) 20%,transparent);font-weight:700}
html[data-side="light"] .skx-side .sub a.active{color:var(--t-ink);background:var(--t-soft)}
html[data-theme] .skx-side .sub a.active:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--t3);margin:0 8px 1px 0;box-shadow:0 0 8px var(--t3)}
html[data-theme] .side-mini{background:rgba(255,255,255,.04);border-color:var(--side-line);color:var(--side-ink)}
html[data-side="light"] .side-mini{background:#f1f3f9}

/* header */
html[data-theme] .skx-top{background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(14px);border-bottom:0;box-shadow:0 1px 0 var(--skx-line),0 10px 30px -24px rgba(15,23,42,.35)}
html[data-theme] .skx-top:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--t1),var(--t2),var(--t3));opacity:.85}
html[data-theme] .skx-top .school{font-size:15px;color:#0f172a}
html[data-theme] .skx-top .pill{background:linear-gradient(135deg,var(--t1),var(--t2));color:#fff;box-shadow:0 6px 16px -8px var(--skx-glow)}
html[data-theme] .top-search input{background:#f3f4f8;border-color:transparent;border-radius:14px}
html[data-theme] .top-search input:focus{background:#fff;border-color:color-mix(in srgb,var(--t1) 45%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--t1) 14%,transparent)}
html[data-theme] .skx-top .dropdown>.btn{background:#fff;border-radius:12px;box-shadow:0 0 0 1px var(--skx-line);color:#0f172a}
.theme-row{display:flex;gap:8px;padding:6px 16px 10px}.theme-row button{width:26px;height:26px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #d8dce8;cursor:pointer;padding:0}
.theme-row button.on{box-shadow:0 0 0 2px #0f172a}
.theme-hd{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8a93a8;font-weight:800;padding:6px 16px 0}

/* cards: clean white header with a coloured icon chip and a gradient top line */
html[data-theme] .box{border:1px solid var(--skx-line);border-radius:var(--skx-r);box-shadow:var(--skx-shadow);position:relative}
html[data-theme] .box:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--skx-a1),var(--skx-a2),var(--skx-a3));z-index:2}
html[data-theme] .box-header,html[data-theme] .box.alt>.box-header,html[data-theme] .box.success>.box-header,html[data-theme] .box.warning>.box-header,html[data-theme] .box.danger>.box-header,html[data-theme] .box.info>.box-header{background:#fff;color:#0f172a;padding:15px 20px;border-bottom:1px solid var(--skx-line)}
html[data-theme] .box-header:after{display:none}
html[data-theme] .box-title{color:#0f172a;text-shadow:none;font-size:16.5px;font-weight:800;letter-spacing:-.01em}
html[data-theme] .box-title .ico{background:linear-gradient(135deg,var(--skx-a1),var(--skx-a2));color:#fff;box-shadow:0 8px 18px -8px var(--skx-glow);border-radius:12px}
html[data-theme] .box.success .box-title .ico{background:linear-gradient(135deg,#059669,#34d399)} html[data-theme] .box.warning .box-title .ico{background:linear-gradient(135deg,#d97706,#fbbf24)}
html[data-theme] .box.danger .box-title .ico{background:linear-gradient(135deg,#dc2626,#fb7185)} html[data-theme] .box.info .box-title .ico{background:linear-gradient(135deg,#0284c7,#38bdf8)}
html[data-theme] .box-tools .btn{background:#fff;color:#334155;box-shadow:0 0 0 1px var(--skx-line),0 2px 6px -3px rgba(15,23,42,.2)}
html[data-theme] .box-tools .btn:hover{color:var(--t1);box-shadow:0 0 0 1px color-mix(in srgb,var(--t1) 35%,transparent),0 6px 14px -8px var(--skx-glow)}
html[data-theme] .box-tools .btn-primary,html[data-theme] .box-tools .btn-success{color:#fff}
html[data-theme] .box-footer{background:#fafbfd}

/* tables */
html[data-theme] .table-wrap{box-shadow:none;border:1px solid var(--skx-line);border-radius:14px}
html[data-theme] .table>thead>tr{background:linear-gradient(180deg,#f8f9fc,#f1f3f9)}
html[data-theme] .table>thead>tr>th{color:#64748b;font-size:11.5px;font-weight:800;letter-spacing:.07em;border-bottom:1px solid var(--skx-line);padding:12px}
html[data-theme] .table>tbody>tr:nth-of-type(odd)>td{background:#fff}
html[data-theme] .table>tbody>tr:nth-of-type(even)>td{background:#fbfbfd}
html[data-theme] .table>tbody>tr:hover>td{background:color-mix(in srgb,var(--t1) 6%,#fff)}
html[data-theme] .table>tbody>tr:hover>td:first-child{box-shadow:inset 3px 0 0 var(--t1)}
html[data-theme] .table td a{color:var(--t-ink)}

/* buttons, forms, badges */
html[data-theme] .btn{border-radius:12px;letter-spacing:-.005em}
html[data-theme] .btn-primary{background:linear-gradient(135deg,var(--t1),var(--t2));box-shadow:0 10px 22px -10px var(--skx-glow),inset 0 1px 0 rgba(255,255,255,.2)}
html[data-theme] .btn-primary:hover{background:linear-gradient(135deg,var(--t1),var(--t2));filter:brightness(1.07)}
html[data-theme] .btn-light,html[data-theme] .btn-default{color:#334155;box-shadow:0 0 0 1px var(--skx-line),0 2px 6px -3px rgba(15,23,42,.18)}
html[data-theme] .btn-light:hover{color:var(--t1)}
html[data-theme] .btn-ic{background:var(--t-soft);color:var(--t1);border-radius:10px}
html[data-theme] .btn-ic:hover{background:linear-gradient(135deg,var(--t1),var(--t2));color:#fff}
html[data-theme] .form-control,html[data-theme] .form-select{border:1px solid #dfe3ee;background-color:#fbfcfe;border-radius:12px}
html[data-theme] .form-control:focus,html[data-theme] .form-select:focus{background-color:#fff;border-color:var(--t1);box-shadow:0 0 0 4px color-mix(in srgb,var(--t1) 14%,transparent)}
html[data-theme] .form-check-input:checked{background-color:var(--t1);border-color:var(--t1)}
html[data-theme] .filter-strip{background:linear-gradient(135deg,color-mix(in srgb,var(--t1) 5%,#fff),#fff 60%);border:1px solid var(--skx-line);box-shadow:none}
html[data-theme] .filter-strip .form-label,html[data-theme] .sec-title{color:var(--t-ink)}
html[data-theme] .sec-title{border-bottom-color:var(--t-soft)}
html[data-theme] .bg-soft{background:#f1f3f8!important;color:#475569}
html[data-theme] .bg-ok{background:#dcfce7!important;color:#166534} html[data-theme] .bg-warn{background:#fef3c7!important;color:#92400e}
html[data-theme] .bg-bad{background:#ffe4e6!important;color:#9f1239} html[data-theme] .bg-info{background:#e0f2fe!important;color:#075985}
html[data-theme] .bg-grad{background:linear-gradient(135deg,var(--t1),var(--t2))!important}
html[data-theme] .alert{border-left-width:4px;border-radius:14px;box-shadow:0 6px 18px -14px rgba(15,23,42,.4)}
html[data-theme] .nav-pills .nav-link.active{background:linear-gradient(135deg,var(--t1),var(--t2))}
html[data-theme] .pagination .active .page-link{background:linear-gradient(135deg,var(--t1),var(--t2))}
html[data-theme] .empty i{color:var(--t2)}
html[data-theme] .skx-content a:not(.btn):not(.nav-link):not(.dropdown-item):not(.badge):not(.stat){color:var(--t-ink)}
html[data-theme] .dropdown-menu{border:1px solid var(--skx-line);border-radius:14px;box-shadow:0 20px 50px -20px rgba(15,23,42,.35);padding:6px}
html[data-theme] .dropdown-item{border-radius:10px;padding:8px 12px}
html[data-theme] .dropdown-item:hover{background:var(--t-soft);color:var(--t-ink)}
html[data-theme] .skx-foot{color:#94a3b8}
@media screen and (max-width:991px){html[data-theme] .skx-top:after{height:1px}}
html[data-side="light"] .skx-side .brand{background:linear-gradient(135deg,#0b1026,#1c2455);margin:10px 12px 0;border-radius:14px;border:0}
/* v3.5.2: coloured buttons keep white text on hover */
html[data-theme] .box-tools .btn-primary,html[data-theme] .box-tools .btn-primary:hover,html[data-theme] .box-tools .btn-success,html[data-theme] .box-tools .btn-success:hover,
html[data-theme] .box-tools .btn-danger,html[data-theme] .box-tools .btn-danger:hover,html[data-theme] .btn-primary:hover,html[data-theme] .btn-primary:focus,html[data-theme] .btn-success:hover{color:#fff!important}
html[data-theme] .box-tools .btn-primary:hover{box-shadow:0 10px 22px -8px var(--skx-glow);filter:brightness(1.08)}

/* =====================================================================
   v3.6 sidebar — calm, compact, premium
   ===================================================================== */
html[data-theme] .skx-side{background:radial-gradient(280px 180px at 15% 0%,color-mix(in srgb,var(--t1) 28%,transparent),transparent 75%),linear-gradient(180deg,#12152b 0%,#0d1022 100%);border-right:1px solid rgba(255,255,255,.06);box-shadow:none}
html[data-side="light"] .skx-side{background:radial-gradient(280px 180px at 15% 0%,color-mix(in srgb,var(--t1) 9%,transparent),transparent 75%),#fff;border-right:1px solid #eceff5}
html[data-theme] .skx-side .brand{padding:16px 18px 14px;border-bottom:0}
html[data-theme] .skx-side .me{margin:2px 12px 10px;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
html[data-side="light"] .skx-side .me{background:#f6f7fb;border-color:#eef0f5}
html[data-theme] .skx-side .me .av{width:34px;height:34px;border-radius:10px;font-size:14px}
html[data-theme] .skx-side .me b{font-size:13px;letter-spacing:.01em}html[data-theme] .skx-side .me small{font-size:11px}
html[data-theme] .side-find{margin:0 12px 8px}html[data-theme] .side-find input{height:36px;font-size:12.5px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}
html[data-side="light"] .side-find input{background:#f3f4f8;border-color:#eceff5}
html[data-theme] #sideNav{padding:4px 10px 12px}
html[data-theme] .skx-side .nav-link{font-size:13.5px;font-weight:500;letter-spacing:.005em;padding:8px 10px;margin:1px 0;gap:11px;border-radius:10px;color:#aeb5d6;min-height:38px}
html[data-theme] .skx-side .nav-link i.ic{width:22px;height:22px;background:none!important;box-shadow:none!important;border-radius:0;font-size:16.5px;color:var(--c1,#8b93c9);opacity:.95}
html[data-side="light"] .skx-side .nav-link{color:#475069}
html[data-theme] .skx-side .nav-link:hover{background:rgba(255,255,255,.05);color:#fff}
html[data-side="light"] .skx-side .nav-link:hover{background:#f3f4f8;color:#0f172a}
html[data-theme] .skx-side .nav-link.active,html[data-theme] .skx-side .nav-link[aria-expanded="true"]{background:rgba(255,255,255,.07);color:#fff;box-shadow:none}
html[data-side="light"] .skx-side .nav-link.active,html[data-side="light"] .skx-side .nav-link[aria-expanded="true"]{background:var(--t-soft);color:var(--t-ink)}
html[data-theme] .skx-side .nav-link.active:not([data-bs-toggle]){background:linear-gradient(90deg,var(--t1),color-mix(in srgb,var(--t2) 85%,var(--t1)));color:#fff;box-shadow:0 8px 20px -10px var(--skx-glow)}
html[data-theme] .skx-side .nav-link.active:not([data-bs-toggle]) i.ic{color:#fff}
html[data-theme] .skx-side .nav-link.active:before{display:none}
html[data-theme] .skx-side .nav-link .chev{font-size:10px;opacity:.55}
html[data-theme] .skx-side .sub{margin:2px 0 6px 21px;padding-left:12px;border-left:1px solid rgba(255,255,255,.08)}
html[data-side="light"] .skx-side .sub{border-left-color:#e6e9f2}
html[data-theme] .skx-side .sub a{font-size:12.8px;font-weight:500;padding:6px 10px;border-radius:8px;color:#939bc0;display:block;line-height:1.35}
html[data-side="light"] .skx-side .sub a{color:#5b6478}
html[data-theme] .skx-side .sub a:hover{color:#fff;background:rgba(255,255,255,.04)}
html[data-side="light"] .skx-side .sub a:hover{color:#0f172a;background:#f3f4f8}
html[data-theme] .skx-side .sub a.active{color:#fff;background:color-mix(in srgb,var(--t1) 28%,transparent);font-weight:600}
html[data-side="light"] .skx-side .sub a.active{color:var(--t-ink);background:var(--t-soft)}
html[data-theme] .skx-side .sub a.active:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--t3);margin:0 7px 2px 0;box-shadow:none}
html[data-theme] .side-mini{margin:8px 12px 12px;height:38px;border-radius:10px;font-size:12.5px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);color:#9aa2c6}
html[data-side="light"] .side-mini{background:#f6f7fb;border-color:#eceff5;color:#5b6478}
html[data-theme] .skx-side ::-webkit-scrollbar{width:6px}html[data-theme] .skx-side ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:6px}
html[data-side="light"] .skx-side ::-webkit-scrollbar-thumb{background:#d9dde8}
html[data-theme] .skx-side *{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}

/* =====================================================================
   v3.6.1 sidebar — professional (slate, monochrome icons, sections)
   ===================================================================== */
html[data-theme] .skx-side{background:#0f172a;border-right:1px solid #1e293b;box-shadow:none;display:flex;flex-direction:column}
html[data-side="light"] .skx-side{background:#ffffff;border-right:1px solid #e5e7eb}
html[data-theme] .skx-side .brand{padding:18px 20px 12px;border-bottom:1px solid #1e293b;margin-bottom:6px;background:none}
html[data-side="light"] .skx-side .brand{border-bottom-color:#eef0f4;background:#0f172a;margin:0 0 6px;border-radius:0}
html[data-theme] .skx-side nav{flex:1;min-height:0;overflow-y:auto}
html[data-theme] .side-find{margin:4px 14px 6px}
html[data-theme] .side-find input{height:34px;font-size:12.5px;border-radius:8px;background:#1e293b;border:1px solid #1e293b;color:#e2e8f0}
html[data-side="light"] .side-find input{background:#f1f5f9;border-color:#f1f5f9;color:#0f172a}
html[data-theme] #sideNav{padding:0 12px 10px}
html[data-theme] .skx-side .nav-head{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#64748b;padding:16px 10px 6px;list-style:none}
html[data-theme] .skx-side .nav-link{font-size:13.5px;font-weight:500;letter-spacing:0;color:#cbd5e1;padding:7px 10px;min-height:36px;margin:1px 0;gap:12px;border-radius:6px;box-shadow:none!important;position:relative}
html[data-side="light"] .skx-side .nav-link{color:#334155}
html[data-theme] .skx-side .nav-link i.ic{width:18px;height:18px;font-size:16px;color:#94a3b8!important;background:none!important;box-shadow:none!important;opacity:1}
html[data-side="light"] .skx-side .nav-link i.ic{color:#64748b!important}
html[data-theme] .skx-side .nav-link:hover{background:#1e293b;color:#f8fafc}
html[data-side="light"] .skx-side .nav-link:hover{background:#f1f5f9;color:#0f172a}
html[data-theme] .skx-side .nav-link:hover i.ic{color:#e2e8f0!important}
html[data-side="light"] .skx-side .nav-link:hover i.ic{color:#0f172a!important}
html[data-theme] .skx-side .nav-link.active,html[data-theme] .skx-side .nav-link[aria-expanded="true"]{background:transparent;color:#f8fafc}
html[data-side="light"] .skx-side .nav-link.active,html[data-side="light"] .skx-side .nav-link[aria-expanded="true"]{background:transparent;color:#0f172a;font-weight:600}
html[data-theme] .skx-side .nav-link[aria-expanded="true"] i.ic{color:#e2e8f0!important}
html[data-side="light"] .skx-side .nav-link[aria-expanded="true"] i.ic{color:#0f172a!important}
html[data-theme] .skx-side .nav-link.active:not([data-bs-toggle]){background:#1e293b;color:#fff;font-weight:600;box-shadow:none}
html[data-side="light"] .skx-side .nav-link.active:not([data-bs-toggle]){background:var(--t-soft);color:var(--t-ink)}
html[data-theme] .skx-side .nav-link.active:not([data-bs-toggle]) i.ic{color:var(--t3)!important}
html[data-side="light"] .skx-side .nav-link.active:not([data-bs-toggle]) i.ic{color:var(--t1)!important}
html[data-theme] .skx-side .nav-link.active:not([data-bs-toggle]):before{content:"";display:block;position:absolute;left:-12px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--t1)}
html[data-theme] .skx-side .nav-link .chev{font-size:10px;opacity:.5}
html[data-theme] .skx-side .sub{margin:0 0 4px 0;padding:2px 0 2px 30px;border-left:0}
html[data-theme] .skx-side .sub a{font-size:13px;font-weight:400;color:#94a3b8;padding:6px 10px;border-radius:6px;line-height:1.35;position:relative}
html[data-side="light"] .skx-side .sub a{color:#64748b}
html[data-theme] .skx-side .sub a:hover{background:#1e293b;color:#f8fafc}
html[data-side="light"] .skx-side .sub a:hover{background:#f1f5f9;color:#0f172a}
html[data-theme] .skx-side .sub a.active{background:#1e293b;color:#fff;font-weight:600}
html[data-side="light"] .skx-side .sub a.active{background:var(--t-soft);color:var(--t-ink)}
html[data-theme] .skx-side .sub a.active:before{content:"";position:absolute;left:-12px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--t1);margin:0;box-shadow:none;display:block}
html[data-theme] .skx-side .me{margin:0;padding:12px 16px;border-radius:0;border:0;border-top:1px solid #1e293b;background:transparent;display:flex;align-items:center;gap:10px}
html[data-side="light"] .skx-side .me{border-top-color:#eef0f4;background:transparent}
html[data-theme] .skx-side .me .av{width:32px;height:32px;border-radius:50%;font-size:13px;background:var(--t1);box-shadow:none}
html[data-theme] .skx-side .me b{font-size:13px;color:#f1f5f9}html[data-side="light"] .skx-side .me b{color:#0f172a}
html[data-theme] .skx-side .me small{font-size:11.5px;color:#94a3b8}
html[data-theme] .side-mini{margin:0 14px 12px;height:34px;border-radius:8px;font-size:12.5px;background:transparent;border:1px solid #1e293b;color:#94a3b8}
html[data-side="light"] .side-mini{border-color:#e5e7eb;color:#64748b}
html[data-theme] .side-mini:hover{background:#1e293b;color:#f8fafc}
body.side-mini-on .skx-side .nav-head{display:none}
#sideNav.finding .nav-head{display:none}
html[data-theme] .skx-side .sub a.active:before{display:none!important;content:none}

/* =====================================================================
   v3.6.2 sidebar — light & modern (default)
   ===================================================================== */
.skx-side .brand .lg-lt{display:none}html[data-side="light"] .skx-side .brand .lg-dk{display:none}html[data-side="light"] .skx-side .brand .lg-lt{display:inline-block}
html[data-side="light"] .skx-side{background:linear-gradient(180deg,#ffffff 0%,#fbfbff 60%,#f7f8fd 100%);border-right:1px solid #eceef5;color:#3f4659}
html[data-side="light"] .skx-side .brand{background:transparent;border-bottom:1px solid #f0f1f7;margin:0 0 6px;padding:18px 20px 14px}
html[data-side="light"] .side-find input{background:#f4f5fa;border:1px solid #eef0f6;color:#111827}
html[data-side="light"] .side-find input:focus{background:#fff;border-color:color-mix(in srgb,var(--t1) 45%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--t1) 12%,transparent)}
html[data-side="light"] .skx-side .nav-head{color:#9aa3b5}
html[data-side="light"] .skx-side .nav-link{color:#3f4659;font-weight:500;border-radius:10px}
html[data-side="light"] .skx-side .nav-link i.ic{color:#8a93a8!important;font-size:16.5px}
html[data-side="light"] .skx-side .nav-link:hover{background:#f3f4fb;color:#111827}
html[data-side="light"] .skx-side .nav-link:hover i.ic{color:var(--t1)!important}
html[data-side="light"] .skx-side .nav-link[aria-expanded="true"]{background:transparent;color:#111827;font-weight:600}
html[data-side="light"] .skx-side .nav-link[aria-expanded="true"] i.ic{color:var(--t1)!important}
html[data-side="light"] .skx-side .nav-link.active:not([data-bs-toggle]){background:linear-gradient(135deg,var(--t1),var(--t2));color:#fff;font-weight:600;box-shadow:0 8px 18px -10px var(--skx-glow)}
html[data-side="light"] .skx-side .nav-link.active:not([data-bs-toggle]) i.ic{color:#fff!important}
html[data-side="light"] .skx-side .nav-link.active:not([data-bs-toggle]):before{display:none}
html[data-side="light"] .skx-side .sub{padding-left:30px;margin-left:0;border-left:0;position:relative}
html[data-side="light"] .skx-side .sub:before{content:"";position:absolute;left:20px;top:4px;bottom:8px;width:1px;background:#e7e9f2}
html[data-side="light"] .skx-side .sub a{color:#667085;font-size:13px;border-radius:8px}
html[data-side="light"] .skx-side .sub a:hover{background:#f3f4fb;color:#111827}
html[data-side="light"] .skx-side .sub a.active{background:color-mix(in srgb,var(--t1) 10%,#fff);color:var(--t-ink);font-weight:600}
html[data-side="light"] .skx-side .me{border-top:1px solid #eef0f6;background:transparent}
html[data-side="light"] .skx-side .me .av{background:linear-gradient(135deg,var(--t1),var(--t2));color:#fff}
html[data-side="light"] .skx-side .me b{color:#111827}html[data-side="light"] .skx-side .me small{color:#8a93a8}
html[data-side="light"] .side-mini{background:#fff;border:1px solid #eceef5;color:#667085}
html[data-side="light"] .side-mini:hover{background:#f3f4fb;color:#111827}
html[data-side="light"] .skx-side ::-webkit-scrollbar-thumb{background:#e3e6ef}

/* v3.6.3 menu colours */
.side-row button{border-radius:8px!important;width:30px!important;height:30px!important;box-shadow:0 0 0 1px #d8dce8!important}.side-row button.on{box-shadow:0 0 0 2px #0f172a!important}
html[data-sidebg="tint"] .skx-side{background:linear-gradient(180deg,color-mix(in srgb,var(--t1) 6%,#fff) 0%,color-mix(in srgb,var(--t2) 10%,#fff) 100%);border-right-color:color-mix(in srgb,var(--t1) 12%,#fff)}
html[data-sidebg="tint"] .skx-side .brand{border-bottom-color:color-mix(in srgb,var(--t1) 10%,#fff)}
html[data-sidebg="tint"] .side-find input,html[data-sidebg="tint"] .side-mini{background:rgba(255,255,255,.75)}
html[data-sidebg="tint"] .skx-side .nav-link:hover,html[data-sidebg="tint"] .skx-side .sub a:hover{background:rgba(255,255,255,.7)}
html[data-sidebg="grey"] .skx-side{background:#f1f3f7;border-right-color:#e4e7ee}
html[data-sidebg="grey"] .side-find input,html[data-sidebg="grey"] .side-mini{background:#fff}
html[data-sidebg="grey"] .skx-side .nav-link:hover,html[data-sidebg="grey"] .skx-side .sub a:hover{background:#fff}
html[data-sidebg="midnight"] .skx-side{background:#15204d;border-right-color:#1f2c62}
html[data-sidebg="brand"] .skx-side{background:linear-gradient(180deg,color-mix(in srgb,var(--t1) 90%,#0b1026) 0%,color-mix(in srgb,var(--t2) 70%,#0b1026) 100%);border-right-color:transparent}
html[data-sidebg="slate"] .skx-side{background:#111827;border-right-color:#1f2937}
html[data-sidebg="midnight"] .skx-side .brand,html[data-sidebg="brand"] .skx-side .brand,html[data-sidebg="midnight"] .skx-side .me,html[data-sidebg="brand"] .skx-side .me{border-color:rgba(255,255,255,.1)}
html[data-sidebg="midnight"] .side-find input,html[data-sidebg="brand"] .side-find input{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12);color:#fff}
html[data-sidebg="midnight"] .side-find input::placeholder,html[data-sidebg="brand"] .side-find input::placeholder{color:rgba(255,255,255,.65)}
html[data-sidebg="midnight"] .skx-side .nav-head,html[data-sidebg="brand"] .skx-side .nav-head{color:rgba(255,255,255,.55)}
html[data-sidebg="midnight"] .skx-side .nav-link,html[data-sidebg="brand"] .skx-side .nav-link{color:rgba(255,255,255,.86)}
html[data-sidebg="midnight"] .skx-side .nav-link i.ic,html[data-sidebg="brand"] .skx-side .nav-link i.ic{color:rgba(255,255,255,.7)!important}
html[data-sidebg="midnight"] .skx-side .nav-link:hover,html[data-sidebg="brand"] .skx-side .nav-link:hover,html[data-sidebg="midnight"] .skx-side .sub a:hover,html[data-sidebg="brand"] .skx-side .sub a:hover{background:rgba(255,255,255,.1);color:#fff}
html[data-sidebg="midnight"] .skx-side .nav-link.active:not([data-bs-toggle]),html[data-sidebg="brand"] .skx-side .nav-link.active:not([data-bs-toggle]),html[data-sidebg="midnight"] .skx-side .sub a.active,html[data-sidebg="brand"] .skx-side .sub a.active{background:rgba(255,255,255,.18);color:#fff}
html[data-sidebg="brand"] .skx-side .nav-link.active:not([data-bs-toggle]) i.ic,html[data-sidebg="midnight"] .skx-side .nav-link.active:not([data-bs-toggle]) i.ic{color:#fff!important}
html[data-sidebg="brand"] .skx-side .nav-link.active:not([data-bs-toggle]):before,html[data-sidebg="midnight"] .skx-side .nav-link.active:not([data-bs-toggle]):before{background:#fff}
html[data-sidebg="midnight"] .skx-side .sub a,html[data-sidebg="brand"] .skx-side .sub a{color:rgba(255,255,255,.72)}
html[data-sidebg="midnight"] .skx-side .me b,html[data-sidebg="brand"] .skx-side .me b{color:#fff}html[data-sidebg="midnight"] .skx-side .me small,html[data-sidebg="brand"] .skx-side .me small{color:rgba(255,255,255,.65)}
html[data-sidebg="midnight"] .side-mini,html[data-sidebg="brand"] .side-mini{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.8)}
html[data-sidebg="brand"] .skx-side .me .av{background:rgba(255,255,255,.2)}

/* =====================================================================
   v3.7 menu style — floating panel, icon tiles, smooth pills + mobile
   ===================================================================== */
@media (min-width: 992px){
  html[data-theme] .skx-side{inset:12px auto 12px 12px;height:auto;border-radius:22px;border:1px solid rgba(15,23,42,.06);box-shadow:0 1px 2px rgba(15,23,42,.04),0 18px 40px -22px rgba(15,23,42,.35);overflow:hidden}
  html[data-sidebg="brand"] .skx-side,html[data-sidebg="midnight"] .skx-side,html[data-sidebg="slate"] .skx-side{border-color:transparent;box-shadow:0 20px 44px -20px rgba(15,23,42,.55)}
  html[data-theme] .skx-main{margin-left:calc(var(--side-w) + 24px)}
  html[data-theme] .skx-top{border-radius:0 0 0 0}
}
/* icon tiles */
html[data-theme] .skx-side .nav-link{min-height:42px;padding:5px 8px;gap:11px;border-radius:12px;font-size:13.5px}
html[data-theme] .skx-side .nav-link i.ic{width:32px!important;height:32px!important;border-radius:10px!important;display:inline-flex;align-items:center;justify-content:center;font-size:15.5px;flex:none;transition:background .15s,color .15s}
html[data-side="light"] .skx-side .nav-link i.ic{background:color-mix(in srgb,var(--t1) 8%,#fff)!important;color:var(--t1)!important}
html[data-side="dark"] .skx-side .nav-link i.ic,html[data-theme]:not([data-side="light"]) .skx-side .nav-link i.ic{background:rgba(255,255,255,.08)!important;color:rgba(255,255,255,.85)!important}
html[data-side="light"] .skx-side .nav-link:hover{background:color-mix(in srgb,var(--t1) 5%,#fff)}
html[data-side="light"] .skx-side .nav-link:hover i.ic{background:color-mix(in srgb,var(--t1) 14%,#fff)!important}
/* active page: full gradient pill, icon tile turns glassy */
html[data-theme] .skx-side .nav-link.active:not([data-bs-toggle]){background:linear-gradient(135deg,var(--t1),var(--t2))!important;color:#fff!important;box-shadow:0 10px 22px -12px var(--skx-glow)!important}
html[data-theme] .skx-side .nav-link.active:not([data-bs-toggle]) i.ic{background:rgba(255,255,255,.22)!important;color:#fff!important}
html[data-theme] .skx-side .nav-link.active:not([data-bs-toggle]):before{display:none!important}
html[data-sidebg="brand"] .skx-side .nav-link.active:not([data-bs-toggle]){background:#fff!important;color:var(--t-ink)!important}
html[data-sidebg="brand"] .skx-side .nav-link.active:not([data-bs-toggle]) i.ic{background:color-mix(in srgb,var(--t1) 12%,#fff)!important;color:var(--t1)!important}
/* open group: soft card around the group */
html[data-theme] .skx-side #sideNav > li:has(> .nav-link[aria-expanded="true"]){border-radius:14px;padding:2px 0 4px}
html[data-side="light"] .skx-side #sideNav > li:has(> .nav-link[aria-expanded="true"]){background:color-mix(in srgb,var(--t1) 4%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t1) 8%,#fff)}
html[data-theme]:not([data-side="light"]) .skx-side #sideNav > li:has(> .nav-link[aria-expanded="true"]){background:rgba(255,255,255,.05)}
html[data-side="light"] .skx-side .nav-link[aria-expanded="true"] i.ic{background:linear-gradient(135deg,var(--t1),var(--t2))!important;color:#fff!important}
html[data-theme] .skx-side .sub{padding:0 6px 0 50px!important;margin:0!important}
html[data-theme] .skx-side .sub:before{display:none!important}
html[data-theme] .skx-side .sub a{padding:6px 10px;border-radius:9px;font-size:13px;position:relative}
html[data-theme] .skx-side .sub a:after{content:"";position:absolute;left:-14px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:currentColor;opacity:.25}
html[data-theme] .skx-side .sub a.active:after{opacity:1;background:var(--t1);box-shadow:0 0 0 3px color-mix(in srgb,var(--t1) 20%,transparent)}
html[data-theme]:not([data-side="light"]) .skx-side .sub a.active:after{background:#fff}
html[data-theme] .skx-side .nav-head{padding:14px 12px 6px;font-size:10.5px;letter-spacing:.1em}
html[data-theme] .skx-side .me{margin:6px 10px 8px!important;border-radius:14px!important;border:1px solid rgba(15,23,42,.06)!important;padding:9px 10px!important}
html[data-side="light"] .skx-side .me{background:color-mix(in srgb,var(--t1) 4%,#fff)!important}
html[data-theme]:not([data-side="light"]) .skx-side .me{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.08)!important}
html[data-theme] .side-mini{margin:0 10px 10px!important;border-radius:12px!important}
body.side-mini-on .skx-side .nav-link i.ic{margin:0}
body.side-mini-on .skx-side #sideNav > li:has(> .nav-link[aria-expanded="true"]){background:none;box-shadow:none}

/* ---------- mobile ---------- */
.skx-bnav{display:none}
@media screen and (max-width:991px){
  html[data-theme] .skx-side{inset:0 auto 0 0;width:min(84vw,300px);border-radius:0 22px 22px 0;transform:translateX(-105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:0 24px 60px -10px rgba(15,23,42,.45);z-index:1060}
  body.side-open .skx-side{transform:none}
  body.side-open .skx-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(2px);z-index:1055}
  body.side-open{overflow:hidden}
  .skx-side .side-close{display:flex!important}
  html[data-theme] .skx-main{margin-left:0}
  .skx-content{padding-bottom:88px!important}
  .skx-bnav{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:1050;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(14px);border:1px solid rgba(15,23,42,.08);border-radius:20px;box-shadow:0 14px 34px -14px rgba(15,23,42,.35);padding:6px;justify-content:space-around}
  .skx-bnav a,.skx-bnav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:14px;color:#64748b;font-size:10.5px;font-weight:600;text-decoration:none;background:none;border:0}
  .skx-bnav i{font-size:19px;line-height:1}
  .skx-bnav .on{color:var(--t1);background:color-mix(in srgb,var(--t1) 10%,#fff)}
  .skx-bnav .mid i{width:42px;height:42px;margin-top:-20px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--t1),var(--t2));color:#fff;box-shadow:0 10px 20px -8px var(--skx-glow)}
  html[data-theme] .skx-top{padding:8px 12px}
  html[data-theme] .skx-top .school{font-size:14px;max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .top-search{display:none!important}
  .skx-top .pill{display:none}
  html[data-theme] .page-head h1{font-size:21px}
  html[data-theme] .box{border-radius:16px}
  .table-wrap{-webkit-overflow-scrolling:touch}
}
.skx-side .side-close{display:none;position:absolute;top:14px;right:12px;width:34px;height:34px;border-radius:10px;border:0;align-items:center;justify-content:center;background:rgba(15,23,42,.06);color:inherit;font-size:18px;z-index:2}
html[data-theme]:not([data-side="light"]) .skx-side .side-close{background:rgba(255,255,255,.1);color:#fff}
@media screen and (max-width:991px){.skx-side .side-mini{display:none!important}}

/* =====================================================================
   v3.7.2 "Colourful" theme (default) — like the school ERP:
   every module keeps its own colour, gradient top bar
   ===================================================================== */
html[data-theme="colourful"]{--t1:#4f46e5;--t2:#7c3aed;--t3:#db2777;--t-soft:#eef0ff;--t-ink:#3730a3}
html[data-theme="colourful"] body.skx-ui{--t1:var(--skx-a1);--t2:var(--skx-a2);--t3:var(--skx-a3);--t-soft:var(--skx-a-soft);--t-ink:var(--skx-a1)}
html[data-theme="colourful"] .skx-top{background:linear-gradient(100deg,#10203f 0%,#3730a3 42%,#7c3aed 78%,#db2777 120%)!important;border:0;box-shadow:0 8px 24px -14px rgba(16,20,60,.8)}
html[data-theme="colourful"] .skx-top:after{display:none}
html[data-theme="colourful"] .skx-top .school,html[data-theme="colourful"] .skx-top .burger{color:#fff}
html[data-theme="colourful"] .top-search input{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff}
html[data-theme="colourful"] .top-search input::placeholder{color:rgba(255,255,255,.75)}
html[data-theme="colourful"] .top-search i,html[data-theme="colourful"] .top-search kbd,html[data-theme="colourful"] .top-search .kbd{color:rgba(255,255,255,.8)!important;border-color:rgba(255,255,255,.3)!important;background:transparent!important}
html[data-theme="colourful"] .top-search input:focus{background:#fff;color:#0f172a;border-color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
html[data-theme="colourful"] .skx-top .pill{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff;box-shadow:none}
html[data-theme="colourful"] .skx-top .dropdown>.btn{background:rgba(255,255,255,.14);box-shadow:0 0 0 1px rgba(255,255,255,.25);color:#fff}
html[data-theme="colourful"] .skx-side .nav-link.active:not([data-bs-toggle]){background:linear-gradient(135deg,#4f46e5,#7c3aed)!important}
html[data-theme="colourful"][data-side="light"] .skx-side .nav-link i.ic{background:color-mix(in srgb,var(--c1,#4f46e5) 12%,#fff)!important;color:var(--c1,#4f46e5)!important}
html[data-theme="colourful"][data-side="light"] .skx-side .nav-link[aria-expanded="true"] i.ic{background:linear-gradient(135deg,var(--c1,#4f46e5),var(--c2,#7c3aed))!important;color:#fff!important}
html[data-theme="colourful"] .skx-side .nav-link.active:not([data-bs-toggle]) i.ic{background:rgba(255,255,255,.22)!important;color:#fff!important}

/* =====================================================================
   v3.9.1 app feel — parent app home, app bar, install sheet, phone polish
   ===================================================================== */
.papp{margin-bottom:16px}
.papp-hero{display:flex;gap:14px;align-items:center;padding:18px;border-radius:22px;color:#fff;background:radial-gradient(420px 200px at 90% -40px,rgba(236,72,153,.55),transparent 70%),linear-gradient(135deg,#1e1b4b,#4338ca 60%,#7c3aed);box-shadow:0 18px 40px -20px rgba(67,56,202,.8)}
.papp-hero img{width:64px;height:64px;border-radius:18px;object-fit:cover;border:3px solid rgba(255,255,255,.35);background:#fff}
.papp-hi{font-size:13px;opacity:.85}.papp-name{font-size:21px;font-weight:800;line-height:1.15}.papp-sub{font-size:12.5px;opacity:.85;margin-top:2px}
.papp-stats{display:flex;gap:10px;margin:-14px 12px 0;position:relative;z-index:2}
.papp-stats>div,.papp-stats>a{flex:1;background:#fff;border-radius:16px;padding:10px 12px;box-shadow:0 10px 26px -14px rgba(15,23,42,.35);border:1px solid #eef0f6;text-decoration:none}
.papp-stats span{display:block;font-size:11px;color:#64748b;font-weight:600}.papp-stats b{font-size:18px;color:#0f172a}.papp-stats b.bad{color:#dc2626}.papp-stats b.ok{color:#16a34a}
.papp-stats .papp-pay{display:flex;align-items:center;justify-content:center;gap:6px;font-weight:700;color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);border:0}
.papp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
@media (min-width:768px){.papp-grid{grid-template-columns:repeat(8,1fr)}}
.papp-grid a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:18px;background:#fff;border:1px solid #eef0f6;text-decoration:none;color:#334155;font-size:11.5px;font-weight:600;text-align:center;transition:transform .12s}
.papp-grid a:active{transform:scale(.95)}
.papp-grid i{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;background:linear-gradient(135deg,var(--tc),color-mix(in srgb,var(--tc) 55%,#fff));box-shadow:0 8px 16px -8px var(--tc)}
.papp + .box .box-tools{display:none}
/* app bar parts (phones / installed app) */
.skx-top .app-back,.skx-top .app-title{display:none}
.app-sheet{position:fixed;left:10px;right:10px;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:1070;animation:sheetUp .35s cubic-bezier(.2,.8,.2,1)}
.app-sheet-in{display:flex;gap:10px;align-items:center;background:#fff;border-radius:18px;padding:12px;box-shadow:0 20px 50px -18px rgba(15,23,42,.5);border:1px solid #eef0f6}
.app-sheet img{width:44px;height:44px;border-radius:12px}
@keyframes sheetUp{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
@media screen and (max-width:991px), (display-mode: standalone){
  html,body{overscroll-behavior-y:contain}
  body{-webkit-tap-highlight-color:transparent;background:#f4f5fb}
  html[data-theme] .skx-main{background:#f4f5fb!important}
  .skx-top .school{display:none!important}
  .skx-top .app-title{display:block;flex:1;min-width:0;font-weight:800;font-size:16.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .skx-top .app-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;font-size:18px;color:inherit;text-decoration:none;background:rgba(15,23,42,.05)}
  html[data-theme="colourful"] .skx-top .app-back{background:rgba(255,255,255,.14);color:#fff}html[data-theme="colourful"] .skx-top .app-title{color:#fff}
  html[data-theme] .skx-top{position:sticky;top:0;z-index:1040;padding-top:calc(8px + env(safe-area-inset-top,0px))!important;min-height:56px}
  .page-head{display:none!important}
  .skx-content{animation:pageIn .22s ease-out}
  @keyframes pageIn{from{opacity:.001;transform:translateY(6px)}to{opacity:1;transform:none}}
  html[data-theme] .box{border-radius:18px;box-shadow:0 6px 20px -14px rgba(15,23,42,.3);border-color:#eef0f6}
  html[data-theme] .box:before{display:none}
  html[data-theme] .box-header{padding:12px 14px!important}
  .btn,.form-control,.form-select{min-height:44px}
  .btn-sm,.btn-ic{min-height:36px}
  .skx-bnav a,.skx-bnav button{user-select:none;-webkit-user-select:none}
  .skx-foot{display:none}
  .alert{border-radius:14px}
  .papp-hero{border-radius:0 0 26px 26px;margin:-14px -10px 0;padding:22px 18px 30px}
}
@media (display-mode: standalone){ .burger{display:none!important} #appInstall,#appSheet{display:none!important} }
html[data-theme] .skx-content .papp-grid a{color:#334155!important}
html[data-theme="colourful"] .skx-top .burger{background:rgba(255,255,255,.14)!important;color:#fff!important;border:0!important}
@media screen and (max-width:991px){.skx-top .burger{width:36px;height:36px;border-radius:12px}}

/* =====================================================================
   v3.9.6 user app — app-style student portal
   ===================================================================== */
.skx-m-portal .ua-old{display:none}.skx-m-portal .ua-old:target{display:block;margin-top:14px}
.uapp{--navy:#132a55;--navy2:#1d4e89;--gold:#d4a017;font-family:"Poppins","Plus Jakarta Sans",system-ui,sans-serif}
.ua-sess{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:0 0 18px 18px;background:linear-gradient(90deg,#16325f,#23558e);color:#fff;margin-bottom:14px}
.ua-sess small{display:block;font-size:10.5px;letter-spacing:.12em;font-weight:700;opacity:.85}.ua-sess b{font-size:17px}
.ua-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.18);color:var(--gold);font-size:18px}
.ua-lock{margin-left:auto;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);font-size:12px}
.ua-hero{display:flex;gap:18px;align-items:center;padding:22px;border-radius:20px;color:#fff;margin-bottom:16px;background:radial-gradient(360px 200px at 85% 20%,rgba(212,160,23,.35),transparent 70%),linear-gradient(120deg,#11285a 0%,#1d4e89 60%,#3f6e7a 100%);box-shadow:0 14px 30px -18px rgba(17,40,90,.9)}
.ua-hero img{width:92px;height:92px;border-radius:50%;object-fit:cover;border:5px solid var(--gold);background:#fff;flex:none}
.ua-greet{display:inline-flex;gap:6px;align-items:center;font-size:11px;font-weight:700;letter-spacing:.06em;background:rgba(255,255,255,.14);padding:4px 12px;border-radius:30px}.ua-greet i{color:#f97316}
.ua-hero h2{font-size:21px;font-weight:700;margin:8px 0 2px}.ua-hero h2 span{color:#f5b301}.ua-hero p{margin:0;font-size:13px;opacity:.9}.ua-when{font-size:12.5px;margin-top:8px;font-weight:600}.ua-when i{color:var(--gold)}
.ua-card{background:#fff;border-radius:18px;padding:16px;box-shadow:0 6px 20px -14px rgba(15,23,42,.35);margin-bottom:16px}
.ua-title{font-weight:700;font-size:14.5px;color:#0f1f3d;border-left:4px solid var(--gold);padding-left:10px;margin-bottom:14px;border-bottom:1px solid #eef0f4;padding-bottom:10px}.ua-title i{color:var(--gold);margin-right:6px}
.ua-qa{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.ua-qa a{border-radius:14px;padding:14px 6px 12px;color:#fff!important;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;box-shadow:0 8px 16px -10px rgba(0,0,0,.45);transition:transform .15s}
.ua-qa a:active,.ua-qa a:hover{transform:translateY(-2px)}.ua-qa span{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:20px}.ua-qa b{font-size:12.5px;font-weight:700;line-height:1.2}
.g1{background:linear-gradient(135deg,#16a34a,#22c55e)}.g2{background:linear-gradient(135deg,#be185d,#ec4899)}.g3{background:linear-gradient(135deg,#d97706,#f59e0b)}.g4{background:linear-gradient(135deg,#dc2626,#ef4444)}.g5{background:linear-gradient(135deg,#059669,#10b981)}
.g6{background:linear-gradient(135deg,#7c3aed,#a855f7)}.g7{background:linear-gradient(135deg,#db2777,#f472b6)}.g8{background:linear-gradient(135deg,#0891b2,#06b6d4)}.g9{background:linear-gradient(135deg,#0f766e,#14b8a6)}.g10{background:linear-gradient(135deg,#15803d,#4ade80)}
.g11{background:linear-gradient(135deg,#ea580c,#fb923c)}.g12{background:linear-gradient(135deg,#9333ea,#c084fc)}.g13{background:linear-gradient(135deg,#b91c1c,#f87171)}.g14{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}
.ua-box{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px -14px rgba(15,23,42,.35);margin-bottom:16px}
.ua-bh{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(90deg,#132a55,#1d4e89);color:#fff}
.ua-bh>span{font-weight:700;font-size:15px;border-left:4px solid var(--gold);padding-left:10px}.ua-bh>span i{color:var(--gold);margin-right:6px}
.ua-pay{background:var(--gold);color:#132a55!important;font-weight:800;font-size:12px;letter-spacing:.06em;padding:7px 14px;border-radius:10px;text-decoration:none;box-shadow:0 6px 14px -6px rgba(212,160,23,.9)}
.ua-all{background:var(--gold);color:#132a55!important;font-weight:800;font-size:12.5px;padding:5px 14px;border-radius:30px;text-decoration:none}
.ua-badge{background:var(--gold);color:#132a55;font-style:normal;font-weight:800;font-size:11px;padding:3px 10px;border-radius:30px}
.ua-fees{display:grid;grid-template-columns:repeat(3,1fr)}.ua-fees>div{padding:16px 18px;border-right:1px solid #eef0f4}.ua-fees>div:last-child{border-right:0}
.ua-fees small{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;color:#475569;margin-top:8px}.ua-fees b{display:block;font-size:22px;color:#0f1f3d;font-weight:800}
.ua-fees em{display:block;font-style:normal;font-size:12px;color:#64748b}.ua-fees strong{display:block;font-size:12px;color:#1d4e89;margin-top:4px}
.ua-fi{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px}.ua-fi.ok{background:#e8f7ee;color:#16a34a}.ua-fi.bad{background:#fdecec;color:#dc2626}.ua-fi.old{background:#f3e8ff;color:#9333ea}
.ua-chip{display:inline-block;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:6px;margin:4px 0}.ua-chip.ok{background:#dcfce7;color:#15803d}.ua-chip.bad{background:#fee2e2;color:#b91c1c}
.ua-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.ua-stats a{display:flex;gap:12px;align-items:center;background:#fff;border-radius:16px;padding:14px;text-decoration:none;color:#0f1f3d!important;box-shadow:0 6px 20px -14px rgba(15,23,42,.35);border-left:4px solid}
.ua-stats small{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;color:#475569}.ua-stats b{font-size:22px;font-weight:800}.ua-stats b i{font-size:13px;font-style:normal}.ua-stats em{display:block;font-size:11.5px;color:#64748b;font-style:normal}
.ua-stats span{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:19px;flex:none}
.s-g{border-color:#16a34a!important}.s-g span{background:#e8f7ee;color:#16a34a}.s-r{border-color:#dc2626!important}.s-r span{background:#fdecec;color:#dc2626}.s-b{border-color:#2563eb!important}.s-b span{background:#e8efff;color:#2563eb}.s-v{border-color:#9333ea!important}.s-v span{background:#f3e8ff;color:#9333ea}
.ua-body{padding:8px 16px}.ua-prog>div{padding:8px 0;font-size:13px;font-weight:600;color:#0f1f3d}.ua-prog i{display:block;height:6px;border-radius:6px;background:#eef0f4;margin-top:6px;overflow:hidden}.ua-prog u{display:block;height:100%;border-radius:6px}
.ua-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px dashed #e5e7eb;text-decoration:none;color:#0f1f3d!important}.ua-row:last-child{border-bottom:0}
.ua-row b{display:block;font-size:14.5px;font-weight:700}.ua-row em{display:block;font-size:12.5px;color:#64748b;font-style:normal}.ua-row em i{color:#94a3b8}
.ua-ri{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}.c-r{background:#fdecec;color:#dc2626}.c-v{background:#f3e8ff;color:#9333ea}.c-b{background:#e8efff;color:#2563eb}
.ua-st{font-size:11px;font-weight:800;padding:2px 8px;border-radius:6px;margin-left:6px;vertical-align:middle}.ua-st.p{background:#fee2e2;color:#dc2626}.ua-st.e{background:#dbeafe;color:#1d4ed8}
.ua-empty{text-align:center;color:#94a3b8;padding:28px 0}.ua-empty i{display:block;font-size:40px;margin-bottom:6px;color:#cbd5e1}
@media screen and (max-width:767px){.ua-qa{grid-template-columns:repeat(3,1fr)}.ua-fees{grid-template-columns:1fr}.ua-fees>div{border-right:0;border-bottom:1px solid #eef0f4}.ua-hero{flex-direction:column;text-align:center}.ua-stats{grid-template-columns:1fr 1fr}.ua-sess{border-radius:18px}}
/* portal header & sidebar like the ERP (dark grey bar, lime school name) */
body.skx-m-portal .skx-top{background:#474747!important;box-shadow:none}
body.skx-m-portal .skx-top:after{display:none}
body.skx-m-portal .skx-top .school,body.skx-m-portal .skx-top .app-title{color:#b5e61d!important;font-weight:800}
body.skx-m-portal .skx-top .burger,body.skx-m-portal .skx-top .app-back{background:transparent!important;color:#fff!important}
body.skx-m-portal .skx-top .pill{background:rgba(255,255,255,.12)!important}
body.skx-m-portal .skx-top .dropdown>.btn{background:rgba(255,255,255,.1)!important;color:#fff!important;box-shadow:none!important}
@media (min-width:992px){body.skx-m-portal .skx-side{background:#3a3a3a!important;border-color:#333!important}}
/* v3.9.6 login — like the school ERP */
body.aps-login{background:#e9ecf3;font-family:Inter,system-ui,sans-serif;min-height:100vh}
.al-wrap{max-width:460px;margin:0 auto;padding:20px 14px calc(20px + env(safe-area-inset-bottom,0px))}
.al-card{position:relative;background:#fff url() no-repeat center;border-radius:28px 28px 22px 22px;padding:30px 26px 26px;box-shadow:0 20px 50px -24px rgba(19,42,85,.45);border-top:4px solid #c9a24a;text-align:center;overflow:hidden}
.al-card:before{content:"";position:absolute;inset:auto 0 0 0;height:60%;background:url(../img/icon-192.png) no-repeat center 70%/260px;opacity:.035;pointer-events:none}
.al-logo{width:90px;height:90px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.15))}
.al-name{font-family:"Playfair Display",Georgia,serif;font-weight:800;font-size:25px;color:#b0183a;margin:14px 0 8px;line-height:1.15}.al-name span{color:#0f1f3d}
.al-aff{display:inline-block;border:1.5px solid #e6d3a2;background:#f8f1e0;color:#7a5c12;font-weight:800;letter-spacing:.2em;font-size:12px;padding:5px 18px;border-radius:30px}
.al-card hr{margin:22px 0 18px;border-color:#e5e7eb;opacity:1}
.al-wel{color:#c9a24a;font-weight:800;letter-spacing:.3em;font-size:12.5px}
.al-h{font-family:"Playfair Display",Georgia,serif;font-weight:800;font-size:32px;color:#0f1f3d;margin:10px 0 2px}.al-sub{color:#475569;margin-bottom:18px}
.al-l{display:block;text-align:left;font-weight:600;color:#0f1f3d;margin:12px 0 6px;font-size:14px}
.al-f{display:flex;align-items:center;gap:10px;background:#f3f5fa;border:1.5px solid #e2e6ef;border-radius:16px;padding:0 14px;height:54px}
.al-f:focus-within{border-color:#1d4e89;background:#fff;box-shadow:0 0 0 4px rgba(29,78,137,.12)}
.al-f>i{color:#64748b;font-size:17px}.al-f input{flex:1;border:0;background:transparent;outline:0;font-size:15.5px;color:#0f172a;min-width:0}
.al-eye{border:0;background:none;color:#64748b;font-size:18px}
.al-fg{text-align:right;margin:12px 0 18px}.al-fg a{color:#b0183a;font-weight:600;text-decoration:none;font-size:14.5px}
.al-btn{width:100%;height:54px;border:0;border-radius:16px;background:linear-gradient(135deg,#0f1f3d,#132a55);color:#fff;font-weight:700;font-size:17px;box-shadow:0 12px 24px -12px rgba(15,31,61,.8)}
.al-btn i{margin-left:8px}.al-foot{text-align:center;color:#64748b;font-size:12px;margin-top:16px}.al-foot img{height:20px;vertical-align:middle}
.al-card .alert{text-align:left;border-radius:12px}
/* v3.9.7 multi-fee payment bar above the phone bottom menu */
@media screen and (max-width:991px){
  .pf-bar{position:fixed!important;left:10px;right:10px;bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;z-index:1045;border:1px solid #e5e7eb;border-radius:16px;padding:8px;box-shadow:0 14px 30px -14px rgba(15,23,42,.45);margin:0}
  .auth-page .pf-bar{bottom:calc(10px + env(safe-area-inset-bottom,0px))!important}
  .pf-pad{height:150px}
}
.pf-bar #pfSel:disabled{opacity:.55}
.pf-selall{font-size:12.5px;font-weight:700;color:#1d4e89;text-decoration:none;border:1px dashed #93c5fd;border-radius:10px;padding:6px 10px;background:#eff6ff}

/* ===== v3.9.8 · Portal pages: Fees, Attendance, Homework, Date sheet ===== */
.fx{--navy:#132a55;--navy2:#1d4e89;--gold:#d4a017;--ok:#16a34a;--bad:#dc2626;--warn:#d97706;--ink:#0f1f3d;--mut:#64748b;--line:#eef0f4;font-family:"Poppins","Plus Jakarta Sans",system-ui,sans-serif;color:var(--ink)}
.fx-phero,.fx-hero{position:relative;overflow:hidden;border-radius:22px;padding:18px;color:#fff;margin-bottom:14px;background:radial-gradient(380px 220px at 90% 0%,rgba(212,160,23,.38),transparent 70%),linear-gradient(125deg,#0f2350 0%,#1d4e89 62%,#3f6e7a 100%);box-shadow:0 18px 34px -22px rgba(17,40,90,.95)}
.fx-phero:after{content:"₹";position:absolute;right:-10px;bottom:-46px;font-size:170px;font-weight:800;opacity:.06;line-height:1}
.fx-pid{display:flex;gap:14px;align-items:center}.fx-pid img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);background:#fff;flex:none}
.fx-pid h2{font-size:18px;font-weight:700;margin:0;text-transform:uppercase;letter-spacing:.02em}.fx-pid p{margin:2px 0 6px;font-size:12.5px;opacity:.9}
.fx-sess{display:inline-flex;gap:6px;align-items:center;font-size:11px;font-weight:700;background:rgba(255,255,255,.14);padding:3px 10px;border-radius:30px}.fx-sess i{color:var(--gold)}
.fx-pbal{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px dashed rgba(255,255,255,.22)}
.fx-pbal small,.fx-hero small{font-size:10.5px;letter-spacing:.12em;font-weight:700;opacity:.8;display:block}.fx-pbal b{display:block;font-size:30px;font-weight:800;color:#ffd35c;line-height:1.15}.fx-pbal b.ok{color:#86efac}.fx-pbal em{font-style:normal;font-size:11.5px;opacity:.85}
.fx-ring{--p:0;width:78px;height:78px;border-radius:50%;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(var(--gold) calc(var(--p)*1%),rgba(255,255,255,.16) 0);position:relative}
.fx-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#16386b}.fx-ring>*{position:relative}.fx-ring b{font-size:18px;font-weight:800;line-height:1}.fx-ring b i{font-size:11px;font-style:normal}.fx-ring span{font-size:10px;opacity:.8}
.fx-pbar{height:6px;border-radius:6px;background:rgba(255,255,255,.15);margin-top:14px;overflow:hidden}.fx-pbar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#f5b301,#86efac)}
.fx-pstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.fx-pstats div{background:rgba(255,255,255,.1);border-radius:12px;padding:8px 10px}.fx-pstats small{font-size:10.5px;opacity:.8;display:block}.fx-pstats b{font-size:13.5px;font-weight:700}
.fx-note{display:flex;gap:12px;align-items:flex-start;border-radius:16px;padding:12px 14px;font-size:13px;margin-bottom:12px;border:1px solid}.fx-note>i{font-size:20px;line-height:1}
.fx-note.ok{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.fx-note.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.fx-note.info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.fx-gw{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;font-size:12.5px}.fx-gw>span{font-weight:700;color:var(--mut)}
.fx-gw label{display:flex;gap:6px;align-items:center;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:30px;padding:6px 14px;font-weight:600}.fx-gw input{display:none}.fx-gw label:has(input:checked){border-color:var(--navy2);background:#eef4ff;color:var(--navy2)}.fx-gw i{color:var(--ok)}
.fx-lh{display:flex;justify-content:space-between;align-items:center;margin:4px 0 10px}.fx-lh>span{font-weight:700;font-size:15px;border-left:4px solid var(--gold);padding-left:10px}.fx-lh>span i{color:var(--gold);margin-right:4px}
.fx-lh em{font-style:normal;background:var(--gold);color:var(--navy);font-size:11px;font-weight:800;padding:2px 9px;border-radius:30px;margin-left:6px}.fx-lh a{font-size:12.5px;font-weight:700;color:var(--navy2);text-decoration:none}
.fx-hint{font-size:12px;color:var(--mut);margin:-4px 0 10px}
.fx .pf-chk{width:22px;height:22px;border-radius:7px;border:2px solid #cbd5e1;cursor:pointer;flex:none;margin:0}.fx .pf-chk:checked{background-color:var(--ok);border-color:var(--ok)}
.fx-fc{background:#fff;border-radius:18px;padding:12px 14px;margin-bottom:10px;box-shadow:0 6px 18px -14px rgba(15,23,42,.45);border-left:5px solid #94a3b8;transition:transform .15s}
.fx-fc.ok{border-left-color:var(--ok);background:linear-gradient(90deg,#f3fdf6,#fff 40%)}.fx-fc.bad{border-left-color:var(--bad)}.fx-fc.warn{border-left-color:var(--warn)}.fx-fc.due{border-left-color:var(--navy2)}
.fx-fc.first{box-shadow:0 0 0 2px rgba(220,38,38,.25),0 10px 22px -14px rgba(220,38,38,.6)}
.fx-fct{display:flex;gap:12px;align-items:center}.fx-fct b{display:block;font-size:14.5px;font-weight:700;line-height:1.25}.fx-fct small{display:block;font-size:11.5px;color:var(--mut);margin-top:2px}.fx-fct strong{display:block;font-size:15.5px;font-weight:800;white-space:nowrap}
.fx-ic{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:none;font-size:17px;background:#e8f7ee;color:var(--ok)}
.fx-st{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:6px;margin-top:3px}.fx-st.ok{background:#dcfce7;color:#15803d}.fx-st.bad{background:#fee2e2;color:#b91c1c}.fx-st.warn{background:#fef3c7;color:#b45309}
.fx-fcm{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.fx-fcm span{font-size:11.5px;background:#f1f5f9;border-radius:8px;padding:3px 8px;color:#334155}
.fx-fca{display:flex;gap:8px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed #e5e7eb}.fx-fca .fx-btn{flex:1}
.fx-btn{border:0;border-radius:12px;padding:9px 14px;font-weight:700;font-size:13px;color:#fff;background:linear-gradient(135deg,var(--navy2),#2563eb);box-shadow:0 8px 16px -10px rgba(29,78,137,.9);white-space:nowrap}
.fx-btn.next{background:linear-gradient(135deg,#dc2626,#f97316);animation:fxPulse 1.6s infinite}.fx-btn:disabled{background:#e2e8f0;color:#64748b;box-shadow:none;animation:none}
@keyframes fxPulse{50%{box-shadow:0 0 0 7px rgba(220,38,38,.18)}}
.fx-rc{display:inline-flex;gap:6px}.fx-rc a{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#f1f5f9;color:var(--navy2);text-decoration:none;font-size:15px}.fx-rc a:hover{background:#e0e7ff}
.fx-tw{background:#fff;border-radius:18px;box-shadow:0 6px 20px -14px rgba(15,23,42,.35);overflow:auto}
.fx-tbl{width:100%;border-collapse:collapse;font-size:13px}.fx-tbl th{background:linear-gradient(90deg,#132a55,#1d4e89);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.04em;padding:11px 10px;white-space:nowrap}
.fx-tbl td{padding:11px 10px;border-top:1px solid var(--line);vertical-align:middle}.fx-tbl td small{display:block;color:var(--mut);font-size:11.5px}.fx-tbl .n{text-align:right;white-space:nowrap}.fx-tbl tr.paid td{background:#f6fef8}.fx-tbl tr.od td:first-child{box-shadow:inset 4px 0 0 var(--bad)}
.fx-sum{background:#fff;border-radius:18px;overflow:hidden;margin-top:14px;box-shadow:0 6px 20px -14px rgba(15,23,42,.35)}.fx-sumh{background:linear-gradient(90deg,#132a55,#1d4e89);color:#fff;font-weight:700;padding:10px 14px}.fx-sumh i{color:var(--gold);margin-right:6px}
.fx-sum .r{display:flex;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--line);font-size:13.5px}.fx-sum .r:last-child{border:0}.fx-sum .r.big{font-size:16px;background:#fafbff}
.fx-bar{position:sticky;bottom:12px;z-index:30;display:flex;gap:8px;margin-top:14px;padding:8px;border-radius:20px;background:rgba(15,31,61,.94);backdrop-filter:blur(10px);box-shadow:0 16px 30px -14px rgba(15,23,42,.7)}
.fx-paysel{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:14px;padding:8px 14px;color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);text-align:left}
.fx-paysel small{display:block;font-size:11px;opacity:.9}.fx-paysel b{font-size:17px}.fx-paysel>i{font-size:26px}.fx-paysel:disabled{background:#334155;color:#94a3b8}
.fx-off{display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-size:10.5px;line-height:1.2;padding:0 10px;border-radius:14px;background:rgba(255,255,255,.1)}.fx-off i{font-size:18px;color:var(--gold)}
.fx-safe{text-align:center;font-size:11.5px;color:var(--mut);margin-top:10px}.fx-safe i{color:var(--ok)}
@media screen and (max-width:991px){.fx-fees.in-portal .fx-bar{bottom:calc(92px + env(safe-area-inset-bottom,0px))}}
.fx-rcl{background:#fff;border-radius:18px;padding:4px 14px;box-shadow:0 6px 20px -14px rgba(15,23,42,.35)}
.fx-rci{display:flex;gap:10px;align-items:center;padding:11px 0;border-bottom:1px dashed #e5e7eb}.fx-rci:last-child{border:0}.fx-rci b{display:block;font-size:13.5px}.fx-rci small{font-size:11.5px;color:var(--mut)}.fx-rci strong{font-size:14px;white-space:nowrap}
/* attendance / homework / datesheet */
.fx-hero{display:flex;gap:16px;align-items:center}.fx-hero h2{font-size:26px;font-weight:800;margin:2px 0;color:#ffd35c}.fx-hero h2 span{font-size:13px;font-weight:600;color:#fff;opacity:.9}.fx-hero p{margin:0;font-size:12px;opacity:.85}
.fx-hero.sm{padding:16px}.fx-hi{width:50px;height:50px;border-radius:15px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--gold);flex:none}
.fx-chips{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.fx-chip{background:#fff;border-radius:14px;padding:10px 4px;text-align:center;box-shadow:0 6px 18px -14px rgba(15,23,42,.4);border-top:4px solid}
.fx-chip b{display:block;font-size:19px;font-weight:800}.fx-chip span{font-size:10.5px;color:var(--mut);font-weight:600}
.fx-chip.p{border-color:#16a34a}.fx-chip.a{border-color:#dc2626}.fx-chip.l{border-color:#d97706}.fx-chip.h{border-color:#7c3aed}.fx-chip.v{border-color:#0891b2}
.fx-box{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px -14px rgba(15,23,42,.35);margin-bottom:14px}
.fx-bh{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 14px;background:linear-gradient(90deg,#132a55,#1d4e89);color:#fff}.fx-bh>span{font-weight:700;font-size:14.5px;border-left:4px solid var(--gold);padding-left:10px}.fx-bh>span i{color:var(--gold);margin-right:4px}
.fx-bh em{font-style:normal;font-size:11.5px;font-weight:700;background:rgba(255,255,255,.14);padding:3px 10px;border-radius:30px}
.fx-gold{background:var(--gold);color:var(--navy)!important;font-weight:800;font-size:12px;padding:5px 12px;border-radius:10px;text-decoration:none;white-space:nowrap}
.fx-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:12px 14px}.fx-cal u{text-decoration:none;text-align:center;font-size:10.5px;font-weight:700;color:#94a3b8}
.fx-cal s{text-decoration:none;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:12.5px;font-weight:600;color:#94a3b8;background:#f8fafc}.fx-cal s:empty{background:none}
.fx-cal s.p{background:#dcfce7;color:#15803d}.fx-cal s.a{background:#dc2626;color:#fff}.fx-cal s.l{background:#fef3c7;color:#b45309}.fx-cal s.h{background:#ede9fe;color:#6d28d9}.fx-cal s.v{background:#cffafe;color:#0e7490}
.fx-empty{background:#fff;border-radius:18px;padding:30px 16px;text-align:center;color:var(--mut);box-shadow:0 6px 20px -14px rgba(15,23,42,.35)}.fx-empty i{display:block;font-size:38px;color:#cbd5e1;margin-bottom:6px}
.fx-item{background:#fff;border-radius:18px;padding:14px;margin-bottom:10px;box-shadow:0 6px 18px -14px rgba(15,23,42,.45);border-left:5px solid var(--warn)}.fx-item.done{border-left-color:#cbd5e1}
.fx-item h6{font-weight:700;font-size:15px;margin:6px 0 0}.fx-tag{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--navy2);background:#eef4ff;padding:2px 8px;border-radius:6px}
.fx-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--mut);margin-top:8px}.fx-txt{white-space:pre-wrap;font-size:13px;margin-top:8px;background:#f8fafc;border-radius:12px;padding:10px}
.fx-att{display:inline-flex;gap:6px;align-items:center;margin-top:10px;font-size:12.5px;font-weight:700;color:var(--navy2);background:#eef4ff;padding:6px 12px;border-radius:10px;text-decoration:none}
.fx-body{padding:4px 14px}.fx-ds{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px dashed #e5e7eb}.fx-ds:last-child{border:0}.fx-ds.past{opacity:.6}
.fx-ds b{display:block;font-size:14px}.fx-ds em{display:block;font-style:normal;font-size:12px;color:var(--mut)}
.fx-date{width:52px;flex:none;text-align:center;border-radius:12px;overflow:hidden;background:#eef4ff;padding:4px 0}.fx-date b{font-size:19px;line-height:1.1;color:var(--navy2)}.fx-date span{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;color:var(--navy2)}.fx-date em{font-size:10px!important}
.fx-ds.today .fx-date{background:linear-gradient(135deg,#dc2626,#f97316)}.fx-ds.today .fx-date *{color:#fff!important}
@media screen and (max-width:420px){.fx-pbal b{font-size:25px}.fx-ring{width:68px;height:68px}.fx-chips{gap:5px}.fx-chip b{font-size:16px}}
@media (min-width:768px){.fx-phero{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.fx-pbal{margin-top:0;padding-top:0;border:0}.fx-pbar,.fx-pstats{grid-column:1/-1}}
.fx-prof:after{content:none}.fx-prof .fx-pid img{width:84px;height:84px}.fx-prof .fx-sess{margin-right:4px}
.fx-pg{display:grid;grid-template-columns:1fr;gap:0;padding:4px 14px}@media (min-width:768px){.fx-pg{grid-template-columns:1fr 1fr;column-gap:24px}}
.fx-pr{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px dashed #e5e7eb}.fx-pr:last-child{border:0}
.fx-pr>span{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#eef4ff;color:var(--navy2);flex:none}.fx-pr small{display:block;font-size:11px;color:var(--mut);font-weight:600}.fx-pr b{font-size:14px;font-weight:600;word-break:break-word}
.fx-links{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:6px}.fx-links a{background:#fff;border-radius:14px;padding:12px 4px;text-align:center;text-decoration:none;color:var(--ink);font-size:11.5px;font-weight:700;box-shadow:0 6px 18px -14px rgba(15,23,42,.45)}
.fx-links i{display:block;font-size:20px;color:var(--navy2);margin-bottom:4px}
/* ===== v3.10 · reference-style student portal ===== */
.fx-empty.sm{padding:18px 10px;box-shadow:none}
/* profile */
.fx-pfh{display:flex;gap:18px;align-items:center;padding:18px 20px;border-radius:22px;color:#fff;margin-bottom:14px;background:radial-gradient(380px 220px at 90% 0%,rgba(212,160,23,.35),transparent 70%),linear-gradient(125deg,#0f2350,#1d4e89 62%,#3f6e7a);box-shadow:0 18px 34px -22px rgba(17,40,90,.95)}
.fx-pfh img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:4px solid var(--gold);background:#fff;flex:none}
.fx-pfn h2{font-size:22px;font-weight:800;margin:0 0 8px;text-transform:uppercase;letter-spacing:.02em}
.fx-pfs{display:flex;flex-wrap:wrap;gap:8px 22px}.fx-pfs small{display:block;font-size:10px;letter-spacing:.12em;font-weight:700;opacity:.75}.fx-pfs b{font-size:16px;font-weight:700;color:#ffd35c}
.fx-pfg{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width:992px){.fx-pfg{grid-template-columns:280px 1fr;align-items:start}}
.fx-pfg aside{display:flex;flex-direction:column;gap:14px}
.fx-pfc{background:#fff;border-radius:18px;padding:14px 16px;box-shadow:0 6px 20px -14px rgba(15,23,42,.35)}
.fx-pfc h6{font-size:11.5px;font-weight:800;letter-spacing:.1em;color:var(--navy);margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.fx-pfc h6 i{color:var(--gold);margin-right:4px}
.fx-pfc .r{display:flex;justify-content:space-between;gap:8px;padding:7px 0;font-size:13px;border-bottom:1px dashed #eef0f4}.fx-pfc .r:last-child{border:0}.fx-pfc .r span{color:var(--mut)}.fx-pfc .r small{font-weight:500;color:var(--mut)}
.fx-qr{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 0}.fx-qr svg{width:120px;height:120px}.fx-qr span{font-size:12px;font-weight:700;letter-spacing:.08em}
.fx-res{display:flex;gap:10px;align-items:center;padding:9px 12px;margin-top:8px;border-radius:12px;background:linear-gradient(90deg,#132a55,#1d4e89);color:#fff!important;text-decoration:none;font-size:13px;font-weight:600}.fx-res i{color:var(--gold)}
.fx-tabs{padding:0;overflow:hidden}
.fx-tabbar{display:flex;gap:4px;overflow-x:auto;padding:8px;border-bottom:1px solid var(--line);scrollbar-width:none}.fx-tabbar::-webkit-scrollbar{display:none}
.fx-tabbar button{flex:none;border:0;background:none;padding:8px 14px;border-radius:12px;font-size:13px;font-weight:600;color:var(--mut);white-space:nowrap}
.fx-tabbar button.on{background:#fff7e0;color:var(--navy);box-shadow:inset 0 -3px 0 var(--gold)}.fx-tabbar button i{margin-right:3px}
.fx-tab{display:none;padding:14px 16px}.fx-tab.on{display:block}
.fx-dl{display:grid;grid-template-columns:1fr}@media (min-width:768px){.fx-dl{grid-template-columns:1fr 1fr;column-gap:28px}}
.fx-dl>div{display:flex;justify-content:space-between;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line);font-size:13.5px}.fx-dl span{color:var(--mut)}.fx-dl b{font-weight:600;text-align:right;word-break:break-word}
.fx-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.fx-kpi div{background:#f8fafc;border-radius:14px;padding:10px 12px}.fx-kpi small{display:block;font-size:11px;color:var(--mut);font-weight:600}.fx-kpi b{font-size:16px;font-weight:800}
.fx-sub{font-size:11.5px;font-weight:800;letter-spacing:.08em;color:var(--mut);text-transform:uppercase;margin:6px 0 2px}
.fx-li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px dashed #e5e7eb}.fx-li:last-of-type{border:0}.fx-li b{font-size:13.5px}.fx-li small{display:block;font-size:11.5px;color:var(--mut)}
.fx-go{display:inline-flex;gap:6px;align-items:center;margin-top:10px;font-weight:700;font-size:13px;color:var(--navy2);text-decoration:none}
/* fees month grid */
.fx-selbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:10px 14px;margin-bottom:12px;cursor:pointer;font-size:13.5px}
.fx-selbar input{width:20px;height:20px;margin:0}.fx-selbar span{color:var(--mut)}.fx-selbar em{margin-left:auto;font-style:normal;font-size:11.5px;color:var(--mut)}
.fx-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:768px){.fx-grid{grid-template-columns:1fr 1fr}}@media (min-width:1200px){.fx-grid{grid-template-columns:repeat(3,1fr)}}
.fx-mc{background:#fff;border-radius:18px;padding:12px 14px;box-shadow:0 6px 18px -14px rgba(15,23,42,.45);border-top:4px solid #94a3b8;display:flex;flex-direction:column;gap:10px}
.fx-mc.ok{border-top-color:var(--ok);background:linear-gradient(180deg,#f2fdf5,#fff 45%)}.fx-mc.bad{border-top-color:var(--bad)}.fx-mc.warn{border-top-color:var(--warn)}.fx-mc.due{border-top-color:var(--navy2)}
.fx-mc.first{box-shadow:0 0 0 2px rgba(220,38,38,.25),0 10px 22px -14px rgba(220,38,38,.6)}
.fx-mch{display:flex;gap:10px;align-items:center}.fx-mch b{display:block;font-size:15px;font-weight:800}.fx-mch b span{font-size:12px;font-weight:700;color:var(--navy2)}.fx-mch small{display:block;font-size:11px;color:var(--mut)}.fx-mch .fx-st{margin:0}
.fx-rc.sm a{width:30px;height:30px;font-size:13px}
.fx-mcb{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;font-size:12.5px}.fx-mcb>div{display:flex;justify-content:space-between;gap:6px;padding:4px 0;border-bottom:1px dashed #eef0f4}
.fx-mcb span{color:var(--mut)}.fx-mcb b{font-weight:600;white-space:nowrap}.fx-mcb b small{font-size:10px}.fx-mcb .bal{grid-column:1/-1;border:0;background:#f8fafc;border-radius:10px;padding:7px 10px;margin-top:4px;font-size:13.5px}.fx-mcb .bal b{font-weight:800}
/* segmented tabs (homework) */
.fx-seg{display:flex;background:#e9eef7;border-radius:14px;padding:4px;margin-bottom:12px}.fx-seg button{flex:1;border:0;background:none;border-radius:11px;padding:8px;font-size:13px;font-weight:700;color:var(--mut)}.fx-seg button.on{background:#fff;color:var(--navy);box-shadow:0 4px 10px -6px rgba(15,23,42,.35)}
/* student sidebar — dark with coloured icon chips (reference style) */
html[data-theme] body.skx-student .skx-side{background:#1f2430!important;border-right:0}
html[data-theme] body.skx-student .skx-side .brand{background:#fff!important;border-radius:0;margin:0;padding:12px 16px}
html[data-theme] body.skx-student .skx-side .side-find{display:none}
html[data-theme] body.skx-student .skx-side .nav-link{color:#e5e7eb!important;font-weight:500;border-radius:10px;margin:1px 8px;padding:7px 10px;background:none}
html[data-theme] body.skx-student .skx-side .nav-link:hover{background:rgba(255,255,255,.06)!important}
html[data-theme] body.skx-student .skx-side .nav-link .ic{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:#fff!important;margin-right:10px;background:var(--c,#475569)}
html[data-theme] body.skx-student .skx-side .nav-link.active{background:rgba(212,160,23,.14)!important;color:#fbd46d!important;box-shadow:none}
html[data-theme] body.skx-student .skx-side .nav-link.active .ic{background:#d4a017!important}
html[data-theme] body.skx-student .skx-side .nav-link.active:before{display:none!important}
body.skx-student #sideNav>li:nth-child(8n+1){--c:#2563eb}body.skx-student #sideNav>li:nth-child(8n+2){--c:#7c3aed}body.skx-student #sideNav>li:nth-child(8n+3){--c:#16a34a}body.skx-student #sideNav>li:nth-child(8n+4){--c:#0891b2}
body.skx-student #sideNav>li:nth-child(8n+5){--c:#db2777}body.skx-student #sideNav>li:nth-child(8n+6){--c:#d97706}body.skx-student #sideNav>li:nth-child(8n+7){--c:#dc2626}body.skx-student #sideNav>li:nth-child(8n+8){--c:#0d9488}
/* v3.10.1 · coloured header buttons + fix invisible primary buttons in box headers */
html[data-theme] .box-tools .btn-primary{background:linear-gradient(135deg,var(--t1,#4f46e5),var(--t2,#7c3aed))!important;color:#fff!important;box-shadow:0 6px 14px -8px var(--skx-glow)}
html[data-theme] .box-tools .btn-success{background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:#fff!important}
html[data-theme] .box-tools .btn-danger{background:linear-gradient(135deg,#dc2626,#f43f5e)!important;color:#fff!important}
html[data-theme] .box-tools.cbtn .btn,.box-tools.cbtn .btn{color:#fff!important;border:0;font-weight:700;background:var(--cb1);background:linear-gradient(135deg,var(--cb1),var(--cb2))!important;box-shadow:0 8px 16px -10px var(--cb1)!important;transition:transform .15s,filter .15s}
html[data-theme] .box-tools.cbtn .btn:hover,.box-tools.cbtn .btn:hover{transform:translateY(-1px);filter:brightness(1.08);color:#fff!important}
.cb-indigo{--cb1:#4f46e5;--cb2:#6366f1}.cb-green{--cb1:#059669;--cb2:#22c55e}.cb-amber{--cb1:#d97706;--cb2:#f59e0b}.cb-purple{--cb1:#7c3aed;--cb2:#a855f7}
.cb-rose{--cb1:#e11d48;--cb2:#f472b6}.cb-sky{--cb1:#0284c7;--cb2:#38bdf8}
/* ===== v3.11 · Heritage theme (cream header · deep-green menu · gold) ===== */
html[data-theme="heritage"]{--t1:#0f5a4f;--t2:#14806f;--t3:#c9a24a;--t-soft:#e9f5f1;--t-ink:#0b4038}
html[data-theme="heritage"] body.skx-ui{background:#f5f2ea}
html[data-theme="heritage"] .skx-top{background:linear-gradient(90deg,#efe4c2,#e7d7a6)!important;border:0;box-shadow:0 6px 20px -14px rgba(90,70,20,.6)}
html[data-theme="heritage"] .skx-top:after{background:linear-gradient(90deg,#0f5a4f,#c9a24a)!important;opacity:1;height:2px}
html[data-theme="heritage"] .skx-top .school,html[data-theme="heritage"] .skx-top .app-title{color:#0b4038;font-weight:800;letter-spacing:.02em}
html[data-theme="heritage"] .top-search input{background:#fffdf6;border:1px solid #d9c894}
html[data-theme="heritage"] .skx-top .pill{background:#0f5a4f;color:#fff;border:0}
html[data-theme="heritage"] .skx-top .dropdown>.btn{background:#fffdf6;box-shadow:0 0 0 1px #d9c894;color:#0b4038}
html[data-theme="heritage"] .skx-side{background:linear-gradient(180deg,#0b3d37,#0f4f47 55%,#0b3d37)!important;border:0!important}
html[data-theme="heritage"] .skx-side .brand{background:#fffdf6!important;border:0!important;margin:0!important}
html[data-theme="heritage"] .skx-side .side-find input{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important}
html[data-theme="heritage"] .skx-side .side-find i{color:rgba(255,255,255,.6)!important}
html[data-theme="heritage"] .skx-side .nav-head{color:#e9d9a8!important;opacity:.85;font-weight:800;letter-spacing:.14em}
html[data-theme="heritage"] .skx-side .nav-link{color:#f0fdf9!important;background:linear-gradient(90deg,rgba(20,128,111,.55),rgba(20,128,111,.18))!important;border:1px solid rgba(255,255,255,.07);margin:3px 10px!important;border-radius:10px!important;font-weight:600}
html[data-theme="heritage"] .skx-side .nav-link:hover{background:linear-gradient(90deg,rgba(20,128,111,.85),rgba(20,128,111,.35))!important}
html[data-theme="heritage"] .skx-side .nav-link i.ic{background:rgba(255,255,255,.14)!important;color:#fde68a!important;border-radius:8px}
html[data-theme="heritage"] .skx-side .nav-link.active,html[data-theme="heritage"] .skx-side .nav-link[aria-expanded="true"]{background:linear-gradient(90deg,#c9a24a,#a8c256)!important;color:#1f2d12!important;box-shadow:0 8px 18px -10px #c9a24a!important}
html[data-theme="heritage"] .skx-side .nav-link.active i.ic,html[data-theme="heritage"] .skx-side .nav-link[aria-expanded="true"] i.ic{background:rgba(255,255,255,.35)!important;color:#1f2d12!important}
html[data-theme="heritage"] .skx-side .sub a{color:#d1fae5!important}html[data-theme="heritage"] .skx-side .sub a:hover,html[data-theme="heritage"] .skx-side .sub a.active{color:#fde68a!important;background:rgba(255,255,255,.06)!important}
html[data-theme="heritage"] .skx-side .me,html[data-theme="heritage"] .skx-side .side-mini{background:rgba(255,255,255,.06)!important;color:#fff!important;border-color:rgba(255,255,255,.1)!important}
html[data-theme="heritage"] .skx-side .me *{color:#fff!important}
html[data-theme="heritage"] .box{border-top:3px solid #c9a24a}
html[data-theme="heritage"] .page-head h1,html[data-theme="heritage"] .page-head .h3{color:#0b4038}
/* ===== v3.11 · admin student profile (left card + coloured tabs) ===== */
.sp{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}@media (min-width:1100px){.sp{grid-template-columns:300px 1fr}}
.sp-l{display:flex;flex-direction:column;gap:14px}
.sp-card{position:relative;overflow:hidden;text-align:center;color:#fff;border-radius:20px;padding:22px 16px 18px;background:radial-gradient(260px 160px at 90% 0%,rgba(253,230,138,.35),transparent 70%),linear-gradient(160deg,#0f5a4f,#14806f 60%,#0e7490);box-shadow:0 16px 30px -18px rgba(15,90,79,.9)}
.sp-ph{width:118px;height:118px;border-radius:50%;object-fit:cover;border:5px solid rgba(255,255,255,.9);background:#fff;box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.sp-card h2{font-size:19px;font-weight:800;margin:12px 0 10px;letter-spacing:.03em}
.sp-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.sp-chips span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);border-radius:30px;padding:3px 10px;font-size:12px;font-weight:600}
.sp-chips span:first-child{background:#fde68a;color:#713f12;border:0}
.sp-st{display:inline-flex;gap:5px;align-items:center;margin-top:10px;background:#fff;color:#15803d;border-radius:30px;padding:3px 12px;font-size:12px;font-weight:800}.sp-st.off{color:#b91c1c}
.sp-acts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.sp-acts a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:14px;color:#fff!important;text-decoration:none;font-size:11.5px;font-weight:700;box-shadow:0 8px 16px -10px rgba(0,0,0,.45);transition:transform .15s}
.sp-acts a:hover{transform:translateY(-2px)}.sp-acts i{font-size:18px}
.sp-acts .a1{background:linear-gradient(135deg,#ea580c,#fb923c)}.sp-acts .a2{background:linear-gradient(135deg,#16a34a,#4ade80)}.sp-acts .a3{background:linear-gradient(135deg,#ca8a04,#facc15)}.sp-acts .a4{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
.sp-acts .a5{background:linear-gradient(135deg,#2563eb,#60a5fa)}.sp-acts .a6{background:linear-gradient(135deg,#e11d48,#fb7185)}.sp-acts .a7{background:linear-gradient(135deg,#0891b2,#22d3ee)}.sp-acts .a8{background:linear-gradient(135deg,#475569,#94a3b8)}
.sp-info{background:#fff;border-radius:18px;padding:6px 16px;box-shadow:0 6px 20px -14px rgba(15,23,42,.35)}
.sp-info>div{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px dashed #e5e7eb;font-size:13.5px}.sp-info>div:last-child{border:0}
.sp-info span{display:flex;align-items:center;gap:8px;color:#475569}.sp-info span i{width:8px;height:8px;border-radius:50%;display:inline-block}.sp-info b{font-weight:700;color:#0f172a;text-align:right}
.sp-qr svg{width:84px;height:84px}
.sp-r{background:#fff;border-radius:20px;padding:16px 18px;box-shadow:0 6px 20px -14px rgba(15,23,42,.35);min-width:0}
.sp-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.sp-tabs button{border:0;border-radius:30px;padding:8px 16px;font-size:13px;font-weight:700;transition:.15s}
.sp-tabs .t1{background:#dcfce7;color:#15803d}.sp-tabs .t3{background:#ffe4e6;color:#be123c}.sp-tabs .t4{background:#ede9fe;color:#6d28d9}.sp-tabs .t5{background:#e0f2fe;color:#0369a1}.sp-tabs .t6{background:#fce7f3;color:#be185d}
.sp-tabs .t2{background:#fef3c7;color:#b45309}
.sp-tabs button.on{color:#fff!important;box-shadow:0 8px 16px -10px rgba(0,0,0,.5)}
.sp-tabs .t1.on{background:#15803d}.sp-tabs .t2.on{background:#d97706}.sp-tabs .t3.on{background:#e11d48}.sp-tabs .t4.on{background:#7c3aed}.sp-tabs .t5.on{background:#0284c7}.sp-tabs .t6.on{background:#db2777}
.sp-pane{display:none}.sp-pane.on{display:block;animation:spIn .25s ease}@keyframes spIn{from{opacity:0;transform:translateY(6px)}}
.sp-sec{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px;color:#0f172a;margin:14px 0 10px}.sp-sec:before{content:"";width:4px;height:18px;border-radius:4px;background:linear-gradient(#0f5a4f,#c9a24a)}
.sp-sec:first-child{margin-top:0}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.sp-grid>div{border-radius:14px;padding:10px 12px;border:1px solid rgba(15,23,42,.05)}.sp-grid small{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#64748b}
.sp-grid small i{width:7px;height:7px;border-radius:50%;display:inline-block}.sp-grid b{display:block;font-size:14px;font-weight:700;color:#0f172a;margin-top:3px;word-break:break-word}
.sp-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}
.sp-kpi>div{border-radius:14px;padding:12px 14px;color:#fff;box-shadow:0 10px 18px -12px rgba(0,0,0,.45)}.sp-kpi small{display:block;font-size:11px;font-weight:700;opacity:.9;text-transform:uppercase;letter-spacing:.05em}.sp-kpi b{font-size:18px;font-weight:800}
.sp-kpi .k1{background:linear-gradient(135deg,#2563eb,#60a5fa)}.sp-kpi .k2{background:linear-gradient(135deg,#db2777,#f472b6)}.sp-kpi .k3{background:linear-gradient(135deg,#ea580c,#fb923c)}.sp-kpi .k4{background:linear-gradient(135deg,#16a34a,#4ade80)}.sp-kpi .k5{background:linear-gradient(135deg,#be123c,#e11d48)}
.sp-tbl thead th{background:#0f2350!important;color:#fff!important;font-size:11.5px}
.sp-badge{display:inline-block;font-size:11px;font-weight:800;padding:3px 9px;border-radius:20px}
.sp-doc{display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border-radius:12px;background:#f5f3ff;color:#6d28d9;text-decoration:none;font-weight:600;font-size:13px}
.sp-go{background:linear-gradient(135deg,#0f5a4f,#14806f)!important;color:#fff!important;border:0;font-weight:700}
/* ===== v3.11.2 · fees collect page ===== */
.fc-hd{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:18px 20px;border-radius:20px;color:#fff;margin-bottom:14px;background:radial-gradient(300px 180px at 92% 0%,rgba(253,230,138,.3),transparent 70%),linear-gradient(135deg,#0f5a4f,#14806f 60%,#0e7490);box-shadow:0 16px 30px -18px rgba(15,90,79,.9)}
.fc-hd>img{width:88px;height:88px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.9);background:#fff;flex:none}
.fc-who{flex:1;min-width:220px}.fc-who h2{font-size:20px;font-weight:800;margin:0 0 6px;letter-spacing:.03em;color:#fff}
.fc-chips{display:flex;flex-wrap:wrap;gap:6px}.fc-chips span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);border-radius:30px;padding:2px 10px;font-size:12px;font-weight:600}.fc-chips .y{background:#fde68a;color:#713f12;border:0}
.fc-sub{font-size:13px;margin-top:6px;opacity:.95}.fc-sub a{color:#fff}
.fc-groups{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.fc-groups span,.fc-groups a{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:30px;background:#fff;color:#0f5a4f;text-decoration:none}
.fc-groups .bad{background:#fee2e2;color:#b91c1c}.fc-groups .ok{background:#dcfce7;color:#15803d}.fc-groups .used{background:rgba(255,255,255,.4);color:#fff}.fc-groups .warn{background:#fef3c7;color:#b45309}
.fc-groups a[href$="assign"]{background:transparent;color:#fde68a;text-decoration:underline;padding:3px 2px}
.fc-acts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.fc-b{display:flex;align-items:center;gap:8px;border:0;border-radius:12px;padding:9px 14px;font-weight:700;font-size:13px;color:#fff!important;text-decoration:none;white-space:nowrap;box-shadow:0 8px 16px -10px rgba(0,0,0,.5)}
.fc-b.g{background:linear-gradient(135deg,#16a34a,#22c55e)}.fc-b.c{background:linear-gradient(135deg,#0284c7,#38bdf8)}.fc-b.p{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.fc-b.s{background:linear-gradient(135deg,#ea580c,#fb923c)}
.fc-kpi{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}
.fc-kpi>div{border-radius:16px;padding:12px 14px;color:#fff;box-shadow:0 10px 18px -12px rgba(0,0,0,.45)}.fc-kpi small{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;opacity:.92}.fc-kpi b{font-size:18px;font-weight:800;white-space:nowrap}
.fc-kpi .k1{background:linear-gradient(135deg,#2563eb,#60a5fa)}.fc-kpi .k2{background:linear-gradient(135deg,#db2777,#f472b6)}.fc-kpi .k3{background:linear-gradient(135deg,#ea580c,#fb923c)}.fc-kpi .k4{background:linear-gradient(135deg,#16a34a,#4ade80)}.fc-kpi .k5{background:linear-gradient(135deg,#be123c,#e11d48)}.fc-kpi .k6{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
@media (max-width:1200px){.fc-kpi{grid-template-columns:repeat(3,1fr)}}
.fc-tbl thead th{background:#0f2350!important;color:#fff!important;font-size:11.5px;letter-spacing:.04em;white-space:nowrap}
.fc-tbl tr.fl td{border-top:1px solid #e5e7eb!important}.fc-tbl tr.fl.od td:first-child{box-shadow:inset 4px 0 0 #dc2626}.fc-tbl tr.fl.du td:first-child{box-shadow:inset 4px 0 0 #2563eb}.fc-tbl tr.fl.pd td:first-child{box-shadow:inset 4px 0 0 #16a34a}
.fc-tbl tr.rc td{background:#f8fafc;border-top:0!important;padding-top:6px!important;padding-bottom:6px!important}
.fc-tbl tr.gt td{background:#fff7e6;font-weight:800}
@media screen and (max-width:767px){
  .fc-hd{padding:16px;gap:12px}.fc-hd>img{width:64px;height:64px}.fc-who h2{font-size:17px}.fc-acts{grid-template-columns:repeat(2,1fr);width:100%}.fc-b{justify-content:center;padding:10px 8px;font-size:12.5px}
  .fc-kpi{grid-template-columns:repeat(2,1fr);gap:8px}.fc-kpi b{font-size:16px}
  .fc-box .box-tools{width:100%}.fc-box .box-tools .btn{flex:1}
  .fc-tw{overflow:visible!important;border:0!important;box-shadow:none!important;background:none!important}.fc-tbl,.fc-tbl tbody{display:block;width:100%}.fc-tbl thead{display:none}
  .fc-tbl tr.fl{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:2px 12px;padding:12px 12px 10px 42px;margin-top:12px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 6px 16px -12px rgba(15,23,42,.45);border-left:5px solid #2563eb}
  .fc-tbl tr.fl.od{border-left-color:#dc2626}.fc-tbl tr.fl.pd{border-left-color:#16a34a}
  .fc-tbl tr.fl td{display:block;border:0!important;padding:3px 0!important;box-shadow:none!important;text-align:left!important;font-size:13px}
  .fc-tbl tr.fl td:first-child{position:absolute;left:14px;top:14px;padding:0!important}
  .fc-tbl tr.fl td.fee{grid-column:1/4;font-size:14.5px;order:-1}
  .fc-tbl tr.fl td[data-l]:not(.fee):before{content:attr(data-l);display:block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}
  .fc-tbl tr.fl td[data-l="Group"]{grid-column:1/4}
  .fc-tbl tr.fl td.bal{grid-column:1/4;background:#f8fafc;border-radius:10px;padding:6px 10px!important;display:flex;justify-content:space-between;align-items:center;font-size:15px}
  .fc-tbl tr.fl td.bal:before{display:inline!important;font-size:11px!important}
  .fc-tbl tr.fl td.act{grid-column:1/4;display:flex;margin-top:4px;gap:8px;justify-content:flex-end;padding-top:6px!important}
  .fc-tbl tr.rc{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 6px;padding:6px 10px;border:1px solid #e5e7eb;border-top:0;border-radius:0 0 12px 12px;background:#f8fafc}
  .fc-tbl tr.rc td{display:inline-block;border:0!important;padding:0!important;background:none;font-size:12px}.fc-tbl tr.rc td:empty,.fc-tbl tr.rc td.e{display:none}
  .fc-tbl tr.rc td.rno{text-align:left!important}.fc-tbl tr.rc td:last-child{margin-left:auto}
  .fc-tbl tfoot{display:block}.fc-tbl tfoot tr.gt{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;padding:10px 12px;border-radius:14px}.fc-tbl tfoot td{border:0!important;padding:0!important}.fc-tbl tfoot td:empty{display:none}
}
/* ===== v3.11.3 · staff sidebar — tiled menu  ===== */
html[data-theme] body:not(.skx-student) .skx-side{background:linear-gradient(180deg,#0d4649 0%,#0f5553 45%,#0b3f42 100%)!important;border:0!important;box-shadow:6px 0 24px -16px rgba(0,0,0,.6)}
html[data-theme] body:not(.skx-student) .skx-side .brand{background:#fff!important;border:0!important;margin:0!important;border-radius:0!important}
html[data-theme] body:not(.skx-student) .skx-side .side-find input{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important}
html[data-theme] body:not(.skx-student) .skx-side .side-find input::placeholder{color:rgba(255,255,255,.6)}
html[data-theme] body:not(.skx-student) .skx-side .side-find i{color:rgba(255,255,255,.6)!important}
html[data-theme] body:not(.skx-student) .skx-side .nav-head{color:#cfe8e4!important;opacity:1!important;font-size:11.5px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase;margin:16px 14px 8px!important;padding:14px 0 0!important;border-top:1px solid rgba(255,255,255,.1)}
html[data-theme] body:not(.skx-student) #sideNav>li.nav-head:first-child{border-top:0;padding-top:4px!important}
html[data-theme] body:not(.skx-student):not(.side-mini-on) .skx-side .nav-link{display:flex!important;align-items:center;gap:10px;margin:0 12px 8px!important;padding:9px 12px!important;border-radius:8px!important;border:1px solid rgba(255,255,255,.16)!important;background:linear-gradient(90deg,#1f7471,#175f5e)!important;color:#fff!important;font-weight:700!important;font-size:14px!important;letter-spacing:.005em;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 3px 8px -4px rgba(0,0,0,.45)!important;transition:filter .15s,transform .15s}
html[data-theme] body:not(.skx-student) .skx-side .nav-link:hover{filter:brightness(1.12);transform:translateX(2px)}
html[data-theme] body:not(.skx-student) .skx-side .nav-link:before{display:none!important}
html[data-theme] body:not(.skx-student) .skx-side .nav-link i.ic{width:20px!important;height:20px!important;background:none!important;box-shadow:none!important;border-radius:0!important;font-size:16px!important;color:var(--mc,#fde047)!important;flex:none;display:inline-flex;align-items:center;justify-content:center}
html[data-theme] body:not(.skx-student) .skx-side .nav-link .lbl{flex:1;color:#fff!important}
html[data-theme] body:not(.skx-student) .skx-side .nav-link .chev{font-size:0!important;margin-left:auto;transform:none!important;opacity:.9}
html[data-theme] body:not(.skx-student) .skx-side .nav-link .chev:after{content:"▾";font-size:12px;font-style:normal;color:#e2f3f1;display:inline-block;transition:transform .2s}
html[data-theme] body:not(.skx-student) .skx-side .nav-link[aria-expanded="true"] .chev:after{transform:rotate(180deg)}
html[data-theme] body:not(.skx-student) .skx-side .nav-link.active,html[data-theme] body:not(.skx-student) .skx-side .nav-link[aria-expanded="true"]{background:linear-gradient(90deg,#6f8430,#2f7355)!important;border-color:rgba(253,230,138,.45)!important;color:#fff!important;box-shadow:0 6px 16px -8px rgba(111,132,48,.9)!important}
html[data-theme] body:not(.skx-student) .skx-side .sub{margin:-2px 12px 10px!important;padding:6px 0 6px 12px!important;border-left:2px solid rgba(253,230,138,.35);background:rgba(0,0,0,.12);border-radius:0 8px 8px 0}
html[data-theme] body:not(.skx-student) .skx-side .sub:before{display:none!important}
html[data-theme] body:not(.skx-student) .skx-side .sub a{color:#d7efec!important;font-size:13px!important;font-weight:500;padding:6px 10px!important;border-radius:6px;display:block;background:none!important}
html[data-theme] body:not(.skx-student) .skx-side .sub a:before{display:none!important}
html[data-theme] body:not(.skx-student) .skx-side .sub a:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
html[data-theme] body:not(.skx-student) .skx-side .sub a.active{color:#fde68a!important;font-weight:700;background:rgba(253,230,138,.1)!important}
html[data-theme] body:not(.skx-student) .skx-side .me,html[data-theme] body:not(.skx-student) .skx-side .side-mini{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important}
html[data-theme] body:not(.skx-student) .skx-side .me *,html[data-theme] body:not(.skx-student) .skx-side .side-mini *{color:#fff!important}
body:not(.skx-student) #sideNav>li:nth-child(10n+1){--mc:#fde047}body:not(.skx-student) #sideNav>li:nth-child(10n+2){--mc:#f9a8d4}body:not(.skx-student) #sideNav>li:nth-child(10n+3){--mc:#c4b5fd}
body:not(.skx-student) #sideNav>li:nth-child(10n+4){--mc:#7dd3fc}body:not(.skx-student) #sideNav>li:nth-child(10n+5){--mc:#bef264}body:not(.skx-student) #sideNav>li:nth-child(10n+6){--mc:#fdba74}
body:not(.skx-student) #sideNav>li:nth-child(10n+7){--mc:#fda4af}body:not(.skx-student) #sideNav>li:nth-child(10n+8){--mc:#5eead4}body:not(.skx-student) #sideNav>li:nth-child(10n+9){--mc:#e9d5ff}body:not(.skx-student) #sideNav>li:nth-child(10n+10){--mc:#fcd34d}
html[data-theme] body.side-mini-on:not(.skx-student) .skx-side .nav-link i.ic{color:var(--mc,#fde047)!important}
html[data-theme] body:not(.skx-student) .skx-side nav{padding:4px 0 16px!important}
html[data-theme] body:not(.skx-student) #sideNav{padding:0 0 10px!important}
html[data-theme] body:not(.skx-student) .skx-side #sideNav>li{background:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
html[data-theme] body:not(.skx-student) .skx-side .nav-link.active i.ic,html[data-theme] body:not(.skx-student) .skx-side .nav-link[aria-expanded="true"] i.ic{background:none!important;box-shadow:none!important;color:#fde68a!important}
/* v3.11.4 · white logo panel always shows the dark-text logo */
html[data-theme] .skx-side .brand .lg-dk{display:none!important}html[data-theme] .skx-side .brand .lg-lt{display:inline-block!important}
/* ===== v3.12 · roles & permissions ===== */
.rp-intro{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#ecfeff,#f0fdf4);border:1px solid #bae6fd;margin-bottom:14px;font-size:13.5px}.rp-intro>i{font-size:22px;color:#0f5a4f}
.rp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.rp-card{display:flex;flex-direction:column;gap:2px;padding:16px;border-radius:18px;color:#fff!important;text-decoration:none;background:linear-gradient(135deg,var(--c1,#0f5a4f),var(--c2,#14806f));box-shadow:0 12px 24px -16px var(--c1,#0f5a4f);transition:transform .15s}
.rp-card:hover{transform:translateY(-3px)}.rp-card .ic{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:8px}
.rp-card b{font-size:16px}.rp-card small{opacity:.9;font-size:12px}.rp-card em{font-style:normal;font-weight:700;font-size:12.5px;margin-top:8px}
.rp-card.sa{background:linear-gradient(135deg,#0f2350,#1d4e89)}
.rp-roles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.rp-roles a{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:30px;background:#fff;border:1.5px solid #e2e8f0;color:#334155;text-decoration:none;font-weight:700;font-size:13px}
.rp-roles a small{font-weight:500;color:#94a3b8;font-size:11px}.rp-roles a.on{background:linear-gradient(135deg,#0f5a4f,#14806f);color:#fff;border-color:transparent}.rp-roles a.on small{color:#d1fae5}.rp-roles a.all{margin-left:auto;border-style:dashed}
.rp-st{display:inline-flex;gap:6px;align-items:center;padding:4px 12px;border-radius:30px;font-size:12px;font-weight:800;background:#e0f2fe;color:#0369a1}.rp-st.c{background:#fef3c7;color:#b45309}
.rp-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.rp-find{position:relative;flex:1;min-width:220px}.rp-find i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8}.rp-find input{width:100%;height:40px;border:1.5px solid #e2e8f0;border-radius:12px;padding:0 12px 0 36px;outline:0}.rp-find input:focus{border-color:#14806f}
.rp-bar .btn{border:0;font-weight:700;color:#fff}.rp-b1{background:#16a34a}.rp-b2{background:#64748b}.rp-b3{background:#0284c7}.rp-bar .btn:hover{color:#fff;filter:brightness(1.08)}
.rp-count{font-size:13px;color:#475569;margin-left:auto}.rp-count b{color:#0f5a4f;font-size:16px}
.rp-tbl{border-collapse:separate;border-spacing:0}
.rp-tbl thead th{position:sticky;top:0;z-index:2;background:#0f2350!important;color:#fff!important;font-size:11.5px;letter-spacing:.04em;vertical-align:top}
.rp-tbl thead th .form-check-input{margin-top:5px;border-color:rgba(255,255,255,.6)}
.rp-tbl td{padding:7px 10px!important;border-top:1px solid #eef1f6!important;vertical-align:middle}
.rp-tbl tr.first td{border-top:2px solid #dbe3ee!important}
.rp-m{background:color-mix(in srgb,var(--mc) 7%,#fff)!important;border-left:4px solid var(--mc)!important;vertical-align:top!important}
.rp-m label{display:flex;gap:8px;align-items:center;cursor:pointer}.rp-m b{color:color-mix(in srgb,var(--mc) 80%,#0f172a);font-size:13.5px}.rp-m small{display:block;color:#94a3b8;font-size:11px;margin:2px 0 0 26px}
.rp-f{font-size:13.5px;font-weight:600;color:#1e293b}.rp-f small{display:block;font-weight:400;color:#94a3b8;font-size:11px}
.rp-tbl tbody tr:hover td:not(.rp-m){background:#f8fafc}
.rp-c{width:19px;height:19px;cursor:pointer}.rp-c:checked{background-color:#16a34a;border-color:#16a34a}
.rp-na{color:#cbd5e1}
.rp-foot{position:sticky;bottom:0;z-index:3;background:#fff;display:flex;gap:10px;box-shadow:0 -8px 20px -16px rgba(15,23,42,.5)}
@media screen and (max-width:767px){.rp-count{margin-left:0;width:100%}.rp-roles a.all{margin-left:0}.rp-tbl td,.rp-tbl th{font-size:12px}.rp-f small{display:none}}
/* ===== v3.13 · phone: tables → colourful cards (all pages) ===== */
@media screen and (max-width:767px){
  .table-wrap:has(> table.mcards){overflow:visible!important;border:0!important;box-shadow:none!important;background:none!important}
  table.mcards,table.mcards>tbody,table.mcards>tfoot{display:block;width:100%}
  table.mcards>thead{display:none}
  table.mcards>tbody>tr{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0 0 12px;padding:0 12px 12px;border-radius:18px;overflow:hidden;
    background:linear-gradient(180deg,color-mix(in srgb,var(--mc) 10%,#fff),#fff 70%);border:1.5px solid color-mix(in srgb,var(--mc) 30%,#fff);border-left:6px solid var(--mc);box-shadow:0 10px 20px -16px var(--mc)}
  table.mcards>tbody>tr:nth-child(6n+1){--mc:#2563eb}table.mcards>tbody>tr:nth-child(6n+2){--mc:#16a34a}table.mcards>tbody>tr:nth-child(6n+3){--mc:#db2777}
  table.mcards>tbody>tr:nth-child(6n+4){--mc:#ea580c}table.mcards>tbody>tr:nth-child(6n+5){--mc:#7c3aed}table.mcards>tbody>tr:nth-child(6n+6){--mc:#0891b2}
  table.mcards>tbody>tr>td{display:block;border:0!important;padding:0!important;background:none!important;text-align:left!important;font-size:13.5px;min-width:0;word-break:break-word}
  table.mcards>tbody>tr>td[data-l]:before{content:attr(data-l);display:block;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:color-mix(in srgb,var(--mc) 70%,#475569);margin-bottom:1px}
  table.mcards>tbody>tr>td.mc-title{grid-column:1/-1;margin:0 -12px 4px;padding:11px 44px 10px 12px!important;background:linear-gradient(90deg,var(--mc),color-mix(in srgb,var(--mc) 60%,#fff))!important;color:#fff!important;font-weight:800;font-size:15px}
  table.mcards>tbody>tr>td.mc-title *{color:#fff!important}table.mcards>tbody>tr>td.mc-title .badge{background:rgba(255,255,255,.25)!important}
  table.mcards>tbody>tr>td.mc-chk{position:absolute;top:10px;right:12px;z-index:2}table.mcards>tbody>tr>td.mc-chk .form-check-input{width:20px;height:20px;border-color:#fff}
  table.mcards>tbody>tr>td.mc-act{grid-column:1/-1;display:flex!important;flex-wrap:wrap;gap:6px;justify-content:flex-end;padding-top:8px!important;border-top:1px dashed color-mix(in srgb,var(--mc) 30%,#fff)!important}
  table.mcards>tbody>tr>td.mc-empty{display:none}
  table.mcards>tbody>tr>td .form-control,table.mcards>tbody>tr>td .form-select{width:100%;max-width:none!important}
  table.mcards>tbody>tr.mc-span{display:block;padding:10px 12px;border-left-color:#94a3b8}
  table.mcards>tbody>tr.mc-span>td{display:inline-block;margin-right:8px}
  table.mcards>tfoot>tr{display:flex;flex-wrap:wrap;gap:6px 14px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,#0f2350,#1d4e89);color:#fff}
  table.mcards>tfoot>tr>td,table.mcards>tfoot>tr>th{border:0!important;padding:0!important;color:#fff!important;background:none!important;font-weight:800}table.mcards>tfoot>tr>td:empty{display:none}
}
/* ===== v3.13 · fee cards on phones — richer colours ===== */
@media screen and (max-width:767px){
  .fc-tbl tr.fl{padding:0 12px 12px 12px!important;overflow:hidden;border:1.5px solid var(--fcb)!important;border-left:6px solid var(--fc)!important;background:linear-gradient(180deg,var(--fct),#fff 75%)!important;box-shadow:0 12px 22px -16px var(--fc)!important;--fc:#2563eb;--fcb:#bfdbfe;--fct:#eff6ff}
  .fc-tbl tr.fl.pd{--fc:#16a34a;--fcb:#bbf7d0;--fct:#f0fdf4}.fc-tbl tr.fl.od{--fc:#dc2626;--fcb:#fecaca;--fct:#fef2f2}
  .fc-tbl tr.fl td.fee{margin:0 -12px 6px;padding:12px 44px 11px 14px!important;background:linear-gradient(90deg,var(--fc),color-mix(in srgb,var(--fc) 55%,#fff))!important;color:#fff!important}
  .fc-tbl tr.fl td.fee *,.fc-tbl tr.fl td.fee .text-muted{color:#fff!important}.fc-tbl tr.fl td.fee small{opacity:.9}
  .fc-tbl tr.fl td:first-child{left:auto!important;right:12px;top:14px!important;z-index:2}.fc-tbl tr.fl td:first-child .form-check-input{width:20px;height:20px;border-color:#fff;background-color:rgba(255,255,255,.25)}
  .fc-tbl tr.fl{padding-left:12px!important}
  .fc-tbl tr.fl td[data-l]:not(.fee):before{color:color-mix(in srgb,var(--fc) 75%,#475569)!important}
  .fc-tbl tr.fl td.bal{background:var(--fc)!important;color:#fff!important;border-radius:12px;padding:9px 14px!important;margin-top:4px}
  .fc-tbl tr.fl td.bal:before{color:rgba(255,255,255,.85)!important}
  .fc-tbl tr.fl td .badge{font-size:12px;padding:5px 10px}
  .fc-tbl tr.fl td.act .btn-ic{width:40px;height:40px;background:var(--fct);color:var(--fc)!important;border:1.5px solid var(--fcb)}
  .fc-tbl tr.rc{margin:-6px 8px 12px!important;padding:10px 12px!important;background:linear-gradient(90deg,#fef9c3,#fff)!important;border:1.5px dashed #facc15!important;border-top:0!important;border-radius:0 0 14px 14px!important}
  .fc-tbl tr.rc td.rno a{font-weight:800;color:#a16207!important}
  .fc-tbl tfoot tr.gt{background:linear-gradient(135deg,#0f2350,#1d4e89)!important;color:#fff}.fc-tbl tfoot tr.gt td{color:#fff!important}
}
@media screen and (max-width:767px){
  table.mcards>tbody>tr>td.mc-title{order:-1}
  .fc-tbl tr.fl td:not(.fee):not(.bal){background:transparent!important;box-shadow:none!important}
  .fc-tbl tr.fl td.bal[data-l]:not(.fee):before{color:#fff!important;opacity:.9}
  .fc-tbl tr.fl td:first-child .form-check-input:checked{background-color:#facc15;border-color:#fff}
}
@media screen and (max-width:767px){.fc-tbl tr.rc td{background:transparent!important;box-shadow:none!important}}
/* ===== v3.13.1 · vivid fee cards in the student / parent portal (all screen sizes) ===== */
.fx-mc{--fc:#2563eb;--fcb:#bfdbfe;--fct:#eff6ff;padding:0!important;overflow:hidden;border:1.5px solid var(--fcb)!important;border-top:0!important;border-left:6px solid var(--fc)!important;background:linear-gradient(180deg,var(--fct),#fff 70%)!important;box-shadow:0 14px 26px -18px var(--fc)!important;gap:0!important}
.fx-mc.ok{--fc:#16a34a;--fcb:#bbf7d0;--fct:#f0fdf4}.fx-mc.bad{--fc:#dc2626;--fcb:#fecaca;--fct:#fef2f2}.fx-mc.warn{--fc:#d97706;--fcb:#fde68a;--fct:#fffbeb}
.fx-mch{padding:12px 14px;background:linear-gradient(90deg,var(--fc),color-mix(in srgb,var(--fc) 55%,#fff));color:#fff}
.fx-mch b,.fx-mch b span,.fx-mch small{color:#fff!important}.fx-mch small{opacity:.92}
.fx-mch .fx-st{background:#fff!important;color:var(--fc)!important;font-size:11px;padding:4px 10px}
.fx-mch .fx-rc a{background:rgba(255,255,255,.22)!important;color:#fff!important}
.fx-mch .pf-chk{border-color:#fff!important;background-color:rgba(255,255,255,.25)}.fx-mch .pf-chk:checked{background-color:#facc15!important;border-color:#fff!important}
.fx-mcb{padding:10px 14px 4px}.fx-mcb span{color:color-mix(in srgb,var(--fc) 70%,#475569)!important;font-weight:600}
.fx-mcb .bal{background:var(--fc)!important;color:#fff;border-radius:12px!important}.fx-mcb .bal span,.fx-mcb .bal b{color:#fff!important}
.fx-mc>.fx-btn{margin:6px 14px 14px;width:calc(100% - 28px)!important}
.fx-mc.first{box-shadow:0 0 0 3px rgba(220,38,38,.25),0 14px 26px -16px #dc2626!important}

/* ===== v3.13.1 · admin fee table — coloured rows on big screens ===== */
@media (min-width:768px){
  .fc-tbl tr.fl.pd td{background:#f0fdf4!important}.fc-tbl tr.fl.od td{background:#fef2f2!important}.fc-tbl tr.fl.du td{background:#eff6ff!important}
  .fc-tbl tr.fl td.fee b{color:#0f2350}.fc-tbl tr.fl.od td.fee b{color:#b91c1c}
  .fc-tbl tr.fl td .badge.bg-ok{background:#16a34a!important;color:#fff!important}.fc-tbl tr.fl td .badge.bg-bad{background:#dc2626!important;color:#fff!important}.fc-tbl tr.fl td .badge.bg-warn{background:#d97706!important;color:#fff!important}
  .fc-tbl tr.fl td.bal{font-size:15px}
  .fc-tbl tr.fl.pd td.bal{color:#15803d!important}.fc-tbl tr.fl.od td.bal,.fc-tbl tr.fl.du td.bal{color:#b91c1c!important}
  .fc-tbl tr.fl td.bal{position:relative}.fc-tbl tr.fl td.bal:after{content:"";position:absolute;inset:8px 4px;border-radius:10px;background:currentColor;opacity:.1;pointer-events:none}
  .fc-tbl tr.rc td{background:#fefce8!important;color:#713f12}.fc-tbl tr.rc td a{color:#a16207!important;font-weight:800}
  .fc-tbl tr.fl td .btn-ic{box-shadow:0 4px 10px -6px rgba(0,0,0,.35)}
  .fc-tbl tr.fl.pd td:first-child{box-shadow:inset 6px 0 0 #16a34a!important}.fc-tbl tr.fl.od td:first-child{box-shadow:inset 6px 0 0 #dc2626!important}.fc-tbl tr.fl.du td:first-child{box-shadow:inset 6px 0 0 #2563eb!important}
  .fc-tbl tbody tr.fl:hover td{filter:brightness(.97)}
}
/* ===== v3.14 · import from old software: upload + undo ===== */
.im-up{border-top:4px solid #16a34a}
.im-drop{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 12px;border:2px dashed #86efac;border-radius:16px;background:linear-gradient(180deg,#f0fdf4,#fff);cursor:pointer;text-align:center;transition:.15s}
.im-drop i{font-size:34px;color:#16a34a}.im-drop b{font-size:14px;color:#14532d;word-break:break-all}.im-drop small{color:#64748b;font-size:11.5px}
.im-drop:hover,.im-drop.on{border-color:#16a34a;background:#dcfce7}
.im-prog{padding:12px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}
.im-bar{height:10px;border-radius:10px;background:#e2e8f0;overflow:hidden;margin-top:6px}.im-bar i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#16a34a,#22d3ee);transition:width .4s}
.im-undo{border-top:4px solid #dc2626;background:linear-gradient(180deg,#fff5f5,#fff)}
/* ===== v3.15 · reports hub (finance first) + report header bar ===== */
.rh-hero{position:relative;overflow:hidden;border-radius:22px;padding:20px 22px;color:#fff;margin-bottom:18px;background:radial-gradient(420px 220px at 95% 0%,rgba(253,230,138,.28),transparent 70%),linear-gradient(125deg,#0b3f42,#0f5a4f 55%,#14806f);box-shadow:0 18px 34px -22px rgba(15,90,79,.95)}
.rh-t{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.rh-ic{width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fde68a;flex:none}
.rh-t h1{margin:0;font-size:24px;font-weight:800;color:#fff}.rh-t p{margin:2px 0 0;font-size:13px;opacity:.9}
.rh-sch{margin-left:auto;text-align:right}.rh-sch b{display:block;font-size:14px;color:#fde68a}.rh-sch small{opacity:.85}
.rh-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.rh-chips a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:#fff;color:#0f172a;text-decoration:none;box-shadow:0 8px 16px -12px rgba(0,0,0,.5);transition:transform .15s}
.rh-chips a:hover{transform:translateY(-2px)}.rh-chips i{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c);font-size:16px;flex:none}
.rh-chips small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.rh-chips b{font-size:15px}
.rh-find{position:relative;margin-top:14px}.rh-find i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8}.rh-find input{width:100%;height:44px;border:0;border-radius:12px;padding:0 14px 0 40px;outline:0;font-size:14px;box-shadow:0 6px 14px -10px rgba(0,0,0,.5)}
.rh-sec{margin-bottom:16px;padding:16px;border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 7%,#fff),#fff 60%);border:1.5px solid color-mix(in srgb,var(--c) 25%,#fff);border-top:4px solid var(--c);box-shadow:0 10px 24px -20px var(--c)}
.rh-sh{display:flex;align-items:center;gap:12px;margin-bottom:12px}.rh-sh .ic{width:40px;height:40px;border-radius:12px;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 8px 16px -8px var(--c)}
.rh-sh h2{margin:0;font-size:16px;font-weight:800;color:#0f172a}.rh-sh small{color:#64748b;font-size:12px}.rh-sh em{margin-left:auto;font-style:normal;font-size:11.5px;font-weight:800;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);padding:4px 10px;border-radius:30px;white-space:nowrap}
.rh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.rh-tile{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;background:color-mix(in srgb,var(--c) 10%,#fff);border:1px solid color-mix(in srgb,var(--c) 22%,#fff);color:#0f172a!important;text-decoration:none;transition:.15s;min-height:62px}
.rh-tile:hover{background:var(--c);color:#fff!important;transform:translateY(-2px);box-shadow:0 12px 20px -12px var(--c)}.rh-tile:hover small,.rh-tile:hover .i,.rh-tile:hover .go{color:#fff!important}
.rh-tile .i{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--c);display:flex;align-items:center;justify-content:center;font-size:16px;flex:none;box-shadow:0 4px 10px -6px rgba(0,0,0,.3)}
.rh-tile:hover .i{background:rgba(255,255,255,.2)}
.rh-tile .x{flex:1;min-width:0}.rh-tile b{display:block;font-size:13.5px;font-weight:700;line-height:1.25}.rh-tile small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;color:#64748b;line-height:1.3;margin-top:2px}
.rh-tile .go{color:var(--c);font-size:13px;flex:none}
.rh-none{text-align:center;padding:30px;color:#64748b}
@media screen and (max-width:767px){.rh-chips{grid-template-columns:repeat(2,1fr)}.rh-sch{display:none}.rh-grid{grid-template-columns:1fr 1fr;gap:8px}.rh-tile{flex-direction:column;align-items:flex-start;min-height:0}.rh-tile .go{display:none}.rh-tile small{display:none}.rh-t h1{font-size:20px}}
.rb{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:18px;margin-bottom:14px;color:#fff;background:linear-gradient(120deg,#0b3f42,#0f5a4f 55%,color-mix(in srgb,var(--c) 70%,#14806f));box-shadow:0 12px 24px -18px rgba(15,90,79,.9)}
.rb-ic{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:19px;color:#fde68a;flex:none}
.rb-crumb{font-size:12px;opacity:.9}.rb-crumb a{color:#fff;text-decoration:none}.rb-crumb a:hover{text-decoration:underline}.rb-crumb i{font-size:10px;margin:0 3px}.rb-t b{display:block;font-size:17px;font-weight:800}
.rb-all{border:0;border-radius:12px;padding:8px 14px;background:#fff;color:#0f5a4f;font-weight:800;font-size:13px;white-space:nowrap}
.rb-menu{max-height:70vh;overflow:auto;min-width:280px;border-radius:14px}.rb-menu .dropdown-header{font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}.rb-menu .dropdown-item{font-size:13px;border-radius:8px}
.rb-menu .dropdown-item.active{background:#0f5a4f}
@media screen and (max-width:767px){.rb{flex-wrap:wrap}.rb .dropdown{margin-left:0!important;width:100%}.rb-all{width:100%}}
/* nicer "select criteria" filter strips on every report */
.filter-strip{background:linear-gradient(180deg,#f0fdfa,#fff);border:1.5px solid #ccfbf1;border-radius:16px;padding:12px 14px 14px;margin-bottom:14px!important;position:relative}
.filter-strip:before{content:"Select criteria";display:block;width:100%;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0f5a4f;margin:0 0 2px;flex:0 0 100%}
.filter-strip .form-label{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#475569}
.filter-strip .btn-primary{background:linear-gradient(135deg,#0f5a4f,#14806f)!important;border:0;font-weight:700}
.rb .rb-crumb,.rb .rb-crumb a,.rb .rb-crumb i{color:rgba(255,255,255,.92)!important}.rb .rb-t b{color:#fff!important}
/* ===== v3.16 · report criteria card + result (fees collection) ===== */
.cr{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px -18px rgba(15,23,42,.45);margin-bottom:16px;border:1px solid #e2e8f0}
.cr-h{display:flex;gap:12px;align-items:center;padding:14px 18px;color:#fff;background:radial-gradient(260px 140px at 95% 0%,rgba(255,255,255,.18),transparent 70%),linear-gradient(120deg,#0b3f42,#0f5a4f 55%,#14806f)}
.cr-ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:19px;flex:none}
.cr-h b{display:block;font-size:18px;font-weight:800}.cr-h small{opacity:.9;font-size:12.5px}
.cr-b{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;padding:16px 18px 6px}
.cr-l{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--c);margin-bottom:6px}
.cr-l i{width:24px;height:24px;border-radius:7px;background:var(--c);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.cr-l em{color:#dc2626;font-style:normal}
.cr-f .form-select,.cr-f .form-control{height:44px;border-radius:12px;border:1.5px solid #e2e8f0}.cr-f .form-select:focus,.cr-f .form-control:focus{border-color:#14806f;box-shadow:0 0 0 3px rgba(20,128,111,.12)}
.cr-a{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 18px 16px;border-top:1px dashed #e2e8f0;margin-top:10px}.cr-a small{flex:1;color:#64748b}.cr-a small i{color:#0d9488}
.cr-reset{border:1.5px solid #e2e8f0;background:#f8fafc;font-weight:700;border-radius:12px}.cr-go{background:linear-gradient(135deg,#0f5a4f,#14806f);color:#fff!important;font-weight:800;border-radius:12px;padding:8px 22px;border:0}
.cr-res{padding:16px 18px!important}
.cr-rh{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.cr-ric{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;display:flex;align-items:center;justify-content:center;font-size:21px;flex:none}
.cr-rh b{display:block;font-size:18px;font-weight:800;color:#0f172a}.cr-rh small{color:#64748b;font-size:12.5px}
.cr-xl{border:1.5px solid #16a34a;color:#15803d!important;background:#f0fdf4;font-weight:700;border-radius:10px}.cr-pr{border:1.5px solid #2563eb;color:#1d4ed8!important;background:#eff6ff;font-weight:700;border-radius:10px}
.cr-kpi{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:12px}
.cr-kpi>div{position:relative;overflow:hidden;border-radius:16px;padding:14px 16px;color:#fff;box-shadow:0 10px 20px -14px rgba(0,0,0,.5)}
.cr-kpi>div:after{content:"";position:absolute;right:-24px;top:-24px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.14)}
.cr-kpi small{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.92}.cr-kpi b{font-size:21px;font-weight:800;white-space:nowrap}
.cr-kpi>div>i{position:absolute;right:12px;bottom:10px;font-size:22px;opacity:.5}
.cr-kpi .k1{background:linear-gradient(135deg,#2563eb,#60a5fa)}.cr-kpi .k2{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.cr-kpi .k3{background:linear-gradient(135deg,#16a34a,#4ade80)}
.cr-kpi .k4{background:linear-gradient(135deg,#db2777,#f472b6)}.cr-kpi .k5{background:linear-gradient(135deg,#ea580c,#fb923c)}.cr-kpi .k6{background:linear-gradient(135deg,#0f5a4f,#14806f)}
@media (max-width:1560px){.cr-kpi{grid-template-columns:repeat(3,1fr)}}@media screen and (max-width:767px){.cr-kpi{grid-template-columns:repeat(2,1fr)}.cr-kpi b{font-size:17px}.cr-b{grid-template-columns:1fr 1fr}}
.cr-modes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.cr-modes span{padding:5px 12px;border-radius:30px;background:#f0fdf4;border:1.5px solid #bbf7d0;font-size:12.5px;color:#15803d}.cr-modes b{color:#0f172a}
.cr-grp{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-bottom:14px}.cr-grp>div{padding:10px 12px;border-radius:14px;background:#f8fafc;border-left:4px solid #14806f}
.cr-grp small{display:block;font-size:12px;color:#475569;font-weight:700}.cr-grp b{font-size:16px}.cr-grp em{display:block;font-style:normal;font-size:11.5px;color:#94a3b8}
.cr-tbl thead th{background:#0f2350!important;color:#fff!important;font-size:11.5px;letter-spacing:.04em;white-space:nowrap}
.cr-tbl td{font-size:13px;vertical-align:middle}.cr-tbl tr.cx td{opacity:.5;text-decoration:line-through}
.cr-rno{font-family:ui-monospace,Menlo,monospace;font-size:12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:2px 6px;text-decoration:none;color:#0f172a!important;white-space:nowrap}
.cr-cls{display:inline-block;background:#eef2ff;color:#4338ca;font-weight:800;font-size:12px;border-radius:6px;padding:2px 8px;white-space:nowrap}
.cr-ft{color:#c2410c;font-weight:700;font-size:12px!important;text-transform:uppercase;max-width:220px}
.cr-tbl tfoot td{background:#fff7e6;font-weight:800}
.cr-empty{text-align:center;padding:36px 10px;color:#64748b}.cr-empty i{display:block;font-size:40px;color:#cbd5e1}.cr-empty b{display:block;color:#0f172a;font-size:16px}
@media print{.cr-kpi>div,.cr-tbl thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.cr-wide td,.cr-wide th{font-size:12px!important;padding:6px 7px!important;white-space:nowrap}
/* fees statement (one student) */
.fs-hd{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px;padding:14px;border-radius:16px;background:linear-gradient(135deg,#0f5a4f,#14806f);color:#fff}
.fs-hd img{width:66px;height:66px;border-radius:50%;object-fit:cover;border:3px solid #fff;background:#fff}.fs-hd h2{margin:0 0 6px;font-size:18px;font-weight:800;color:#fff}
.fs-chips{display:flex;flex-wrap:wrap;gap:6px}.fs-chips span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);border-radius:30px;padding:2px 10px;font-size:12px;font-weight:600}.fs-chips .y{background:#fde68a;color:#713f12;border:0}
.fs-hd .cr-xl,.fs-hd .cr-pr{background:#fff}
.fs-b{display:inline-block;font-size:11px;font-weight:800;padding:3px 9px;border-radius:20px}
.fs-tbl tr.fs-l td{border-top:2px solid #e2e8f0!important;background:#fff}.fs-tbl tr.fs-p td{background:#fefce8!important;font-size:12px!important;color:#713f12}.fs-tbl tr.fs-p a{color:#a16207;font-weight:800}
.fs-tbl tr.cx td{opacity:.5;text-decoration:line-through}
.cr-tbl td.cr-desc{white-space:normal!important;min-width:260px;max-width:360px;font-size:12px!important;color:#475569}
/* ===== v3.19 · student list ===== */
.sl-hero{border-radius:22px;padding:18px 20px;color:#fff;margin-bottom:16px;background:radial-gradient(380px 200px at 95% 0%,rgba(253,230,138,.25),transparent 70%),linear-gradient(125deg,#0b3f42,#0f5a4f 55%,#14806f);box-shadow:0 18px 34px -22px rgba(15,90,79,.95)}
.sl-t{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sl-ic{width:52px;height:52px;border-radius:15px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fde68a}
.sl-t h2{margin:0;font-size:22px;font-weight:800;color:#fff}.sl-t small{opacity:.88}
.sl-acts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.sl-b{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:12px;padding:9px 14px;font-weight:700;font-size:13px;color:#fff!important;text-decoration:none;box-shadow:0 8px 16px -10px rgba(0,0,0,.5);transition:transform .15s}
.sl-b:hover{transform:translateY(-2px)}.sl-b.g{background:linear-gradient(135deg,#16a34a,#22c55e)}.sl-b.p{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.sl-b.c{background:linear-gradient(135deg,#0284c7,#38bdf8)}.sl-b.o{background:linear-gradient(135deg,#ea580c,#fb923c)}
.sl-kpi{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px}
.sl-kpi>*{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none}
.sl-kpi i{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;background:rgba(255,255,255,.14);color:var(--c)}
.sl-kpi small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.85}.sl-kpi b{font-size:19px;font-weight:800}
.sl-kpi a:hover{background:rgba(255,255,255,.18)}
@media screen and (max-width:991px){.sl-kpi{grid-template-columns:repeat(2,1fr)}.sl-acts{margin-left:0;width:100%}.sl-b{flex:1;justify-content:center}}
.sl-view{display:inline-flex;background:#f1f5f9;border-radius:12px;padding:3px}.sl-view button{border:0;background:none;border-radius:9px;padding:6px 10px;color:#64748b}.sl-view button.on{background:#fff;color:#0f5a4f;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.sl-name{display:flex;align-items:center;gap:10px;text-decoration:none;color:#0f172a!important}.sl-name img{width:40px;height:40px;border-radius:12px;object-fit:cover;background:#eef2ff;flex:none}
.sl-name b{display:block;font-weight:700}.sl-name small{display:block;font-size:11.5px;color:#94a3b8}.sl-name:hover b{color:#0f5a4f}
.sl-g{display:inline-flex;gap:4px;align-items:center;font-size:12px;font-weight:700;padding:2px 9px;border-radius:20px}.sl-g.m{background:#e0f2fe;color:#0369a1}.sl-g.f{background:#fce7f3;color:#be185d}
.sl-ph{color:#0f5a4f!important;text-decoration:none;font-weight:600}.sl-ph i{font-size:11px}
.sl-act a{display:inline-flex;width:32px;height:32px;border-radius:10px;align-items:center;justify-content:center;color:#fff!important;margin-left:3px;box-shadow:0 4px 10px -6px rgba(0,0,0,.4)}
.sl-act .v,.sl-cb .v{background:linear-gradient(135deg,#2563eb,#60a5fa)}.sl-act .e,.sl-cb .e{background:linear-gradient(135deg,#ea580c,#fb923c)}.sl-act .f,.sl-cb .f{background:linear-gradient(135deg,#16a34a,#4ade80)}
.sl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.sl-card{border-radius:18px;overflow:hidden;background:#fff;border:1.5px solid color-mix(in srgb,var(--c) 25%,#fff);box-shadow:0 10px 22px -18px var(--c);display:flex;flex-direction:column}
.sl-top{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px 12px;text-decoration:none;color:#fff!important;background:linear-gradient(160deg,var(--c),color-mix(in srgb,var(--c) 55%,#fff))}
.sl-top img{width:74px;height:74px;border-radius:50%;object-fit:cover;border:3px solid #fff;background:#fff}.sl-top b{font-size:14.5px;text-align:center;line-height:1.2}
.sl-chip{font-size:11.5px;font-weight:700;background:rgba(255,255,255,.22);padding:2px 10px;border-radius:20px}
.sl-info{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:10px 12px;font-size:12.5px}.sl-info .w{grid-column:1/-1}.sl-info small{display:block;font-size:10px;font-weight:800;color:color-mix(in srgb,var(--c) 70%,#475569);text-transform:uppercase;letter-spacing:.05em}.sl-info b{font-weight:600;word-break:break-word}
.sl-info a{color:#0f5a4f;text-decoration:none}
.sl-cb{display:flex;gap:6px;padding:0 12px 12px;margin-top:auto}.sl-cb a{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:34px;min-width:34px;border-radius:10px;color:#fff!important;text-decoration:none;font-size:12.5px;font-weight:700}.sl-cb .v{flex:1}
@media print{.sl-acts,.sl-view,.cr,.pager{display:none!important}.sl-hero{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* ===== v3.19 · admission form ===== */
#admForm.af>.box>.box-header{background:linear-gradient(125deg,#0b3f42,#0f5a4f 55%,#14806f);border:0;border-radius:18px 18px 0 0}
#admForm.af>.box>.box-header .box-title{color:#fff!important;font-size:19px}#admForm.af>.box>.box-header .ico{background:rgba(255,255,255,.18)!important;color:#fde68a!important}
#admForm.af>.box>.box-header .btn{background:rgba(255,255,255,.95)!important;color:#0f5a4f!important;font-weight:700;border:0}
#admForm.af>.box{overflow:visible}
.af-nav{position:sticky;top:64px;z-index:20;display:flex;gap:8px;overflow-x:auto;padding:8px 2px 10px;margin-bottom:6px;scrollbar-width:none;background:linear-gradient(180deg,var(--skx-bg,#f5f2ea) 75%,transparent)}.af-nav::-webkit-scrollbar{display:none}
.af-nav a{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:30px;background:#fff;border:1.5px solid color-mix(in srgb,var(--c) 30%,#fff);color:var(--c)!important;font-size:12.5px;font-weight:700;text-decoration:none;box-shadow:0 4px 10px -8px var(--c)}
.af-nav a:hover{background:var(--c);color:#fff!important}.af-nav a em{font-style:normal;font-size:10.5px;background:color-mix(in srgb,var(--c) 12%,#fff);padding:1px 6px;border-radius:10px}.af-nav a em:empty{display:none}
.af-nav a.ok em{background:#16a34a;color:#fff}.af-nav a.ok em:before{content:"✓ "}
.af-sec{position:relative;margin:0 0 18px;padding:16px 16px 6px;border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 6%,#fff),#fff 70%);border:1.5px solid color-mix(in srgb,var(--c) 20%,#fff);border-left:5px solid var(--c);scroll-margin-top:130px}
.af-sec.bad{border-color:#fecaca;border-left-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.12)}
.af-sec>.sec-title{display:flex!important;align-items:center;gap:10px;border:0!important;margin:0 0 14px!important;padding:0!important;color:var(--c)!important;font-size:13px!important;letter-spacing:.06em}
.af-sec>.sec-title i{width:32px;height:32px;border-radius:10px;background:var(--c);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 6px 12px -6px var(--c)}
.af-sec .form-label{font-size:12px;font-weight:700;color:#334155}.af-sec .form-control,.af-sec .form-select{border-radius:11px;border:1.5px solid #e2e8f0;min-height:42px}
.af-sec .form-control:focus,.af-sec .form-select:focus{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 14%,transparent)}
.af-sec .req{color:#dc2626}
.af-foot{position:sticky;bottom:0;z-index:15;display:flex;align-items:center;gap:10px;background:#fff!important;border-top:1px solid #e2e8f0;border-radius:0 0 18px 18px;box-shadow:0 -10px 20px -18px rgba(15,23,42,.6)}
.af-prog{margin-right:auto;font-size:12.5px;color:#475569}.af-prog b{color:#0f5a4f}
.af-save{background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:#fff!important;font-weight:800;border:0;border-radius:12px;padding:9px 22px;box-shadow:0 10px 18px -10px #16a34a}
@media screen and (max-width:991px){.af-nav{top:56px}.af-prog{display:none}.af-foot .af-save{flex:1}}
@media screen and (max-width:991px){body.skx-ui .af-foot{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
.sl-kpi a,.sl-kpi a b,.sl-kpi a small{color:#fff!important}
@media screen and (max-width:767px){.sl-hero{padding:14px}.sl-t h2{font-size:18px}.sl-ic{width:42px;height:42px;font-size:19px}
  .sl-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.sl-b{padding:8px 6px;font-size:12px;flex-direction:column;gap:3px}.sl-b span{line-height:1.1;text-align:center}
  .sl-kpi{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.sl-kpi>*{flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px}.sl-kpi i{display:none}.sl-kpi b{font-size:17px}.sl-kpi small{font-size:9.5px}}
/* ===== v3.19.1 · student search  ===== */
.ss-crit{background:#fff;border-radius:20px;overflow:visible;box-shadow:0 8px 24px -18px rgba(15,23,42,.45);border:1px solid #e2e8f0;margin-bottom:16px}
.ss-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;color:#fff;border-radius:20px 20px 0 0;background:linear-gradient(110deg,#1e3a8a,#2563eb 45%,#06b6d4)}
.ss-ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:19px}
.ss-h b{display:block;font-size:18px;font-weight:800}.ss-h small{opacity:.9;font-size:12.5px}.ss-top{margin-left:auto;display:flex;gap:8px}
.ss-body{display:grid;grid-template-columns:1fr auto 1.25fr;gap:14px;align-items:stretch;padding:16px 18px}
.ss-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px 14px}
.ss-bh{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.06em;color:#1e293b;margin-bottom:8px}.ss-bh i{width:24px;height:24px;border-radius:7px;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.ss-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.ss-f{position:relative;flex:1;min-width:130px}.ss-f.w{min-width:220px}
.ss-f label{display:block;font-size:12px;font-weight:600;color:#334155;margin-bottom:4px}.ss-f label em{color:#dc2626;font-style:normal}
.ss-pick{width:100%;height:42px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 12px;border:1.5px solid #e2e8f0;border-radius:11px;background:#fff;font-size:14px;color:#0f172a}
.ss-pick:hover,.ss-pick:focus{border-color:#2563eb}
.ss-pop{position:absolute;left:0;top:calc(100% + 6px);z-index:40;min-width:280px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px;box-shadow:0 18px 40px -16px rgba(15,23,42,.45)}
.ss-pg{margin-bottom:8px}.ss-pg small,.ss-pop>small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:#64748b;text-transform:uppercase;margin-bottom:5px}
.ss-pg>div,.ss-chips{display:flex;flex-wrap:wrap;gap:6px}
.ss-pg button,.ss-chips button{min-width:48px;height:36px;padding:0 10px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;font-weight:700;font-size:13px;color:#1e293b}
.ss-pg button:hover,.ss-chips button:hover{border-color:#2563eb;color:#2563eb}.ss-pg button.on,.ss-chips button.on{background:#2563eb;border-color:#2563eb;color:#fff}
.ss-chips button{border-color:#bbf7d0}.ss-chips button.on{background:#16a34a;border-color:#16a34a}
.ss-all{display:block;text-align:center;margin-top:8px;padding-top:8px;border-top:1px solid #f1f5f9;font-size:12.5px;color:#475569;text-decoration:none}
.ss-go{height:42px;border:0;border-radius:11px;padding:0 18px;color:#fff;font-weight:800;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ss-go.b{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}.ss-go.p{background:linear-gradient(135deg,#7e22ce,#a855f7)}
.ss-or{align-self:center;width:34px;height:34px;border-radius:50%;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.ss-in{position:relative}.ss-in i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8}.ss-in input{width:100%;height:42px;border:1.5px solid #e2e8f0;border-radius:11px;padding:0 12px 0 34px;outline:0}.ss-in input:focus{border-color:#9333ea}
.ss-in.sm input{height:38px}
.ss-res{padding:0!important;overflow:hidden}
.ss-tabs{display:flex;align-items:flex-end;gap:4px;flex-wrap:wrap;padding:12px 16px 0;border-bottom:2px solid #0f5a4f}
.ss-tabs button{border:0;border-radius:12px 12px 0 0;padding:9px 16px;font-weight:700;font-size:13.5px;background:#f1f5f9;color:#475569}.ss-tabs button.on{background:#0f5a4f;color:#fff}
.ss-meta{margin-left:auto;align-self:center;font-size:12.5px;color:#64748b;padding-bottom:6px}.ss-meta b{color:#0f172a}.ss-meta .m{color:#0369a1}.ss-meta .f{color:#be185d}.ss-meta a{color:#dc2626;font-weight:700}
.ss-tool{display:flex;align-items:center;gap:10px;padding:12px 16px}.ss-tool .ss-in{max-width:280px;flex:1}
.ss-exp{margin-left:auto;display:flex;gap:6px}.ss-exp>*{width:36px;height:36px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#475569;text-decoration:none}
.ss-exp .x{color:#16a34a;border-color:#bbf7d0}.ss-exp .c{color:#2563eb;border-color:#bfdbfe}.ss-exp .p{color:#7c3aed;border-color:#ddd6fe}
.ss-res .table-wrap{margin:0 16px 12px}.ss-res .sl-cards{padding:0 16px 16px}.ss-res .pager{padding:0 16px 14px}
.ss-name{font-weight:800;color:#1d4ed8!important;text-decoration:none}.ss-name:hover{text-decoration:underline}
.ss-tbl td{font-size:13px;vertical-align:middle}
.sl-act .pr,.sl-cb .pr{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
@media screen and (max-width:991px){.ss-body{grid-template-columns:1fr}.ss-or{justify-self:center}.ss-top{margin-left:0;width:100%}.ss-meta{margin-left:0;width:100%;padding:6px 0}}
.ss-row{flex-wrap:nowrap}.ss-f{min-width:0}@media screen and (max-width:575px){.ss-row{flex-wrap:wrap}.ss-go{width:100%;justify-content:center}}
/* sibling finder by phone */
.sib-found{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1.5px solid #86efac}
.sf-h{font-size:13.5px;color:#14532d;margin-bottom:8px}.sf-h i{color:#16a34a}
.sf-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.sf-c{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:#fff;border:1.5px solid #d1fae5}.sf-c.on{border-color:#16a34a;box-shadow:0 6px 14px -10px #16a34a}
.sf-c img{width:42px;height:42px;border-radius:12px;object-fit:cover;background:#eef2ff}.sf-c div{flex:1;min-width:0}.sf-c b{display:block;font-size:13.5px}.sf-c small{display:block;font-size:11.5px;color:#64748b}
.sf-b{border:0;border-radius:9px;padding:6px 10px;font-size:12px;font-weight:700;background:#f1f5f9;color:#334155;white-space:nowrap}.sf-c.on .sf-b{background:#16a34a;color:#fff}
.sf-n{margin-top:8px;font-size:12.5px;color:#166534}
.af-sec.flash{animation:afFlash 1.2s ease 2}@keyframes afFlash{50%{box-shadow:0 0 0 5px rgba(22,163,74,.35)}}
.sib-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);z-index:3000;background:#14532d;color:#fff;padding:10px 16px;border-radius:14px;font-size:13.5px;box-shadow:0 12px 30px -10px rgba(0,0,0,.5);transition:transform .35s}
.sib-toast.on{transform:translate(-50%,0)}.sib-toast i{color:#86efac;margin-right:4px}
@media screen and (max-width:991px){.sib-toast{bottom:calc(150px + env(safe-area-inset-bottom,0px))}}
/* ===== v3.19.4 · student / parent portal home ===== */
body.skx-m-portal .skx-top{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(10px);box-shadow:0 6px 20px -16px rgba(15,23,42,.5)!important;border-bottom:1px solid #e2e8f0}
body.skx-m-portal .skx-top .school,body.skx-m-portal .skx-top .app-title{color:#0f5a4f!important}
body.skx-m-portal .skx-top .burger,body.skx-m-portal .skx-top .app-back{background:#f1f5f9!important;color:#0f5a4f!important}
body.skx-m-portal .skx-top .pill{background:#0f5a4f!important;color:#fff!important}
body.skx-m-portal .skx-top .dropdown>.btn{background:#f1f5f9!important;color:#0f172a!important}
.up2{display:flex;flex-direction:column;gap:16px}
.up-hero{position:relative;overflow:hidden;display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:20px 22px;border-radius:24px;color:#fff;background:radial-gradient(420px 240px at 100% 0%,rgba(253,230,138,.28),transparent 70%),radial-gradient(360px 200px at 0% 100%,rgba(34,211,238,.22),transparent 70%),linear-gradient(125deg,#0b3f42,#0f5a4f 50%,#1d4e89);box-shadow:0 20px 40px -26px rgba(15,90,79,.95)}
.up-me{display:flex;gap:16px;align-items:center;flex:1;min-width:260px}
.up-me img{width:92px;height:92px;border-radius:50%;object-fit:cover;border:4px solid #fde68a;background:#fff;box-shadow:0 12px 24px -10px rgba(0,0,0,.5);flex:none}
.up-greet{display:inline-flex;gap:6px;align-items:center;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.14);padding:4px 10px;border-radius:30px}.up-greet i{color:#fde68a}
.up-me h2{margin:8px 0 8px;font-size:clamp(20px,2.4vw,28px);font-weight:800;color:#fff;letter-spacing:-.01em}
.up-chips{display:flex;flex-wrap:wrap;gap:6px}.up-chips span{font-size:12px;font-weight:700;padding:3px 10px;border-radius:30px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)}.up-chips .y{background:#fde68a;color:#713f12;border:0}
.up-when{font-size:12.5px;opacity:.85;margin-top:8px}
.up-kpi{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px}
.up-kpi a{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff!important;text-decoration:none;backdrop-filter:blur(6px);transition:transform .15s}
.up-kpi a:hover{transform:translateY(-3px);background:rgba(255,255,255,.18)}
.up-kpi i{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--c);color:#fff;font-size:15px;margin-bottom:4px;box-shadow:0 8px 14px -8px var(--c)}
.up-kpi small{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.85}.up-kpi b{font-size:18px;font-weight:800;white-space:nowrap}.up-kpi b em{font-style:normal;font-size:11px;font-weight:600;opacity:.8}
.up-pay{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;text-decoration:none;color:#7c2d12!important;background:linear-gradient(90deg,#fff7ed,#ffedd5);border:1.5px solid #fdba74}
.up-pay>i{font-size:20px;color:#ea580c}.up-pay span{flex:1;font-size:14px}.up-pay em{font-style:normal;font-weight:800;background:linear-gradient(135deg,#ea580c,#f97316);color:#fff;padding:7px 14px;border-radius:12px;white-space:nowrap}
.up-card{background:#fff;border-radius:22px;padding:16px 18px;box-shadow:0 8px 24px -18px rgba(15,23,42,.45);border:1px solid #eef2f7}
.up-t{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0f172a;margin-bottom:14px}.up-t i{color:#d4a017}
.up-qa{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.up-qa a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 12px;border-radius:18px;text-decoration:none;color:#1e293b!important;background:color-mix(in srgb,var(--c) 7%,#fff);border:1px solid color-mix(in srgb,var(--c) 18%,#fff);transition:.18s;text-align:center}
.up-qa a:hover{transform:translateY(-4px);box-shadow:0 14px 24px -16px var(--c);border-color:var(--c)}
.up-qa span{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:23px;color:#fff;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 60%,#fff));box-shadow:0 10px 18px -10px var(--c)}
.up-qa b{font-size:12.5px;font-weight:700;line-height:1.2}
.up-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.up-grid>.up-wide{grid-column:1/-1}
.up-grid>.ua-box{margin:0!important}
.up2 .ua-box{border-radius:20px!important;box-shadow:0 8px 24px -18px rgba(15,23,42,.45)!important}
.up2 .ua-bh{background:linear-gradient(90deg,#0f5a4f,#14806f)!important}
@media (max-width:1200px){.up-qa{grid-template-columns:repeat(5,1fr)}.up-kpi{grid-template-columns:repeat(2,minmax(120px,1fr));width:100%}}
@media screen and (max-width:767px){
  .up-hero{padding:16px;border-radius:20px;gap:14px}.up-me{min-width:0}.up-me img{width:70px;height:70px;border-width:3px}.up-me h2{font-size:19px;margin:6px 0}
  .up-kpi{grid-template-columns:repeat(2,1fr);gap:8px}.up-kpi a{padding:10px 12px}.up-kpi b{font-size:16px}
  .up-qa{grid-template-columns:repeat(4,1fr);gap:8px}.up-qa a{padding:10px 2px 8px;border-radius:14px;gap:6px}.up-qa span{width:44px;height:44px;border-radius:14px;font-size:19px}.up-qa b{font-size:11px}
  .up-card{padding:14px 12px;border-radius:18px}.up-grid{grid-template-columns:1fr}.up-pay span{font-size:13px}.up-pay em{padding:6px 10px}
}
/* ===== v3.19.5 · student / parent sidebar — light & modern ===== */
html[data-theme] body.skx-student .skx-side{background:linear-gradient(180deg,#ffffff 0%,#f3faf8 60%,#eaf6f3 100%)!important;border-right:1px solid #e2ece9!important;box-shadow:6px 0 24px -20px rgba(15,90,79,.45)!important}
html[data-theme] body.skx-student .skx-side .brand{background:#fff!important;border-bottom:1px solid #eef2f1!important}
html[data-theme] body.skx-student .skx-side .nav-link{color:#334155!important;font-weight:600;margin:2px 10px!important;padding:8px 10px!important;border-radius:14px!important;background:transparent!important;transition:.15s}
html[data-theme] body.skx-student .skx-side .nav-link:hover{background:#e6f4f1!important;color:#0f5a4f!important;transform:translateX(2px)}
html[data-theme] body.skx-student .skx-side .nav-link .ic{width:34px!important;height:34px!important;border-radius:11px!important;font-size:15px!important;color:var(--c,#0f5a4f)!important;background:color-mix(in srgb,var(--c,#0f5a4f) 12%,#fff)!important;box-shadow:none!important}
html[data-theme] body.skx-student .skx-side .nav-link.active{background:linear-gradient(135deg,#0f5a4f,#14806f)!important;color:#fff!important;box-shadow:0 10px 20px -12px #0f5a4f!important}
html[data-theme] body.skx-student .skx-side .nav-link.active .ic{background:rgba(255,255,255,.2)!important;color:#fff!important}
html[data-theme] body.skx-student .skx-side .me{background:#fff!important;border:1px solid #e2ece9!important;color:#0f172a!important}
html[data-theme] body.skx-student .skx-side .me *{color:#0f172a!important}html[data-theme] body.skx-student .skx-side .me small,html[data-theme] body.skx-student .skx-side .me .text-muted{color:#64748b!important}
html[data-theme] body.skx-student .skx-side .side-mini{background:#fff!important;border:1px solid #e2ece9!important;color:#0f5a4f!important}html[data-theme] body.skx-student .skx-side .side-mini *{color:#0f5a4f!important}
html[data-theme] body.skx-student .skx-side .brand .lg-dk{display:none!important}html[data-theme] body.skx-student .skx-side .brand .lg-lt{display:inline-block!important}
/* ===== admission done ===== */
.wl{position:relative;min-height:calc(100vh - 220px);display:flex;align-items:center;justify-content:center;padding:10px 0 30px}
.wl canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:50}
.wl-card{position:relative;width:100%;max-width:640px;text-align:center;background:#fff;border-radius:28px;padding:34px 28px 26px;box-shadow:0 30px 60px -30px rgba(15,90,79,.55);border:1px solid #e2ece9;overflow:hidden}
.wl-card:before{content:"";position:absolute;inset:0 0 auto;height:130px;background:radial-gradient(300px 140px at 50% 0,rgba(22,163,74,.18),transparent 70%)}
.wl-card>*{position:relative}
.wl-badge{width:84px;height:84px;margin:0 auto 10px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:44px;color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);box-shadow:0 16px 30px -12px #16a34a;animation:wlPop .6s cubic-bezier(.2,1.6,.4,1) both}
@keyframes wlPop{from{transform:scale(.3);opacity:0}}
.wl-eb{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#15803d;background:#dcfce7;padding:4px 12px;border-radius:30px}
.wl-card h1{font-size:34px;font-weight:800;margin:10px 0 4px;color:#0f172a;letter-spacing:-.02em}.wl-sub{color:#475569;margin-bottom:18px}
.wl-stu{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 14px;border-radius:16px;background:#f8fafc;border:1px solid #eef2f7;margin-bottom:14px}.wl-stu img{width:54px;height:54px;border-radius:14px;object-fit:cover;background:#eef2ff}
.wl-stu b{display:block;font-size:15px}.wl-stu small{color:#64748b}
.wl-no{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:16px;border-radius:18px;background:linear-gradient(135deg,#0f5a4f,#14806f);color:#fff;margin-bottom:12px}
.wl-no small{display:block;width:100%;font-size:11px;font-weight:800;letter-spacing:.16em;opacity:.85}.wl-no b{font-size:34px;font-weight:800;letter-spacing:.06em;font-family:ui-monospace,Menlo,monospace}
.wl-no button{border:0;border-radius:10px;padding:7px 12px;background:rgba(255,255,255,.18);color:#fff;font-weight:700}
.wl-login,.wl-fee{font-size:13.5px;color:#334155;margin:4px 0}.wl-login i,.wl-fee i{color:#0f5a4f;margin-right:4px}
.wl-acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:18px}
.wl-acts a{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 12px;border-radius:14px;font-weight:700;font-size:13.5px;color:#fff!important;text-decoration:none;box-shadow:0 10px 18px -12px rgba(0,0,0,.5);transition:transform .15s}
.wl-acts a:hover{transform:translateY(-2px)}.wl-acts .g{background:linear-gradient(135deg,#16a34a,#22c55e)}.wl-acts .p{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.wl-acts .b{background:linear-gradient(135deg,#2563eb,#60a5fa)}.wl-acts .w{background:linear-gradient(135deg,#15803d,#25d366)}.wl-acts .o{background:linear-gradient(135deg,#ea580c,#fb923c)}
@media screen and (max-width:575px){.wl-card{padding:26px 16px 20px;border-radius:22px}.wl-card h1{font-size:26px}.wl-no b{font-size:26px}}
/* ===== v3.20 · login security page ===== */
.sec-hero{display:flex;gap:14px;align-items:center;padding:18px 20px;border-radius:22px;color:#fff;margin-bottom:16px;background:linear-gradient(125deg,#0b3f42,#0f5a4f 55%,#1d4e89)}
.sec-hero span{width:52px;height:52px;border-radius:15px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fde68a}.sec-hero h2{margin:0;font-size:21px;font-weight:800;color:#fff}.sec-hero p{margin:2px 0 0;opacity:.88;font-size:13px}
.sec-pill{display:inline-block;font-size:11px;font-weight:800;padding:4px 10px;border-radius:30px}.sec-pill.on{background:#dcfce7;color:#15803d}.sec-pill.off{background:#f1f5f9;color:#64748b}
.sec-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sec-opts label{position:relative;display:flex;flex-direction:column;gap:3px;padding:12px 14px 12px 50px;border:1.5px solid #e2e8f0;border-radius:14px;cursor:pointer;transition:.15s}
.sec-opts label input{position:absolute;opacity:0}.sec-opts label i{position:absolute;left:14px;top:13px;font-size:20px;color:#94a3b8}.sec-opts label b{font-size:13.5px}.sec-opts label small{color:#64748b;font-size:12px}
.sec-opts label.on,.sec-opts label:has(input:checked){border-color:#0f5a4f;background:#f0fdfa}.sec-opts label:has(input:checked) i{color:#0f5a4f}
.sec-ch{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed #e2e8f0}.sec-ch>i{width:36px;height:36px;border-radius:10px;background:#f0fdfa;color:#0f5a4f;display:flex;align-items:center;justify-content:center}.sec-ch div{flex:1}.sec-ch b{display:block;font-size:13.5px}.sec-ch small{color:#94a3b8;font-size:11.5px}
@media screen and (max-width:767px){.sec-opts{grid-template-columns:1fr}}
/* cms: full HTML pages */
.pg-type{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pg-type label{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 14px 12px 50px;border:1.5px solid #e2e8f0;border-radius:14px;cursor:pointer}
.pg-type input{position:absolute;opacity:0}.pg-type i{position:absolute;left:14px;top:12px;font-size:22px;color:#94a3b8}.pg-type b{font-size:14px}.pg-type small{color:#64748b;font-size:12px}
.pg-type label.on,.pg-type label:has(input:checked){border-color:#0f5a4f;background:#f0fdfa}.pg-type label:has(input:checked) i{color:#0f5a4f}
.pg-drop{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 12px;border:2px dashed #86efac;border-radius:16px;background:linear-gradient(180deg,#f0fdf4,#fff);cursor:pointer;text-align:center}.pg-drop i{font-size:32px;color:#16a34a}.pg-drop small{color:#64748b}
@media screen and (max-width:767px){.pg-type{grid-template-columns:1fr}}
/* ===== v3.21 · online update ===== */
.up-online{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;background:#f8fafc;border:1.5px solid #e2e8f0;margin-bottom:16px}
.up-online.new{background:linear-gradient(135deg,#ecfdf5,#eff6ff);border-color:#86efac}
.uo-ic{width:50px;height:50px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;background:linear-gradient(135deg,#0f5a4f,#14806f)}.up-online.new .uo-ic{background:linear-gradient(135deg,#16a34a,#22c55e)}
.uo-t{flex:1;min-width:220px}.uo-t small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.14em;color:#64748b}.uo-t b{display:block;font-size:17px;color:#0f172a}.uo-t span{font-size:12.5px;color:#64748b}
.uo-a{display:flex;gap:8px;flex-wrap:wrap}.uo-go{background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:#fff!important;font-weight:800;border:0}
.uo-notes{width:100%;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #e2e8f0;font-size:13px}.uo-notes b{display:block;margin-bottom:4px}
.uo-feed{width:100%;font-size:12px;color:#64748b}
.up-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;margin-bottom:12px;text-decoration:none;color:#14532d!important;background:linear-gradient(90deg,#dcfce7,#ecfeff);border:1px solid #86efac}
.up-banner>i{color:#16a34a;font-size:18px}.up-banner span{flex:1;font-size:13.5px}.up-banner em{font-style:normal;font-weight:800;background:#16a34a;color:#fff;padding:5px 12px;border-radius:10px;font-size:12.5px}
/* ===== v3.21.6 · printing: always the desktop layout, nothing animated, no app bars ===== */
@media print{
  *,*::before,*::after{animation:none!important;transition:none!important}
  .skx-content{opacity:1!important;transform:none!important}
  .skx-side,.skx-top,.skx-bnav,.skx-foot,.up-banner,.rb,.cr,.af-nav,.ss-crit,.ss-tabs,.ss-tool,.sib-toast,.no-print,.page-head .crumb,.btn,.box-tools,.pager,[data-bs-toggle]{display:none!important}
  html,body{background:#fff!important;height:auto!important;overflow:visible!important}
  body{padding:0!important}
  .skx-main{margin:0!important;padding:0!important;display:block!important;background:#fff!important;min-height:0!important}
  .skx-content{padding:0!important;margin:0!important;max-width:none!important}
  .box,.cr-res,.up-card,.rh-sec{box-shadow:none!important;break-inside:auto}
  .table-wrap{overflow:visible!important;max-height:none!important}
  table{page-break-inside:auto}tr,td,th{page-break-inside:avoid}thead{display:table-header-group}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
@media print{
  @page{size:A4;margin:8mm}
  .alert{display:none!important}
  .skx-content .table{width:100%!important;table-layout:auto}
  .skx-content .table th,.skx-content .table td{white-space:normal!important;word-break:break-word;padding:3px 5px!important;font-size:9.5px!important;line-height:1.25}
  .skx-content .table thead th{font-size:8.5px!important;letter-spacing:0!important}
  .cr-kpi{grid-template-columns:repeat(6,1fr)!important}.cr-kpi b{font-size:13px!important}
  .sl-name img,.cr-rno{display:none!important}
  .page-head{display:block!important}.page-head h1{font-size:18px!important;-webkit-text-fill-color:#0f172a!important;color:#0f172a!important;background:none!important}
}
@media print{
  @page skxwide{size:A4 landscape;margin:7mm}
  .skx-content{page:skxwide}
  .skx-content .table th,.skx-content .table td{word-break:normal!important;overflow-wrap:break-word}
  .sl-act,.ss-tbl th:last-child,.fc-tbl td.act,.fc-tbl th:last-child{display:none!important}
  .cr-ft{max-width:none!important}
}
@media print{.fade,.dsh .fade,[class*="fade"]{opacity:1!important;transform:none!important;animation:none!important}}
.up-lang{display:inline-flex;align-items:center;gap:4px;margin-top:8px;background:rgba(255,255,255,.12);border-radius:30px;padding:3px 4px 3px 10px;font-size:12px}
.up-lang i{color:#fde68a;margin-right:2px}.up-lang a{color:#fff!important;text-decoration:none;padding:2px 9px;border-radius:20px;font-weight:600}.up-lang a.on{background:#fde68a;color:#713f12!important}
/* ===== v3.24 · "Aurora" colour theme — modern indigo → violet → pink, coral & mint accents ===== */
:root{--au1:#4f46e5;--au2:#7c3aed;--au3:#db2777;--au4:#f97316;--au-soft:#f5f3ff;--au-grad:linear-gradient(125deg,#4338ca 0%,#6d28d9 45%,#c026d3 78%,#db2777 100%)}
/* portal hero cards */
.up-hero,.fx-phero,.fx-hero,.fx-pfh{background:radial-gradient(420px 240px at 100% -10%,rgba(251,146,60,.45),transparent 65%),radial-gradient(380px 220px at -5% 110%,rgba(34,211,238,.35),transparent 65%),var(--au-grad)!important;box-shadow:0 22px 44px -26px rgba(109,40,217,.9)!important}
.up-hero .up-me img,.fx-phero img{border-color:#fde68a!important}
.fx-hero h2{color:#fde68a!important}
/* portal box headers */
.up2 .ua-bh,.fx-bh{background:linear-gradient(90deg,#4f46e5,#7c3aed 60%,#a855f7)!important;color:#fff!important}
.up-t i{color:var(--au3)!important}
.up-pay{background:linear-gradient(90deg,#fff7ed,#fdf2f8)!important;border-color:#f9a8d4!important}.up-pay em{background:linear-gradient(135deg,#db2777,#f97316)!important}
/* student / parent sidebar */
html[data-theme] body.skx-student .skx-side{background:linear-gradient(180deg,#ffffff 0%,#faf5ff 55%,#fdf2f8 100%)!important;border-right-color:#ede9fe!important}
html[data-theme] body.skx-student .skx-side .nav-link:hover{background:#f3e8ff!important;color:#6d28d9!important}
html[data-theme] body.skx-student .skx-side .nav-link.active{background:linear-gradient(135deg,#6d28d9,#c026d3 70%,#db2777)!important;box-shadow:0 12px 22px -12px #a21caf!important}
/* portal top bar + bottom bar */
body.skx-m-portal .skx-top .school,body.skx-m-portal .skx-top .app-title{background:linear-gradient(90deg,#4338ca,#a21caf);-webkit-background-clip:text;background-clip:text;color:transparent!important}
body.skx-m-portal .skx-top .pill{background:var(--au-grad)!important}
.skx-bnav .mid i{background:linear-gradient(135deg,#6d28d9,#db2777)!important;box-shadow:0 10px 20px -8px #c026d3!important}
.skx-bnav a.on,.skx-bnav a.active{background:#f3e8ff!important;color:#6d28d9!important}
/* admin heroes added in 3.19–3.23 */
.sl-hero,.sec-hero,.ss-h,#admForm.af>.box>.box-header{background:radial-gradient(420px 220px at 100% 0%,rgba(251,146,60,.35),transparent 70%),var(--au-grad)!important}
.wl-no{background:var(--au-grad)!important}.wl-badge{background:linear-gradient(135deg,#10b981,#22d3ee)!important}
.up-banner{background:linear-gradient(90deg,#ede9fe,#fce7f3)!important;border-color:#c4b5fd!important;color:#4c1d95!important}.up-banner em{background:linear-gradient(135deg,#7c3aed,#db2777)!important}
/* small fix: long titles on phones wrap instead of being cut */
@media screen and (max-width:767px){body.skx-m-portal .skx-top .app-title,body.skx-m-portal .skx-top .school{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.15;font-size:15px!important;max-width:60vw}}
/* portal timetable: day cards on phones, full grid on computers */
.tt-days{display:none}
@media screen and (max-width:767px){.tt-days{display:block}.tt-grid{display:none}}
.tt-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:12px;scrollbar-width:none}.tt-tabs button{flex:1;min-width:48px;border:0;border-radius:12px;padding:8px 6px;background:#f1f5f9;font-weight:700;color:#475569}
.tt-tabs button.on{background:linear-gradient(135deg,#6d28d9,#db2777);color:#fff;box-shadow:0 8px 16px -10px #a21caf}
.tt-c{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;margin-bottom:8px;background:color-mix(in srgb,var(--c) 8%,#fff);border-left:5px solid var(--c)}
.tt-c b{display:block;font-size:14.5px;color:#0f172a}.tt-c small{display:block;font-size:11.5px;color:#64748b}.tt-t{min-width:60px;text-align:center}.tt-t b{color:var(--c)}
.tt-br{font-size:12px;color:#92400e;background:#fffbeb;border:1px dashed #fcd34d;border-radius:12px;padding:6px 10px;margin-bottom:8px;text-align:center}
/* ===== v3.25 · admission CRM ===== */
.crm-kpi{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.crm-kpi>div{background:#fff;border-radius:16px;padding:12px 14px;border:1px solid #eef2f7;border-top:4px solid var(--c);box-shadow:0 8px 18px -16px rgba(15,23,42,.5)}
.crm-kpi small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.crm-kpi b{font-size:24px;font-weight:800;color:var(--c)}.crm-kpi em{display:block;font-style:normal;font-size:11.5px;color:#64748b}
.crm-funnel{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;background:#fff;border-radius:16px;padding:12px 14px;border:1px solid #eef2f7}
.crm-funnel div{display:grid;grid-template-columns:140px 1fr 50px;align-items:center;gap:10px;font-size:12.5px;font-weight:600}.crm-funnel i{display:block;height:14px;width:var(--w);border-radius:8px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 55%,#fff))}.crm-funnel b{text-align:right;color:var(--c)}
.crm-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:10px;overflow-x:auto;padding-bottom:8px}
.crm-col{background:color-mix(in srgb,var(--c) 6%,#f8fafc);border-radius:16px;padding:8px;min-height:180px;border:1.5px solid transparent;transition:.15s}.crm-col.over{border-color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff)}
.crm-ch{display:flex;align-items:center;gap:6px;padding:4px 6px 8px;color:var(--c)}.crm-ch b{flex:1;font-size:13px}.crm-ch span{background:var(--c);color:#fff;border-radius:20px;padding:1px 8px;font-size:11.5px;font-weight:800}
.crm-list{display:flex;flex-direction:column;gap:6px;max-height:520px;overflow:auto}
.crm-card{background:#fff;border-radius:12px;padding:8px 10px;border-left:4px solid var(--c);box-shadow:0 4px 12px -10px rgba(15,23,42,.6);cursor:grab}.crm-card.dragging{opacity:.4}.crm-card.late{box-shadow:0 0 0 2px #fecaca}
.crm-n{font-weight:700;font-size:13.5px;color:#0f172a;text-decoration:none}.crm-card small{display:block;color:#64748b;font-size:11.5px}
.crm-fu{font-size:11.5px;color:#b45309;margin-top:3px}.crm-card.late .crm-fu{color:#dc2626;font-weight:700}
.crm-a{display:flex;gap:4px;margin-top:6px;align-items:center}.crm-a a{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff;color:#4f46e5;text-decoration:none;font-size:12.5px}
.crm-a a.w{background:#dcfce7;color:#16a34a}.crm-a a.g{background:#fce7f3;color:#db2777}.crm-mv{margin-left:auto;font-size:11px;border:1px solid #e2e8f0;border-radius:8px;padding:3px 4px;max-width:92px;background:#fff}
.crm-bar{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:center;margin-bottom:6px}.crm-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-bar i{display:block;height:10px;border-radius:6px;background:linear-gradient(90deg,#6366f1,#db2777);width:var(--w)}.crm-bar b{font-weight:600;color:#475569;font-size:11.5px}
@media screen and (max-width:767px){.crm-kpi{grid-template-columns:repeat(2,1fr)}.crm-funnel div{grid-template-columns:100px 1fr 36px}}
/* ===== v3.25 · exam seating ===== */
.st-sec{display:flex;flex-wrap:wrap;gap:6px}.st-sec label{display:inline-flex;align-items:center;gap:5px;border:1.5px solid #e2e8f0;border-radius:10px;padding:4px 9px;font-size:12.5px;cursor:pointer;background:#fff}
.st-sec label:has(input:checked){border-color:#7c3aed;background:#f5f3ff}.st-sec small{color:#94a3b8}
.st-cap{padding:8px 12px;border-radius:10px;background:#f1f5f9;font-size:13px;font-weight:600}.st-cap.ok{background:#dcfce7;color:#166534}.st-cap.bad{background:#fee2e2;color:#991b1b}
.st-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.st-legend span{font-size:12px;font-weight:700;border-left:5px solid var(--c);background:#fff;border-radius:8px;padding:3px 9px}
.st-board{text-align:center;font-size:11px;font-weight:800;letter-spacing:.12em;background:linear-gradient(90deg,#1e293b,#4c1d95);color:#fff;padding:6px;border-radius:10px;margin-bottom:10px}
.st-room{display:grid;gap:8px;overflow-x:auto}.st-bench{display:flex;gap:4px;border:1.5px solid #e2e8f0;border-radius:10px;padding:4px;background:#f8fafc}
.st-seat{flex:1;border-left:5px solid var(--c);background:#fff;border-radius:7px;padding:4px 6px;min-width:0}.st-seat b{display:block;font-size:11px;color:var(--c)}.st-seat small{display:block;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ===== v3.26 · group dashboard ===== */
.grp-tot{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.grp-tot>div{background:#fff;border-radius:16px;padding:12px 14px;border:1px solid #eef2f7;border-top:4px solid var(--c)}
.grp-tot small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.grp-tot b{font-size:21px;font-weight:800;color:var(--c)}
.grp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.grp-card{position:relative;background:#fff;border-radius:20px;overflow:hidden;border:1px solid #eef2f7;box-shadow:0 12px 26px -20px rgba(15,23,42,.55)}
.grp-h{display:flex;align-items:center;gap:10px;padding:12px 14px;color:#fff;background:linear-gradient(125deg,var(--c),color-mix(in srgb,var(--c) 55%,#db2777))}.grp-h span{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:18px}
.grp-h div{flex:1;min-width:0}.grp-h b{display:block;font-size:15px}.grp-h small{opacity:.9;font-size:11.5px}.grp-h a{color:#fff}
.grp-k{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:12px 14px}.grp-k small{display:block;font-size:10.5px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.grp-k b{font-size:16px;color:#0f172a}
.grp-k .due b{color:#db2777}.grp-k em{display:block;font-style:normal;font-size:11px;color:#dc2626}
.grp-bar{height:8px;margin:0 14px;border-radius:6px;background:#fce7f3;overflow:hidden}.grp-bar i{display:block;height:100%;background:linear-gradient(90deg,#16a34a,#22c55e)}
.grp-f{font-size:11.5px;color:#64748b;padding:6px 14px 12px}.grp-err{padding:14px;font-size:13px;color:#991b1b;background:#fef2f2}.grp-rm{position:absolute;right:12px;bottom:8px}
@media screen and (max-width:991px){.grp-tot{grid-template-columns:repeat(2,1fr)}}
.pg-ticks{display:flex;flex-wrap:wrap;gap:8px}.pg-ticks label{display:inline-flex;align-items:center;gap:6px;border:1.5px solid #e2e8f0;border-radius:12px;padding:6px 12px;font-weight:600;cursor:pointer;background:#fff}
.pg-ticks label:has(input:checked){border-color:#7c3aed;background:#f5f3ff}.gw-more{margin:10px 0;border:1px dashed #c4b5fd;border-radius:14px;padding:8px 12px}.gw-more summary{font-weight:700;color:#6d28d9;cursor:pointer}
/* ===== v3.28 · chat ===== */
.ch-list{display:flex;flex-direction:column}.ch-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f1f5f9;text-decoration:none;color:#0f172a!important;background:#fff}
.ch-row:hover{background:#faf5ff}.ch-row div{flex:1;min-width:0}.ch-row b{display:block}.ch-row small{display:block;color:#64748b;font-size:12px}
.ch-av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#6d28d9,#db2777);flex:none}
.ch-row em{font-style:normal;background:#db2777;color:#fff;border-radius:20px;padding:2px 9px;font-weight:800;font-size:12px}.ch-new{font-size:12px;font-weight:700;color:#6d28d9;background:#ede9fe;padding:3px 10px;border-radius:20px}
.ch-wrap{display:flex;flex-direction:column;height:calc(100vh - 200px);min-height:420px;background:#fff;border-radius:20px;overflow:hidden;border:1px solid #eef2f7}
.ch-head{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#fff;background:var(--au-grad,linear-gradient(125deg,#4338ca,#db2777))}.ch-head a{color:#fff;font-size:20px}.ch-head b{display:block}.ch-head small{opacity:.9}
.ch-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,#faf5ff,#fdf2f8)}
.ch-m{max-width:78%;align-self:flex-start;background:#fff;border-radius:16px 16px 16px 4px;padding:8px 12px;box-shadow:0 4px 10px -8px rgba(15,23,42,.5)}.ch-m small{display:block;font-size:10.5px;color:#94a3b8;margin-top:3px}
.ch-m.me{align-self:flex-end;background:linear-gradient(135deg,#6d28d9,#a21caf);color:#fff;border-radius:16px 16px 4px 16px}.ch-m.me small{color:#e9d5ff}.ch-empty{margin:auto;color:#94a3b8}
.ch-send{display:flex;gap:8px;padding:10px;border-top:1px solid #f1f5f9}.ch-send textarea{flex:1;border:1.5px solid #e2e8f0;border-radius:14px;padding:9px 12px;resize:none;outline:0}.ch-send textarea:focus{border-color:#7c3aed}
.ch-send button{width:46px;border:0;border-radius:14px;background:linear-gradient(135deg,#6d28d9,#db2777);color:#fff;font-size:18px}
@media screen and (max-width:767px){.ch-wrap{height:calc(100vh - 230px)}}
/* ===== v3.28 · accounts ===== */
.acc-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.acc-tabs a,.acc-tabs button{border:0;border-radius:12px;padding:8px 14px;background:#fff;color:#475569;font-weight:700;text-decoration:none;border:1px solid #e2e8f0}
.acc-tabs a.on{background:var(--au-grad);color:#fff;border-color:transparent}.acc-tabs button{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff}
.acc-sub td{border-top:0!important;padding-top:0!important}.acc-auto{font-size:10px;font-weight:800;background:#ede9fe;color:#6d28d9;border-radius:8px;padding:1px 6px}
.acc-pl{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:14px}.acc-pl h4{font-size:15px;font-weight:800;color:#4c1d95}.acc-pl div>div{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed #e2e8f0;font-size:13.5px}
.acc-pl .t{font-weight:800;border-bottom:0;border-top:2px solid #0f172a}.acc-res{margin:0 14px 14px;padding:12px 16px;border-radius:14px;font-size:15px}.acc-res.ok{background:#dcfce7;color:#166534}.acc-res.bad{background:#fee2e2;color:#991b1b}
@media screen and (max-width:767px){.acc-pl{grid-template-columns:1fr}}
.hl-row{border-left:4px solid #7c3aed;background:#faf5ff;border-radius:10px;padding:8px 12px;margin-bottom:8px}.hl-row b{display:block}.hl-row small{color:#64748b}
.hl-visit{border-color:#db2777;background:#fdf2f8}.hl-vaccine{border-color:#16a34a;background:#f0fdf4}.hl-checkup{border-color:#0891b2;background:#ecfeff}
/* ===== v3.28 · shop / canteen POS ===== */
.pos-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.pos-it{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:0;border-radius:16px;padding:12px;background:#fff;box-shadow:0 8px 18px -14px rgba(15,23,42,.6);border-top:4px solid #7c3aed;text-align:left}
.pos-it.canteen{border-top-color:#ea580c}.pos-it i{font-size:20px;color:#7c3aed}.pos-it.canteen i{color:#ea580c}.pos-it b{font-size:13.5px}.pos-it span{font-weight:800;color:#16a34a}.pos-it small{color:#94a3b8;font-size:11px}.pos-it:active{transform:scale(.97)}.pos-it:disabled{opacity:.4}
.pos-cart{position:sticky;top:80px}.pos-l{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px dashed #e2e8f0}.pos-l span{flex:1}.pos-l button{border:0;background:#fee2e2;color:#dc2626;border-radius:8px;width:24px;height:24px}
.pos-total{display:flex;justify-content:space-between;font-size:18px;margin:10px 0}.pos-total b{color:#6d28d9}.pos-modes{display:flex;gap:6px}.pos-modes label{flex:1;text-align:center;border:1.5px solid #e2e8f0;border-radius:10px;padding:6px;cursor:pointer;font-weight:700}
.pos-modes label:has(input:checked){border-color:#7c3aed;background:#f5f3ff}.pos-modes input{display:none}
.gp-row{display:flex;gap:10px;align-items:center;padding:10px;border-radius:12px;margin-bottom:8px;background:#fff7ed;border-left:4px solid #f97316}.gp-row.out{background:#f0fdf4;border-color:#16a34a}.gp-row img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.gp-people{display:flex;flex-wrap:wrap;gap:6px}.gp-people label{display:inline-flex;align-items:center;gap:6px;border:1.5px solid #e2e8f0;border-radius:12px;padding:5px 10px;color:#0f172a;cursor:pointer}.gp-people label:has(input:checked){border-color:#7c3aed;background:#f5f3ff}.gp-people img{width:26px;height:26px;border-radius:50%;object-fit:cover}
/* =====================================================================
   v3.33 · Skoolnix design system (final layer)
   Inter for reading, Plus Jakarta Sans for headings; calm surfaces;
   on phones the whole ERP behaves like a native Android app.
   ===================================================================== */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-wght-normal.woff2) format("woff2")}
:root{--ui-font:"Inter","Noto Sans Bengali","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--hd-font:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  --ink:#0f172a;--ink2:#334155;--muted:#64748b;--line:#e8ebf3;--bg:#f5f6fb;--card:#fff;--pri:#5b21b6;--pri2:#7c3aed;--grad:linear-gradient(125deg,#4338ca 0%,#6d28d9 48%,#c026d3 100%);--r:16px}
body.skx-ui{font-family:var(--ui-font)!important;font-size:14.5px!important;line-height:1.55!important;color:var(--ink)!important;letter-spacing:0!important;background:var(--bg)!important;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}
body.skx-ui h1,body.skx-ui h2,body.skx-ui h3,body.skx-ui h4,body.skx-ui h5,html[data-theme] body.skx-ui .box-title,html[data-theme] body.skx-ui .page-head h1{font-family:var(--hd-font)!important;letter-spacing:-.015em!important;color:var(--ink)}
body.skx-ui .num,body.skx-ui td.num,body.skx-ui .cr-kpi b,html[data-theme] body.skx-ui .table td{font-variant-numeric:tabular-nums}
body.skx-ui small,body.skx-ui .small{font-size:12.5px}
body.skx-ui .text-muted{color:var(--muted)!important}
/* ---------- desktop shell ---------- */
@media screen and (min-width:992px){
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side{background:#fff!important;border-right:1px solid var(--line)!important;box-shadow:none!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .nav-head{font:700 10.5px/1 var(--ui-font)!important;letter-spacing:.09em!important;text-transform:uppercase;color:#94a3b8!important;padding:18px 18px 6px!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .nav-link{font:500 14px/1.3 var(--ui-font)!important;color:#334155!important;border-radius:12px!important;padding:9px 12px!important;margin:1px 10px!important;background:transparent!important;border:0!important;box-shadow:none!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .nav-link .ic{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#f1f3f9;color:#475569!important;font-size:15px;margin-right:4px}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .nav-link:hover{background:#f5f3ff!important;color:var(--pri)!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .nav-link.active{background:#f3efff!important;color:var(--pri)!important;font-weight:650!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .nav-link.active .ic{background:var(--grad)!important;color:#fff!important;box-shadow:0 6px 14px -6px #7c3aed}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .sub{margin:2px 0 6px 38px!important;padding-left:12px!important;border-left:2px solid #ede9fe!important;background:transparent!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .sub a{font:400 13.5px/1.35 var(--ui-font)!important;color:#475569!important;padding:6px 10px!important;border-radius:9px!important;background:transparent!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .sub a:hover{color:var(--pri)!important;background:#faf8ff!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .sub a.active{color:var(--pri)!important;background:#f3efff!important;font-weight:600!important}
  html[data-theme] body.skx-ui .skx-top{background:rgba(255,255,255,.86)!important;backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)!important;box-shadow:none!important;color:var(--ink)!important}
  html[data-theme] body.skx-ui .skx-top .school{font:700 15px var(--hd-font)!important;color:var(--ink)!important;-webkit-text-fill-color:currentColor}
  html[data-theme] body.skx-ui .top-search input{background:#f4f5fa!important;border:1px solid transparent!important;border-radius:12px!important;height:40px;font:400 14px var(--ui-font)!important;color:var(--ink)!important}
  html[data-theme] body.skx-ui .top-search input:focus{background:#fff!important;border-color:#c4b5fd!important;box-shadow:0 0 0 4px #ede9fe!important}
  html[data-theme] body.skx-ui .skx-top .pill{background:#f4f5fa!important;color:#334155!important;border:0!important;font:600 12.5px var(--ui-font)!important}
  html[data-theme] body.skx-ui .page-head h1{font-size:23px!important;font-weight:750!important;background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--ink)!important}
  html[data-theme] body.skx-ui .page-head .crumb{font-size:12.5px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--muted)!important}
  body.skx-ui .skx-content{padding:22px 28px 40px!important}
}
/* ---------- account chip ---------- */
.top-me{display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;padding:4px 6px 4px 4px;border-radius:14px;color:inherit}
.top-me:hover{background:#f4f5fa}.top-me::after{display:none}
.top-me .av{width:34px;height:34px;border-radius:50%;background:var(--grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;font:700 14px var(--hd-font)}
.top-me .nm{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left}.top-me .nm b{font:600 13.5px var(--ui-font)}.top-me .nm small{font-size:11.5px;color:var(--muted)}
/* ---------- surfaces ---------- */
html[data-theme] body.skx-ui .box,body.skx-ui .card{border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px -18px rgba(15,23,42,.25)!important;background:var(--card)}
html[data-theme] body.skx-ui .box-header{border-bottom:1px solid #f0f2f7!important;padding:14px 18px!important;background:transparent!important}
html[data-theme] body.skx-ui .box-title{font-size:15.5px!important;font-weight:700!important}
html[data-theme] body.skx-ui .box-body{padding:16px 18px!important}
html[data-theme] body.skx-ui .table{font-size:13.5px!important;color:var(--ink2)}
html[data-theme] body.skx-ui .table thead th{font:650 11.5px/1.2 var(--ui-font)!important;letter-spacing:.04em!important;text-transform:uppercase;color:#64748b!important;background:#f8f9fc!important;border-bottom:1px solid var(--line)!important;padding:11px 12px!important}
html[data-theme] body.skx-ui .table td{padding:11px 12px!important;border-color:#f1f3f8!important;vertical-align:middle}
html[data-theme] body.skx-ui .table tbody tr:hover td{background:#fbfaff!important}
body.skx-ui .form-label{font:600 12.5px var(--ui-font)!important;color:#475569!important;margin-bottom:5px!important;letter-spacing:0!important;text-transform:none!important}
body.skx-ui .form-control,body.skx-ui .form-select{font:400 14px var(--ui-font)!important;border:1px solid #dfe3ec!important;border-radius:11px!important;min-height:42px;color:var(--ink)!important;background-color:#fff!important}
body.skx-ui .form-control:focus,body.skx-ui .form-select:focus{border-color:#a78bfa!important;box-shadow:0 0 0 4px #ede9fe!important}
body.skx-ui .btn{font:600 13.5px var(--ui-font)!important;border-radius:11px!important;letter-spacing:0!important}
body.skx-ui .btn-primary{background:var(--grad)!important;border:0!important;box-shadow:0 8px 18px -10px #7c3aed!important}
body.skx-ui .btn-success{background:linear-gradient(135deg,#059669,#10b981)!important;border:0!important}
body.skx-ui .btn-light{background:#f4f5fa!important;border:1px solid var(--line)!important;color:#334155!important}
body.skx-ui .badge{font:600 11.5px var(--ui-font)!important;border-radius:8px!important;padding:.38em .6em!important}
body.skx-ui .alert{border-radius:14px!important;font-size:14px!important}
body.skx-ui .skx-foot{font-size:12px;color:#94a3b8!important;background:transparent!important}
body.skx-ui .dropdown-menu{border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:0 18px 40px -18px rgba(15,23,42,.35)!important;padding:6px!important;font-size:14px}
body.skx-ui .dropdown-item{border-radius:9px!important;padding:8px 12px!important}
/* ---------- phones: native Android-app feel ---------- */
@media screen and (max-width:991px){
  html{-webkit-tap-highlight-color:transparent}
  body.skx-ui{font-size:15px!important;background:#f4f5fa!important;overscroll-behavior-y:contain}
  html[data-theme] body.skx-ui .skx-top{position:sticky!important;top:0;z-index:1030;height:auto!important;min-height:58px;padding:calc(8px + env(safe-area-inset-top,0px)) 8px 8px!important;gap:6px!important;
    background:var(--grad)!important;color:#fff!important;border:0!important;box-shadow:0 8px 22px -14px rgba(67,56,202,.9)!important;backdrop-filter:none}
  html[data-theme] body.skx-ui .skx-top .burger,html[data-theme] body.skx-ui .skx-top .app-back{width:42px;height:42px;border-radius:14px!important;background:rgba(255,255,255,.14)!important;color:#fff!important;border:0!important;display:inline-flex!important;align-items:center;justify-content:center;font-size:20px}
  html[data-theme] body.skx-ui .skx-top .school{display:none!important}
  html[data-theme] body.skx-ui .skx-top .app-title{display:block!important;flex:1;min-width:0;font:650 17.5px/1.2 var(--hd-font)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:none!important;padding-left:4px}
  html[data-theme] body.skx-ui .skx-top .top-search,html[data-theme] body.skx-ui .skx-top .pill,html[data-theme] body.skx-ui .skx-top form.hide-sm{display:none!important}
  body.skx-ui .top-me{padding:0}body.skx-ui .top-me .av{width:38px;height:38px;background:rgba(255,255,255,.95)!important;color:var(--pri)!important;box-shadow:0 4px 12px -6px rgba(0,0,0,.5)}
  html[data-theme] body.skx-ui .page-head{display:none!important}
  body.skx-ui .skx-content{padding:14px 12px calc(96px + env(safe-area-inset-bottom,0px))!important}
  body.skx-ui .skx-foot{display:none!important}
  html[data-theme] body.skx-ui .box,body.skx-ui .card{border-radius:20px!important;border:0!important;box-shadow:0 1px 2px rgba(15,23,42,.05),0 10px 26px -20px rgba(15,23,42,.45)!important;margin-bottom:12px!important}
  html[data-theme] body.skx-ui .box-header{padding:14px 16px 10px!important;border:0!important}
  html[data-theme] body.skx-ui .box-body{padding:12px 16px 16px!important}
  body.skx-ui .form-control,body.skx-ui .form-select{min-height:48px!important;font-size:16px!important;border-radius:14px!important}
  body.skx-ui .btn{min-height:44px;border-radius:14px!important;font-size:14.5px!important}
  body.skx-ui .btn-sm{min-height:36px}
  html[data-theme] body.skx-ui .table thead th{font-size:11px!important}
  body.skx-ui a,body.skx-ui button{touch-action:manipulation}
  body.skx-ui .btn:active,body.skx-ui .nav-link:active,html[data-theme] body.skx-ui .skx-bnav a:active{transform:scale(.97);transition:transform .08s}
  /* bottom navigation (Material style) */
  html[data-theme] body.skx-ui .skx-bnav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;margin:0!important;border-radius:22px 22px 0 0!important;height:auto!important;
    padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px))!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(14px);border:0!important;
    box-shadow:0 -10px 30px -18px rgba(15,23,42,.45)!important;display:flex!important;justify-content:space-around;align-items:flex-end;z-index:1040}
  html[data-theme] body.skx-ui .skx-bnav a,html[data-theme] body.skx-ui .skx-bnav button{flex:1;display:flex!important;flex-direction:column;align-items:center;gap:3px;font:600 11px/1 var(--ui-font)!important;color:#64748b!important;background:transparent!important;border:0!important;padding:4px 0!important;text-decoration:none}
  html[data-theme] body.skx-ui .skx-bnav a i,html[data-theme] body.skx-ui .skx-bnav button i{font-size:21px;width:56px;height:30px;border-radius:16px;display:flex;align-items:center;justify-content:center;transition:background .2s}
  html[data-theme] body.skx-ui .skx-bnav a.on{color:var(--pri)!important}html[data-theme] body.skx-ui .skx-bnav a.on i{background:#ede9fe}
  html[data-theme] body.skx-ui .skx-bnav .mid i{width:54px!important;height:54px!important;margin-top:-26px!important;border-radius:18px!important;background:var(--grad)!important;color:#fff!important;font-size:22px!important;box-shadow:0 12px 24px -10px #7c3aed!important}
  /* side drawer like an Android navigation drawer */
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side{width:84vw!important;max-width:340px!important;border-radius:0 26px 26px 0!important;background:#fff!important;box-shadow:24px 0 60px -30px rgba(15,23,42,.7)!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .brand,html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .logo{padding-top:calc(14px + env(safe-area-inset-top,0px))!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .nav-link{font:500 15px/1.3 var(--ui-font)!important;padding:11px 12px!important;border-radius:14px!important;margin:2px 10px!important;color:#1f2937!important;background:transparent!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .nav-link.active{background:#f3efff!important;color:var(--pri)!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .sub a{font-size:14.5px!important;padding:9px 10px!important}
  html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey])[data-theme] body.skx-ui .skx-side .side-mini{display:none!important}
  body.skx-ui .skx-backdrop{background:rgba(15,23,42,.45)!important;backdrop-filter:blur(2px)}
  /* portal hero spacing under the app bar */
  body.skx-ui .up-hero,body.skx-ui .fx-phero,body.skx-ui .fx-hero{border-radius:24px!important}
}
@media (prefers-reduced-motion:reduce){body.skx-ui *{transition:none!important;animation:none!important}}
/* v3.33 · light menu, final word (ID selector beats every theme rule) */
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) body aside.skx-side{background:#fff!important;border-right:1px solid #e8ebf3!important}
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .nav-head{color:#94a3b8!important;font:700 10.5px/1 "Inter",system-ui,sans-serif!important;letter-spacing:.09em!important}
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .nav-link{background:transparent!important;border:0!important;box-shadow:none!important;color:#1f2937!important}
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .nav-link .lbl,html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .nav-link .caret,html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .nav-link::after{color:#1f2937!important;opacity:1!important;-webkit-text-fill-color:currentColor!important}
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .nav-link i.ic{box-shadow:none!important}
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .nav-link:hover{background:#f5f3ff!important}
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .nav-link.active,html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .nav-link[aria-expanded="true"]{background:#f3efff!important;box-shadow:none!important}
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .nav-link.active .lbl,html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .nav-link[aria-expanded="true"] .lbl{color:#5b21b6!important;font-weight:650!important}
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .sub{background:transparent!important;border-left:2px solid #ede9fe!important}
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .sub a{color:#475569!important;background:transparent!important;box-shadow:none!important}
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .sub a:hover,html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) #sideNav .sub a.active{color:#5b21b6!important;background:#f5f3ff!important}
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) body aside.skx-side .side-search input,html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) body aside.skx-side input[type=search]{background:#f4f5fa!important;border:1px solid #e8ebf3!important;color:#0f172a!important}
html:is([data-sidebg=white],[data-sidebg=tint],[data-sidebg=grey]) body aside.skx-side .side-mini{background:#f4f5fa!important;color:#475569!important;border:0!important}
/* ===== v3.34 · parent / student app — clean, colourful but calm ===== */
.pa-me{display:flex;align-items:center;gap:14px;background:#fff;border-radius:20px;padding:16px;box-shadow:0 1px 2px rgba(15,23,42,.05),0 10px 26px -20px rgba(15,23,42,.45);position:relative;margin-bottom:12px}
.pa-me img{width:64px;height:64px;border-radius:18px;object-fit:cover;background:#eef2ff;border:3px solid #eef2ff}
.pa-who{flex:1;min-width:0}.pa-who small{font:600 12px var(--ui-font);color:#6366f1;letter-spacing:.02em}.pa-who h2{font:750 19px/1.2 var(--hd-font);margin:2px 0 3px;color:#0f172a;letter-spacing:-.01em}
.pa-sub{font-size:12.5px;color:#64748b}.pa-lang{display:flex;gap:6px;margin-top:8px}.pa-lang a{font:600 11.5px var(--ui-font);padding:3px 9px;border-radius:20px;background:#f1f5f9;color:#475569;text-decoration:none}.pa-lang a.on{background:#eef2ff;color:#4338ca}
.pa-sess{position:absolute;top:12px;right:12px;font:700 11px var(--ui-font);background:#fef3c7;color:#92400e;border-radius:10px;padding:3px 8px}
.pa-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.pa-kpi a{background:#fff;border-radius:16px;padding:10px 6px;text-align:center;text-decoration:none;box-shadow:0 1px 2px rgba(15,23,42,.05),0 8px 20px -18px rgba(15,23,42,.45)}
.pa-kpi i{display:inline-flex;width:34px;height:34px;border-radius:11px;align-items:center;justify-content:center;font-size:16px;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff)}
.pa-kpi b{display:block;font:750 15px/1.2 var(--hd-font);color:#0f172a;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pa-kpi small{display:block;font-size:11px;color:#64748b}
.pa-sec{background:#fff;border-radius:20px;padding:14px 12px 8px;margin-bottom:12px;box-shadow:0 1px 2px rgba(15,23,42,.05),0 10px 26px -20px rgba(15,23,42,.45)}
.pa-st{font:700 14px var(--hd-font);color:#0f172a;padding:0 6px 10px}
.pa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.pa-grid a{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 2px 10px;border-radius:14px;text-decoration:none;text-align:center}
.pa-grid a:active{background:#f8fafc}
.pa-grid span{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:21px;color:var(--c);background:color-mix(in srgb,var(--c) 11%,#fff);border:1px solid color-mix(in srgb,var(--c) 18%,#fff)}
.pa-grid b{font:600 11.5px/1.25 var(--ui-font);color:#334155}
@media (min-width:992px){.pa-grid{grid-template-columns:repeat(8,1fr)}.pa-kpi{grid-template-columns:repeat(4,1fr);gap:12px}.pa-kpi a{padding:14px}.pa-me{padding:20px}}
/* calmer colours for the student / parent pages */
html[data-theme] body.skx-student .up-hero,html[data-theme] body.skx-student .fx-phero,html[data-theme] body.skx-student .fx-hero,html[data-theme] body.skx-student .fx-pfh{background:linear-gradient(135deg,#312e81 0%,#4338ca 60%,#4f46e5 100%)!important;box-shadow:0 14px 30px -22px rgba(49,46,129,.9)!important}
html[data-theme] body.skx-student .up2 .ua-bh,html[data-theme] body.skx-student .fx-bh{background:#fff!important;color:#0f172a!important;border-bottom:1px solid #eef0f6!important}
html[data-theme] body.skx-student .up2 .ua-bh *,html[data-theme] body.skx-student .fx-bh *{color:inherit}
/* fee lines: white cards with a coloured stripe instead of solid blocks */
body.skx-ui .fx-mc{background:#fff!important;border:1px solid #eef0f6!important;border-left:4px solid #10b981!important;border-radius:16px!important;box-shadow:0 8px 20px -18px rgba(15,23,42,.5)!important;overflow:hidden}
body.skx-ui .fx-mc.bad{border-left-color:#ef4444!important}body.skx-ui .fx-mc.warn,body.skx-ui .fx-mc.due{border-left-color:#f59e0b!important}
body.skx-ui .fx-mc .fx-mch{background:#f8fafc!important;color:#0f172a!important;border-bottom:1px solid #eef0f6!important}
body.skx-ui .fx-mc .fx-mch *{color:#0f172a!important;-webkit-text-fill-color:currentColor}
body.skx-ui .fx-mc.ok .fx-mch{background:#f0fdf4!important}body.skx-ui .fx-mc.bad .fx-mch{background:#fef2f2!important}body.skx-ui .fx-mc.warn .fx-mch,body.skx-ui .fx-mc.due .fx-mch{background:#fffbeb!important}
body.skx-ui .fx-mc .fx-st{background:#fff!important;border:1px solid currentColor}body.skx-ui .fx-mc.ok .fx-st{color:#059669!important}body.skx-ui .fx-mc.bad .fx-st{color:#dc2626!important}body.skx-ui .fx-mc.warn .fx-st,body.skx-ui .fx-mc.due .fx-st{color:#b45309!important}
body.skx-ui .fx-mc [class*="bal"],body.skx-ui .fx-mc .fx-mb{background:#f8fafc!important;color:#0f172a!important}
/* mobile app bar: solid, calm indigo instead of the loud gradient */
@media screen and (max-width:991px){html[data-theme] body.skx-ui .skx-top{background:#3730a3!important;box-shadow:0 6px 18px -12px rgba(55,48,163,.9)!important}
  html[data-theme] body.skx-student.skx-m-portal .skx-top{background:#3730a3!important}}
body.skx-ui :is(.fx-phero,.fx-hero,.fx-pfh,.up-hero,.grp-h,.sec-hero,.mh) :is(h1,h2,h3,h4,h5){color:#fff!important;-webkit-text-fill-color:#fff!important}
body.skx-ui .fx-mc .bal{background:#f8fafc!important;border-radius:10px}body.skx-ui .fx-mc .bal span{color:#475569!important}body.skx-ui .fx-mc .bal b{color:#0f172a!important}
body.skx-ui .fx-mc.bad .bal b,body.skx-ui .fx-mc.due .bal b,body.skx-ui .fx-mc.warn .bal b{color:#dc2626!important}
/* ===== v3.35 · admin app on phones — same clean style as the parent app (desktop unchanged) ===== */
.am-home{display:none}
@media screen and (max-width:991px){
  .am-home{display:block}
  .am-av{width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,#4338ca,#6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font:750 24px var(--hd-font);flex:none}
  .am-of{font-size:11px;color:#94a3b8;font-weight:600}.am-more{padding:6px 6px 10px!important;color:#64748b!important;font-size:13px!important}
  .dsh .hero{display:none!important}
  /* inner admin pages: calm indigo headers instead of loud gradients */
  html[data-theme] body.skx-ui:not(.skx-student) :is(.sec-hero,.sl-hero,.ss-h,.cr-rh-hero){background:linear-gradient(135deg,#312e81 0%,#4338ca 65%,#4f46e5 100%)!important;box-shadow:0 12px 26px -20px rgba(49,46,129,.9)!important;border-radius:20px!important}
  html[data-theme] body.skx-ui .box-header .ico,html[data-theme] body.skx-ui .cr-ric{background:#eef2ff!important;color:#4338ca!important;box-shadow:none!important}
  html[data-theme] body.skx-ui .cr{border-radius:20px!important;border:0!important;box-shadow:0 1px 2px rgba(15,23,42,.05),0 10px 26px -20px rgba(15,23,42,.45)!important}
  html[data-theme] body.skx-ui .cr-kpi>div,html[data-theme] body.skx-ui .crm-kpi>*,html[data-theme] body.skx-ui .grp-tot>div{border-radius:16px!important}
  body.skx-ui .dsh .zone,body.skx-ui .dsh .card-x{border-radius:20px!important;border:0!important;box-shadow:0 1px 2px rgba(15,23,42,.05),0 10px 26px -20px rgba(15,23,42,.45)!important}
}
/* v3.35.1 · dashboard notices & alerts box (collapsible, compact) */
.dsh-alerts{background:#fff;border-radius:18px;border:1px solid #e8ebf3;box-shadow:0 8px 22px -20px rgba(15,23,42,.5);margin-bottom:14px;overflow:hidden}
.dsh-alerts summary{list-style:none;display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;font-size:14px}
.dsh-alerts summary::-webkit-details-marker{display:none}
.dsh-alerts summary>i:first-child{width:34px;height:34px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:#fff7ed;color:#ea580c}
.dsh-alerts summary b{flex:1;color:#0f172a}.dsh-alerts summary span{background:#ef4444;color:#fff;border-radius:20px;padding:1px 9px;font-size:12px;font-weight:800}
.dsh-alerts .dsh-chev{color:#94a3b8;transition:transform .2s}.dsh-alerts[open] .dsh-chev{transform:rotate(180deg)}
.dsh-al-list{border-top:1px solid #f1f3f8}
.dsh-al-list a{display:flex;align-items:center;gap:12px;padding:11px 16px;text-decoration:none;color:#334155;border-bottom:1px solid #f5f6fa}
.dsh-al-list a:last-child{border-bottom:0}.dsh-al-list a>i:first-child{color:#4f46e5;font-size:17px}.dsh-al-list a.urgent>i:first-child{color:#dc2626}
.dsh-al-list a div{flex:1;min-width:0}.dsh-al-list b{display:block;font-size:13.5px;color:#0f172a;text-transform:none}.dsh-al-list small{display:block;font-size:12px;color:#64748b;line-height:1.35}
.dsh-al-list a>i:last-child{color:#cbd5e1}
/* ===== v3.36 · student profile — clean & calm ===== */
body.skx-ui .sp{gap:20px!important}
body.skx-ui .sp .sp-card{position:relative;background:#fff!important;border:1px solid #e8ebf3!important;border-radius:22px!important;box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 30px -24px rgba(15,23,42,.45)!important;overflow:hidden;padding:0 18px 20px!important;color:#0f172a!important;text-align:center}
body.skx-ui .sp .sp-card::before{content:"";display:block;height:92px;margin:0 -18px;background:linear-gradient(135deg,#312e81 0%,#4338ca 55%,#6366f1 100%)}
body.skx-ui .sp .sp-card::after{content:none!important}
body.skx-ui .sp .sp-ph{width:118px!important;height:118px!important;margin:-60px auto 10px!important;border:5px solid #fff!important;box-shadow:0 10px 24px -12px rgba(15,23,42,.6)!important;border-radius:50%!important;object-fit:cover;background:#eef2ff;position:relative;z-index:1;display:block}
body.skx-ui .sp .sp-card h2{font:750 21px/1.25 var(--hd-font)!important;color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;margin:0 0 8px!important;letter-spacing:-.01em!important;text-shadow:none!important}
body.skx-ui .sp .sp-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:10px}
body.skx-ui .sp .sp-chips span{background:#f4f5fa!important;color:#334155!important;border:1px solid #e8ebf3!important;border-radius:20px!important;padding:4px 10px!important;font:600 12.5px var(--ui-font)!important;box-shadow:none!important}
body.skx-ui .sp .sp-chips span i{color:#6366f1}
body.skx-ui .sp .sp-st{background:#ecfdf5!important;color:#047857!important;border:0!important;border-radius:20px!important;padding:4px 12px!important;font:700 12.5px var(--ui-font)!important;box-shadow:none!important}
body.skx-ui .sp .sp-st.off{background:#fef2f2!important;color:#b91c1c!important}
body.skx-ui .sp .sp-acts{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important;background:#fff;border:1px solid #e8ebf3;border-radius:20px;padding:12px 10px!important;box-shadow:0 12px 30px -26px rgba(15,23,42,.45)}
body.skx-ui .sp .sp-acts a{background:transparent!important;color:#334155!important;box-shadow:none!important;border:0!important;border-radius:14px!important;padding:8px 2px!important;min-height:0!important;display:flex!important;flex-direction:column;align-items:center;gap:6px;font:600 12px var(--ui-font)!important;text-decoration:none}
body.skx-ui .sp .sp-acts a:hover{background:#f8fafc!important}
body.skx-ui .sp .sp-acts a i{width:44px;height:44px;border-radius:14px;display:flex!important;align-items:center;justify-content:center;font-size:19px!important;margin:0!important;color:var(--c)!important;background:color-mix(in srgb,var(--c) 11%,#fff)!important;border:1px solid color-mix(in srgb,var(--c) 18%,#fff)}
body.skx-ui .sp .sp-acts .a1{--c:#6366f1}body.skx-ui .sp .sp-acts .a2{--c:#10b981}body.skx-ui .sp .sp-acts .a3{--c:#f59e0b}body.skx-ui .sp .sp-acts .a4{--c:#0ea5e9}
body.skx-ui .sp .sp-acts .a5{--c:#8b5cf6}body.skx-ui .sp .sp-acts .a6{--c:#ec4899}body.skx-ui .sp .sp-acts .a7{--c:#14b8a6}body.skx-ui .sp .sp-acts .a8{--c:#ef4444}
body.skx-ui .sp .sp-info{background:#fff!important;border:1px solid #e8ebf3!important;border-radius:20px!important;padding:6px 16px!important;box-shadow:0 12px 30px -26px rgba(15,23,42,.45)!important}
body.skx-ui .sp .sp-info>div{border-bottom:1px solid #f1f3f8!important;padding:10px 0!important;background:transparent!important}
body.skx-ui .sp .sp-info>div:last-child{border-bottom:0!important}
body.skx-ui .sp .sp-info span{font:600 12px var(--ui-font)!important;color:#64748b!important}body.skx-ui .sp .sp-info b{font:700 14.5px var(--ui-font)!important;color:#0f172a}
body.skx-ui .sp .sp-r{background:#fff!important;border:1px solid #e8ebf3!important;border-radius:22px!important;box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 30px -24px rgba(15,23,42,.45)!important;padding:6px 22px 22px!important}
body.skx-ui .sp .sp-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:4px!important;border-bottom:1px solid #eef0f6;margin:0 -22px 18px!important;padding:6px 16px 0!important;scrollbar-width:none}
body.skx-ui .sp .sp-tabs button{background:transparent!important;color:#64748b!important;border:0!important;border-bottom:2.5px solid transparent!important;border-radius:0!important;padding:12px 12px 11px!important;font:600 14px var(--ui-font)!important;box-shadow:none!important;white-space:nowrap}
body.skx-ui .sp .sp-tabs button:hover{color:#334155!important}
body.skx-ui .sp .sp-tabs button.on{color:#4338ca!important;border-bottom-color:#4338ca!important}
body.skx-ui .sp .sp-sec{font:700 14.5px var(--hd-font)!important;color:#0f172a!important;border:0!important;padding:0 0 0 10px!important;margin:6px 0 10px!important;position:relative;background:none!important}
body.skx-ui .sp .sp-sec::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:3px;background:#6366f1}
body.skx-ui .sp .sp-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:0 24px!important;margin-bottom:14px}
body.skx-ui .sp .sp-grid>div{background:transparent!important;border:0!important;border-bottom:1px dashed #e5e8f0!important;border-radius:0!important;padding:10px 0!important;box-shadow:none!important}
body.skx-ui .sp .sp-grid small{display:block;font:600 11.5px var(--ui-font)!important;color:#94a3b8!important;letter-spacing:.02em!important;text-transform:none!important;margin-bottom:2px}
body.skx-ui .sp .sp-grid small i{display:none!important}
body.skx-ui .sp .sp-grid b{font:600 14.5px var(--ui-font)!important;color:#0f172a!important;word-break:break-word}
@media screen and (max-width:991px){body.skx-ui .sp .sp-grid{grid-template-columns:1fr 1fr!important;gap:0 14px!important}body.skx-ui .sp .sp-r{padding:4px 14px 16px!important}body.skx-ui .sp .sp-tabs{margin:0 -14px 14px!important}}
/* ===== v3.38 · every page fits the phone (admin + portal) ===== */
@media screen and (max-width:991px){
  html,body.skx-ui{max-width:100%;overflow-x:hidden}
  body.skx-ui .skx-content{overflow-x:hidden}
  /* compact trial / licence strip */
  body.skx-ui .skx-lic{padding:8px 12px!important;border-radius:14px!important;margin-bottom:10px!important;font-size:12.5px!important}
  body.skx-ui .skx-lic .small{font-size:12px!important;line-height:1.35}body.skx-ui .skx-lic .btn{min-height:32px!important;padding:4px 10px!important;font-size:12.5px!important}
  /* every page header: the same calm indigo */
  html[data-theme] body.skx-ui:not(.skx-student) :is(.sec-hero,.rh-hero,.fx-hero,.grp-h,.sl-hero){background:linear-gradient(135deg,#312e81 0%,#4338ca 65%,#4f46e5 100%)!important;border:0!important;border-radius:18px!important;box-shadow:0 12px 26px -20px rgba(49,46,129,.9)!important}
  html[data-theme] body.skx-ui:not(.skx-student) .sec-hero>div:not(.ms-auto) :is(h2,p){color:#fff!important;-webkit-text-fill-color:#fff!important}
  body.skx-ui .skx-lic{flex-wrap:nowrap!important}body.skx-ui .skx-lic>*{min-width:0}
  body.skx-ui .sec-hero{padding:14px 14px!important;gap:10px!important;flex-wrap:wrap}body.skx-ui .sec-hero h2{font-size:17px!important}body.skx-ui .sec-hero p{font-size:12.5px!important;margin:0}
  body.skx-ui .sec-hero>span{width:40px!important;height:40px!important;font-size:18px!important}
  body.skx-ui .sec-hero .ms-auto,body.skx-ui .sec-hero>.btn,body.skx-ui .sec-hero>div:last-child:not(:nth-child(2)){margin-left:0!important;width:100%;display:flex;gap:6px;flex-wrap:wrap}
  /* grids and rows never push past the screen */
  body.skx-ui .row{--bs-gutter-x:.75rem;margin-left:calc(-.5*var(--bs-gutter-x))!important;margin-right:calc(-.5*var(--bs-gutter-x))!important}
  body.skx-ui .row>*{min-width:0}
  body.skx-ui .d-flex{min-width:0}body.skx-ui .d-flex:not(.flex-nowrap){flex-wrap:wrap}
  body.skx-ui .btn-group,body.skx-ui .box-tools{flex-wrap:wrap;gap:6px}
  body.skx-ui img,body.skx-ui video,body.skx-ui iframe,body.skx-ui canvas,body.skx-ui svg{max-width:100%}
  body.skx-ui .leaflet-container img{max-width:none!important}
  body.skx-ui pre,body.skx-ui code{white-space:pre-wrap;word-break:break-word}
  /* wide tables scroll inside their own box, never the page */
  body.skx-ui .table-wrap,body.skx-ui .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  body.skx-ui .box-body>table.table,body.skx-ui .box>table.table,body.skx-ui .cr-res>table{display:block;overflow-x:auto;white-space:nowrap}
  /* form sections side by side on desktop, stacked on phones */
  body.skx-ui .cr-b{grid-template-columns:1fr 1fr!important}
  body.skx-ui .cr-a{flex-wrap:wrap;gap:8px}body.skx-ui .cr-a small{width:100%}body.skx-ui .cr-a .btn{flex:1}
  body.skx-ui .input-group{flex-wrap:nowrap}
  /* step tabs / pill rows scroll sideways */
  body.skx-ui :is(.adm-steps,.af-steps,.wz-steps,.nav-tabs,.nav-pills,.acc-tabs,.sp-tabs,.pf-tabs,.cv-tabs){flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none}
  body.skx-ui :is(.adm-steps,.af-steps,.wz-steps,.nav-tabs,.nav-pills,.acc-tabs,.pf-tabs,.cv-tabs)>*{flex:none}
  /* admission CRM board: columns scroll inside the board */
  body.skx-ui .crm-board{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:6px}
  body.skx-ui .crm-col{flex:0 0 82%!important;min-width:0!important;max-width:82%!important;scroll-snap-align:start}
  /* modals as bottom sheets */
  body.skx-ui .modal-dialog{margin:auto 0 0!important;max-width:100%!important}
  body.skx-ui .modal-content{border-radius:22px 22px 0 0!important;border:0!important;padding-bottom:env(safe-area-inset-bottom,0px)}
  body.skx-ui .modal.show .modal-dialog{transform:none}
  /* long words (emails, URLs) wrap */
  body.skx-ui td,body.skx-ui .sp-grid b,body.skx-ui .box-body{overflow-wrap:anywhere}
  body.skx-ui .table td,body.skx-ui .table th{overflow-wrap:normal}
}
body.skx-ui .acc-tabs a.on,body.skx-ui .acc-tabs a.on i{color:#fff!important;-webkit-text-fill-color:#fff!important}
/* v3.38.2 · student list fits the screen — no sideways scrolling on laptops */
@media screen and (min-width:992px){
  body.skx-ui #slTable{overflow-x:visible!important}
  body.skx-ui .ss-tbl{width:100%!important;table-layout:auto;min-width:0!important}
  body.skx-ui .ss-tbl th,body.skx-ui .ss-tbl td{padding:9px 8px!important;font-size:13px!important;white-space:normal!important;word-break:normal}
  body.skx-ui .ss-tbl th{font-size:11px!important;letter-spacing:.03em!important}
  body.skx-ui .ss-tbl td .ss-name{font-weight:650;line-height:1.25}
  body.skx-ui .ss-tbl td.text-nowrap{white-space:nowrap!important}
  body.skx-ui .ss-tbl .sl-act{width:76px;white-space:normal!important}
  body.skx-ui .ss-tbl .sl-act a{width:30px!important;height:30px!important;margin:1px!important;border-radius:9px!important;display:inline-flex!important;align-items:center;justify-content:center;font-size:13px!important}
}
/* narrower laptops: hide the least used columns (caste, PEN no) — still in Details view, profile and exports */
@media screen and (min-width:992px) and (max-width:1600px){
  body.skx-ui .ss-tbl th:nth-child(8),body.skx-ui .ss-tbl td:nth-child(8),body.skx-ui .ss-tbl th:nth-child(10),body.skx-ui .ss-tbl td:nth-child(10){display:none!important}
}
@media screen and (min-width:992px) and (max-width:1280px){
  body.skx-ui .ss-tbl th:nth-child(3),body.skx-ui .ss-tbl td:nth-child(3){display:none!important}
}
/* v3.39 · parent child switcher, badges */
.pa-kids{display:flex;gap:8px;overflow-x:auto;margin:0 0 12px;padding:2px;scrollbar-width:none}
.pa-kids a{display:flex;align-items:center;gap:8px;flex:none;padding:6px 12px 6px 6px;border-radius:40px;background:#fff;border:1.5px solid #e8ebf3;text-decoration:none;color:#334155;box-shadow:0 6px 16px -14px rgba(15,23,42,.5)}
.pa-kids a.on{border-color:#6366f1;background:#eef2ff;color:#312e81}
.pa-kids img{width:34px;height:34px;border-radius:50%;object-fit:cover;background:#eef2ff}
.pa-kids b{display:block;font-size:13px;line-height:1.1}.pa-kids small{display:block;font-size:11px;color:#64748b}
.skx-bnav i{position:relative}.bn-badge{position:absolute;top:-2px;right:8px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ef4444;color:#fff;font:800 10px/17px var(--ui-font);font-style:normal;text-align:center}
/* v3.39 · marks entry on phones: one student = one card, marks boxes large, save bar sticks to the bottom */
.cm-savebar{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:10px}
@media screen and (max-width:991px){
  #cmForm .table-wrap{overflow:visible!important}
  #cmForm table,#cmForm tbody{display:block!important;width:100%}
  #cmForm thead{display:none}
  #cmForm tr{display:grid!important;grid-template-columns:repeat(2,1fr);gap:8px 10px;background:#fff;border:1px solid #e8ebf3;border-radius:16px;padding:12px;margin-bottom:10px;box-shadow:0 8px 20px -18px rgba(15,23,42,.5)}
  #cmForm td{display:block!important;border:0!important;padding:0!important;min-width:0!important;text-align:left!important}
  #cmForm td.cm-roll{grid-column:1/-1;order:-2;font-size:11px;color:#94a3b8}
  #cmForm td.cm-roll::before{content:"Roll "}
  #cmForm td.cm-name{grid-column:1/-1;order:-1;font-weight:700;font-size:15px;margin-top:-8px}
  #cmForm td.cm-cell::before,#cmForm td.cm-tot::before{content:attr(data-label);display:block;font:600 11.5px var(--ui-font);color:#64748b;margin-bottom:3px}
  #cmForm td.cm-cell .d-flex{justify-content:flex-start!important}
  #cmForm .cm-in{max-width:none!important;flex:1;height:46px;font-size:18px!important;font-weight:700;border-radius:12px!important}
  #cmForm .cm-ab{width:26px;height:26px}
  #cmForm td.cm-tot{align-self:center;font-size:18px;color:#4338ca}
  .cm-savebar{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom,0px));background:#fff;border-radius:16px;padding:8px 10px;box-shadow:0 -8px 24px -18px rgba(15,23,42,.6);z-index:5}
  .cm-savebar .btn{flex:1}
}
/* ===== v3.39.1 · phones: compact attendance register + calm cards everywhere ===== */
@media screen and (max-width:991px){
  /* attendance: one compact row per student, all five buttons on one line */
  body.skx-ui .att-bulk{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:6px!important;margin-bottom:10px!important}
  body.skx-ui .att-bulk>b{flex:none;font-size:12.5px;white-space:nowrap}
  body.skx-ui .att-bulk .btn{flex:none;min-height:32px!important;padding:4px 10px!important;font-size:12.5px!important;border-radius:20px!important;white-space:nowrap}
  body.skx-ui .att-tbl,body.skx-ui .att-tbl tbody{display:block!important;width:100%}
  body.skx-ui .att-tbl thead{display:none}
  body.skx-ui .table-wrap:has(>.att-tbl){overflow:visible!important}
  body.skx-ui .att-tbl tr{display:grid!important;grid-template-columns:30px 1fr;grid-template-areas:"roll nm" "opts opts";gap:6px 8px;align-items:center;background:#fff;border:1px solid #eef0f6;border-radius:14px;padding:9px 10px;margin-bottom:7px}
  body.skx-ui .att-tbl td{border:0!important;padding:0!important;background:none!important}
  body.skx-ui .att-tbl td.att-roll{grid-area:roll;width:28px;height:28px;border-radius:9px;background:#eef2ff!important;color:#4338ca;font:800 12px/28px var(--ui-font);text-align:center}
  body.skx-ui .att-tbl td.att-nm{grid-area:nm;min-width:0;line-height:1.2}
  body.skx-ui .att-tbl td.att-nm b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.skx-ui .att-tbl td.att-nm small{font-size:11px}
  body.skx-ui .att-tbl td:last-child{grid-area:opts}
  body.skx-ui .att-tbl .att-opts{flex-wrap:nowrap!important;gap:5px!important}
  body.skx-ui .att-tbl .att-opts label{flex:1;min-width:0!important;height:38px!important;border-radius:11px!important;font-size:14px!important}
  /* every other table shown as cards: white, calm, compact */
  body.skx-ui table.mcards>tbody>tr{background:#fff!important;border:1px solid #eef0f6!important;border-left:4px solid var(--mc)!important;border-radius:16px!important;box-shadow:0 8px 20px -20px rgba(15,23,42,.6)!important;padding:10px 12px 10px!important;margin-bottom:9px!important;gap:6px 12px!important}
  body.skx-ui table.mcards>tbody>tr>td.mc-title{background:none!important;margin:0 0 2px!important;padding:0 36px 6px 0!important;border-bottom:1px solid #f1f3f8!important;font-size:14.5px!important}
  body.skx-ui table.mcards>tbody>tr>td.mc-title *{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}
  body.skx-ui table.mcards>tbody>tr>td.mc-title a{color:#4338ca!important;-webkit-text-fill-color:#4338ca!important}
  body.skx-ui table.mcards>tbody>tr>td.mc-title .badge{background:#eef2ff!important;color:#4338ca!important;-webkit-text-fill-color:#4338ca!important}
  body.skx-ui table.mcards>tbody>tr>td[data-l]:before{font:600 10.5px var(--ui-font)!important;letter-spacing:.02em!important;text-transform:none!important;color:#94a3b8!important;margin-bottom:1px}
  body.skx-ui table.mcards>tbody>tr>td{font-size:13.5px!important;color:#1e293b}
  body.skx-ui table.mcards>tbody>tr>td.mc-act{border-top:1px solid #f1f3f8!important;padding-top:8px!important}
  body.skx-ui table.mcards>tbody>tr>td.mc-act .btn,body.skx-ui table.mcards>tbody>tr>td.mc-act a{min-height:34px!important}
}
@media screen and (max-width:991px){
  body.skx-ui .att-tbl td.att-code{width:auto!important;min-width:28px;padding:0 6px!important;font-size:10.5px!important}
  body.skx-ui .att-tbl tr:has(td.att-code){grid-template-columns:auto 1fr}
  body.skx-ui .att-tbl td.hide-sm{display:none!important}
  /* buttons never break into one letter per line; a column holding only a button takes the full width */
  body.skx-ui .btn{white-space:nowrap}
  body.skx-ui .row>[class*="col"]:has(>.btn:only-child),body.skx-ui .row>[class*="col"]:has(>button:only-child){flex:0 0 100%!important;max-width:100%!important;width:100%!important}
  body.skx-ui .row>[class*="col"]>.btn:only-child{width:100%}
  /* report bars: the same calm indigo as other headers */
  html[data-theme] body.skx-ui .rb{background:linear-gradient(135deg,#312e81 0%,#4338ca 65%,#4f46e5 100%)!important;border-radius:18px!important}
}
/* v3.39.3 · attendance: every student in their own softly coloured box (Skoolnix palette) */
@media screen and (max-width:991px){
  body.skx-ui .att-tbl tr{--c:#6366f1;background:color-mix(in srgb,var(--c) 6%,#fff)!important;border:1px solid color-mix(in srgb,var(--c) 22%,#fff)!important;border-left:5px solid var(--c)!important;box-shadow:0 8px 18px -18px color-mix(in srgb,var(--c) 70%,#000)!important;margin-bottom:9px!important}
  body.skx-ui .att-tbl tr:nth-child(8n+1){--c:#6366f1}body.skx-ui .att-tbl tr:nth-child(8n+2){--c:#10b981}body.skx-ui .att-tbl tr:nth-child(8n+3){--c:#f59e0b}body.skx-ui .att-tbl tr:nth-child(8n+4){--c:#ec4899}
  body.skx-ui .att-tbl tr:nth-child(8n+5){--c:#0ea5e9}body.skx-ui .att-tbl tr:nth-child(8n+6){--c:#8b5cf6}body.skx-ui .att-tbl tr:nth-child(8n+7){--c:#14b8a6}body.skx-ui .att-tbl tr:nth-child(8n+8){--c:#f43f5e}
  body.skx-ui .att-tbl td{box-shadow:none!important;outline:0!important;border-radius:0}
  body.skx-ui .att-tbl td.att-roll{width:34px!important;height:34px!important;border-radius:50%!important;background:var(--c)!important;color:#fff!important;font:800 12px/34px var(--ui-font)!important;border:0!important}
  body.skx-ui .att-tbl tr{grid-template-columns:36px 1fr!important}
  body.skx-ui .att-tbl tr:has(td.att-code){grid-template-columns:auto 1fr!important}
  body.skx-ui .att-tbl td.att-code{border-radius:10px!important;line-height:34px!important;padding:0 8px!important}
  body.skx-ui .att-tbl td.att-nm b{color:#0f172a}
  body.skx-ui .att-tbl .att-opts label{background:#fff!important;border:1px solid color-mix(in srgb,var(--c) 20%,#e8ebf3)!important}
}
@media screen and (max-width:991px){
  html body.skx-ui .att-tbl tr td.att-roll,html body.skx-ui .att-tbl tr:hover td.att-roll{background:var(--c)!important;color:#fff!important;display:flex!important;align-items:center;justify-content:center;line-height:1!important;padding:0!important}
  html body.skx-ui .att-tbl tr td.att-code{width:auto!important;min-width:44px;height:30px!important;border-radius:10px!important;padding:0 8px!important;font-size:10.5px!important}
  html body.skx-ui .att-tbl tr:hover td{background:transparent!important}
  body.skx-ui .att-tbl .att-opts input:not(:checked)+label{background:#fff!important}
  body.skx-ui .att-tbl .att-opts input:checked+label{border-color:transparent!important}
}
@media screen and (max-width:991px){
  html body.skx-ui .att-tbl .att-opts input:checked+label.P{background:linear-gradient(135deg,#15803d,#4ade80)!important;color:#fff!important}
  html body.skx-ui .att-tbl .att-opts input:checked+label.A{background:linear-gradient(135deg,#dc2626,#fb7185)!important;color:#fff!important}
  html body.skx-ui .att-tbl .att-opts input:checked+label.L{background:linear-gradient(135deg,#d97706,#fbbf24)!important;color:#fff!important}
  html body.skx-ui .att-tbl .att-opts input:checked+label.H{background:linear-gradient(135deg,#0284c7,#38bdf8)!important;color:#fff!important}
  html body.skx-ui .att-tbl .att-opts input:checked+label.V{background:linear-gradient(135deg,#6d28d9,#a855f7)!important;color:#fff!important}
}
.inst-sheet{position:fixed;inset:0;z-index:2000;background:rgba(15,23,42,.45);display:flex;align-items:flex-end;justify-content:center;padding:12px}
.inst-card{background:#fff;border-radius:24px;padding:22px 20px calc(18px + env(safe-area-inset-bottom,0px));width:100%;max-width:420px;box-shadow:0 -10px 40px -12px rgba(0,0,0,.4);animation:instUp .25s ease-out}
@keyframes instUp{from{transform:translateY(40px);opacity:0}}
.inst-ic{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#4338ca,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:10px}
.inst-card h3{font:800 19px var(--hd-font,sans-serif);margin:0 0 10px}.inst-card ol{padding-left:20px;margin:0 0 10px;font-size:14.5px;line-height:1.6}
@media (min-width:768px){.inst-sheet{align-items:center}}
.tl-chip{display:inline-block;background:#eef2ff;color:#3730a3;border-radius:9px;padding:2px 8px;margin:2px 4px 2px 0;font-size:12px;white-space:nowrap}.tl-chip b{color:#1e1b4b}
.tl-day{display:inline-block;min-width:38px;margin:1px 3px 1px 0;color:#64748b}.tl-day b{color:#0f172a}
.mt-tbl th,.mt-tbl td{text-align:center;font-size:12px;min-width:92px;white-space:nowrap}.mt-tbl tbody th{text-align:left;position:sticky;left:0;background:#f8f9fc;z-index:1}.mt-br{background:#fafafa;color:#94a3b8}
@media print{.mt-tbl th,.mt-tbl td{font-size:9px;min-width:0;padding:3px!important}}
.bu-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px 10px;max-height:230px;overflow:auto;border:1px solid #eef0f6;border-radius:12px;padding:8px 10px;font-size:13px}
.bu-fields label{display:flex;gap:6px;align-items:center}
/* v3.41 · timetable builder */
.tb-pick{display:flex;gap:8px;margin-bottom:12px}.tb-pick select{max-width:280px}
.tb-wrap{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start}
.tb-cards{background:#fff;border:1px solid #e8ebf3;border-radius:18px;padding:12px;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto}
.tb-h{font-weight:800;margin-bottom:8px}.tb-h small{display:block;font-weight:500;color:#94a3b8;font-size:11px}
.tb-card{border:1px solid color-mix(in srgb,var(--c) 25%,#fff);border-left:5px solid var(--c);background:color-mix(in srgb,var(--c) 7%,#fff);border-radius:12px;padding:8px 10px;margin-bottom:8px;cursor:grab;display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center}
.tb-card.sel{box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 45%,#fff)}.tb-card b{font-size:13.5px}.tb-cnt{font:800 11.5px var(--ui-font,sans-serif);background:#fff;border-radius:10px;padding:1px 8px;color:#475569}.tb-cnt.ok{background:#dcfce7;color:#166534}
.tb-card .tb-teacher{grid-column:1/-1;font-size:12px;padding:3px 6px;border-radius:8px;border:1px solid #e2e8f0;min-height:0!important;height:30px}
.tb-grid-wrap{overflow-x:auto;background:#fff;border:1px solid #e8ebf3;border-radius:18px}
.tb-grid{width:100%;border-collapse:separate;border-spacing:4px;min-width:640px}.tb-grid thead th{font:700 12px var(--ui-font,sans-serif);color:#475569;text-align:center;padding:6px}
.tb-grid tbody th{font:700 12px var(--ui-font,sans-serif);color:#334155;white-space:nowrap;padding:4px 8px;width:80px}.tb-grid tbody th small{display:block;font-weight:500;color:#94a3b8;font-size:10.5px}
.tb-slot{height:58px;border:1.5px dashed #e2e8f0;border-radius:12px;vertical-align:middle;padding:0!important;cursor:pointer;min-width:96px}
.tb-slot.arm{border-color:#c7d2fe;background:#f8f9ff}.tb-slot.busy{background:#fef2f2!important;border-color:#fca5a5!important;cursor:not-allowed}
.tb-put{position:relative;height:100%;min-height:54px;border-radius:10px;background:color-mix(in srgb,var(--c) 14%,#fff);border-left:4px solid var(--c);padding:6px 22px 6px 8px;display:flex;flex-direction:column;justify-content:center}
.tb-put b{font-size:12.5px;line-height:1.15}.tb-put small{font-size:10.5px;color:#475569}.tb-x{position:absolute;top:3px;right:4px;border:0;background:transparent;color:#94a3b8;font-size:12px}
.tb-grid tr.brk td,.tb-grid td.brk{background:#f8fafc;color:#94a3b8;text-align:center;font-size:11px;border-radius:10px;height:28px}
.tb-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(90px + env(safe-area-inset-bottom,0px));background:#0f172a;color:#fff;padding:10px 16px;border-radius:14px;font-weight:600;z-index:1500;box-shadow:0 10px 30px -10px rgba(0,0,0,.5)}.tb-toast.bad{background:#b91c1c}
@media (max-width:991px){.tb-wrap{grid-template-columns:1fr}.tb-cards{position:static;max-height:none;display:flex;gap:8px;overflow-x:auto;padding:10px}.tb-cards .tb-h{display:none}.tb-card{min-width:170px;margin:0}}
@media print{.tb-wrap{grid-template-columns:1fr}.tb-slot{height:40px;border-style:solid}}
.tcb-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px;max-height:300px;overflow:auto;border:1px solid #eef0f6;border-radius:12px;padding:8px 10px;font-size:13.5px}.tcb-list label{display:flex;gap:6px;align-items:center}
.fe-tbl td{text-align:center;font-size:12px;min-width:84px;white-space:nowrap;border-radius:8px}.fe-tbl tbody th{white-space:nowrap;font-size:13px}
.fe-busy{background:#eef2ff!important;color:#3730a3}.fe-sub{background:#fef3c7!important;color:#92400e}.fe-free{background:#ecfdf5!important;color:#047857;font-weight:700}.fe-away{background:#fef2f2!important;color:#b91c1c;font-weight:700}
.fe-key{display:inline-block;padding:2px 8px;border-radius:8px;margin-right:4px}
/* v3.45 · Timetable Studio */
.ts-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.ts-step{position:relative;display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #e8ebf3;border-radius:18px;padding:16px;text-decoration:none;color:#0f172a;box-shadow:0 10px 26px -24px rgba(15,23,42,.5);transition:transform .15s}
.ts-step:hover{transform:translateY(-2px);border-color:#c7d2fe}.ts-step i{font-size:22px;color:#4f46e5}.ts-step b{font-size:15px}.ts-step small{color:#64748b;font-size:12px;line-height:1.35}.ts-step em{font-style:normal;font-size:11.5px;font-weight:700;color:#4338ca;background:#eef2ff;border-radius:8px;padding:2px 8px;align-self:flex-start;margin-top:4px}
.ts-n{position:absolute;top:12px;right:14px;width:24px;height:24px;border-radius:50%;background:#1e1b4b;color:#fff;font:800 12px/24px var(--ui-font,sans-serif);text-align:center}
.ts-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.ts-links a{display:grid;grid-template-columns:28px 1fr;gap:2px 8px;padding:10px;border-radius:14px;background:#f8f9fc;text-decoration:none;color:#0f172a}.ts-links i{grid-row:1/3;font-size:20px;color:#4f46e5}.ts-links small{color:#64748b;font-size:11.5px}
.ru-list{max-height:560px;overflow:auto}.ru-list a{display:block;padding:10px 14px;border-bottom:1px solid #f1f3f8;text-decoration:none;color:#0f172a}.ru-list a.on{background:#eef2ff}.ru-list small{display:block;color:#64748b;font-size:11.5px}
.ru-grid{border-collapse:separate;border-spacing:4px}.ru-grid th{font-size:12px;text-align:center;padding:2px 6px}.ru-grid tbody th{text-align:left;white-space:nowrap}.ru-grid tbody th small{display:block;color:#94a3b8;font-weight:500}
.ru-cell input{display:none}.ru-cell span{display:block;width:54px;height:34px;border-radius:9px;background:#ecfdf5;border:1px solid #bbf7d0;cursor:pointer}.ru-cell input:checked+span{background:#fee2e2;border-color:#fca5a5}
.sc-tbl input{min-width:90px}
@media (max-width:991px){.ts-steps{grid-template-columns:1fr 1fr}}
.badge.bg-bad{background:#fee2e2!important;color:#b91c1c!important}.badge.bg-warn{background:#fef3c7!important;color:#92400e!important}.badge.bg-ok{background:#dcfce7!important;color:#166534!important}
.tb-lk{position:absolute;bottom:2px;right:3px;border:0;background:transparent;color:#cbd5e1;font-size:11px;padding:0}.tb-put.lk{box-shadow:inset 0 0 0 2px var(--c)}.tb-put.lk .tb-lk{color:#1e1b4b}
/* ===== v3.46 · menu style "Colour blocks + pop-out" (desktop) ===== */
.menu-style-row{display:flex;gap:6px;padding:0 12px 8px}.menu-style-row button{flex:1;border:1.5px solid #e2e8f0;background:#fff;border-radius:10px;padding:6px 8px;font:600 12px var(--ui-font,sans-serif);color:#334155}
.menu-style-row button.on{border-color:#4f46e5;background:#eef2ff;color:#3730a3}
@media screen and (min-width:992px){
  html[data-menu=flyout][data-theme][data-sidebg] body aside.skx-side{background:linear-gradient(180deg,#1e1b4b 0%,#312e81 55%,#3b2a7a 100%)!important;border-right:0!important}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .nav-head{color:#a5b4fc!important;opacity:.9}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav>li{margin:3px 10px}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .nav-link{--c:#818cf8;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 34%,transparent),color-mix(in srgb,var(--c) 14%,transparent))!important;
    border:1px solid color-mix(in srgb,var(--c) 40%,transparent)!important;border-radius:12px!important;margin:0!important;padding:9px 12px!important;color:#fff!important;font-weight:700!important;box-shadow:0 6px 14px -12px rgba(0,0,0,.8)!important}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .nav-link .lbl,html[data-menu=flyout][data-theme][data-sidebg] #sideNav .nav-link i,html[data-menu=flyout][data-theme][data-sidebg] #sideNav .nav-link::after{color:#fff!important;-webkit-text-fill-color:#fff!important}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .nav-link i.ic{background:rgba(255,255,255,.14)!important;color:#fff!important}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .nav-link:hover,html[data-menu=flyout][data-theme][data-sidebg] #sideNav li.fly-open>.nav-link{filter:brightness(1.18);transform:translateX(2px)}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .nav-link.active,html[data-menu=flyout][data-theme][data-sidebg] #sideNav li.fly-open>.nav-link{background:#fff!important;border-color:#fff!important}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .nav-link.active .lbl,html[data-menu=flyout][data-theme][data-sidebg] #sideNav li.fly-open>.nav-link .lbl,html[data-menu=flyout][data-theme][data-sidebg] #sideNav .nav-link.active i,html[data-menu=flyout][data-theme][data-sidebg] #sideNav li.fly-open>.nav-link i,html[data-menu=flyout][data-theme][data-sidebg] #sideNav li.fly-open>.nav-link::after{color:#312e81!important;-webkit-text-fill-color:#312e81!important}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .nav-link.active i.ic,html[data-menu=flyout][data-theme][data-sidebg] #sideNav li.fly-open>.nav-link i.ic{background:#eef2ff!important}
  /* colour per block, cycling through the Skoolnix palette */
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav>li:nth-of-type(8n+1) .nav-link{--c:#818cf8}html[data-menu=flyout][data-theme][data-sidebg] #sideNav>li:nth-of-type(8n+2) .nav-link{--c:#34d399}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav>li:nth-of-type(8n+3) .nav-link{--c:#fbbf24}html[data-menu=flyout][data-theme][data-sidebg] #sideNav>li:nth-of-type(8n+4) .nav-link{--c:#f472b6}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav>li:nth-of-type(8n+5) .nav-link{--c:#38bdf8}html[data-menu=flyout][data-theme][data-sidebg] #sideNav>li:nth-of-type(8n+6) .nav-link{--c:#a78bfa}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav>li:nth-of-type(8n+7) .nav-link{--c:#2dd4bf}html[data-menu=flyout][data-theme][data-sidebg] #sideNav>li:nth-of-type(8n+8) .nav-link{--c:#fb7185}
  /* sub-menu: a floating card beside the menu */
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .sub{display:none!important;position:fixed!important;z-index:1060;width:270px;max-height:calc(100vh - 90px);overflow:auto;margin:0!important;padding:10px!important;
    background:#fff!important;border:1px solid #e8ebf3!important;border-left:0!important;border-radius:16px!important;box-shadow:0 24px 50px -20px rgba(15,23,42,.55)!important;height:auto!important}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav li.fly-open>.sub{display:block!important;animation:flyIn .14s ease-out}
  @keyframes flyIn{from{opacity:0;transform:translateX(-6px)}}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .sub li{margin:0 0 6px}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .sub a{display:block!important;background:#fff8ee!important;border:1px solid #fdecd3!important;border-radius:10px!important;padding:9px 12px 9px 28px!important;color:#1f2937!important;font:500 14px var(--ui-font,sans-serif)!important;position:relative}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .sub a::after{display:none!important}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .sub a::before{display:block!important;content:"»";width:auto!important;height:auto!important;background:none!important;border-radius:0!important;position:absolute;left:12px;top:8px;color:#7c3aed;font-weight:700}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .sub a:hover{background:#ffefd6!important;color:#5b21b6!important}
  html[data-menu=flyout][data-theme][data-sidebg] #sideNav .sub a.active{background:#ede9fe!important;border-color:#c4b5fd!important;color:#4338ca!important;font-weight:700!important}
  html[data-menu=flyout][data-theme][data-sidebg] body aside.skx-side .side-find input{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.2)!important;color:#fff!important}
  html[data-menu=flyout][data-theme][data-sidebg] body aside.skx-side .side-mini{background:rgba(255,255,255,.1)!important;color:#fff!important}
}
/* ===== v3.46.2 · Heritage theme + "Colour blocks + pop-out" = classic school look
   (teal menu, coloured blocks, white active block, cream pop-out with ») ===== */
@media screen and (min-width:992px){
  html[data-menu=flyout][data-theme=heritage][data-sidebg] body aside.skx-side{background:linear-gradient(180deg,#155750 0%,#1b6a62 50%,#145149 100%)!important;border-right:0!important}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] body aside.skx-side .brand{background:#fffdf6!important}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .nav-head{color:#e9d9a8!important;opacity:.95;font-weight:800;letter-spacing:.14em;padding-top:14px}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav>li:not(.nav-head){margin:5px 10px}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .nav-link{background:linear-gradient(90deg,color-mix(in srgb,var(--c) 92%,#000 8%),color-mix(in srgb,var(--c) 62%,#0f4f47))!important;
    border:1px solid rgba(255,255,255,.16)!important;border-radius:9px!important;padding:10px 12px!important;font-weight:800!important;font-size:15.5px;box-shadow:0 6px 14px -10px rgba(0,0,0,.75)!important}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .nav-link i.ic{background:transparent!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .nav-link .chev{display:none!important}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .nav-link[data-bs-toggle]::after{content:"\25BE"!important;display:inline-block!important;margin-left:auto!important;font-size:13px;line-height:1;border:0!important;width:auto!important;height:auto!important;background:none!important;position:static!important;transform:none!important}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .nav-link:hover{filter:brightness(1.12)}
  /* active / open block: white with a lavender ring, like the classic ERP */
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .nav-link.active,html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav li.fly-open>.nav-link{background:#fff!important;border:2px solid #c4b5fd!important;box-shadow:0 8px 18px -10px rgba(0,0,0,.6)!important;filter:none}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .nav-link.active .lbl,html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav li.fly-open>.nav-link .lbl,html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .nav-link.active i,html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav li.fly-open>.nav-link i{color:#0b4038!important;-webkit-text-fill-color:#0b4038!important}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .nav-link.active i.ic,html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav li.fly-open>.nav-link i.ic{background:transparent!important;color:#7c3aed!important;-webkit-text-fill-color:#7c3aed!important}
  /* block colours — greens, teals and a few accents, cycling */
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav>li:nth-of-type(10n+1) .nav-link{--c:#4f7d3a}html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav>li:nth-of-type(10n+2) .nav-link{--c:#3f6f78}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav>li:nth-of-type(10n+3) .nav-link{--c:#5a4fa3}html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav>li:nth-of-type(10n+4) .nav-link{--c:#2f8574}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav>li:nth-of-type(10n+5) .nav-link{--c:#3b6fa0}html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav>li:nth-of-type(10n+6) .nav-link{--c:#2e8a5e}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav>li:nth-of-type(10n+7) .nav-link{--c:#4c5fae}html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav>li:nth-of-type(10n+8) .nav-link{--c:#23807f}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav>li:nth-of-type(10n+9) .nav-link{--c:#8a4b4b}html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav>li:nth-of-type(10n+10) .nav-link{--c:#6b7d2e}
  /* pop-out card: cream rows with » */
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .sub{background:#fff!important;border:1px solid #efe4c2!important;border-radius:12px!important}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .sub a{background:#fdf5e8!important;border:1px solid #f6e7cc!important;color:#0b4038!important;font:500 15px var(--ui-font,sans-serif)!important;padding:11px 12px 11px 30px!important}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .sub a::before{color:#a8a29e;top:10px}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .sub a:hover{background:#fbebd0!important;color:#0f5a4f!important}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] #sideNav .sub a.active{background:#e3f2ec!important;border-color:#9fd3c1!important;color:#0b4038!important}
  html[data-menu=flyout][data-theme=heritage][data-sidebg] body aside.skx-side .side-find input{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.18)!important}
}
/* v3.46.2 · Heritage header: cream bar on desktop, green bar on phones (was being overridden by the white header) */
html[data-theme=heritage] body.skx-ui .skx-top{background:linear-gradient(90deg,#efe4c2,#e7d7a6)!important;border-bottom:0!important;box-shadow:0 6px 20px -14px rgba(90,70,20,.6)!important;color:#0b4038!important}
html[data-theme=heritage] body.skx-ui .skx-top .school{color:#0b4038!important;font-weight:800!important;letter-spacing:.03em;text-transform:uppercase}
html[data-theme=heritage] body.skx-ui .top-search input{background:#fffdf6!important;border:1px solid #d9c894!important}
@media screen and (max-width:991px){html[data-theme=heritage] body.skx-ui .skx-top{background:#0f4f47!important;color:#fff!important}
  html[data-theme=heritage] body.skx-ui .skx-top .school,html[data-theme=heritage] body.skx-ui .skx-top .app-title{color:#fff!important}}
/* v3.46.2 · quick session change (top bar) */
.skx-top .skx-sess>button.pill{border:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.skx-top .skx-sess>button.pill::after{display:none}
.skx-top .skx-sess>button.pill:hover{filter:brightness(.96)}
.skx-top .skx-sess>button.pill.pill-old{background:#fef3c7!important;color:#92400e!important;box-shadow:0 0 0 1.5px #f59e0b!important}
.sess-menu{min-width:250px;padding:6px 0 4px}
.sess-menu .dropdown-item{font-weight:600;padding:8px 14px}
.sess-menu .dropdown-item.on{color:#4338ca;background:#eef2ff}
.sess-menu .dropdown-item .bi-circle{color:#cbd5e1}
.sess-note{font-size:11.5px;color:#64748b;padding:6px 14px 6px;border-top:1px solid #eef0f4;margin-top:4px}
.skx-sess-warn{background:#fffbeb;border:1px solid #fcd34d;color:#92400e;border-radius:12px}
html[data-theme=heritage] .skx-sess-warn{background:#fdf6e3;border-color:#d9c894;color:#5c4813}
/* ===================== v3.49: table tools bar + fees setup (two-panel: Add on the left, list on the right) ===================== */
.tt-bar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 12px}
.tt-bar .tt-q{max-width:260px;border-radius:10px}
.tt-btns{display:flex;gap:4px;position:relative}
.tt-btns button{width:34px;height:32px;border:1px solid var(--skx-line,#e3e7ef);background:var(--skx-card,#fff);color:var(--skx-a1,#4338ca);border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0}
.tt-btns button:hover{background:var(--skx-a1,#4338ca);color:#fff}
.tt-colw{position:relative}.tt-cols{position:absolute;right:0;top:38px;z-index:40;background:var(--skx-card,#fff);border:1px solid var(--skx-line,#e3e7ef);border-radius:12px;padding:8px 12px;box-shadow:0 14px 30px -12px rgba(15,23,42,.35);min-width:190px}
.tt-cols label{display:flex;gap:7px;align-items:center;white-space:nowrap;font-size:13px;padding:3px 0;cursor:pointer}
@media print{.tt-bar{display:none}}
@media (max-width:575px){.tt-bar .tt-q{max-width:none;flex:1 1 100%}.tt-btns{width:100%;justify-content:flex-end}.tt-btns button{width:40px;height:38px}}
.fs-setup .box-body .form-label{font-weight:600}
.fs-setup .fs-act{white-space:nowrap;text-align:right}
.fs-setup .fs-sub{display:block;font-size:12px;color:var(--skx-muted,#64748b);font-weight:500}
.fs-setup tr.fs-first td{border-top:2px solid var(--skx-line,#e3e7ef)}
.fs-setup td.fs-g{font-weight:800;vertical-align:top}
@media (min-width:768px){.fs-setup td.fs-g.fs-rep>*{visibility:hidden}}
.fs-setup .fs-fine label{margin-right:14px}
.fs-setup .fs-start{min-width:150px}
.fs-setup .fs-bulk{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--skx-a-soft,#eef2ff);border-radius:12px;padding:10px 12px;margin:0 0 12px}
/* v3.49.1: Fees master list — one heading bar per group, compact fee rows; phone layout below */
.fm-list .fm-gx{display:none}
.fm-list tr.fm-ghead td{background:var(--skx-a-soft,#eef2ff);padding:10px 14px;border-top:12px solid var(--skx-card,#fff);border-bottom:0}
.fm-list tbody tr.fm-ghead:first-child td{border-top:0}
.fm-gh{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap}
.fm-gname{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px}
.fm-gname b{font-size:15.5px;margin-right:4px;color:var(--skx-ink,#0f172a)}
.fm-chip{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600;background:var(--skx-card,#fff);border-radius:999px;padding:2px 9px;color:#475569;white-space:nowrap}
.fm-chip i{font-size:11px;opacity:.75}
.fm-gbtn{display:flex;gap:6px;flex-wrap:wrap}
.fm-gbtn .btn{border-radius:9px;font-weight:600;background:var(--skx-card,#fff);border:1px solid var(--skx-line,#e3e7ef);white-space:nowrap}
.fm-gbtn .btn:hover{background:var(--skx-a1,#4338ca);color:#fff;border-color:transparent}
.fm-list tr.fm-line td{vertical-align:middle;white-space:nowrap;padding-top:9px;padding-bottom:9px}
.fm-list tr.fm-line:hover td{background:rgba(99,102,241,.04)}
.fm-code b{font-weight:700}.fm-code small{display:block;color:#64748b;font-size:12px;font-weight:500}
.fm-amt{font-weight:700}
.fm-due{color:#334155}.fm-due i{color:#94a3b8;font-size:12px;margin-right:2px}
.fm-fbadge{display:inline-block;background:#fff4e5;color:#b45309;font-weight:700;font-size:12.5px;border-radius:8px;padding:2px 8px}
.fm-list tr.fm-empty td{color:#64748b;font-style:italic;padding:12px 14px}
@media (max-width:767.98px){
  .fm-list,.fm-list tbody{display:block;width:100%}
  .fm-list thead{display:none}
  .fm-list tr.fm-ghead,.fm-list tr.fm-ghead td,.fm-list tr.fm-empty,.fm-list tr.fm-empty td{display:block;width:100%}
  .fm-list tr.fm-ghead td{border-radius:12px 12px 0 0;border-top-width:14px;padding:10px 12px}
  .fm-gh{flex-direction:column;align-items:stretch}
  .fm-gbtn{justify-content:flex-start}
  .fm-gbtn .btn{flex:1 1 auto;min-height:38px}
  .fm-gbtn .btn:last-child{flex:0 0 auto}
  .fm-list tr.fm-line{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"code code amt" "due fine act";gap:4px 10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--skx-line,#eef0f4)}
  .fm-list tr.fm-line td{display:block;border:0!important;padding:0!important;white-space:normal;background:none!important}
  .fm-list tr.fm-line td.fm-gx{display:none}
  .fm-list td.fm-code{grid-area:code}.fm-list td.fm-amt{grid-area:amt;text-align:right;font-size:15px}
  .fm-list td.fm-due{grid-area:due;font-size:13px;white-space:nowrap}
  .fm-list td.fm-fine{grid-area:fine;font-size:12.5px}
  .fm-list td.fs-act{grid-area:act;justify-self:end}
  .fm-list td.fs-act .btn-ic{width:36px;height:36px}
}
@media (max-width:380px){.fm-gbtn .btn span{display:none}}
/* v3.50.1: Fees master — KPI strip + one bold gradient card per fees group, its fees as calendar-style tiles */
.fm-x{display:none}
.fm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 14px}
.fm-kpi{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;color:#fff;background:linear-gradient(130deg,var(--k1),var(--k2));box-shadow:0 12px 22px -16px var(--k1);position:relative;overflow:hidden;min-width:0}
.fm-kpi::after{content:"";position:absolute;right:-22px;top:-26px;width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.14)}
.fm-kpi>i{flex:none;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:18px}
.fm-kpi div{min-width:0}.fm-kpi b{display:block;font-size:19px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-kpi span{display:block;font-size:12px;opacity:.92;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-cards{columns:2 400px;column-gap:16px}
.fm-card{display:block;break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 16px;border-radius:18px;background:var(--skx-card,#fff);box-shadow:0 18px 34px -24px var(--c),0 2px 6px -3px rgba(15,23,42,.12);overflow:hidden;border:0}
.fm-ch{display:grid;grid-template-columns:auto 1fr auto auto;grid-template-areas:"ico name tot fold" "ico pills pills pills";gap:2px 12px;align-items:center;list-style:none;cursor:pointer;padding:14px 16px;color:#fff;background:linear-gradient(125deg,var(--c),var(--c2));position:relative;overflow:hidden}
.fm-ch::-webkit-details-marker{display:none}.fm-ch::marker{content:""}
.fm-ch::before{content:"";position:absolute;right:-40px;top:-60px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.12);pointer-events:none}
.fm-ch::after{content:"";position:absolute;right:60px;bottom:-70px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.fm-ico{grid-area:ico;align-self:start;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-size:21px}
.fm-cn{grid-area:name;min-width:0}.fm-cn b{display:block;font-size:19px;font-weight:800;line-height:1.2;word-break:break-word;text-shadow:0 1px 2px rgba(0,0,0,.12)}
.fm-cn small{display:block;font-size:12.5px;font-weight:600;opacity:.9}
.fm-ctot{grid-area:tot;text-align:right;line-height:1.1;position:relative;z-index:1}.fm-ctot b{display:block;font-size:20px;font-weight:800;white-space:nowrap}.fm-ctot small{font-size:11px;opacity:.85;font-weight:600}
.fm-fold{grid-area:fold;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:14px;transition:transform .2s;position:relative;z-index:1}
.fm-card:not([open]) .fm-fold{transform:rotate(-90deg)}
.fm-cs{grid-area:pills;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;position:relative;z-index:1}
.fm-cs>span{display:inline-flex;align-items:center;gap:5px;background:#fff;color:var(--c);border-radius:999px;padding:3px 11px;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 4px 10px -6px rgba(0,0,0,.35)}
.fm-cs>span.fm-warn{background:#fef3c7;color:#b45309}
.fm-cb{padding:14px 14px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 9%,#fff),var(--skx-card,#fff) 70%)}
.fm-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:10px}
.fm-tile{border-radius:13px;background:#fff;overflow:hidden;min-width:0;box-shadow:0 8px 18px -14px var(--c),0 1px 3px rgba(15,23,42,.08);border:1px solid color-mix(in srgb,var(--c) 18%,#eef0f4);transition:transform .15s,box-shadow .15s}
.fm-tile:hover{transform:translateY(-2px);box-shadow:0 14px 24px -14px var(--c),0 1px 3px rgba(15,23,42,.08)}
.fm-tt{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:6px 10px;color:#fff;background:linear-gradient(120deg,var(--c),var(--c2))}
.fm-tt b{font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.fm-tt b{letter-spacing:.03em}
.fm-tbody{position:relative}
.fm-ta{position:absolute;top:7px;right:6px;display:inline-flex;align-items:center;gap:3px}
.fm-ta a,.fm-ta button{border:0;background:color-mix(in srgb,var(--c) 10%,#fff);color:var(--c);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;border-radius:7px;padding:0}
.fm-ta button{color:#e11d48;background:#fff1f2}
.fm-ta a:hover{background:var(--c);color:#fff}.fm-ta button:hover{background:#e11d48;color:#fff}.fm-ta form{display:inline;margin:0}
.fm-ta .bi-lock-fill{font-size:11px;width:20px;text-align:center;color:#94a3b8}
.fm-tbody{padding:8px 10px 9px}
.fm-tm{font-weight:800;font-size:17px;color:#0f172a;line-height:1.15;white-space:nowrap}
.fm-tl{color:#64748b;font-size:11.5px;font-weight:600}
.fm-td{color:#475569;font-size:11.5px;font-weight:600;white-space:nowrap;margin-top:3px}.fm-td i{color:var(--c)}
.fm-tf{display:inline-flex;gap:3px;align-items:center;margin-top:5px;background:#fff1e6;color:#c2410c;font-weight:700;font-size:11px;border-radius:999px;padding:1px 8px}
.fm-none{color:#64748b;font-weight:600;padding:8px 4px}.fm-none i{color:var(--c);font-size:16px}
.fm-cbtn{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.fm-cbtn a{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;border-radius:10px;padding:7px 12px;background:#fff;border:1.5px solid color-mix(in srgb,var(--c) 35%,#e5e7eb);color:var(--c);text-decoration:none;white-space:nowrap;transition:all .15s}
.fm-cbtn a:hover{background:var(--c);border-color:var(--c);color:#fff}
.fm-cbtn a.fm-main,.fm-cbtn a.fm-main i{color:#fff!important}.fm-cbtn a.fm-main{background:linear-gradient(120deg,var(--c),var(--c2));border-color:transparent;box-shadow:0 8px 16px -10px var(--c)}
.fm-cbtn a.fm-main:hover{filter:brightness(1.07)}
@media (max-width:575.98px){
  .fm-kpis{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.fm-kpi{padding:10px}.fm-kpi>i{width:32px;height:32px;font-size:15px}.fm-kpi b{font-size:16px}
  .fm-cards{columns:1}
  .fm-ch{grid-template-columns:auto 1fr auto;grid-template-areas:"ico name fold" "tot tot tot" "pills pills pills";padding:12px}
  .fm-ctot{text-align:left;margin-top:6px}.fm-ctot b{display:inline;font-size:18px}.fm-ctot small{margin-left:6px}
  .fm-ico{width:40px;height:40px;font-size:18px}.fm-cn b{font-size:17px}
  .fm-cb{padding:10px}
  .fm-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .fm-tt{padding:5px 5px 5px 7px}.fm-tt b{font-size:11px;letter-spacing:.02em}
  .fm-tbody{display:flex;flex-direction:column}
  .fm-ta{position:static;order:9;justify-content:flex-end;margin-top:5px;gap:4px}.fm-ta a,.fm-ta button{width:26px;height:24px;font-size:11px;border-radius:7px}.fm-ta .bi-lock-fill{width:20px;font-size:11px}
  .fm-tbody{padding:6px 7px 7px}.fm-tm{font-size:14.5px}.fm-td{font-size:10.5px;letter-spacing:-.01em}.fm-tl{font-size:10.5px}
  .fm-cbtn a{flex:1 1 auto;justify-content:center;padding:9px 10px}
}
/* v3.52: library — section tabs, book covers, digital shelf (office + portal) */
.lib-nav{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 0 14px;padding:2px 2px 4px}
.lib-nav::-webkit-scrollbar{display:none}
.lib-nav a{flex:none;display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:12px;background:var(--skx-card,#fff);border:1px solid var(--skx-line,#e5e7eb);color:#334155;font-weight:700;font-size:13.5px;text-decoration:none;white-space:nowrap;box-shadow:0 4px 12px -10px rgba(15,23,42,.4)}
.lib-nav a i{color:#6366f1}.lib-nav a:hover{border-color:#c7d2fe}
.lib-nav a.on{background:linear-gradient(120deg,#4f46e5,#7c3aed);color:#fff;border-color:transparent}.lib-nav a.on i{color:#fff}
.lib-cover{width:42px;height:58px;border-radius:6px;object-fit:cover;background:#eef2ff;flex:none;box-shadow:0 2px 6px rgba(15,23,42,.18)}
.lib-gen{display:inline-flex;align-items:flex-end;justify-content:flex-start;color:#fff;font-weight:800;font-size:9px;line-height:1.1;padding:4px;overflow:hidden;text-align:left;word-break:break-word}
.lib-book{display:flex;gap:10px;align-items:center;min-width:0}.lib-book b{display:block;line-height:1.25}.lib-book small{color:#64748b}
.lib-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 14px}
.lib-kpi{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;color:#fff;background:linear-gradient(130deg,var(--k1),var(--k2));box-shadow:0 12px 22px -16px var(--k1);text-decoration:none;position:relative;overflow:hidden}
.lib-kpi::after{content:"";position:absolute;right:-22px;top:-26px;width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.14)}
.lib-kpi>i{flex:none;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:18px}
.lib-kpi b{display:block;font-size:20px;line-height:1.1}.lib-kpi span{font-size:12px;font-weight:600;opacity:.92}
.lib-kpi:hover{color:#fff;filter:brightness(1.05)}
.lib-st{display:inline-block;font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 9px}
.lib-st.available{background:#dcfce7;color:#15803d}.lib-st.issued{background:#fef3c7;color:#b45309}.lib-st.lost{background:#fee2e2;color:#b91c1c}.lib-st.damaged{background:#ffe4e6;color:#be123c}.lib-st.withdrawn{background:#e2e8f0;color:#475569}
.lib-more summary{cursor:pointer;font-weight:700;color:#4f46e5;font-size:13.5px;margin:4px 0 8px}
/* digital shelf cards */
.el-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.el-card{position:relative;display:flex;flex-direction:column;border-radius:16px;background:var(--skx-card,#fff);overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 10px 24px -18px rgba(15,23,42,.55),0 1px 3px rgba(15,23,42,.08);transition:transform .15s,box-shadow .15s;border:1px solid #eef0f4}
.el-card:hover{transform:translateY(-3px);box-shadow:0 18px 30px -18px rgba(79,70,229,.55);color:inherit}
.el-cv{position:relative;aspect-ratio:3/4;background:linear-gradient(150deg,var(--c1,#6366f1),var(--c2,#a855f7));display:flex;align-items:flex-end;overflow:hidden}
.el-cv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.el-cv .el-gt{position:relative;padding:12px;color:#fff;font-weight:800;font-size:15px;line-height:1.2;text-shadow:0 2px 6px rgba(0,0,0,.25);word-break:break-word}
.el-cv .el-gi{position:absolute;top:14px;left:12px;font-size:30px;color:rgba(255,255,255,.85)}
.el-cv::before{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.14)}
.el-kind{position:absolute;top:8px;right:8px;z-index:1;display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.95);color:var(--kc,#4f46e5);font-size:11px;font-weight:800;border-radius:999px;padding:3px 8px;box-shadow:0 4px 10px -6px rgba(0,0,0,.4)}
.el-done{position:absolute;top:8px;left:8px;z-index:1;background:#16a34a;color:#fff;font-size:11px;font-weight:800;border-radius:999px;padding:3px 8px}
.el-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1}
.el-play i{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.92);color:#db2777;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
.el-body{padding:9px 11px 11px;display:flex;flex-direction:column;gap:2px;min-width:0}
.el-body b{font-size:13.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.el-body small{color:#64748b;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.el-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.el-tags span{font-size:10.5px;font-weight:700;background:#f1f5f9;color:#475569;border-radius:6px;padding:1px 6px}
.el-acts{display:flex;gap:6px;padding:0 11px 11px}
.el-acts a,.el-acts button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:700;border-radius:9px;padding:6px 4px;border:1px solid #e2e8f0;background:#fff;color:#334155;text-decoration:none}
.el-acts a:hover,.el-acts button:hover{background:#4f46e5;color:#fff;border-color:#4f46e5}
.el-off{opacity:.55}
.el-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0 6px}
.el-chips::-webkit-scrollbar{display:none}
.el-chips a{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;font-weight:700;font-size:13px;text-decoration:none;background:var(--skx-card,#fff);border:1.5px solid #e2e8f0;color:#334155}
.el-chips a.on{background:var(--kc,#4f46e5);border-color:var(--kc,#4f46e5);color:#fff}
@media (max-width:575.98px){.el-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.el-cv .el-gt{font-size:13.5px;padding:10px}.lib-nav a{padding:8px 12px;font-size:13px}}
.lib-kpi,.lib-kpi b,.lib-kpi span,.lib-kpi i{color:#fff!important}
.lib-nav a.on,.lib-nav a.on span,.lib-nav a.on i{color:#fff!important}
.lib-st{white-space:nowrap}
.el-chips a.on,.el-chips a.on i{color:#fff!important}
.el-q{flex:1 1 220px;max-width:340px}.el-q .form-control{flex:1;min-width:0}
@media (max-width:575.98px){.el-q{max-width:none}.lib-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lib-kpi{padding:10px}.lib-kpi>i{width:32px;height:32px;font-size:15px}.lib-kpi b{font-size:17px}.lib-kpi span{font-size:11.5px}}
.el-cv,.el-cv:hover{text-decoration:none}
/* phone cards: a title cell with plain text (no link / tag inside) was white on white */
@media (max-width:767.98px){body.skx-ui table.mcards>tbody>tr>td.mc-title{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}}
/* v3.54: fees home, live student finder, fee plan */
.fh-hero{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:18px;border-radius:20px;margin:0 0 14px;color:#fff;background:linear-gradient(125deg,#047857,#059669 45%,#0284c7);box-shadow:0 18px 36px -24px #059669;position:relative}
.fh-ht h2{margin:0;font-size:24px;font-weight:800;color:#fff!important}.fh-ht p{margin:2px 0 0;opacity:.92;color:#fff!important}
.fh-find{position:relative;flex:1 1 380px;max-width:620px}
.fh-find>i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#64748b;font-size:18px;z-index:1}
.fh-find input{width:100%;height:54px;border-radius:16px;border:0;padding:0 16px 0 46px;font-size:16px;box-shadow:0 12px 26px -14px rgba(0,0,0,.45);outline:none}
.fh-res{position:absolute;left:0;right:0;top:60px;z-index:50;background:#fff;border-radius:16px;box-shadow:0 24px 50px -18px rgba(15,23,42,.5);overflow:hidden;max-height:70vh;overflow-y:auto;color:#0f172a}
.fh-res a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #f1f5f9;text-decoration:none;color:#0f172a}
.fh-res a:hover,.fh-res a.on{background:#f0fdf4}
.fh-res img{width:42px;height:42px;border-radius:12px;object-fit:cover;flex:none;background:#eef2ff}
.fh-res .n{flex:1;min-width:0}.fh-res .n b{display:block;font-size:14.5px}.fh-res .n small{display:block;color:#64748b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fh-res .d{text-align:right;font-weight:800;font-size:14px;white-space:nowrap}.fh-res .d small{display:block;font-weight:600;font-size:11px;color:#64748b}
.fh-res .d.late{color:#dc2626}.fh-res .d.ok{color:#16a34a}.fh-res .none{padding:14px;color:#64748b}
.fh-guide{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:16px 18px;border-radius:18px;margin:0 0 14px;background:linear-gradient(125deg,#fef3c7,#fdf2f8);border:1.5px dashed #f59e0b}
.fh-guide>i{font-size:34px;color:#d97706}.fh-guide>div{flex:1 1 260px}.fh-guide b{display:block;font-size:16px}.fh-guide span{color:#475569;font-size:13.5px}
.fh-acts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:0 0 14px}
.fh-act{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:16px;background:var(--skx-card,#fff);border:1px solid #eef0f4;text-decoration:none;color:#0f172a;box-shadow:0 10px 22px -18px rgba(15,23,42,.5);transition:transform .15s}
.fh-act:hover{transform:translateY(-2px);color:#0f172a;border-color:var(--c)}
.fh-act i{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;background:var(--c);margin-bottom:6px}
.fh-act b{font-size:14.5px}.fh-act small{color:#64748b;font-size:12px}
.fh-bars{display:grid;gap:8px}.fh-bar{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;text-decoration:none;color:#0f172a}
.fh-bl{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fh-bt{height:12px;border-radius:9px;background:#fef2f2;overflow:hidden}.fh-bt i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#f97316,#dc2626)}
.fh-bv{font-weight:800;font-size:13px;white-space:nowrap}.fh-bv small{color:#64748b;font-weight:600;margin-left:4px}
.fh-rec a{display:flex;gap:10px;align-items:center;padding:8px 2px;border-bottom:1px solid #f1f5f9;text-decoration:none;color:#0f172a}
.fh-ra{width:36px;height:36px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}
.fh-rn{flex:1;min-width:0}.fh-rn b{display:block;font-size:14px}.fh-rn small{display:block;color:#64748b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fh-rv{text-align:right;font-weight:800;color:#15803d;white-space:nowrap}.fh-rv small{display:block;color:#64748b;font-weight:600;font-size:11px}
@media (max-width:575.98px){.fh-hero{padding:14px;border-radius:16px}.fh-ht h2{font-size:20px}.fh-find input{height:50px;font-size:15px}.fh-acts{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-act{padding:12px}.fh-bar{grid-template-columns:80px 1fr auto}}
/* v3.55: robot helper */
.rb-fab{position:fixed;right:18px;bottom:18px;z-index:1050;width:66px;height:66px;border-radius:22px;border:0;padding:6px;background:linear-gradient(135deg,#fff,#eef2ff);box-shadow:0 16px 30px -12px rgba(79,70,229,.6),0 0 0 3px #c7d2fe;cursor:pointer;transition:transform .2s}
.rb-fab:hover{transform:translateY(-3px) rotate(-4deg)}.rb-fab svg{width:100%;height:100%}.rb-fab.on{transform:scale(.9)}
.rb-ping{position:absolute;top:4px;right:4px;width:12px;height:12px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:rbp 2s infinite}
@keyframes rbp{70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.rb-eye{animation:rbb 4s infinite;transform-origin:center;transform-box:fill-box}@keyframes rbb{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.rb-panel{position:fixed;right:18px;bottom:96px;z-index:1060;width:400px;max-width:calc(100vw - 24px);height:min(640px,calc(100vh - 120px));display:flex;flex-direction:column;background:#f8fafc;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(15,23,42,.55),0 0 0 1px rgba(99,102,241,.15)}
.rb-panel[hidden]{display:none}
.rb-hd{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;color:#fff;background:linear-gradient(125deg,#4f46e5,#7c3aed 60%,#db2777)}
.rb-av{width:44px;height:44px;border-radius:14px;background:#fff;padding:3px;flex:none}.rb-av svg{width:100%;height:100%}
.rb-hd>div{flex:1;min-width:0}.rb-hd b{display:block;font-size:16px;color:#fff}.rb-hd small{display:block;font-size:11.5px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.rb-ic{width:34px;height:34px;border-radius:10px;border:0;background:rgba(255,255,255,.18);color:#fff;flex:none;display:inline-flex;align-items:center;justify-content:center}
.rb-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.rb-msg{display:flex;flex-direction:column;gap:6px;max-width:92%}.rb-msg.me{align-self:flex-end;align-items:flex-end}.rb-msg.bot{align-self:flex-start}
.rb-bub{padding:10px 13px;border-radius:16px;font-size:14.5px;line-height:1.5;word-break:break-word}
.rb-msg.bot .rb-bub{background:#fff;border:1px solid #e2e8f0;border-top-left-radius:6px;color:#0f172a}
.rb-msg.me .rb-bub{background:linear-gradient(120deg,#4f46e5,#7c3aed);color:#fff;border-top-right-radius:6px}
.rb-typing{display:flex;gap:4px}.rb-typing i{width:7px;height:7px;border-radius:50%;background:#a5b4fc;animation:rbt 1s infinite}.rb-typing i:nth-child(2){animation-delay:.15s}.rb-typing i:nth-child(3){animation-delay:.3s}
@keyframes rbt{50%{transform:translateY(-4px);background:#6366f1}}
.rb-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px;font-size:13.5px;width:100%;min-width:260px;box-shadow:0 8px 18px -14px rgba(15,23,42,.4)}
.rb-stu{display:flex;gap:10px}.rb-stu img{width:54px;height:54px;border-radius:14px;object-fit:cover;background:#eef2ff;flex:none}.rb-stu b{display:block;font-size:15px}.rb-stu small{display:block;color:#64748b;font-size:12px}
.rb-tag{display:inline-block;margin:4px 4px 0 0;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:700;background:#eef2ff;color:#4338ca}.rb-tag.red{background:#fee2e2;color:#b91c1c}.rb-tag.green{background:#dcfce7;color:#15803d}
.rb-btns{display:flex;gap:6px;margin-top:6px}.rb-btns a,.rb-money a,.rb-link a{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:9px;background:#4f46e5;color:#fff!important;font-weight:700;font-size:12.5px;text-decoration:none}
.rb-money small{display:block;color:#64748b;font-weight:600}.rb-money b{display:block;font-size:24px;color:#047857;line-height:1.2}.rb-money b.t{font-size:17px;color:#0f172a}.rb-money span{display:block;color:#475569;font-size:12.5px;margin:2px 0 6px}
.rb-list small{display:block;color:#64748b;font-weight:700;margin-bottom:4px}.rb-list a{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid #f1f5f9;text-decoration:none;color:#0f172a}
.rb-list a span{min-width:0}.rb-list b{display:block;font-size:13.5px}.rb-list em{display:block;font-style:normal;color:#64748b;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rb-list strong{color:#dc2626;white-space:nowrap}.rb-list a.more{justify-content:center;color:#4f46e5;font-weight:700}
.rb-deny{display:flex;gap:8px;align-items:center;background:#fff7ed;border-color:#fed7aa;color:#9a3412}.rb-deny i{font-size:20px}
.rb-chips{display:flex;gap:6px;overflow-x:auto;padding:6px 12px;scrollbar-width:none}.rb-chips::-webkit-scrollbar{display:none}.rb-chips[hidden]{display:none}
.rb-chips button{flex:none;border:1px solid #c7d2fe;background:#fff;color:#4338ca;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600}
.rb-in{display:flex;align-items:flex-end;gap:6px;padding:10px;background:#fff;border-top:1px solid #e2e8f0}
.rb-in textarea{flex:1;min-width:0;resize:none;border:1.5px solid #e2e8f0;border-radius:14px;padding:9px 12px;font-size:15px;max-height:120px;outline:none}.rb-in textarea:focus{border-color:#818cf8}
.rb-in select{border:1.5px solid #e2e8f0;border-radius:12px;height:42px;font-size:12.5px;font-weight:700;padding:0 4px;background:#fff}
.rb-mic,.rb-send{width:42px;height:42px;border-radius:14px;border:0;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:18px}
.rb-mic{background:#fef2f2;color:#dc2626}.rb-mic.rec{background:#dc2626;color:#fff;animation:rbp 1.2s infinite}.rb-mic.off{opacity:.5}.rb-send{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}
@media (max-width:767.98px){.rb-fab{bottom:calc(84px + env(safe-area-inset-bottom));right:12px;width:56px;height:56px;border-radius:18px}
  .rb-panel{right:0;left:0;bottom:0;top:0;width:auto;max-width:none;height:auto;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  body.rb-open .rb-fab{display:none}}
@media print{.rb-fab,.rb-panel{display:none!important}}
.rb-conf{border:2px solid #fbbf24;background:#fffbeb}.rb-conf small{display:block;color:#92400e;font-weight:800}.rb-conf>b{display:block;font-size:14px;margin:2px 0 6px}
.rb-ct{max-height:220px;overflow-y:auto;border-top:1px dashed #fcd34d}.rb-ct div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px dashed #fde68a;font-size:13px}.rb-ct strong{white-space:nowrap}
.rb-tot{display:flex;justify-content:space-between;padding:6px 0;font-size:15px}.rb-tot strong{color:#047857;font-size:17px}.rb-conf em{display:block;font-style:normal;font-size:12px;color:#78350f;margin-bottom:6px}
.rb-yn{display:flex;gap:8px}.rb-yn button{flex:1;border:0;border-radius:11px;padding:10px;font-weight:800;font-size:14px}.rb-yes{background:linear-gradient(120deg,#059669,#10b981);color:#fff}.rb-no{background:#fff;border:1.5px solid #e2e8f0!important;color:#475569}
.rb-conf.ok{border-color:#86efac;background:#f0fdf4}.rb-conf.bad{border-color:#fecaca;background:#fef2f2}.rb-yn button:disabled{opacity:.75}
.rb-att{background:#eef2ff!important;color:#4338ca!important}
.rb-filechip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 10px;padding:7px 10px;border-radius:12px;background:#ecfdf5;border:1px solid #a7f3d0;font-size:13px;font-weight:600;color:#065f46}
.rb-filechip[hidden]{display:none}.rb-filechip span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rb-filechip button{border:0;background:none;color:#065f46;font-size:18px;line-height:1;padding:0}
.rb-filechip small{flex-basis:100%;font-weight:500;color:#047857;font-size:11.5px}
/* v3.62: friendlier robot — floating, blinking, looking around, waving; moods: think / talk / happy / sad */
.rb-bot{overflow:visible}
.rb-bot .rb-float{animation:rbFloat 3.4s ease-in-out infinite;transform-box:view-box}
.rb-bot .rb-shadow{animation:rbShadow 3.4s ease-in-out infinite;transform-origin:70px 132px}
@keyframes rbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes rbShadow{0%,100%{transform:scaleX(1);opacity:.22}50%{transform:scaleX(.82);opacity:.14}}
.rb-bot .rb-eyes{animation:rbLook 7s ease-in-out infinite}
@keyframes rbLook{0%,40%,100%{transform:translateX(0)}48%,58%{transform:translateX(-4px)}66%,76%{transform:translateX(4px)}}
.rb-bot .rb-eye{animation:rbBlink 4.2s infinite;transform-origin:center;transform-box:fill-box}
@keyframes rbBlink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.12)}}
.rb-bot .rb-joy{opacity:0;transition:opacity .2s}
.rb-bot .rb-halo{animation:rbHalo 2.2s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
@keyframes rbHalo{0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
.rb-bot .rb-core{animation:rbBeat 1.6s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
@keyframes rbBeat{0%,60%,100%{transform:scale(1)}30%{transform:scale(1.18)}}
.rb-bot .rb-wave{transform-origin:100px 102px}
.rb-fab:hover .rb-wave,.rb-fab.wave .rb-wave,.rb-hello .rb-wave{animation:rbWave 1.1s ease-in-out 3}
@keyframes rbWave{0%,100%{transform:rotate(0)}25%{transform:rotate(-18deg)}75%{transform:rotate(12deg)}}
.rb-bot .rb-mouth{transform-origin:center;transform-box:fill-box;transition:transform .2s}
/* thinking: eyes dart, bulb flashes amber */
.rb-bot.think .rb-eyes{animation:rbDart .9s ease-in-out infinite}
@keyframes rbDart{0%,100%{transform:translate(-3px,-2px)}50%{transform:translate(3px,-2px)}}
.rb-bot.think .rb-bulb{animation:rbFlash .45s steps(2) infinite}
@keyframes rbFlash{50%{fill:#fb923c}}
.rb-bot.think .rb-mouth{transform:scaleX(.55)}
/* talking */
.rb-bot.talk .rb-mouth{animation:rbTalk .22s ease-in-out infinite alternate}
@keyframes rbTalk{from{transform:scaleY(.5)}to{transform:scaleY(1.9)}}
/* happy */
.rb-bot.happy .rb-eye{opacity:0}.rb-bot.happy .rb-joy{opacity:1}
.rb-bot.happy .rb-float{animation:rbHop .5s ease-in-out 3}
@keyframes rbHop{50%{transform:translateY(-10px)}}
.rb-bot.happy .rb-mouth{transform:scale(1.35,1.6)}
/* sorry */
.rb-bot.sad .rb-eye{transform:scaleY(.55)}.rb-bot.sad .rb-mouth{transform:scaleY(-1)}.rb-bot.sad .rb-bulb{fill:#94a3b8}
/* the floating button */
.rb-fab{width:76px!important;height:76px!important;border-radius:50%!important;padding:4px!important;background:radial-gradient(circle at 50% 40%,#ffffff,#eef2ff 70%)!important;
  box-shadow:0 18px 34px -14px rgba(124,58,237,.7),0 0 0 0 rgba(168,85,247,.5)!important;overflow:visible}
.rb-fab:hover{transform:translateY(-3px) scale(1.05)!important}
.rb-ring{position:absolute;inset:-4px;border-radius:50%;padding:3px;background:conic-gradient(from 0deg,#6366f1,#a855f7,#ec4899,#f59e0b,#6366f1);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rbSpin 6s linear infinite;pointer-events:none}
@keyframes rbSpin{to{transform:rotate(360deg)}}
.rb-fab .rb-bot{position:relative;width:100%;height:100%;margin-top:-2px}
.rb-fab .rb-ping{top:6px;right:6px}
.rb-tip{position:fixed;right:104px;bottom:34px;z-index:1051;max-width:230px;padding:10px 30px 10px 14px;border-radius:16px 16px 4px 16px;background:#fff;color:#1e1b4b;font-size:13.5px;line-height:1.35;
  box-shadow:0 18px 36px -14px rgba(79,70,229,.55),0 0 0 1px #e0e7ff;cursor:pointer;animation:rbPop .45s cubic-bezier(.34,1.56,.64,1)}
.rb-tip[hidden]{display:none}.rb-tip b{display:block;color:#6d28d9}
.rb-tip button{position:absolute;top:4px;right:6px;border:0;background:none;color:#94a3b8;font-size:18px;line-height:1}
@keyframes rbPop{from{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:none}}
/* panel header */
.rb-hd{background:radial-gradient(120% 140% at 0% 0%,#818cf8 0%,transparent 55%),radial-gradient(120% 140% at 100% 0%,#f472b6 0%,transparent 55%),linear-gradient(125deg,#4338ca,#7c3aed 55%,#be185d)!important;padding:12px 12px 12px 12px!important}
.rb-av{width:52px!important;height:52px!important;border-radius:50%!important;padding:2px!important;background:radial-gradient(circle at 50% 40%,#fff,#e0e7ff)!important;box-shadow:0 0 0 3px rgba(255,255,255,.35),0 8px 18px -6px rgba(0,0,0,.35)}
.rb-ic{border-radius:50%!important;background:rgba(255,255,255,.16)!important;backdrop-filter:blur(4px)}
.rb-ic:hover{background:rgba(255,255,255,.3)!important}
.rb-panel{border-radius:26px!important;background:linear-gradient(180deg,#f5f3ff 0%,#f8fafc 30%)!important}
.rb-hello{display:flex;justify-content:center;margin:2px 0 -6px}.rb-hello .rb-bot{width:96px;height:96px}
.rb-msg.bot .rb-bub{box-shadow:0 6px 16px -12px rgba(79,70,229,.6)}
.rb-msg.me .rb-bub{background:linear-gradient(120deg,#6366f1,#a855f7 60%,#ec4899)!important}
.rb-chips button{border-radius:999px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,#818cf8,#f472b6) border-box!important;border:1.5px solid transparent!important}
.rb-send{border-radius:50%!important;background:linear-gradient(135deg,#6366f1,#a855f7,#ec4899)!important;box-shadow:0 8px 18px -8px rgba(168,85,247,.8)}
.rb-mic,.rb-att{border-radius:50%!important}
@media (max-width:767.98px){.rb-fab{width:62px!important;height:62px!important}.rb-tip{right:84px;bottom:calc(98px + env(safe-area-inset-bottom))}.rb-panel{border-radius:0!important}}
@media (prefers-reduced-motion:reduce){.rb-bot *,.rb-ring{animation:none!important}}
.rb-fab .rb-bot{transform:scale(1.12) translateY(2px)}
/* v3.63: CCTV */
.cc-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:0 0 12px;padding:12px 14px;border-radius:18px;background:linear-gradient(125deg,#0f172a,#1e293b 60%,#334155);color:#fff}
.cc-tt{display:flex;gap:10px;align-items:center}.cc-tt>i{font-size:26px;color:#f87171}.cc-tt b{display:block;font-size:17px;color:#fff}.cc-tt small{color:#cbd5e1}
.cc-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cc-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.cc-grid[data-n="1"]{grid-template-columns:1fr}.cc-grid[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-grid[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.cc-grid[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.cc-tile{border-radius:16px;overflow:hidden;background:#0b1220;box-shadow:0 14px 30px -20px rgba(15,23,42,.8)}.cc-tile[hidden]{display:none}
.cc-screen{position:relative;aspect-ratio:16/9;background:#020617;display:flex;align-items:center;justify-content:center}
.cc-media{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border:0;background:#000}
.cc-screen:fullscreen .cc-media{object-fit:contain}
.cc-wait{color:#94a3b8;font-size:13px}.cc-err{position:absolute;inset:auto 10px 10px 10px;padding:8px 10px;border-radius:10px;background:rgba(127,29,29,.9);color:#fff;font-size:12.5px;z-index:2}.cc-err[hidden]{display:none}
.cc-live,.cc-rec{position:absolute;top:8px;z-index:2;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;color:#fff;background:rgba(0,0,0,.55);display:flex;gap:5px;align-items:center}
.cc-live{left:8px}.cc-live i,.cc-rec i{width:7px;height:7px;border-radius:50%;background:#22c55e}.cc-rec{right:8px;background:#dc2626}.cc-rec i{background:#fff;animation:rbp 1s infinite}.cc-rec[hidden]{display:none}
.cc-foot{display:flex;gap:6px;align-items:center;padding:8px 10px;background:#0f172a;color:#e2e8f0}
.cc-nm{flex:1;min-width:0}.cc-nm b{display:block;font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-nm small{display:block;color:#94a3b8;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-b{width:36px;height:36px;border-radius:50%;border:0;background:#1e293b;color:#e2e8f0;flex:none}.cc-b:hover{background:#334155}.cc-b.red{color:#f87171}.cc-b.red.on{background:#dc2626;color:#fff;animation:rbp 1.2s infinite}
.cc-tile.cc-big{position:fixed;inset:0;z-index:2000;border-radius:0}.cc-tile.cc-big .cc-screen{height:calc(100% - 54px);aspect-ratio:auto}
.cc-secs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;max-height:220px;overflow-y:auto}.cc-secs label{margin:0;cursor:pointer}.cc-secs input{position:absolute;opacity:0}
.cc-secs span{display:block;padding:7px 9px;border-radius:10px;border:2px solid #e5e7eb}.cc-secs b{display:block;font-size:13px}.cc-secs small{color:#64748b;font-size:11px}.cc-secs input:checked+span{border-color:#4f46e5;background:#eef2ff}
.cc-guide ol{padding-left:18px}.cc-guide li{margin-bottom:6px}.cc-guide code{font-size:12px;word-break:break-all}
.cc-clips{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.cc-clip{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:var(--skx-card,#fff)}.cc-clip video{width:100%;aspect-ratio:16/9;background:#000;display:block}
@media (max-width:767.98px){.cc-grid,.cc-grid[data-n]{grid-template-columns:1fr}.cc-grid[data-n="2"],.cc-grid[data-n="3"],.cc-grid[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-grid[data-n="2"] .cc-b,.cc-grid[data-n="3"] .cc-b,.cc-grid[data-n="4"] .cc-b{width:30px;height:30px}}
.rb-fab{touch-action:none;user-select:none;-webkit-user-select:none}
.rb-fab.dragging{cursor:grabbing;transform:scale(1.12)!important;transition:none!important;box-shadow:0 26px 44px -14px rgba(124,58,237,.8)!important}
.rb-fab.dragging .rb-wave{animation:rbWave .6s ease-in-out infinite}
.rb-note{font-size:12px;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:6px 9px}
.rb-sug{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}.rb-sug small{flex-basis:100%;color:#64748b;font-weight:700;font-size:12px}
.rb-sug button{border:1.5px solid #c7d2fe;background:#fff;color:#4338ca;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;text-align:left}.rb-sug button:hover{background:#eef2ff}
/* v3.65: phone — table totals show what each number is, and nothing hides behind the robot */
@media (max-width:767.98px){
  table.mcards>tfoot>tr{display:grid!important;grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:4px}
  table.mcards>tfoot>tr>td.mc-ft,table.mcards>tfoot>tr>th.mc-ft{grid-column:1/-1;font-size:14.5px;padding-bottom:4px!important;border-bottom:1px solid rgba(255,255,255,.18)!important}
  table.mcards>tfoot>tr>td[data-l]:before,table.mcards>tfoot>tr>th[data-l]:before{content:attr(data-l);display:block;font-size:10.5px;font-weight:600;opacity:.75;margin-bottom:1px;letter-spacing:.02em}
  table.mcards>tfoot>tr>td:not(.mc-ft):not([data-l]){display:none}
  table.mcards>tfoot>tr>td,table.mcards>tfoot>tr>th{text-align:left!important}
  .skx-content{padding-bottom:96px!important}
}
.skx-content input[type=file]{max-width:100%!important;min-width:0}
@media (max-width:767.98px){body .cr-b{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.cr-f{min-width:0}.cr-f .form-control,.cr-f .form-select{min-width:0;width:100%;padding-left:10px;padding-right:8px}}
/* v3.65: the robot can really be dragged with a finger (an older button rule was letting the page scroll instead) */
body.skx-ui .rb-fab,.rb-fab{touch-action:none!important}
@media (min-width:768px){.rb-panel .rb-hd{cursor:grab;touch-action:none}.rb-panel .rb-hd.dragging{cursor:grabbing}.rb-panel .rb-hd button{cursor:pointer}}
/* v3.66: privacy notice */
.pv-points{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:10px}
.pv-points li{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid #eef0f6;border-radius:14px;background:#fff}
.pv-points li>i{font-size:20px;color:#4f46e5;flex:0 0 auto;margin-top:2px}.pv-points b{display:block;font-size:14px}.pv-points span{font-size:13.5px;color:#475569}
.pv-choice{padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}
.pv-req{padding:12px 0;border-bottom:1px dashed #e2e8f0}.pv-req:last-child{border-bottom:0}
.pv-reply{margin-top:6px;padding:8px 10px;border-radius:10px;background:#f0fdf4;color:#14532d}
.hl-list{display:grid;gap:10px}.hl-row{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid #eef0f6;border-radius:14px;background:#fff}
.hl-row>i{font-size:22px;flex:0 0 auto}.hl-tag{font-size:11px;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);border-radius:20px;padding:1px 8px;margin-left:4px}
@media (max-width:575.98px){.hl-row{flex-wrap:wrap}.hl-row .btn{margin-left:34px}}
/* v3.66: holistic progress card */
.hp-lv{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;font-size:11px;font-weight:800;color:#fff;border:0}
.hp-lv.l1{background:#f97316}.hp-lv.l2{background:#eab308}.hp-lv.l3{background:#22c55e}.hp-lv.l4{background:#2563eb}
.hp-seg{display:inline-flex;gap:3px}.hp-seg input{position:absolute;opacity:0;width:0;height:0}.hp-seg .hp-lv{opacity:.28;cursor:pointer;transition:transform .1s}
.hp-seg input:checked+.hp-lv{opacity:1;transform:scale(1.12);box-shadow:0 0 0 2px #fff,0 0 0 4px currentColor}.hp-seg input:focus-visible+.hp-lv{outline:2px solid #4f46e5}
.hp-all{display:flex;gap:2px;margin-top:4px}.hp-all .hp-lv{width:20px;height:20px;font-size:10px;opacity:.75;cursor:pointer}
.hp-sub{display:flex;gap:6px;align-items:center;margin-top:4px}.hp-sub .form-select{max-width:120px;font-size:12px;padding-top:2px;padding-bottom:2px}.hp-self{font-size:12px;white-space:nowrap}
.hp-grid th{min-width:150px;font-size:12px;font-weight:600;white-space:normal}.hp-grid td{min-width:150px}.hp-pct{font-size:10px;background:#fee2e2;color:#991b1b;border-radius:10px;padding:0 6px;margin-left:4px}.hp-pct.ok{background:#dcfce7;color:#166534}
.hp-save{position:sticky;bottom:0;padding:10px 0;background:linear-gradient(transparent,#fff 30%);z-index:3}
.hp-dom{border:1px solid #eef0f6;border-radius:14px;padding:10px 12px;margin-bottom:10px}.hp-q{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed #e2e8f0;flex-wrap:wrap}.hp-q:last-child{border-bottom:0}
.hp-faces{display:flex;gap:6px}.hp-faces input{position:absolute;opacity:0}.hp-faces span{font-size:26px;filter:grayscale(1);opacity:.45;cursor:pointer;display:inline-block;transition:transform .12s}.hp-faces input:checked+span{filter:none;opacity:1;transform:scale(1.2)}
.hp-map{display:grid;grid-template-columns:1fr 1fr;gap:6px}.hp-map div{display:flex;gap:6px;align-items:center}.hp-map span{font-size:12px;min-width:60px}
.hp-set{border:1px solid #eef0f6;border-radius:12px;padding:10px;margin-bottom:8px}
/* v3.66: early warning */
.ew-list{display:grid;gap:10px}.ew-row{display:grid;grid-template-columns:minmax(180px,1.1fr) 2fr auto;gap:10px;align-items:center;padding:12px 14px;border:1px solid #eef0f6;border-left:4px solid #f97316;border-radius:14px;background:#fff}
.ew-who small{display:block;color:#64748b;font-size:12px}.ew-sig{display:flex;flex-wrap:wrap;gap:6px}.ew-sig span{font-size:12px;font-weight:600;color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);border-radius:20px;padding:3px 10px}
.ew-act{display:flex;gap:6px}@media (max-width:767.98px){.ew-row{grid-template-columns:1fr}.ew-act{justify-content:flex-end}}
/* v3.66: getting started */
.gs-bar{height:10px;border-radius:10px;background:#eef2ff;overflow:hidden}.gs-bar span{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#22c55e);border-radius:10px}
.gs-list{display:grid;gap:8px;margin-top:10px}.gs-row{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid #eef0f6;border-radius:14px;background:#fff}
.gs-row.ok{background:#f0fdf4;border-color:#bbf7d0}.gs-n{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef2ff;color:#4338ca;font-weight:800;flex:0 0 auto}.gs-row.ok .gs-n{background:#22c55e;color:#fff}
.gs-card{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#eef2ff,#fdf4ff);border:1px solid #e0e7ff;margin-bottom:16px}
.gs-card .gs-bar{flex:1 1 160px}
@media (max-width:575.98px){.gs-row{flex-wrap:wrap}.gs-row .btn{margin-left:42px}}
@media (max-width:767.98px){table.mcards.hp-grid>tbody>tr>td{grid-column:1/-1}.hp-sub .form-select{max-width:170px}}
