:root{
  --bg:#f4f7fb;--panel:#ffffff;--panel-soft:#f8fafc;--text:#14213d;--muted:#738198;--line:#e7edf5;
  --nav:#08111f;--nav-2:#0d1a2d;--primary:#2457ff;--primary-dark:#1744d8;--accent:#7257ff;
  --success:#12a66a;--success-bg:#eaf8f1;--danger:#e3435b;--danger-bg:#fff0f2;--warning:#e49b18;--warning-bg:#fff7e7;
  --info:#3974ec;--info-bg:#edf4ff;--leave:#3974ec;--late:#e49b18;--radius:18px;--shadow:0 18px 50px rgba(30,52,84,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%}
h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em}p{line-height:1.65;color:var(--muted)}small{color:var(--muted)}

/* Shell */
.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:278px;background:linear-gradient(180deg,var(--nav),#07101d 70%,#050a12);color:#aebbd0;padding:20px 16px;overflow:auto;border-right:1px solid rgba(255,255,255,.05)}
.brand-row{display:flex;align-items:center;gap:8px}.brand{display:flex;align-items:center;gap:12px;flex:1;padding:5px 6px 20px;color:#fff}.brand-logo{width:44px;height:44px;border-radius:14px;object-fit:contain;box-shadow:0 8px 26px rgba(67,82,255,.28)}.brand strong{display:block;font-size:14px;letter-spacing:.075em}.brand small{display:block;color:#7788a4;font-size:11px;margin-top:3px}.sidebar-close{display:none;border:0;background:transparent;color:#fff;padding:8px;border-radius:10px}.sidebar-label{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#52647f;padding:10px 12px 7px}.sidebar-nav{display:grid;gap:5px}.sidebar-nav a,.logout-link{display:flex;align-items:center;gap:12px;border-radius:12px;padding:11px 12px;font-size:13px;font-weight:650;transition:.18s ease}.sidebar-nav a:hover,.sidebar-nav a.active{color:#fff;background:linear-gradient(90deg,rgba(57,91,255,.24),rgba(94,68,255,.10));box-shadow:inset 3px 0 0 #4f6fff}.nav-svg{width:19px;height:19px;flex:none}.sidebar-bottom{margin-top:26px;padding-top:16px;border-top:1px solid rgba(255,255,255,.07)}.logout-link{color:#ff9cad}.logout-link:hover{background:rgba(227,67,91,.11);color:#fff}.admin-mini-card{display:flex;gap:10px;align-items:center;padding:10px;margin-bottom:7px}.mini-admin-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(80,103,255,.15);color:#cdd5ff}.admin-mini-card b,.admin-mini-card small{display:block}.admin-mini-card b{color:#fff;font-size:12px}.admin-mini-card small{font-size:10px;margin-top:3px;color:#7485a0}.student-sidebar-card{display:flex;align-items:center;gap:10px;margin:0 4px 16px;padding:12px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.06);border-radius:15px}.student-sidebar-card img{width:42px;height:42px;border-radius:13px;object-fit:cover;background:#fff}.student-sidebar-card b,.student-sidebar-card small{display:block}.student-sidebar-card b{font-size:12px;color:#fff}.student-sidebar-card small{font-size:10px;margin-top:4px;color:#8494af}.sidebar-backdrop{display:none}
.main{margin-left:278px;min-height:100vh;width:calc(100% - 278px);padding:24px 30px 52px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:12px}.page-kicker,.eyebrow{display:block;color:#6577d8;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.topbar h1{font-size:27px;margin:3px 0 0}.sidebar-toggle{display:none;border:1px solid var(--line);background:#fff;color:var(--text);width:42px;height:42px;border-radius:12px;place-items:center}.top-action{width:40px;height:40px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:#51617b}.chip-svg{width:18px;height:18px}.user-chip{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:7px 11px 7px 7px;box-shadow:0 8px 28px rgba(30,52,84,.04)}.user-chip b,.user-chip small{display:block}.user-chip b{font-size:12px}.user-chip small{font-size:10px;margin-top:3px}.user-avatar,.user-avatar-img{width:39px;height:39px;border-radius:12px;object-fit:cover}.user-avatar{display:grid;place-items:center;background:linear-gradient(135deg,#eef2ff,#e7ecff);color:#4f5bd6}

/* Shared cards / layout */
.hero-panel{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:30px 32px;margin-bottom:22px;border-radius:24px;color:#fff;background:linear-gradient(120deg,#17265d,#2d46c2 52%,#704ae9);box-shadow:0 22px 55px rgba(44,65,166,.18)}.hero-panel:before,.hero-panel:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.055)}.hero-panel:before{width:260px;height:260px;right:-70px;top:-120px}.hero-panel:after{width:150px;height:150px;right:120px;bottom:-100px}.student-hero{background:linear-gradient(120deg,#084f47,#087c71 52%,#5547cf)}.hero-panel>*,.course-detail-hero>*{position:relative;z-index:1}.hero-panel h2{font-size:31px;max-width:720px;margin:6px 0 8px}.hero-panel p{margin:0;color:#dbe3ff;max-width:760px}.student-hero p{color:#d2f2ed}.big-score{text-align:center;min-width:120px}.big-score strong{display:block;font-size:39px}.big-score span{font-size:11px;color:#d7fff8}.hero-student-wrap{display:flex;align-items:center;gap:18px}.hero-student-photo{width:78px;height:78px;border-radius:22px;object-fit:cover;border:3px solid rgba(255,255,255,.30);background:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.stat-card,.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 34px rgba(30,52,84,.045)}.stat-card{position:relative;overflow:hidden;padding:19px 20px}.stat-card:after{content:"";position:absolute;width:5px;height:40px;border-radius:5px;right:0;top:20px;background:linear-gradient(#355eff,#7257ff)}.stat-card small{display:block;font-weight:700;color:#75839a}.stat-card strong{display:block;font-size:29px;margin:7px 0 5px}.stat-card span{font-size:11px;color:#96a0b0}.stat-card .small-stat{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card{padding:21px;margin-bottom:18px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:15px}.card-head h3,.card h3{font-size:18px;margin-bottom:0}.card-head p{font-size:12px;margin:4px 0 0}.card-head>a,.text-link{font-size:12px;font-weight:800;color:var(--primary)}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.align-start{align-items:start}.grow{flex:1;min-width:0}.muted{color:var(--muted);font-size:12px}.notice-soft{margin-top:14px;padding:12px 13px;background:#f7f9ff;border:1px solid #e8ecfb;border-radius:12px;color:#68758d;font-size:12px}.empty{padding:28px 12px;text-align:center;color:#8c98aa;font-size:13px}.empty-course-state{text-align:center;padding:44px 28px}.empty-course-state h3{margin-top:14px}.empty-course-state p{max-width:480px;margin:8px auto 0}.alert{padding:12px 14px;border-radius:13px;margin-bottom:18px;font-size:13px;transition:.25s}.alert.success{background:var(--success-bg);color:#09744b;border:1px solid #d2f0e2}.alert.danger{background:var(--danger-bg);color:#b42d43;border:1px solid #ffd7dd}

/* Forms */
label{display:block;margin-bottom:6px;color:#536076;font-size:11px;font-weight:800}input,select,textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid #dde4ee;border-radius:11px;background:#fff;color:var(--text);outline:none;transition:.16s}textarea{min-height:auto;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#7186ff;box-shadow:0 0 0 3px rgba(53,88,255,.09)}input[type=file]{padding:8px;background:#fafbfe}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:15px}.span-2{grid-column:span 2}.stack{display:grid;gap:11px;margin-top:15px}.stack.compact{margin-top:16px}.btn{appearance:none;border:0;border-radius:11px;min-height:42px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:12px;cursor:pointer;transition:.17s}.btn:hover{transform:translateY(-1px)}.btn.primary{color:#fff;background:linear-gradient(135deg,var(--primary),#644de8);box-shadow:0 10px 24px rgba(36,87,255,.22)}.btn.light{background:#fff;color:#1d3ba8;box-shadow:0 8px 26px rgba(15,22,60,.10)}.btn.full{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.mini-btn{border:1px solid #dfe5ee;background:#fff;color:#536078;border-radius:9px;padding:7px 10px;font-weight:800;font-size:10px;cursor:pointer}.mini-btn:hover{background:#f8faff}.mini-btn.danger{color:var(--danger);border-color:#ffd8df;background:#fff7f8}.field-help{display:block;font-size:10px;margin-top:5px}.photo-upload-box{display:flex;align-items:center;gap:14px;padding:12px;border:1px dashed #ccd6e6;border-radius:14px;background:#fafcff}.photo-upload-preview{width:72px;height:72px;border-radius:18px;display:grid;place-items:center;background:#eef2ff;color:#6574d7;overflow:hidden;flex:none}.photo-upload-preview img{width:100%;height:100%;object-fit:cover}.photo-placeholder-icon{width:30px;height:30px}.logo-upload-preview{width:70px;height:70px;border:1px solid var(--line);border-radius:17px;background:#fff;padding:8px;object-fit:contain}

/* Lists / tables */
.table-wrap{overflow:auto;border-radius:12px}table{width:100%;border-collapse:collapse;min-width:620px}th,td{padding:12px 10px;text-align:left;border-bottom:1px solid #edf1f6;font-size:12px;vertical-align:middle}th{background:#fafbfd;color:#7c899d;font-size:9px;letter-spacing:.09em;text-transform:uppercase;font-weight:850}td b,td small{display:block}td small{font-size:10px;margin-top:3px}.list-item,.student-row,.progress-item,.topic-admin-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f6}.list-item:last-child,.student-row:last-child,.progress-item:last-child,.topic-admin-row:last-child{border-bottom:0}.list-item b,.student-row b,.progress-item b{font-size:12px}.list-item p,.student-row small,.progress-item small{font-size:10px;margin:3px 0 0}.student-scroll{max-height:660px;overflow:auto;padding-right:3px}.student-thumb{width:43px;height:43px;object-fit:cover;border-radius:12px;background:#f2f5fa;border:1px solid var(--line)}.badge{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.02em}.badge.success{background:var(--success-bg);color:#0c8659}.badge.danger{background:var(--danger-bg);color:#c1334b}.badge.warning{background:var(--warning-bg);color:#aa7411}.badge.info{background:var(--info-bg);color:#3264cc}.date-box{width:48px;height:50px;border-radius:12px;display:grid;place-items:center;padding:5px;background:#eef3ff;color:#335fd3}.date-box b{font-size:17px;line-height:1}.date-box small{font-size:9px;text-transform:uppercase}.date-box.large{width:72px;height:76px}.date-box.large b{font-size:26px}.icon-box{width:40px;height:40px;border-radius:12px;background:#f1edff;color:#6a4bdc;display:grid;place-items:center}.section-title-with-logo{display:flex;align-items:center;gap:13px;margin-bottom:16px}.section-title-with-logo h3{margin-bottom:3px}.section-title-with-logo p{font-size:11px;margin:0}.feature-logo{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#eef3ff,#f2edff);color:#4c5bd3;flex:none}.feature-logo.large{width:62px;height:62px;margin:auto}.feature-svg{width:23px;height:23px}

/* Logos & course visuals */
.subject-logo-img{display:block;width:100%;height:100%;object-fit:contain}.subject-logo-tile,.subject-logo-large,.course-logo,.mini-course-logo,.course-cover-logo,.course-detail-logo{display:grid;place-items:center;background:#fff;border:1px solid var(--line);overflow:hidden}.subject-logo-tile{width:46px;height:46px;padding:7px;border-radius:13px;flex:none}.subject-logo-tile.small{width:38px;height:38px;padding:6px;border-radius:11px}.subject-logo-large{width:72px;height:72px;padding:8px;border-radius:18px;flex:none}.subject-logo-large.compact{width:58px;height:58px;border-radius:15px}.subject-logo-img.large{object-fit:contain}.course-logo,.mini-course-logo{width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#eef3ff,#f0ebff);color:#4c5bd3}.mini-course-logo{width:42px;height:42px}.course-logo-svg,.course-cover-svg,.course-detail-svg{width:24px;height:24px}.course-admin-grid,.subject-grid-admin,.subject-showcase-grid,.student-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.course-admin-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:linear-gradient(180deg,#fff,#fbfcff)}.course-card-top{display:flex;gap:11px;align-items:flex-start}.course-card-top h3{font-size:15px;margin:5px 0 2px}.course-card-top p{font-size:10px;margin:0}.course-mini-stats{display:flex;gap:10px;margin:13px 0}.course-mini-stats span{flex:1;background:#f7f9fc;border-radius:10px;padding:9px;color:#7b879a;font-size:9px}.course-mini-stats b{display:block;color:var(--text);font-size:15px}.subject-admin-card{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:15px;padding:12px;background:#fff}.subject-admin-card b,.subject-admin-card small{display:block}.subject-admin-card b{font-size:12px}.subject-admin-card small{font-size:9px;margin-top:3px}.student-course-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 32px rgba(32,52,84,.045);transition:.18s}.student-course-card:hover{transform:translateY(-3px);box-shadow:0 17px 42px rgba(32,52,84,.10)}.course-cover{height:110px;position:relative;padding:18px;background:linear-gradient(125deg,#15275e,#3451d5 55%,#6d4ce2)}.course-cover:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.08);right:-35px;top:-50px}.course-cover-logo{width:52px;height:52px;border:0;border-radius:15px;background:rgba(255,255,255,.14);color:#fff}.course-code{position:absolute;right:15px;bottom:13px;color:#fff;background:rgba(4,11,34,.24);border:1px solid rgba(255,255,255,.12);padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800}.course-body{padding:17px}.course-body h3{font-size:17px;margin:6px 0}.course-body p{font-size:11px;min-height:52px}.course-card-meta{display:flex;gap:9px;margin:14px 0}.course-card-meta span{flex:1;background:#f7f9fc;border-radius:10px;padding:9px;font-size:9px;color:#7e8a9d}.course-card-meta b{display:block;font-size:14px;color:var(--text)}.open-course{display:flex;justify-content:space-between;align-items:center;color:var(--primary);font-size:11px;font-weight:850}.tiny-svg{width:16px;height:16px}.course-detail-hero{display:flex;align-items:center;gap:16px;padding:23px 25px;margin-bottom:18px;border-radius:22px;background:linear-gradient(125deg,#16255a,#344fc9 55%,#6b49e0);color:#fff}.course-detail-hero p{color:#dce4ff;margin:5px 0 0}.course-detail-hero h2{font-size:27px;margin:5px 0}.course-detail-logo{width:64px;height:64px;border:0;border-radius:18px;background:rgba(255,255,255,.12);color:#fff}.subject-showcase-card{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#fbfcff)}.subject-showcase-card h3{font-size:14px;margin:4px 0}.subject-showcase-card p{font-size:10px;margin:0}.dashboard-course-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-course-mini{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:15px;padding:13px;background:#fff;transition:.17s}.dashboard-course-mini:hover{border-color:#cfd8ff;background:#fafbff}.dashboard-course-mini b,.dashboard-course-mini small{display:block}.dashboard-course-mini b{font-size:12px;margin:4px 0}.dashboard-course-mini small{font-size:9px}.open-arrow{color:var(--primary);font-weight:900}.course-topic{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid #edf1f6}.course-topic:last-child{border-bottom:0}.course-topic b,.course-topic small{display:block}.course-topic b{font-size:12px}.course-topic small{font-size:9px;margin-top:4px}.course-topic p{font-size:11px;margin:6px 0}.schedule-grid,.exam-card-grid{display:grid;gap:10px}.schedule-slot,.exam-card{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff}.schedule-day{width:72px;font-size:9px;font-weight:850;color:#4f65c5;text-transform:uppercase}.schedule-slot b,.schedule-slot small{display:block}.schedule-slot b{font-size:12px}.schedule-slot small{font-size:9px;margin-top:3px}.exam-date{width:52px;height:54px;border-radius:12px;background:#eef3ff;color:#335fd3;display:grid;place-items:center;padding:5px;flex:none}.exam-date b{font-size:19px;line-height:1}.exam-date span{font-size:8px;text-transform:uppercase}.exam-date.big{width:76px;height:78px}.exam-date.big b{font-size:26px}

/* Timetable */
.weekly-timetable{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));gap:10px;overflow:auto;padding-bottom:4px}.day-column{border:1px solid var(--line);border-radius:15px;background:#fbfcfe;min-height:180px;padding:10px}.day-column-head{display:flex;justify-content:space-between;align-items:center;padding:2px 3px 9px}.day-column-head b{font-size:11px}.day-column-head span{font-size:8px;color:#8d98aa}.time-class-card{display:flex;gap:8px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:8px}.time-class-card b,.time-class-card small,.time-class-card span{display:block}.time-class-card b{font-size:10px}.time-class-card small,.time-class-card span{font-size:8px;margin-top:3px;color:#7e8a9d}.no-class{text-align:center;color:#a3acb9;font-size:9px;padding:25px 0}.exam-list-premium{display:grid;gap:11px}.exam-row-premium{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:15px}.exam-row-premium h3{font-size:14px;margin:5px 0}.exam-row-premium p{font-size:10px;margin:0}.exam-meta-right{text-align:right}.exam-meta-right b,.exam-meta-right span{display:block}.exam-meta-right b{font-size:12px}.exam-meta-right span{font-size:9px;color:#7b879a;margin-top:3px}

/* Attendance */
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.calendar-toolbar h3{font-size:20px;margin:4px 0 0}.calendar-nav{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;color:#536078;font-weight:900}.attendance-legend{display:flex;gap:13px;flex-wrap:wrap;margin-bottom:13px;font-size:9px;color:#758196}.attendance-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:8px;height:8px;border-radius:50%;background:#d8dee8}.legend-dot.present{background:var(--success)}.legend-dot.absent{background:var(--danger)}.legend-dot.late{background:var(--warning)}.legend-dot.leave{background:var(--leave)}.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-weekday{text-align:center;padding:7px;color:#7b8799;font-size:9px;font-weight:850;text-transform:uppercase}.calendar-day{min-height:96px;border:1px solid var(--line);border-radius:13px;padding:9px;background:#fbfcfe;position:relative}.calendar-day.blank{background:transparent;border-style:dashed;opacity:.35}.calendar-day.present{background:linear-gradient(180deg,#f1fbf6,#e9f8f1);border-color:#bfe9d7}.calendar-day.absent{background:linear-gradient(180deg,#fff5f6,#ffedef);border-color:#ffcbd3}.calendar-day.late{background:#fff8e9;border-color:#f5ddb2}.calendar-day.leave{background:#eef5ff;border-color:#cfe0fb}.day-number{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#fff;border:1px solid rgba(0,0,0,.05);font-weight:850;font-size:11px}.day-status{margin-top:8px;font-size:9px;font-weight:850}.calendar-day.present .day-status{color:#0c8659}.calendar-day.absent .day-status{color:#c1334b}.calendar-day.late .day-status{color:#aa7411}.calendar-day.leave .day-status{color:#3264cc}.calendar-day small{display:block;font-size:8px;margin-top:4px}.calendar-schedule{margin-top:6px;padding-top:6px;border-top:1px dashed rgba(91,106,128,.20);font-size:8px;color:#64728a;line-height:1.35}.calendar-note{margin-top:13px;padding:10px 12px;border-radius:11px;background:#f7f9fc;color:#6c788c;font-size:10px}.mini-attendance-strip{display:flex;gap:8px;flex-wrap:wrap}.mini-att-day{width:64px;min-height:66px;border:1px solid var(--line);border-radius:12px;padding:8px;text-align:center;background:#fbfcfe}.mini-att-day b,.mini-att-day span,.mini-att-day small{display:block}.mini-att-day b{font-size:16px}.mini-att-day span,.mini-att-day small{font-size:8px;margin-top:3px}.mini-att-day.present{background:var(--success-bg);border-color:#c8eddc}.mini-att-day.absent{background:var(--danger-bg);border-color:#ffd0d8}.mini-att-day.late{background:var(--warning-bg);border-color:#f7dfb4}.mini-att-day.leave{background:var(--info-bg);border-color:#d5e3ff}.bulk-attendance-toolbar{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-top:14px}.bulk-attendance-list{display:grid;gap:8px;margin-top:14px}.bulk-attendance-row{display:grid;grid-template-columns:minmax(220px,1fr) 160px minmax(180px,1fr);gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:10px 12px}.bulk-student{display:flex;align-items:center;gap:10px}.bulk-student img{width:38px;height:38px;border-radius:11px;object-fit:cover}.bulk-student b,.bulk-student small{display:block}.bulk-student b{font-size:11px}.bulk-student small{font-size:9px;margin-top:3px}.status-select.present{border-color:#b9e4d0;background:#f1fbf6}.status-select.absent{border-color:#ffc7d0;background:#fff4f6}.status-select.late{border-color:#f2d59e;background:#fff9eb}.status-select.leave{border-color:#ccddfb;background:#f0f6ff}

/* Assignments/results/events */
.assignment-grid,.event-grid,.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.assignment-brand-line,.result-logo-line{display:flex;align-items:center;gap:11px}.assignment-card p{font-size:11px}.assignment-meta{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.assignment-meta span{background:#f7f9fc;border-radius:9px;padding:7px 9px;font-size:9px;color:#718096}.feedback{margin-top:12px;padding:11px;border-left:3px solid var(--primary);border-radius:10px;background:#f5f7ff}.feedback p{font-size:10px;margin:4px 0 0}.submission-list{display:grid;gap:10px}.submission-row{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:14px;padding:13px}.submission-row b,.submission-row small{display:block}.submission-row b{font-size:11px}.submission-row small{font-size:9px;margin-top:4px}.submission-row p{font-size:10px;margin:7px 0}.grade-form{min-width:330px;display:grid;grid-template-columns:90px 1fr auto;gap:8px;align-items:end}.file-link{font-size:10px;color:var(--primary);font-weight:800}.result-card{border:1px solid var(--line);border-radius:15px;padding:15px}.result-card h3{font-size:14px;margin:5px 0}.result-card p{font-size:9px;margin:7px 0 12px}.score-line{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:10px}.score-line strong{font-size:20px}.score-line span{font-size:10px;font-weight:850;color:var(--primary)}.event-card{display:flex;gap:12px}.quiz-premium-list{display:grid;gap:10px}.quiz-premium-row{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid var(--line);border-radius:14px}.quiz-premium-row h3{font-size:14px;margin:5px 0}.quiz-premium-row p{font-size:10px;margin:0}.quiz-score{text-align:right;min-width:110px}.quiz-score small,.quiz-score strong,.quiz-score span{display:block}.quiz-score strong{font-size:15px;margin:4px 0}.quiz-score span{font-size:8px;color:#7a8799}

/* Profile */
.profile-hero{display:flex;align-items:center;gap:17px;padding:22px;margin-bottom:18px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(120deg,#fff,#f6f8ff)}.profile-photo{width:82px;height:82px;border-radius:20px;object-fit:cover;background:#f1f4f9;border:1px solid var(--line)}.profile-hero h2{font-size:27px;margin:4px 0}.profile-hero p{font-size:11px;margin:0}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px}.detail-grid.two-col{grid-template-columns:1fr 1fr}.detail-grid div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.detail-grid small,.detail-grid b{display:block}.detail-grid small{font-size:9px;margin-bottom:5px}.detail-grid b{font-size:11px}.flow-list{display:grid;gap:9px;margin-top:13px}.flow-list div{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:11px}.flow-list span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#edf2ff;color:#3f5fc8;font-weight:900;font-size:10px}.flow-list b{font-size:11px}

/* Login */
.login-body{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 0,rgba(72,85,255,.24),transparent 34%),#07101d}.login-wrap{width:min(1120px,100%);min-height:650px;display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.32)}.login-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:64px;color:#fff;background:linear-gradient(145deg,#10204e,#213a9f 58%,#6942d7)}.login-visual:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-160px;bottom:-170px;border:70px solid rgba(255,255,255,.05)}.visual-badge{font-size:9px;font-weight:850;letter-spacing:.16em;color:#bec9ff;margin-bottom:20px}.login-visual h1{position:relative;z-index:1;font-size:51px;line-height:1.04;margin-bottom:16px}.login-visual p{position:relative;z-index:1;color:#d9e1ff;max-width:540px;font-size:14px}.feature-row{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.feature-row span{padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.08);font-size:9px}.login-card{padding:54px;display:flex;flex-direction:column;justify-content:center}.login-logo-real{width:66px;height:66px;margin-bottom:18px;border-radius:18px;box-shadow:0 10px 26px rgba(56,75,194,.14)}.login-card h2{font-size:29px;margin-bottom:7px}.login-card>p{font-size:12px;margin-bottom:4px}.login-card form{display:grid;gap:8px;margin:18px 0}.login-card .muted{font-size:10px}

/* Responsive */
@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(2,1fr)}.course-admin-grid,.subject-grid-admin,.subject-showcase-grid,.student-course-grid{grid-template-columns:repeat(2,1fr)}.dashboard-course-strip{grid-template-columns:1fr 1fr}.grade-form{min-width:280px;grid-template-columns:85px 1fr}.grade-form .btn{grid-column:span 2}.bulk-attendance-row{grid-template-columns:1fr 150px}.bulk-attendance-row>input{grid-column:span 2}}
@media(max-width:920px){.sidebar{transform:translateX(-101%);transition:.22s ease;box-shadow:20px 0 60px rgba(2,8,18,.28)}body.nav-open .sidebar{transform:translateX(0)}.sidebar-close,.sidebar-toggle{display:grid}.sidebar-backdrop{position:fixed;z-index:35;inset:0;background:rgba(4,10,20,.52);backdrop-filter:blur(2px)}body.nav-open .sidebar-backdrop{display:block}.main{margin-left:0;width:100%;padding:20px 18px 45px}.grid-2,.assignment-grid,.event-grid,.result-grid{grid-template-columns:1fr}.submission-row{display:block}.grade-form{margin-top:12px;min-width:0}.month-calendar{gap:5px}.calendar-day{min-height:86px;padding:7px}.login-wrap{grid-template-columns:1fr;min-height:auto}.login-visual{display:none}.login-card{padding:42px}}
@media(max-width:680px){.main{padding:16px 12px 36px}.topbar{margin-bottom:16px}.topbar h1{font-size:21px}.page-kicker{font-size:8px}.top-action{display:none}.user-chip{padding:5px}.user-chip div{display:none}.hero-panel,.course-detail-hero{padding:21px;border-radius:19px;align-items:flex-start}.hero-panel h2{font-size:23px}.hero-panel p{font-size:11px}.big-score{min-width:72px}.big-score strong{font-size:28px}.hero-student-wrap{align-items:flex-start}.hero-student-photo{width:58px;height:58px;border-radius:16px}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:14px}.stat-card strong{font-size:22px}.card{padding:15px;border-radius:15px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.course-admin-grid,.subject-grid-admin,.subject-showcase-grid,.student-course-grid,.dashboard-course-strip{grid-template-columns:1fr}.course-detail-hero{flex-wrap:wrap}.course-detail-logo{width:52px;height:52px}.course-detail-hero h2{font-size:21px}.course-detail-hero .btn{width:100%}.subject-showcase-card{align-items:flex-start}.month-calendar{gap:3px}.calendar-weekday{font-size:7px;padding:5px 0}.calendar-day{min-height:76px;border-radius:9px;padding:5px}.day-number{width:22px;height:22px;font-size:9px;border-radius:7px}.day-status{font-size:7px;margin-top:5px}.calendar-day small,.calendar-schedule{font-size:6.5px}.attendance-legend{gap:8px}.bulk-attendance-toolbar{grid-template-columns:1fr}.bulk-attendance-row{grid-template-columns:1fr}.bulk-attendance-row>input{grid-column:auto}.profile-hero{align-items:flex-start;flex-wrap:wrap}.profile-photo{width:68px;height:68px}.profile-hero .btn{width:100%}.detail-grid,.detail-grid.two-col{grid-template-columns:1fr}.exam-row-premium{align-items:flex-start;flex-wrap:wrap}.exam-meta-right{text-align:left;width:100%;padding-left:90px}.quiz-premium-row{align-items:flex-start;flex-wrap:wrap}.quiz-score{text-align:left;width:100%;padding-left:70px}.login-body{padding:14px}.login-card{padding:30px 22px}.login-card h2{font-size:25px}}
@media(max-width:420px){.stats-grid{grid-template-columns:1fr}.hero-panel{display:block}.big-score{text-align:left;margin-top:14px}.hero-student-wrap{display:block}.hero-student-photo{margin-bottom:12px}.month-calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-height:63px}.calendar-schedule{display:none}.calendar-day small{display:none}.schedule-day{width:58px}.subject-logo-large{width:58px;height:58px}.photo-upload-box{align-items:flex-start;flex-direction:column}}


/* V4 Teacher access, quiz-result detail and marksheets */
.teacher-sidebar-card{display:flex;align-items:center;gap:11px;margin:0 4px 16px;padding:12px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.06);border-radius:15px}.teacher-avatar{width:42px;height:42px;border-radius:13px;background:rgba(85,112,255,.18);display:grid;place-items:center;color:#dce4ff}.teacher-avatar .feature-svg{width:22px;height:22px}.teacher-sidebar-card b,.teacher-sidebar-card small{display:block}.teacher-sidebar-card b{color:#fff;font-size:12px}.teacher-sidebar-card small{font-size:9px;margin-top:4px}.teacher-hero{background:linear-gradient(120deg,#173558,#185e76 52%,#5148c8)}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.permission-check{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;padding:9px 10px;margin:0;background:#fbfcff;cursor:pointer}.permission-check input{width:auto;min-height:auto}.permission-check span{font-size:10px;font-weight:800;color:#4c5a70}.permission-pills{display:flex;gap:4px;flex-wrap:wrap}.permission-pills span{font-size:8px;font-weight:800;padding:4px 6px;border-radius:999px;background:#eef3ff;color:#4460bf}.permission-pills.compact{max-width:180px}.bulk-marks-list{display:grid;gap:8px}.bulk-marks-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px minmax(180px,1fr) auto;gap:12px;align-items:end;border:1px solid var(--line);border-radius:13px;padding:11px 12px}.quiz-link-row{transition:.16s}.quiz-link-row:hover{border-color:#bdc9ff;background:#fbfcff;transform:translateY(-1px)}.quiz-breadcrumb{display:flex;gap:7px;flex-wrap:wrap;align-items:center;font-size:10px;color:#738198;margin:0 0 14px}.quiz-breadcrumb a{text-decoration:underline}.quiz-result-shell{max-width:980px;margin-left:auto;margin-right:auto;padding:0;overflow:hidden}.quiz-result-title{display:flex;align-items:center;gap:12px;padding:22px 24px 12px}.quiz-result-title h2{font-size:24px;margin:0}.feature-logo.small{width:34px;height:34px;border-radius:9px}.quiz-result-tabs{display:flex;gap:22px;padding:0 24px;border-bottom:1px solid var(--line)}.quiz-result-tabs span{padding:11px 0;font-size:10px}.quiz-result-tabs .active{font-weight:850;border-bottom:2px solid var(--text)}.quiz-window{margin:0 12px;padding:13px 14px;background:#f8fafc;border-radius:11px;font-size:10px;line-height:1.8}.quiz-result-body{padding:38px 24px 28px}.quiz-rules{display:grid;gap:3px;margin-bottom:28px}.quiz-rules p{margin:0;font-size:11px;color:var(--text)}.final-grade{font-size:20px;margin:0 0 18px}.attempt-box{max-width:520px;border:1px solid #cad3df;border-radius:6px;overflow:hidden;margin:8px 0 18px}.attempt-box h4{margin:0;padding:9px 12px;border-bottom:1px solid #cad3df;font-size:15px}.attempt-table{min-width:0}.attempt-table th,.attempt-table td{padding:5px 8px;font-size:10px;border-bottom:1px solid #dce2ea}.attempt-table th{width:120px;text-align:right;background:#f3f5f7;color:#111;letter-spacing:0;text-transform:none}.review-note{padding:9px 12px;font-size:9px}.attempt-limit-note{font-size:10px;color:var(--text);margin:4px 0 18px}.quiz-back{text-align:center}.btn.secondary{background:#687484;color:#fff}.empty.left{text-align:left;padding-left:0}.student-result-hero{background:linear-gradient(120deg,#143a5e,#176e75 52%,#5147c8)}.marksheet-card{padding:0;overflow:hidden}.marksheet-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#fff,#f8faff)}.marksheet-head h2{margin:4px 0;font-size:23px}.marksheet-head p{margin:0;font-size:10px}.marksheet-overall{text-align:right}.marksheet-overall small,.marksheet-overall strong,.marksheet-overall span{display:block}.marksheet-overall strong{font-size:28px;margin:4px 0}.marksheet-table{min-width:850px}.marksheet-subject{display:flex;align-items:center;gap:9px}.marksheet-subject b,.marksheet-subject small{display:block}.marksheet-total-row td{background:#f8faff;border-top:2px solid #dfe6f0}.time-pill{width:52px;flex:none;border-radius:10px;background:#eef3ff;color:#3956b9;text-align:center;padding:7px;font-weight:900;font-size:10px}.time-pill small{display:block;font-size:7px}.teacher-avatar-small{background:#eef3ff;color:#4260c4}
@media(max-width:900px){.bulk-marks-row{grid-template-columns:1fr 1fr}.bulk-marks-row>.bulk-student{grid-column:span 2}.permission-grid{grid-template-columns:1fr}.marksheet-head{align-items:flex-start}.quiz-result-shell{max-width:none}}
@media(max-width:620px){.bulk-marks-row{grid-template-columns:1fr}.bulk-marks-row>.bulk-student{grid-column:auto}.marksheet-head{display:block}.marksheet-overall{text-align:left;margin-top:12px}.quiz-result-body{padding:24px 15px}.quiz-result-title{padding:18px 15px 10px}.quiz-result-tabs{padding:0 15px}.quiz-window{margin:0 8px}.attempt-box{max-width:none}.attempt-table th{width:95px}}


/* LIS login branding update */
.brand strong{font-size:12.5px;letter-spacing:.05em;line-height:1.2}
.brand small{font-size:10px}
.brand-logo{background:#fff;padding:4px}
.login-body{background:radial-gradient(circle at top left,rgba(52,98,185,.24),transparent 30%),radial-gradient(circle at bottom right,rgba(255,205,0,.18),transparent 28%),linear-gradient(135deg,#07213f,#0b2d59 44%,#133f7d 76%,#0d315f)}
.login-wrap{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.98);box-shadow:0 45px 120px rgba(4,18,45,.34)}
.login-visual{background:linear-gradient(160deg,#0b3a74,#114d96 52%,#0d5db8);padding:56px 58px}
.login-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,210,0,.08),transparent 30%,transparent 70%,rgba(255,255,255,.04));pointer-events:none}
.login-brand-top{position:relative;z-index:1;margin-bottom:12px}
.login-wordmark{width:min(100%,530px);filter:drop-shadow(0 12px 20px rgba(0,0,0,.18))}
.login-visual h1{font-size:46px;max-width:560px;margin-bottom:12px}
.login-visual p{font-size:14px;max-width:540px}
.login-info-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:12px;margin-top:26px;max-width:540px}
.login-info-grid article{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(2px)}
.login-info-grid strong,.login-info-grid small{display:block}
.login-info-grid strong{font-size:13px;color:#fff;margin-bottom:5px}
.login-info-grid small{font-size:11px;color:#dce7ff;line-height:1.55}
.login-card{position:relative;padding:46px 50px}
.login-card:before{content:"";position:absolute;inset:22px 22px auto auto;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(36,87,255,.09),transparent 67%)}
.login-logo-block{display:flex;align-items:center;gap:16px;margin-bottom:8px}
.login-eyebrow{margin-bottom:6px}
.login-logo-real{width:84px;height:84px;margin-bottom:0;border-radius:24px;object-fit:contain;background:#fff;padding:6px;box-shadow:0 14px 30px rgba(24,61,129,.15)}
.login-card h2{font-size:31px;margin-bottom:6px;color:#113e79}
.login-card>p{font-size:13px}
.login-form-premium{display:grid;gap:9px;margin:20px 0 16px}
.login-form-premium input{background:#f8fbff;border-color:#dbe6f5}
.login-form-premium input:focus{border-color:#2e63c7;box-shadow:0 0 0 4px rgba(46,99,199,.11)}
.login-support-row{display:grid;gap:10px;margin-bottom:12px}
.support-chip{padding:13px 14px;border-radius:16px;background:linear-gradient(180deg,#f8fbff,#f3f7fd);border:1px solid #dfebfa}
.support-chip b,.support-chip small{display:block}
.support-chip b{font-size:12px;color:#16345f;margin-bottom:4px}
.support-chip small{font-size:10.5px;line-height:1.55;color:#607089}
@media(max-width:920px){.login-visual{display:flex;padding:34px 28px}.login-wordmark{max-width:330px}.login-visual h1{font-size:33px}.login-info-grid{display:none}.login-logo-block{align-items:flex-start}.login-card{padding:36px 28px}}
@media(max-width:680px){.login-visual{display:none}.login-card{padding:28px 18px}.login-logo-block{display:block}.login-logo-real{margin-bottom:12px}.login-card h2{font-size:26px}}


/* V5 Class-based teacher access + LIS premium login */
.class-access-card{border-color:#dce8fb;background:linear-gradient(180deg,#fff,#fbfdff)}
.class-access-badge{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:7px 11px;border-radius:999px;background:#eaf2ff;color:#174f98;font-size:10px;font-weight:900;border:1px solid #d5e5fb}
.teacher-subject-access-form{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.4fr);gap:13px;align-items:end}
.teacher-subject-access-form .wide-permissions{grid-column:span 2;grid-template-columns:repeat(3,1fr)}
.teacher-subject-access-form>.btn{grid-column:span 2}
.lis-login-body{min-height:100vh;padding:28px;background:radial-gradient(circle at 14% 10%,rgba(255,205,16,.16),transparent 26%),radial-gradient(circle at 90% 85%,rgba(63,142,233,.20),transparent 30%),linear-gradient(135deg,#061b36,#0a3264 52%,#0d4c91)}
.lis-login-wrap{width:min(1180px,100%);min-height:690px;grid-template-columns:1.03fr .97fr;border-radius:32px;border:1px solid rgba(255,255,255,.14);box-shadow:0 45px 120px rgba(0,11,32,.42)}
.lis-login-visual{position:relative;padding:50px 58px 44px;background:linear-gradient(150deg,#082b58 0%,#0d4a8d 58%,#1468b7 100%)}
.lis-login-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,207,10,.07),transparent 35%,rgba(2,22,48,.20));pointer-events:none}
.lis-login-visual:after{width:380px;height:380px;border:60px solid rgba(255,255,255,.035);right:-170px;bottom:-180px}
.login-crest-wrap{position:relative;z-index:1;width:138px;height:138px;margin-bottom:22px;border-radius:34px;display:grid;place-items:center;background:rgba(255,255,255,.97);box-shadow:0 20px 45px rgba(1,20,50,.25);padding:9px}
.login-crest{width:100%;height:100%;object-fit:contain}
.lis-login-visual .visual-badge{color:#ffd94a;font-size:9.5px;letter-spacing:.15em}
.lis-login-visual h1{font-size:46px;line-height:1.06;max-width:560px;margin:14px 0 16px}
.lis-login-visual p{font-size:13.5px;color:#d9e9ff;max-width:530px}
.login-stat-strip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:28px}
.login-stat-strip>div{padding:13px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.075);backdrop-filter:blur(4px)}
.login-stat-strip b,.login-stat-strip small{display:block}.login-stat-strip b{font-size:12px;color:#fff}.login-stat-strip small{font-size:9px;color:#bcd5f4;margin-top:4px}
.login-visual-footer{position:relative;z-index:1;margin-top:25px;padding-top:16px;border-top:1px solid rgba(255,255,255,.11);font-size:9px;font-weight:900;letter-spacing:.2em;color:#ffd94a}
.lis-login-card{padding:42px 52px;background:#fff}
.login-header-logo-wrap{width:100%;padding:2px 0 22px;margin-bottom:22px;border-bottom:1px solid #e7edf5}
.login-header-logo{display:block;width:100%;max-width:500px;height:auto;object-fit:contain;object-position:left center}
.login-card-heading .eyebrow{color:#2b67ad}.login-card-heading h2{font-size:34px;color:#102f59;margin:7px 0 7px}.login-card-heading p{font-size:12px;margin-bottom:0}
.login-form-premium{display:grid;gap:15px;margin:23px 0 17px}
.login-input-shell{position:relative}.login-input-shell input{padding-left:43px;min-height:50px;border-radius:14px;background:#f8fbff;border-color:#dbe6f3}.login-input-shell input:focus{background:#fff;border-color:#2e70ba;box-shadow:0 0 0 4px rgba(46,112,186,.10)}
.login-input-icon{position:absolute;z-index:2;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#4b72a5}
.lis-login-btn{min-height:51px;border-radius:14px;margin-top:2px;background:linear-gradient(135deg,#0d4b8f,#277fd1);box-shadow:0 14px 28px rgba(16,81,147,.22)}.login-btn-icon{width:17px;height:17px}
.login-role-note{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border-radius:15px;background:#f6f9fd;border:1px solid #e2ebf5;margin-bottom:13px}.login-role-note>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e8f1fc;color:#215f9e;flex:none}.login-note-icon{width:17px;height:17px}.login-role-note b,.login-role-note small{display:block}.login-role-note b{font-size:11px;color:#1d3f69}.login-role-note small{font-size:9.5px;line-height:1.5;margin-top:3px}.login-security-text{font-size:9.5px!important;line-height:1.5}
@media(max-width:1050px){.lis-login-wrap{grid-template-columns:.95fr 1.05fr}.lis-login-visual{padding:45px 38px}.lis-login-card{padding:38px}.lis-login-visual h1{font-size:39px}.login-stat-strip{grid-template-columns:1fr}}
@media(max-width:920px){.lis-login-wrap{grid-template-columns:1fr;max-width:650px}.lis-login-visual{display:none}.lis-login-card{padding:40px 38px}.login-header-logo{max-width:470px}.teacher-subject-access-form{grid-template-columns:1fr}.teacher-subject-access-form .wide-permissions,.teacher-subject-access-form>.btn{grid-column:auto}.teacher-subject-access-form .wide-permissions{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.lis-login-body{padding:12px}.lis-login-wrap{border-radius:22px}.lis-login-card{padding:26px 20px}.login-header-logo-wrap{padding-bottom:16px;margin-bottom:18px}.login-card-heading h2{font-size:28px}.teacher-subject-access-form .wide-permissions{grid-template-columns:1fr}}


/* Student result card redesign */
.result-sheet-card{position:relative;background:linear-gradient(180deg,#ffffff 0 48%,#0f5fbf 48%,#0a4c9a 100%);border-radius:28px;overflow:hidden;padding:88px 0 0;box-shadow:0 26px 70px rgba(15,54,113,.14);margin:0 0 26px;border:1px solid #dce9fa}
.result-top-circle{position:absolute;top:26px;left:50%;transform:translateX(-50%);width:94px;height:94px;border-radius:50%;background:#fff;border:7px solid #0f5fbf;display:grid;place-items:center;box-shadow:0 12px 28px rgba(18,77,152,.18)}
.result-top-circle img{width:66px;height:66px;object-fit:contain}
.result-sheet-head{padding:0 34px 24px;text-align:center}
.result-kicker{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.16em;color:#0f5fbf;margin-bottom:8px}
.result-sheet-head h2{font-size:33px;margin:0 0 8px;color:#17345d}
.result-sheet-head p{margin:0;color:#647792;font-size:14px}
.result-student-info{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:0 34px 28px;max-width:930px;margin:0 auto}
.result-info-row{display:grid;grid-template-columns:180px 1fr;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f8}
.result-info-row span{font-size:12px;font-weight:800;color:#5e6f87;text-transform:uppercase;letter-spacing:.04em}
.result-info-row strong{font-size:14px;color:#1b2f52}
.result-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:22px 34px 16px;color:#fff}
.result-summary-box{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px 12px;text-align:center;backdrop-filter:blur(2px)}
.result-summary-box span,.result-summary-box strong{display:block}
.result-summary-box span{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#d7e8ff;margin-bottom:8px}
.result-summary-box strong{font-size:26px;color:#fff}
.result-table-wrap{padding:8px 34px 24px}
.result-table-premium{width:100%;border-collapse:separate;border-spacing:0;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 16px 36px rgba(5,37,84,.14)}
.result-table-premium thead th{background:#eaf3ff;color:#214776;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:16px 12px;border-bottom:1px solid #d8e6fb;text-align:left}
.result-table-premium tbody td,.result-table-premium tfoot td{padding:14px 12px;border-bottom:1px solid #eef3fb;font-size:14px;color:#20314f}
.result-table-premium tbody tr:last-child td{border-bottom:1px solid #eef3fb}
.result-table-premium tfoot td{background:#f4f8ff;font-size:14px}
.result-subject-name{display:flex;align-items:center;gap:12px}.result-subject-name b,.result-subject-name small{display:block}.result-subject-name small{margin-top:4px;color:#72819a}
.result-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:800;min-width:76px}
.result-status-pill.pass{background:#e8f9ef;color:#178955}.result-status-pill.fail{background:#ffecef;color:#d84761}.result-status-pill.pending{background:#fff5dd;color:#a66f05}
.result-card-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 34px 28px;color:#fff}.result-card-footer p{margin:0;color:#e8f1ff;font-size:12px;max-width:700px}
@media print{.sidebar,.topbar,.hero-panel,.no-print,.sidebar-backdrop{display:none !important}.main{margin:0 !important;width:100% !important;padding:0 !important}.result-sheet-card{box-shadow:none;border:0;page-break-after:always;margin:0 0 20px}.result-card-footer{padding-bottom:10px}}
@media(max-width:980px){.result-summary-grid{grid-template-columns:repeat(2,1fr)}.result-student-info{grid-template-columns:1fr}.result-info-row{grid-template-columns:150px 1fr}.result-sheet-head h2{font-size:28px}.result-card-footer{display:block}.result-card-footer .btn{margin-top:14px}}
@media(max-width:680px){.result-sheet-card{padding-top:80px;border-radius:22px}.result-top-circle{width:82px;height:82px}.result-top-circle img{width:58px;height:58px}.result-sheet-head,.result-student-info,.result-summary-grid,.result-table-wrap,.result-card-footer{padding-left:16px;padding-right:16px}.result-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.result-summary-box strong{font-size:22px}.result-info-row{grid-template-columns:1fr;gap:4px}.result-table-premium{display:block;overflow-x:auto;white-space:nowrap}.result-sheet-head h2{font-size:23px}.result-sheet-head p{font-size:12px}.result-kicker{font-size:9px}}


/* Hero style login redesign */
.login-hero-body{position:relative;min-height:100vh;padding:24px;display:grid;place-items:center;background:linear-gradient(rgba(6,22,40,.58),rgba(6,22,40,.58)),url('../img/login-campus-bg.jpg') center/cover no-repeat fixed}
.login-hero-body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 10%,rgba(31,110,210,.25),transparent 25%),radial-gradient(circle at 80% 25%,rgba(255,255,255,.12),transparent 20%),radial-gradient(circle at 75% 80%,rgba(10,82,164,.25),transparent 26%);pointer-events:none}
.login-hero-wrap{position:relative;z-index:1;width:100%;display:grid;place-items:center}
.login-hero-card{width:min(430px,100%);padding:34px 34px 28px;border-radius:28px;background:linear-gradient(180deg,rgba(8,29,55,.86),rgba(7,24,45,.90));border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 70px rgba(0,10,28,.36);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.login-hero-logo-wrap{display:flex;justify-content:center;margin-bottom:16px}
.login-hero-logo{width:90px;height:90px;object-fit:contain;border-radius:50%;background:#fff;padding:6px;box-shadow:0 16px 32px rgba(0,0,0,.18)}
.login-hero-heading{text-align:center;margin-bottom:12px}
.login-hero-eyebrow{color:#a9d0ff;margin-bottom:8px}
.login-hero-heading h1{margin:0 0 8px;font-size:33px;line-height:1.1;color:#fff;letter-spacing:-.03em}
.login-hero-heading p{margin:0;color:#d6e5f8;font-size:13px;line-height:1.65}
.login-hero-form{display:grid;gap:15px;margin:18px 0 16px}
.login-hero-form label{display:block;margin-bottom:7px;font-size:12px;font-weight:750;color:#e9f2ff}
.login-hero-input-shell input{min-height:50px;border-radius:12px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.15);padding-left:44px;color:#17355d}
.login-hero-input-shell input::placeholder{color:#7d8ca0}
.login-hero-input-shell input:focus{background:#fff;border-color:#5aa2ff;box-shadow:0 0 0 4px rgba(90,162,255,.18)}
.login-hero-input-shell .login-input-icon{color:#5f80a7}
.login-hero-btn{min-height:50px;border-radius:12px;background:linear-gradient(135deg,#0d5ab4,#1883e7);box-shadow:0 14px 26px rgba(16,87,170,.34);margin-top:2px}
.login-hero-btn:hover{filter:brightness(1.04)}
.login-hero-footer-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#d8e7f9}
.login-help-link{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.login-help-link:hover{color:#b9d8ff;border-color:#b9d8ff}
@media(max-width:600px){.login-hero-body{padding:14px;background-attachment:scroll}.login-hero-card{padding:26px 18px 20px;border-radius:22px}.login-hero-logo{width:76px;height:76px}.login-hero-heading h1{font-size:26px}.login-hero-footer-row{display:block}.login-hero-footer-row span{display:block;margin-top:8px}}


/* Course open page redesign */
.course-shell-hero{margin-bottom:18px}.course-shell-banner{position:relative;overflow:hidden;padding:36px 34px 40px;border-radius:24px;background:linear-gradient(90deg,#5a5660,#d8d7da 72%,#efefef);min-height:176px;display:flex;flex-direction:column;justify-content:flex-end}.course-shell-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.10),rgba(255,255,255,0));pointer-events:none}.teacher-shell-banner{background:linear-gradient(90deg,#274667,#92b0d0 70%,#e5edf7)}.course-shell-banner>*{position:relative;z-index:1}.course-shell-term{display:inline-flex;align-self:flex-start;background:#171a20;color:#fff;padding:7px 12px;border-radius:4px;font-size:11px;font-weight:900;letter-spacing:.03em;margin-bottom:12px}.course-shell-banner h1{font-size:28px;line-height:1.1;margin:0 0 8px;color:#fff;text-transform:uppercase}.course-shell-banner p{margin:0;color:rgba(255,255,255,.92);font-size:13px;max-width:740px}.course-shell-tabs{display:flex;gap:14px;flex-wrap:wrap;padding:16px 16px 0;border-bottom:1px solid #d9dee6;margin:0 10px 18px}.course-shell-tabs a{padding:0 0 12px;color:#4f5d74;font-size:14px;border-bottom:3px solid transparent}.course-shell-tabs a.active,.course-shell-tabs a:hover{color:#1e2f4b;border-color:#4f5767;font-weight:800}.course-shell-panel{padding:0 0 8px}.course-collapse-actions{display:flex;justify-content:flex-end;margin-bottom:10px}.course-collapse-btn{border:0;background:transparent;color:#596980;font-size:13px;font-weight:800;cursor:pointer;text-decoration:underline}.course-accordion{background:#fff;border:1px solid #d9dee5;border-radius:8px;margin:0 0 14px;overflow:hidden}.course-accordion summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 20px;cursor:pointer;font-size:18px;font-weight:900;color:#49586d}.course-accordion summary::-webkit-details-marker{display:none}.course-accordion summary:after{content:"⌄";font-size:26px;color:#6a7586;line-height:1;transition:.18s}.course-accordion[open] summary:after{transform:rotate(180deg)}.course-accordion-meta{font-size:12px;color:#7b8898;font-weight:700;margin-left:auto;padding-right:10px}.course-accordion-body{padding:0 14px 16px}.course-info-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:16px;margin:2px 0 14px}.course-info-card.soft{background:#f3f4f7}.course-info-card b{display:block;font-size:15px;color:#304058;margin-top:2px}.course-info-card p{margin:5px 0 0;font-size:12px}.course-two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.course-mini-panel{background:#fff;border:1px solid #e6ebf2;border-radius:18px;padding:16px}.course-line-item{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #edf1f6;color:inherit}.course-line-item:last-child{border-bottom:0}.course-line-item.link-row:hover{background:#fafbfd}.course-line-item b,.course-line-item small{display:block}.course-line-item b{font-size:12px}.course-line-item small{font-size:10px;margin-top:3px;color:#7b8798}.course-topic-card{display:flex;align-items:flex-start;gap:13px;padding:8px 4px 4px}.course-topic-card h3{margin:5px 0 7px;font-size:18px;color:#31425d}.course-topic-card p{font-size:12px;margin:0 0 8px}.course-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.course-link-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #e1e8f2;border-radius:16px;background:#fff;color:inherit}.course-link-card:hover{background:#fafcff;border-color:#cfd7e4}.course-link-card b,.course-link-card small{display:block}.course-link-card b{font-size:13px;color:#213653}.course-link-card small{font-size:10px;margin-top:4px;color:#738198}.course-student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.course-student-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e5eaf2;border-radius:15px;background:#fff}.course-student-card img{width:46px;height:46px;border-radius:14px;object-fit:cover;background:#f4f7fb}.course-student-card b,.course-student-card small{display:block}.course-student-card b{font-size:12px;color:#233553}.course-student-card small{font-size:10px;margin-top:4px;color:#768499}.course-accordion .subject-showcase-grid{margin-top:6px}
@media(max-width:980px){.course-two-col-grid,.course-link-grid{grid-template-columns:1fr}.course-student-grid{grid-template-columns:1fr 1fr}.course-shell-banner{min-height:150px;padding:28px 24px 30px}.course-shell-banner h1{font-size:24px}}
@media(max-width:680px){.course-shell-banner{border-radius:18px;padding:24px 18px 26px}.course-shell-term{font-size:9px}.course-shell-banner h1{font-size:21px}.course-shell-banner p{font-size:11px}.course-shell-tabs{gap:16px;padding:12px 4px 0;margin:0 2px 14px;overflow:auto;flex-wrap:nowrap}.course-shell-tabs a{font-size:13px;white-space:nowrap}.course-accordion summary{padding:18px 14px;font-size:16px}.course-accordion-body{padding:0 10px 12px}.course-mini-panel{padding:14px}.course-student-grid{grid-template-columns:1fr}.course-accordion-meta{display:none}}


/* Course open page black and white theme */
.course-shell-banner{background:linear-gradient(90deg,#1b1b1d,#727276 58%,#ededee 100%)!important}
.teacher-shell-banner{background:linear-gradient(90deg,#111214,#5f6166 58%,#ebeced 100%)!important}
.course-shell-term{background:#0b0b0c!important;color:#fff!important}
.course-shell-banner h1{color:#fff!important}
.course-shell-banner p{color:rgba(255,255,255,.88)!important}
.course-shell-tabs{border-bottom:1px solid #cfcfd4!important}
.course-shell-tabs a{color:#5b5d63!important}
.course-shell-tabs a.active,.course-shell-tabs a:hover{color:#111214!important;border-color:#2f3136!important}
.course-collapse-btn{color:#4b4e55!important}
.course-accordion{border:1px solid #d6d7dc!important;background:#fff!important}
.course-accordion summary{color:#3b434f!important;background:#f7f7f8!important}
.course-accordion summary:after{color:#686d76!important}
.course-accordion-meta{color:#7a7f89!important}
.course-info-card.soft{background:#f1f1f2!important}
.course-info-card b{color:#1d2128!important}
.course-mini-panel{background:#fff!important;border:1px solid #e0e2e7!important}
.course-line-item b{color:#1d2128!important}
.course-line-item small{color:#727784!important}
.course-topic-card h3{color:#1d2128!important}
.course-link-card{border:1px solid #dfe2e8!important;background:#fff!important}
.course-link-card:hover{background:#f8f8f9!important;border-color:#c9cdd5!important}
.course-link-card b{color:#171a20!important}
.course-link-card small{color:#717784!important}
.course-student-card{border:1px solid #dfe2e8!important;background:#fff!important}
.course-student-card b{color:#181b21!important}
.course-student-card small{color:#727885!important}
.course-accordion .subject-showcase-card{background:linear-gradient(180deg,#fff,#f7f7f8)!important;border:1px solid #dfe2e8!important}
.course-accordion .subject-showcase-card h3{color:#181b21!important}

/* =========================================================
   LIS PREMIUM V11 — executive analytics + refined motion
========================================================= */
@property --progress{syntax:"<number>";inherits:false;initial-value:0}
body[class*="management-role-"]{background:
  radial-gradient(circle at 82% 6%,rgba(43,132,213,.09),transparent 24%),
  radial-gradient(circle at 18% 88%,rgba(29,104,176,.055),transparent 26%),
  linear-gradient(180deg,#f7faff 0,#eef4fa 100%)}
body.management-role-ceo .sidebar{background:linear-gradient(180deg,#07182c,#092644 58%,#071523)}
body.management-role-graphic_designer .sidebar{background:linear-gradient(180deg,#11142d,#20204b 60%,#111329)}
.executive-hero{isolation:isolate;background:linear-gradient(120deg,#082b4e,#0e5b9c 54%,#2389c9)!important;background-size:180% 180%!important;animation:executiveGradient 12s ease infinite}
.executive-hero:before{width:340px!important;height:340px!important;right:-80px!important;top:-150px!important;border:62px solid rgba(255,255,255,.055);background:transparent!important;animation:heroOrbit 14s linear infinite}
.executive-hero .hero-role-badge{backdrop-filter:blur(8px);box-shadow:0 20px 45px rgba(2,25,52,.16)}
@keyframes executiveGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes heroOrbit{to{transform:rotate(360deg)}}

.executive-analytics{margin:6px 0 22px}
.executive-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 2px 15px}
.executive-section-head h3{font-size:23px;margin:5px 0 4px;color:#113454}.executive-section-head p{font-size:11px;margin:0}
.live-data-chip{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 12px;border:1px solid #d9e7f3;border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 7px 22px rgba(27,70,110,.05);color:#53708b;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.live-data-chip i{width:8px;height:8px;border-radius:50%;background:#17aa6f;box-shadow:0 0 0 0 rgba(23,170,111,.4);animation:livePulse 2s infinite}
@keyframes livePulse{70%{box-shadow:0 0 0 8px rgba(23,170,111,0)}100%{box-shadow:0 0 0 0 rgba(23,170,111,0)}}
.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.analytics-card{position:relative;overflow:hidden;padding:22px;border:1px solid #dce7f1;border-radius:24px;background:linear-gradient(155deg,rgba(255,255,255,.99),rgba(246,250,254,.96));box-shadow:0 18px 48px rgba(18,58,96,.075);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.analytics-card:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-105px;top:-125px;background:radial-gradient(circle,rgba(37,126,199,.13),rgba(37,126,199,0) 70%);pointer-events:none}
.analytics-card:hover{transform:translateY(-3px);border-color:#cbddea;box-shadow:0 25px 58px rgba(18,58,96,.11)}
.analytics-card-attendance:before{background:radial-gradient(circle,rgba(19,164,110,.13),rgba(19,164,110,0) 70%)}
.analytics-card-head{position:relative;display:flex;align-items:center;gap:12px;z-index:1}
.analytics-card-head>div:nth-child(2){min-width:0;flex:1}.analytics-card-head small{display:block;font-size:8px;font-weight:900;letter-spacing:.12em;color:#65819a}.analytics-card-head h3{font-size:17px;margin:4px 0 0;color:#143858}
.analytics-icon{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#e8f3ff,#eef7ff);color:#1a6cb3;border:1px solid #d8e8f5}.analytics-card-attendance .analytics-icon{background:linear-gradient(145deg,#e9f8f2,#f1fbf7);color:#11865b;border-color:#d8eee4}
.analytics-year{padding:6px 9px;border:1px solid #dce6ee;border-radius:999px;background:#fff;color:#698096;font-size:9px;font-weight:900}
.analytics-main{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:18px;padding:22px 0 18px}
.metric-ring{--progress:0;position:relative;width:156px;height:156px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#217bc2 calc(var(--progress)*1%),#e7eff6 0);transition:--progress 1.25s cubic-bezier(.2,.8,.2,1);box-shadow:inset 0 0 0 1px rgba(20,86,138,.05),0 18px 34px rgba(24,87,137,.10)}
.metric-ring:before{content:"";position:absolute;inset:13px;border-radius:50%;background:linear-gradient(145deg,#fff,#f5f9fc);box-shadow:inset 0 0 0 1px #e7eef4}
.metric-ring>div{position:relative;text-align:center;z-index:1}.metric-ring strong{font-size:31px;color:#123f67;letter-spacing:-.04em}.metric-ring span{display:block;margin-top:2px;color:#71869a;font-size:8px;font-weight:900;letter-spacing:.12em}
.attendance-ring{background:conic-gradient(#16a56d calc(var(--progress)*1%),#e6f1ec 0);box-shadow:inset 0 0 0 1px rgba(16,129,85,.05),0 18px 34px rgba(17,126,85,.10)}
.analytics-metric-list{display:grid;gap:9px}.analytics-metric-list>div{position:relative;display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:11px 12px;border:1px solid #e3eaf1;border-radius:13px;background:rgba(255,255,255,.9)}
.analytics-metric-list small{font-size:9px;font-weight:750}.analytics-metric-list b{font-size:12px;color:#173a5a;text-align:right}
.metric-dot{width:8px;height:8px;border-radius:50%;display:block}.metric-dot.billed{background:#82b9df}.metric-dot.paid,.metric-dot.present{background:#17a66e}.metric-dot.due,.metric-dot.absent{background:#e05166}.metric-dot.late{background:#e2a128}.metric-dot.leave{background:#3d7ed0}
.attendance-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:9px}.attendance-breakdown>div{padding:11px;border:1px solid #e2eae6;border-radius:13px;background:rgba(255,255,255,.92)}.attendance-breakdown .metric-dot{margin-bottom:7px}.attendance-breakdown small,.attendance-breakdown b{display:block}.attendance-breakdown small{font-size:8px;font-weight:800}.attendance-breakdown b{font-size:18px;color:#173a5a;margin-top:3px}
.analytics-trend-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:15px;border-top:1px solid #e6edf3}.analytics-trend-head b{font-size:11px;color:#254764}.analytics-trend-head small{font-size:8px}
.mini-trend-chart{height:126px;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;padding:12px 4px 0}
.trend-column{height:100%;display:grid;grid-template-rows:18px 1fr 16px;align-items:end;text-align:center}.trend-column>small{font-size:8px;font-weight:850;color:#75899b;text-transform:uppercase}.trend-value{font-size:8px;font-weight:850;color:#5e7890;opacity:0;transform:translateY(4px);transition:.35s .5s}.analytics-ready .trend-value{opacity:1;transform:none}
.trend-track{position:relative;align-self:stretch;width:100%;max-width:32px;margin:auto;border-radius:9px 9px 4px 4px;background:linear-gradient(180deg,#eef3f7,#e4ebf1);overflow:hidden}.trend-track span{position:absolute;left:0;right:0;bottom:0;height:0;min-height:2px;border-radius:8px 8px 3px 3px;transition:height 1.05s cubic-bezier(.2,.8,.2,1)}.fee-bar{background:linear-gradient(180deg,#52a6df,#176ab0)}.attendance-bar{background:linear-gradient(180deg,#54c898,#159463)}

.js-motion [data-reveal],.js-motion [data-reveal-group]>*{opacity:0;transform:translateY(16px)}
.js-motion [data-reveal].is-visible,.js-motion [data-reveal-group].is-visible>*{opacity:1;transform:none;transition:opacity .55s ease,transform .55s cubic-bezier(.2,.75,.25,1)}
.js-motion [data-reveal-group].is-visible>*:nth-child(2){transition-delay:.06s}.js-motion [data-reveal-group].is-visible>*:nth-child(3){transition-delay:.12s}.js-motion [data-reveal-group].is-visible>*:nth-child(4){transition-delay:.18s}.js-motion [data-reveal-group].is-visible>*:nth-child(5){transition-delay:.24s}.js-motion [data-reveal-group].is-visible>*:nth-child(6){transition-delay:.30s}
.dashboard-action-card,.card,.stat-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.dashboard-action-card:hover,.stat-card:hover{transform:translateY(-3px)}.card:hover{border-color:#d5e2ee}

@media(max-width:1180px){.analytics-main{grid-template-columns:145px 1fr}.metric-ring{width:135px;height:135px}.metric-ring strong{font-size:27px}.analytics-metric-list>div{grid-template-columns:9px 1fr}.analytics-metric-list b{grid-column:2;text-align:left}.analytics-metric-list small{grid-column:2}.analytics-metric-list .metric-dot{grid-row:1/3}}
@media(max-width:980px){.analytics-grid{grid-template-columns:1fr}.analytics-main{grid-template-columns:170px 1fr}.metric-ring{width:156px;height:156px}.analytics-metric-list>div{grid-template-columns:10px 1fr auto}.analytics-metric-list b{grid-column:auto;text-align:right}.analytics-metric-list small{grid-column:auto}.analytics-metric-list .metric-dot{grid-row:auto}}
@media(max-width:650px){.executive-section-head{display:block}.live-data-chip{margin-top:12px}.analytics-card{padding:17px;border-radius:20px}.analytics-main{grid-template-columns:1fr}.metric-ring{margin:auto}.analytics-card-head{align-items:flex-start}.analytics-year{display:none}.mini-trend-chart{gap:6px}.trend-value{font-size:7px}.executive-section-head h3{font-size:20px}.attendance-breakdown{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-motion [data-reveal],.js-motion [data-reveal-group]>*{opacity:1!important;transform:none!important}}

.collection-rate-card{padding-bottom:31px}.collection-rate-track{position:absolute;left:20px;right:20px;bottom:14px;height:6px;border-radius:999px;background:#e5edf4;overflow:hidden}.collection-rate-track i{display:block;width:var(--fee-rate,0);height:100%;border-radius:inherit;background:linear-gradient(90deg,#168e61,#27bd80);animation:feeProgressIn 1s cubic-bezier(.2,.8,.2,1)}
@keyframes feeProgressIn{from{width:0}}
.fee-type-summary{overflow:hidden}.fee-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fee-type-card{padding:15px;border:1px solid #dfe8f1;border-radius:17px;background:linear-gradient(155deg,#fff,#f8fbfe)}.fee-type-card>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px}.fee-type-card>div:first-child b{font-size:11px;color:#193b59}.fee-type-card>div:first-child span{font-size:9px;font-weight:850;color:#16764f;white-space:nowrap}.fee-type-progress{height:7px;margin:12px 0;border-radius:999px;background:#e8eef4;overflow:hidden}.fee-type-progress i{display:block;height:100%;width:var(--type-progress,0);border-radius:inherit;background:linear-gradient(90deg,#176daf,#20a976);animation:feeProgressIn 1s cubic-bezier(.2,.8,.2,1)}.fee-type-values{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.fee-type-values span{min-width:0}.fee-type-values small,.fee-type-values b{display:block}.fee-type-values small{font-size:7px;text-transform:uppercase;letter-spacing:.06em}.fee-type-values b{margin-top:3px;font-size:10px;color:#29445d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1050px){.fee-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.fee-type-grid{grid-template-columns:1fr}.fee-type-values b{font-size:11px}}
.course-accordion .subject-showcase-card p{color:#727885!important}
.course-accordion .eyebrow,.course-shell-panel .eyebrow{color:#555b66!important}
.course-accordion .text-link,.course-shell-panel .text-link{color:#16181d!important}
.course-shell-panel .badge.info{background:#f0f1f4!important;color:#20242b!important}
.course-shell-panel .badge.success{background:#eef0f2!important;color:#1a1e24!important}
.course-shell-panel .badge.warning{background:#f5f5f6!important;color:#3b4048!important}
.course-shell-panel .badge.danger{background:#f2f2f3!important;color:#23262d!important}
.course-shell-panel .icon-box{background:#f1f2f4!important;color:#1f2228!important}
.course-shell-panel .feature-logo{background:linear-gradient(145deg,#f5f5f6,#ececef)!important;color:#1d2026!important}
.course-shell-panel .subject-logo-tile,.course-shell-panel .subject-logo-large,.course-shell-panel .date-box{background:#fff!important;border:1px solid #dfe2e8!important;color:#1f232a!important}
.course-shell-panel .date-box{background:#f5f6f8!important;color:#20242b!important}

/* V7 Academic workflow */
.field-help{display:block;margin-top:5px;font-size:10px;color:#7a8799}.resource-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}.lecture-manager-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.lecture-manager-row:last-child{border-bottom:0}.lecture-manager-row b,.lecture-manager-row small{display:block}.lecture-manager-row b{font-size:13px}.lecture-manager-row small{font-size:10px;margin-top:4px}.lecture-manager-row p{font-size:11px;margin:7px 0 0}.file-download-card{display:flex;align-items:center;gap:11px;padding:12px 13px;margin:12px 0;border:1px dashed #bfc9d8;border-radius:13px;background:#f8fafc}.file-download-card svg{width:22px;height:22px;flex:none}.file-download-card b,.file-download-card small{display:block}.file-download-card b{font-size:12px}.file-download-card small{font-size:9px;margin-top:3px}.submission-status-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;margin:12px 0;border:1px solid var(--line);border-radius:13px;background:#f7f9fc}.submission-status-card b{display:block;font-size:11px;margin-top:3px}.submission-status-card p{font-size:10px;margin:5px 0 0}.result-sheet-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.result-admin-card{border:1px solid var(--line);border-radius:17px;padding:16px;background:linear-gradient(180deg,#fff,#fafbfc)}.result-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.result-admin-head h3{font-size:16px;margin:5px 0 3px}.result-admin-head p{font-size:10px;margin:0}.result-admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.result-admin-stats span{padding:10px;border-radius:11px;background:#f1f3f6;font-size:9px;color:#6f7782}.result-admin-stats b{display:block;font-size:16px;color:#20242a;margin-bottom:2px}.result-admin-actions{display:flex;gap:7px;flex-wrap:wrap}.result-admin-actions form{margin:0}.final-class-result{padding:0;overflow:hidden}.final-result-school-head{display:flex;align-items:center;gap:16px;padding:22px 24px;background:linear-gradient(90deg,#111,#555 58%,#eee);color:#fff}.final-result-school-head img{width:72px;height:72px;object-fit:contain;border-radius:50%;background:#fff;padding:4px}.final-result-school-head span{font-size:9px;font-weight:900;letter-spacing:.15em}.final-result-school-head h2{font-size:24px;margin:5px 0}.final-result-school-head p{margin:0;color:#f1f1f1;font-size:10px}.final-result-status{margin-left:auto;text-align:right}.final-result-status small,.final-result-status b{display:block}.final-result-status small{color:#ddd}.final-result-status b{font-size:18px;margin-top:4px}.result-sheet-toolbar{display:flex;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.class-result-matrix{min-width:1000px}.class-result-matrix th small{display:block;margin-top:3px;font-size:7px}.class-result-matrix td.mark-fail{background:#fff0f1;color:#b52238;font-weight:850}.class-result-matrix tbody tr:hover td{background:#fafbfc}.class-result-matrix tbody tr:hover td.mark-fail{background:#ffe8eb}
@media(max-width:900px){.result-sheet-admin-grid{grid-template-columns:1fr}.final-result-school-head{align-items:flex-start}.final-result-status{margin-left:0}.final-result-school-head{flex-wrap:wrap}.result-admin-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.submission-status-card{display:block}.submission-status-card .mini-btn{display:inline-flex;margin-top:10px}.result-admin-stats{grid-template-columns:1fr}.final-result-school-head img{width:58px;height:58px}.final-result-school-head h2{font-size:19px}.result-sheet-toolbar{display:block}.result-sheet-toolbar .btn{width:100%;margin-bottom:7px}}
@media print{.no-print,.sidebar,.topbar,.sidebar-backdrop{display:none!important}.main{margin:0!important;width:100%!important;padding:0!important}.final-class-result{border:0;box-shadow:none}.final-result-school-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}.class-result-matrix{font-size:8px}}

/* =========================================================
   V8 PREMIUM SCHOOL MANAGEMENT / LMS UI
========================================================= */
:root{--primary:#164f92;--primary-dark:#0c376c;--accent:#256fc0;--nav:#061424;--nav-2:#0b2038;--bg:#f3f6fa;--radius:18px}
body{background:linear-gradient(180deg,#f7f9fc 0,#f2f5f9 100%)}
.sidebar{background:linear-gradient(180deg,#061424,#091d32 68%,#050f1c);box-shadow:12px 0 42px rgba(6,20,36,.08)}
.sidebar-nav a:hover,.sidebar-nav a.active{background:linear-gradient(90deg,rgba(37,111,192,.24),rgba(37,111,192,.06));box-shadow:inset 3px 0 0 #65a7ee}
.brand-logo{background:#fff!important;border-radius:12px!important;padding:3px!important;box-shadow:0 8px 22px rgba(0,0,0,.15)!important}.brand strong{letter-spacing:.035em!important}
.main{max-width:1720px}.topbar{position:sticky;top:0;z-index:25;padding:12px 0;background:rgba(243,246,250,.86);backdrop-filter:blur(12px)}
.card,.stat-card{border-color:#e3e9f1;box-shadow:0 13px 35px rgba(27,53,83,.045)}.card{border-radius:20px}.card:hover{border-color:#d8e1ec}
.btn.primary{background:linear-gradient(135deg,#0e477f,#2479c8);box-shadow:0 11px 25px rgba(18,81,143,.2)}.btn.secondary{background:#eef3f8;color:#263c57;border:1px solid #dae3ed}.mini-btn{border-color:#d9e2ec}
.premium-admin-hero{background:linear-gradient(120deg,#0a2a50,#104d89 55%,#2377c1)}.teacher-hero{background:linear-gradient(120deg,#15324d,#1b5677 55%,#3a6697)}.student-hero{background:linear-gradient(120deg,#0a355b,#0e5a92 55%,#217bbd)}
.hero-actions,.inline-actions,.button-row,.row-between{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vertical{flex-direction:column;align-items:stretch}.row-between{justify-content:space-between}.inline-actions form{margin:0}.page-back-row{margin-bottom:14px}.filter-bar{display:grid;grid-template-columns:minmax(180px,1fr) 140px 140px auto;gap:8px;margin-bottom:14px}
.dashboard-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.dashboard-action-card{display:flex;gap:13px;align-items:center;padding:17px;background:#fff;border:1px solid #e1e8f0;border-radius:17px;transition:.18s;box-shadow:0 8px 25px rgba(27,53,83,.035)}.dashboard-action-card:hover{transform:translateY(-2px);border-color:#bed3e9;box-shadow:0 14px 34px rgba(27,53,83,.08)}.dashboard-action-card svg{width:27px;height:27px;color:#1b619f}.dashboard-action-card b,.dashboard-action-card small{display:block}.dashboard-action-card b{font-size:13px;color:#18344f}.dashboard-action-card small{font-size:10px;margin-top:4px;color:#75869a}
.notice-list{display:grid;gap:9px}.notice-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f5}.notice-item:last-child{border-bottom:0}.notice-date{min-width:48px;padding:8px 6px;text-align:center;border-radius:10px;background:#edf4fb;color:#245a8f;font-size:9px;font-weight:900}.notice-item b{font-size:12px}.notice-item p{font-size:10.5px;margin:4px 0 0}.timeline-list{display:grid}.timeline-item{position:relative;display:flex;gap:12px;padding:8px 0 13px 4px}.timeline-item>span{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#327dbb;box-shadow:0 0 0 4px #e7f1fa}.timeline-item b{font-size:12px}.timeline-item p{font-size:10px;margin:4px 0 0}
.event-list-premium{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #edf1f5}.event-list-premium:last-child{border-bottom:0}.event-card-premium{display:flex;align-items:flex-start;gap:16px}.event-meta-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.event-meta-row span{padding:7px 10px;border-radius:999px;background:#f0f4f8;color:#5b6f84;font-size:10px}

/* Attendance board */
.attendance-board-card{overflow:visible}.attendance-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.attendance-column{min-height:270px;background:#f8fafc;border:1px solid #e1e7ef;border-radius:16px;overflow:hidden}.attendance-column-head{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;background:#fff;border-bottom:1px solid #e7ecf2}.attendance-column-head b,.attendance-column-head small{display:block}.attendance-column-head b{font-size:12px}.attendance-column-head small{font-size:9px;margin-top:3px;color:#8491a2}.status-dot{width:10px;height:10px;border-radius:50%}.attendance-column-head.present .status-dot{background:#18a46a}.attendance-column-head.absent .status-dot{background:#df4d64}.attendance-column-head.leave .status-dot{background:#3777d5}.attendance-column-head.late .status-dot{background:#e3a229}.attendance-dropzone{display:grid;gap:8px;padding:9px;align-content:start}.attendance-student-card{background:#fff;border:1px solid #e3e8ef;border-radius:13px;padding:10px;box-shadow:0 5px 15px rgba(34,55,80,.035)}.attendance-student-main{display:flex;align-items:center;gap:9px}.attendance-student-main img{width:38px;height:38px;object-fit:cover;border-radius:11px;background:#f3f5f8}.attendance-student-main b,.attendance-student-main small{display:block}.attendance-student-main b{font-size:11px}.attendance-student-main small{font-size:8.5px;margin-top:3px}.attendance-status-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:9px}.attendance-status-actions button{border:1px solid #dde4ec;border-radius:7px;background:#f8fafc;color:#607186;padding:5px;font-size:9px;font-weight:900;cursor:pointer}.attendance-status-actions button.active{background:#152b43;color:#fff;border-color:#152b43}.attendance-note-input{min-height:34px!important;margin-top:7px!important;padding:7px 8px!important;font-size:9px!important}.sticky-submit-bar{position:sticky;bottom:12px;z-index:15;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;margin-top:14px;border-radius:14px;background:rgba(7,25,45,.94);color:#fff;box-shadow:0 15px 40px rgba(5,20,40,.24);backdrop-filter:blur(10px)}.sticky-submit-bar span{font-size:10px;color:#d6e2ef}

/* Quiz builder and online attempt */
.question-list{display:grid;gap:10px}.question-card{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #e1e7ef;border-radius:15px;background:#fff}.question-number{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf2fa;color:#235b92;font-weight:900;font-size:11px;flex:none}.question-card h3{font-size:14px;margin:2px 0 8px}.question-options-preview{display:flex;gap:5px;flex-wrap:wrap}.question-options-preview span{font-size:9px;padding:5px 7px;border-radius:7px;background:#f3f5f8}.question-options-preview span.correct{background:#e7f7ef;color:#147a4e}.option-entry{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-bottom:8px}.radio-small{display:flex!important;align-items:center;gap:5px;margin:0!important;font-size:9px!important;white-space:nowrap}.radio-small input{width:auto;min-height:0}.quiz-taking-shell{max-width:960px;margin-left:auto;margin-right:auto}.quiz-taking-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #e7ebf1}.quiz-taking-head h2{font-size:26px;margin:5px 0}.quiz-timer{min-width:125px;padding:12px 14px;text-align:center;border-radius:14px;background:#0c2947;color:#fff}.quiz-timer small,.quiz-timer strong{display:block}.quiz-timer small{font-size:8px;color:#aecdE8}.quiz-timer strong{font-size:24px;margin-top:4px}.quiz-question-stack{display:grid;gap:14px;margin-top:18px}.student-question-card{padding:18px;border:1px solid #e2e8f0;border-radius:17px;background:#fff}.student-question-head{display:flex;justify-content:space-between;color:#73849a;font-size:9px;font-weight:850;text-transform:uppercase}.student-question-card h3{font-size:16px;line-height:1.55;margin:12px 0}.student-option-list{display:grid;gap:8px}.student-option{display:flex!important;align-items:center;gap:10px;margin:0!important;padding:11px 12px;border:1px solid #e0e6ee;border-radius:11px;background:#fafbfd;cursor:pointer;font-size:11px!important;color:#263c54!important}.student-option:hover{border-color:#bfcfe1;background:#f6f9fc}.student-option input{width:auto;min-height:0}.result-score-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border-radius:18px;background:linear-gradient(120deg,#0c335d,#176aa8);color:#fff}.result-score-hero p{color:#d6e7f5}.result-score-hero strong{font-size:36px}

/* Assignment library */
.assignment-library{display:grid;gap:13px}.assignment-list-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;padding:16px;border:1px solid #e1e7ee;border-radius:16px;background:#fff}.assignment-list-card h3{font-size:15px;margin:5px 0}.assignment-list-card p{font-size:10.5px;margin:4px 0}.assignment-list-card .inline-actions{justify-content:flex-end}

/* Login improvements */
.premium-login-card{border-color:rgba(255,255,255,.18);box-shadow:0 35px 90px rgba(0,10,28,.42)}.password-shell input{padding-right:68px}.password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:#e8f0f8;color:#355a7d;border-radius:8px;padding:6px 9px;font-size:9px;font-weight:900;cursor:pointer}.login-role-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:4px 0 16px}.login-role-strip span{text-align:center;padding:8px 5px;border:1px solid rgba(255,255,255,.13);border-radius:9px;color:#d5e6f8;font-size:8px;background:rgba(255,255,255,.04)}

@media(max-width:1180px){.dashboard-action-grid{grid-template-columns:1fr 1fr}.attendance-board{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.filter-bar{grid-template-columns:1fr 1fr}.filter-bar input{grid-column:span 2}.assignment-list-card{grid-template-columns:1fr}.quiz-taking-head{display:block}.quiz-timer{margin-top:14px;max-width:160px}.event-card-premium{display:block}.event-card-premium .date-box{margin-bottom:12px}}
@media(max-width:620px){.dashboard-action-grid,.attendance-board{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.filter-bar input{grid-column:auto}.sticky-submit-bar{bottom:6px}.login-role-strip{grid-template-columns:1fr}.hero-actions{width:100%}.hero-actions .btn{width:100%}}


/* V8 school services: fees & leave management */
.compact-payment-form{display:grid;grid-template-columns:120px 145px 110px 150px auto;gap:7px;align-items:center;padding:12px;margin-top:8px;background:#f7f9fc;border:1px solid var(--line);border-radius:12px;min-width:650px}.compact-payment-form input,.compact-payment-form select{min-height:36px;padding:7px 9px}.table-wrap details summary{cursor:pointer;list-style:none}.table-wrap details summary::-webkit-details-marker{display:none}.student-service-grid{margin-bottom:20px}.submission-row .bulk-student{min-width:210px}.submission-row .notice-soft{min-width:150px;margin:0}.timeline-item>span:not(:empty){display:grid;place-items:center;width:30px;height:30px;min-width:30px;border-radius:10px;background:#eef3ff;color:#315bc3;font-weight:900;font-size:11px}.fee-balance-positive{font-weight:900}.button-row{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.compact-payment-form{grid-template-columns:1fr 1fr;min-width:0}.compact-payment-form .mini-btn{grid-column:span 2}.submission-row .bulk-student{min-width:0}}
@media(max-width:620px){.compact-payment-form{grid-template-columns:1fr}.compact-payment-form .mini-btn{grid-column:auto}.submission-row .notice-soft{min-width:0}}

/* ============================================================
   V8 FINAL PREMIUM UI POLISH
   ============================================================ */
:root{--bg:#f3f6fa;--panel:#fff;--text:#11233c;--muted:#718097;--line:#e3e9f1;--nav:#071421;--primary:#155fa9;--primary-dark:#0e477f;--accent:#2c80c9;--radius:18px;--shadow:0 16px 42px rgba(20,47,79,.07)}
body{background:linear-gradient(180deg,#f7f9fc 0,#f2f5f9 260px,#f3f6fa 100%)}
.sidebar{background:linear-gradient(180deg,#061321 0%,#0a1e32 58%,#071421 100%);box-shadow:18px 0 50px rgba(4,18,31,.06)}
.brand{padding-bottom:18px}.brand-logo{width:48px;height:48px;background:#fff;padding:4px;border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.brand strong{font-size:12px;line-height:1.25;letter-spacing:.045em}.brand small{font-size:9.5px;color:#8ea1b8}
.sidebar-nav a,.logout-link{border:1px solid transparent}.sidebar-nav a:hover,.sidebar-nav a.active{background:linear-gradient(90deg,rgba(42,122,194,.24),rgba(255,255,255,.035));box-shadow:inset 3px 0 0 #4ba2e8;border-color:rgba(255,255,255,.035)}
.main{max-width:1800px}.topbar{position:sticky;top:0;z-index:30;padding:10px 0 14px;background:linear-gradient(180deg,rgba(247,249,252,.97) 70%,rgba(247,249,252,0));backdrop-filter:blur(8px)}
.topbar h1{color:#10263f;font-size:26px}.page-kicker,.eyebrow{color:#3379b4}
.card,.stat-card{border-color:#e1e8f0;box-shadow:0 12px 32px rgba(20,47,79,.045)}
.card{border-radius:18px}.card:hover{border-color:#d9e3ed}.stat-card:after{background:linear-gradient(180deg,#155fa9,#4b9fe0)}
.hero-panel{background:linear-gradient(120deg,#0b2c4b 0%,#10558d 52%,#267fc0 100%);box-shadow:0 20px 50px rgba(15,73,119,.17)}
.student-hero,.teacher-hero,.premium-admin-hero{background:linear-gradient(120deg,#092a47 0%,#0e507f 52%,#2178b8 100%)}
.btn.primary{background:linear-gradient(135deg,#155fa9,#2c80c9);box-shadow:0 10px 24px rgba(21,95,169,.20)}
.btn.primary:hover{box-shadow:0 13px 28px rgba(21,95,169,.28)}
input,select,textarea{border-color:#d8e1eb;background:#fff;border-radius:10px}input:focus,select:focus,textarea:focus{border-color:#4b8fc7;box-shadow:0 0 0 3px rgba(47,123,184,.10)}
.table-wrap{border:1px solid #e4eaf1;border-radius:14px;background:#fff}table{background:#fff}th{background:#f5f8fb;color:#65758a;padding-top:13px;padding-bottom:13px}tbody tr:hover{background:#fafcff}td{border-color:#edf1f5}
.mini-btn{border-color:#d9e2eb;color:#41576e}.mini-btn:hover{border-color:#bdd0e2;background:#f5f9fc}
.user-chip,.top-action{border-color:#dfe7ef;box-shadow:0 8px 24px rgba(22,48,77,.035)}
.notice-soft{background:#f5f8fb;border-color:#e0e8f0}.empty{color:#7f8da0}
.assignment-list-card,.course-mini-panel,.course-link-card,.course-student-card,.question-card,.student-question-card{box-shadow:0 7px 22px rgba(22,48,77,.035)}
.login-hero-card{border-radius:24px;background:linear-gradient(180deg,rgba(5,28,50,.89),rgba(6,24,42,.94));box-shadow:0 36px 90px rgba(0,12,28,.44)}
.login-hero-logo{width:94px;height:94px;border:5px solid rgba(255,255,255,.15)}
.login-hero-heading h1{font-size:30px}.login-hero-btn{background:linear-gradient(135deg,#0e568f,#1d78b9)}
/* Keep the requested student/teacher course workspace monochrome. */
.course-shell-banner,.teacher-shell-banner{background:linear-gradient(90deg,#17191c,#777a7f 58%,#eceeef 100%)!important}
.course-accordion summary{background:#f7f7f8!important;color:#343a43!important}
@media(max-width:920px){.topbar{position:relative;backdrop-filter:none}.main{max-width:none}}


/* V8.2 reliable teacher subject dropdown */
.premium-select{
  display:block!important;width:100%!important;min-height:48px!important;height:48px!important;
  padding:0 44px 0 14px!important;border:1px solid #cfdbe8!important;border-radius:12px!important;
  background-color:#fff!important;color:#17263d!important;line-height:48px!important;
  appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;
  background-image:linear-gradient(45deg,transparent 50%,#334e6f 50%),linear-gradient(135deg,#334e6f 50%,transparent 50%)!important;
  background-position:calc(100% - 19px) 21px,calc(100% - 14px) 21px!important;
  background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;
  box-shadow:none!important;overflow:hidden!important;
}
.premium-select:focus{border-color:#4b8fc7!important;box-shadow:0 0 0 3px rgba(47,123,184,.10)!important;outline:0!important}
.premium-select:disabled{background-color:#f3f6f9!important;color:#8b98a9!important;cursor:not-allowed!important}
.premium-select optgroup{font-weight:800;color:#213b5b}.premium-select option{font-weight:500;color:#17263d;background:#fff}

/* V8.3 class-wise workflow + recurring fee register */
.fee-plan-table{min-width:1050px}
.fee-plan-row{display:grid;grid-template-columns:150px 140px 150px 90px 90px auto;gap:8px;align-items:center}
.fee-plan-row input,.fee-plan-row select{min-width:0}
.fee-active-check{display:flex!important;align-items:center;gap:6px;margin:0!important;white-space:nowrap;font-size:10px;font-weight:800;color:#536177}
.fee-active-check input{width:auto!important;min-height:auto!important;margin:0}
.fee-class-selector{border-top:3px solid #1f5ea8}.fee-class-selector .bulk-attendance-toolbar{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(150px,.75fr) auto}.fee-year-report-control{align-items:center}.fee-year-report-control select{min-width:125px;background:#f7fbff;border-color:#cfe0ed}.fee-report-hint{background:linear-gradient(135deg,#fff,#f5fbff)}
.class-module-filter{border-top:3px solid #26384e}
@media(max-width:1100px){.fee-plan-row{grid-template-columns:130px 120px 140px 80px 80px auto}}
@media(max-width:760px){.fee-plan-row{grid-template-columns:1fr 1fr}.fee-plan-row .mini-btn{grid-column:span 2}.fee-active-check{min-height:42px}.fee-plan-table{min-width:760px}}
.mark-na{background:#f5f6f8!important;color:#9aa3af!important;font-weight:700}
.subject-access-filter{grid-template-columns:1fr 150px 150px minmax(260px,1.4fr)!important}
@media(max-width:1050px){.subject-access-filter{grid-template-columns:1fr 1fr!important}.subject-access-filter .wide-permissions,.subject-access-filter>.btn{grid-column:span 2!important}}
@media(max-width:620px){.subject-access-filter{grid-template-columns:1fr!important}.subject-access-filter .wide-permissions,.subject-access-filter>.btn{grid-column:auto!important}}


/* V8.6.2 Subjects behave like courses */
.subject-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.subject-course-card{overflow:hidden;border:1px solid #dfe4eb;border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(26,42,66,.06);transition:.2s ease;color:inherit}.subject-course-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(26,42,66,.12);border-color:#cbd1da}.subject-course-cover{position:relative;height:132px;padding:20px;background:linear-gradient(135deg,#111214,#484b50 58%,#a8aaad);overflow:hidden}.subject-course-cover:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-68px;top:-92px;border:32px solid rgba(255,255,255,.07)}.teacher-subject-card .subject-course-cover{background:linear-gradient(135deg,#0f1720,#283747 58%,#75808b)}.subject-course-logo{position:relative;z-index:1;width:70px;height:70px;padding:9px;border-radius:19px;background:#fff;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.18)}.subject-course-code{position:absolute;z-index:1;right:16px;bottom:15px;padding:6px 9px;border-radius:999px;background:rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:9px;font-weight:900;letter-spacing:.05em}.subject-course-body{padding:18px}.subject-course-body h3{font-size:20px;margin:6px 0}.subject-course-body p{font-size:11px;min-height:54px;margin-bottom:13px}.subject-course-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.subject-course-stats span{padding:9px 7px;border-radius:11px;background:#f5f6f8;color:#7a818c;font-size:8px;text-align:center}.subject-course-stats b{display:block;color:#171a20;font-size:15px;margin-bottom:2px}.subject-workspace-hero{display:flex;align-items:center;gap:18px;padding:26px 28px;margin-bottom:18px;border-radius:24px;background:linear-gradient(105deg,#111214,#34363a 60%,#777a80);color:#fff;box-shadow:0 18px 44px rgba(17,18,20,.14)}.teacher-subject-workspace{background:linear-gradient(105deg,#0f1b28,#22384d 60%,#637282)}.subject-workspace-logo{width:84px;height:84px;padding:9px;border-radius:22px;background:#fff;display:grid;place-items:center;flex:none}.subject-workspace-hero h1{font-size:31px;margin:5px 0 6px}.subject-workspace-hero p{margin:0;color:#e2e4e7}.subject-quick-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 18px}.subject-quick-tabs a{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid #dfe4eb;font-size:11px;font-weight:800;color:#39414d}.subject-quick-tabs a:hover{background:#17191d;color:#fff;border-color:#17191d}.subject-learning-row{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid #edf0f4}.subject-learning-row:last-child{border-bottom:0}.subject-learning-row b,.subject-learning-row small{display:block}.subject-learning-row b{font-size:12px;color:#202733}.subject-learning-row small{font-size:9px;color:#7b8491;margin-top:4px}.subject-learning-row p{font-size:11px;margin:7px 0}.subject-item-number{width:34px;height:34px;border-radius:10px;background:#17191d;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900;flex:none}.subject-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.subject-action-card{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid #e0e4ea;border-radius:16px;background:#fff;color:inherit}.subject-action-card:hover{border-color:#bfc5ce;background:#fafbfc}.subject-action-card b,.subject-action-card small{display:block}.subject-action-card b{font-size:12px}.subject-action-card small{font-size:9px;margin-top:4px;color:#78818d}.subject-showcase-link{color:inherit;transition:.18s}.subject-showcase-link:hover{transform:translateY(-2px);border-color:#c5cad2}.subject-showcase-link .text-link{display:block;margin-top:6px;color:#17191d}
@media(max-width:1100px){.subject-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.subject-course-grid,.subject-action-grid{grid-template-columns:1fr}.subject-workspace-hero{align-items:flex-start;flex-wrap:wrap;padding:21px}.subject-workspace-logo{width:68px;height:68px}.subject-workspace-hero h1{font-size:24px}.subject-workspace-hero .btn{width:100%}.subject-course-stats{grid-template-columns:repeat(3,1fr)}}

/* =========================================================
   V8.6.3 RESULT LAYOUT + ONE-PAGE A4 PRINT FIX
   ========================================================= */
.result-sheet-card{
  background:#fff !important;
  padding:88px 0 0 !important;
  overflow:hidden;
}
.result-sheet-head{
  background:#fff;
}
.result-student-info{
  background:#fff;
  padding-bottom:30px;
}
.result-summary-grid{
  position:relative;
  z-index:2;
  margin:0 !important;
  padding:24px 34px 18px !important;
  background:linear-gradient(135deg,#0d63bf 0%,#176fd2 100%);
  color:#fff;
}
.result-summary-box{
  min-width:0;
  background:rgba(255,255,255,.13) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.result-table-wrap{
  padding:6px 34px 24px !important;
  background:linear-gradient(135deg,#0d63bf 0%,#0a56a8 100%);
}
.result-card-footer{
  margin:0 !important;
  padding:0 34px 28px !important;
  background:linear-gradient(135deg,#0a56a8 0%,#08498f 100%);
}
.result-table-premium{
  margin:0;
}

@media print{
  @page{size:A4 portrait;margin:6mm}
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  body{font-family:Arial,Helvetica,sans-serif!important}
  .app-shell{min-height:0!important}
  .sidebar,.topbar,.hero-panel,.no-print,.sidebar-backdrop,.app-footer{display:none!important}
  .main{margin:0!important;width:100%!important;min-height:0!important;padding:0!important}
  .result-sheet-card{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:48px 0 0!important;
    border:1px solid #d9e4f2!important;
    border-radius:0!important;
    box-shadow:none!important;
    page-break-inside:avoid!important;
    break-inside:avoid-page!important;
    page-break-after:always!important;
    overflow:hidden!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  .result-sheet-card:last-of-type{page-break-after:auto!important}
  .result-top-circle{
    top:8px!important;
    width:58px!important;
    height:58px!important;
    border-width:4px!important;
    box-shadow:none!important;
  }
  .result-top-circle img{width:43px!important;height:43px!important}
  .result-sheet-head{padding:18px 18px 11px!important}
  .result-kicker{font-size:7px!important;letter-spacing:.11em!important;margin-bottom:3px!important}
  .result-sheet-head h2{font-size:19px!important;line-height:1.1!important;margin:0 0 4px!important}
  .result-sheet-head p{font-size:8px!important;line-height:1.3!important;margin:0!important}
  .result-student-info{
    grid-template-columns:1fr 1fr!important;
    gap:0 14px!important;
    max-width:none!important;
    padding:0 20px 12px!important;
  }
  .result-info-row{
    grid-template-columns:94px 1fr!important;
    min-height:0!important;
    padding:4px 0!important;
    border-bottom:1px solid #e8eef6!important;
  }
  .result-info-row span{font-size:6.6px!important;line-height:1.2!important}
  .result-info-row strong{font-size:8px!important;line-height:1.2!important}
  .result-summary-grid{
    grid-template-columns:repeat(5,1fr)!important;
    gap:6px!important;
    padding:9px 18px 8px!important;
    background:#1268c5!important;
  }
  .result-summary-box{
    border-radius:7px!important;
    padding:7px 4px!important;
    min-height:41px!important;
  }
  .result-summary-box span{font-size:5.8px!important;margin-bottom:3px!important;letter-spacing:.025em!important}
  .result-summary-box strong{font-size:14px!important;line-height:1!important}
  .result-table-wrap{
    padding:4px 18px 9px!important;
    background:#0c58a9!important;
    overflow:visible!important;
  }
  .result-table-premium{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-radius:8px!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  .result-table-premium thead{display:table-header-group!important}
  .result-table-premium tr{page-break-inside:avoid!important;break-inside:avoid!important}
  .result-table-premium thead th{
    font-size:6.2px!important;
    padding:5px 4px!important;
    letter-spacing:0!important;
    white-space:normal!important;
    line-height:1.15!important;
  }
  .result-table-premium tbody td,.result-table-premium tfoot td{
    font-size:7px!important;
    padding:4px 4px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  .result-table-premium th:first-child,.result-table-premium td:first-child{width:29%!important}
  .result-table-premium th:not(:first-child),.result-table-premium td:not(:first-child){text-align:center!important}
  .result-subject-name{gap:5px!important}
  .result-subject-name .subject-logo-tile{display:none!important}
  .result-subject-name b{font-size:7.4px!important;line-height:1.1!important}
  .result-subject-name small{font-size:5.6px!important;margin-top:1px!important}
  .result-status-pill{
    min-width:0!important;
    padding:3px 5px!important;
    font-size:6px!important;
    border-radius:999px!important;
  }
  .result-card-footer{
    display:block!important;
    padding:6px 18px 8px!important;
    background:#08498f!important;
  }
  .result-card-footer p{font-size:5.8px!important;line-height:1.25!important;margin:0!important;color:#fff!important}
}

@media(max-width:980px){
  .result-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}
  .result-summary-box{padding:13px 6px!important}
  .result-summary-box strong{font-size:21px!important}
}
@media(max-width:680px){
  .result-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .result-summary-box:last-child{grid-column:span 2}
}


/* =========================================================
   V8.6.4 RESULT SCREEN + OFFICIAL REPORT PRINT TEMPLATE
   ========================================================= */
.result-record{margin-bottom:28px}
.result-print-report{display:none}

/* Screen result: keep every section in its own block; no overlap */
.result-sheet-card{position:relative!important;padding:0!important;background:#fff!important;border:1px solid #dbe7f5!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 24px 64px rgba(25,69,123,.10)!important}
.result-top-circle{top:26px!important;width:96px!important;height:96px!important;border:6px solid #1768bf!important;background:#fff!important;box-shadow:0 12px 28px rgba(21,90,164,.16)!important;z-index:4!important}
.result-top-circle img{width:72px!important;height:72px!important;object-fit:contain!important}
.result-sheet-head{padding:134px 34px 22px!important;background:#fff!important;text-align:center!important}
.result-kicker{color:#1768bf!important}
.result-sheet-head h2{color:#102e58!important}
.result-student-info{padding:0 34px 30px!important;background:#fff!important}
.result-summary-grid{position:static!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;margin:0!important;padding:22px 34px!important;background:#1768bf!important;color:#fff!important}
.result-summary-box{position:static!important;transform:none!important;margin:0!important;min-height:86px!important;padding:14px 9px!important;border-radius:15px!important;background:#236fc2!important;border:1px solid rgba(255,255,255,.22)!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.result-summary-box span{color:#dcecff!important;font-size:9px!important;margin:0 0 7px!important}
.result-summary-box strong{color:#fff!important;font-size:23px!important;line-height:1.05!important}
.result-table-wrap{padding:18px 34px 24px!important;background:#0f5ead!important}
.result-table-premium{background:#fff!important;border-radius:16px!important;box-shadow:0 12px 28px rgba(5,43,88,.12)!important}
.result-card-footer{padding:0 34px 26px!important;background:#0f5ead!important}
.result-card-footer p{color:#e7f1ff!important}

/* Print is a separate report; screen result card never participates */
@media print{
  @page{size:A4 portrait;margin:9mm}
  html,body{margin:0!important;padding:0!important;background:#fff!important;color:#111!important}
  body{font-family:Arial,Helvetica,sans-serif!important}
  .sidebar,.topbar,.hero-panel,.sidebar-backdrop,.app-footer,.no-print{display:none!important}
  .main{margin:0!important;padding:0!important;width:100%!important;min-height:0!important}
  .result-sheet-card{display:none!important}
  .result-record{display:block!important;margin:0!important;padding:0!important;page-break-after:always!important}
  .result-record:last-of-type{page-break-after:auto!important}
  body.result-print-single .result-record{display:none!important}
  body.result-print-single .result-record.is-printing{display:block!important}
  .result-print-report{display:block!important;width:100%!important;box-sizing:border-box!important;border:1px solid #183e68!important;padding:8mm 8mm 6mm!important;background:#fff!important;page-break-inside:avoid!important;break-inside:avoid-page!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .rpr-header{display:grid!important;grid-template-columns:58px 1fr 112px!important;gap:11px!important;align-items:center!important}
  .rpr-logo img{width:54px!important;height:54px!important;object-fit:contain!important}
  .rpr-school h1{margin:0!important;font-size:17px!important;line-height:1.05!important;color:#143d69!important;text-transform:uppercase!important;letter-spacing:.02em!important}
  .rpr-subtitle{font-size:8px!important;font-weight:800!important;letter-spacing:.14em!important;color:#456b92!important;margin-top:4px!important}
  .rpr-school p{margin:4px 0 0!important;font-size:8px!important;line-height:1.25!important;color:#333!important}
  .rpr-meta{display:grid!important;grid-template-columns:1fr!important;gap:1px!important;text-align:right!important}
  .rpr-meta span{font-size:6.5px!important;color:#667788!important;text-transform:uppercase!important;font-weight:700!important}
  .rpr-meta b{font-size:8px!important;margin-bottom:4px!important;color:#172b41!important}
  .rpr-rule{height:3px!important;background:#1d5f9e!important;margin:6px 0 7px!important}
  .rpr-student-table,.rpr-summary-table,.rpr-marks-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}
  .rpr-student-table{margin-bottom:7px!important}
  .rpr-student-table th,.rpr-student-table td{border:1px solid #cbd5df!important;padding:4px 5px!important;font-size:7.4px!important;line-height:1.2!important}
  .rpr-student-table th{width:15%!important;background:#eef4fa!important;color:#274e76!important;text-align:left!important;text-transform:uppercase!important;font-size:6.5px!important}
  .rpr-student-table td{width:35%!important;font-weight:700!important;color:#17293c!important}
  .rpr-summary-table{margin-bottom:8px!important}
  .rpr-summary-table th{background:#183f69!important;color:#fff!important;border:1px solid #183f69!important;padding:4px 3px!important;font-size:6.5px!important;text-transform:uppercase!important;letter-spacing:.02em!important;text-align:center!important}
  .rpr-summary-table td{border:1px solid #bdc9d6!important;padding:5px 3px!important;font-size:10px!important;font-weight:800!important;text-align:center!important;color:#142d48!important}
  .rpr-overall-status.pass{color:#0c6c40!important}.rpr-overall-status.fail{color:#a01f2f!important}
  .rpr-marks-table{margin-bottom:7px!important}
  .rpr-marks-table th,.rpr-marks-table td{border:1px solid #bfcbd7!important;padding:4px 3px!important;text-align:center!important;font-size:7px!important;line-height:1.16!important}
  .rpr-marks-table thead th{background:#dfeaf5!important;color:#173c62!important;text-transform:uppercase!important;font-size:6.4px!important;font-weight:800!important}
  .rpr-marks-table tbody tr:nth-child(even) td{background:#f8fafc!important}
  .rpr-marks-table .c-no{width:4%!important}.rpr-marks-table .c-subject{width:25%!important;text-align:left!important}.rpr-marks-table th:nth-child(3){width:9%!important}.rpr-marks-table th:nth-child(4),.rpr-marks-table th:nth-child(5),.rpr-marks-table th:nth-child(6){width:9%!important}.rpr-marks-table th:nth-child(7){width:8%!important}.rpr-marks-table th:nth-child(8){width:8%!important}.rpr-marks-table th:nth-child(9){width:10%!important}
  .rpr-marks-table tfoot th{background:#183f69!important;color:#fff!important;font-weight:800!important}
  .rpr-status.pass{color:#0a7343!important;font-weight:800!important}.rpr-status.fail{color:#a52232!important;font-weight:800!important}.rpr-status.pending{color:#815d00!important;font-weight:800!important}
  .rpr-note{border:1px solid #d6dee6!important;background:#f6f9fc!important;padding:5px 6px!important;font-size:6.6px!important;line-height:1.3!important;color:#394c60!important;margin-top:4px!important}
  .rpr-signatures{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;margin-top:15mm!important}
  .rpr-signatures div{text-align:center!important}.rpr-signatures span{display:block!important;border-top:1px solid #2e3d4d!important;margin-bottom:3px!important}.rpr-signatures b{font-size:6.8px!important;color:#26394b!important}
  .rpr-footer{display:flex!important;justify-content:space-between!important;gap:10px!important;margin-top:6mm!important;padding-top:3px!important;border-top:1px solid #b9c7d4!important;font-size:5.9px!important;color:#6a7784!important}
}

@media(max-width:980px){.result-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:700px){.result-sheet-head{padding:122px 18px 18px!important}.result-student-info{padding:0 18px 22px!important}.result-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:16px 18px!important}.result-summary-box:last-child{grid-column:span 2}.result-table-wrap,.result-card-footer{padding-left:18px!important;padding-right:18px!important}}


/* V8.6.5 Download-as-image controls */
.result-download-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.result-download-btn{background:#0c3458!important;color:#fff!important;border-color:#0c3458!important}
.result-download-btn:disabled{opacity:.65;cursor:wait}

/* The hidden print report is temporarily cloned with this class for PNG export. */
.result-print-report.result-download-image{display:block!important;width:1120px!important;box-sizing:border-box!important;border:2px solid #183e68!important;padding:34px 34px 28px!important;background:#fff!important;color:#17293c!important;font-family:Inter,Arial,sans-serif!important}
.result-download-image .rpr-header{display:grid!important;grid-template-columns:92px 1fr 190px!important;gap:20px!important;align-items:center!important}
.result-download-image .rpr-logo img{width:86px!important;height:86px!important;object-fit:contain!important}
.result-download-image .rpr-school h1{margin:0!important;font-size:27px!important;line-height:1.08!important;color:#143d69!important;text-transform:uppercase!important;letter-spacing:.02em!important}
.result-download-image .rpr-subtitle{font-size:12px!important;font-weight:800!important;letter-spacing:.14em!important;color:#456b92!important;margin-top:7px!important}
.result-download-image .rpr-school p{margin:7px 0 0!important;font-size:13px!important;line-height:1.3!important;color:#333!important}
.result-download-image .rpr-meta{display:grid!important;grid-template-columns:1fr!important;gap:2px!important;text-align:right!important}
.result-download-image .rpr-meta span{font-size:10px!important;color:#667788!important;text-transform:uppercase!important;font-weight:700!important}
.result-download-image .rpr-meta b{font-size:13px!important;margin-bottom:7px!important;color:#172b41!important}
.result-download-image .rpr-rule{height:5px!important;background:#1d5f9e!important;margin:12px 0 14px!important}
.result-download-image .rpr-student-table,.result-download-image .rpr-summary-table,.result-download-image .rpr-marks-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}
.result-download-image .rpr-student-table{margin-bottom:14px!important}
.result-download-image .rpr-student-table th,.result-download-image .rpr-student-table td{border:1px solid #cbd5df!important;padding:8px 9px!important;font-size:12px!important;line-height:1.25!important}
.result-download-image .rpr-student-table th{width:15%!important;background:#eef4fa!important;color:#274e76!important;text-align:left!important;text-transform:uppercase!important;font-size:10px!important}
.result-download-image .rpr-student-table td{width:35%!important;font-weight:700!important;color:#17293c!important}
.result-download-image .rpr-summary-table{margin-bottom:15px!important}
.result-download-image .rpr-summary-table th{background:#183f69!important;color:#fff!important;border:1px solid #183f69!important;padding:8px 5px!important;font-size:10px!important;text-transform:uppercase!important;text-align:center!important}
.result-download-image .rpr-summary-table td{border:1px solid #bdc9d6!important;padding:10px 5px!important;font-size:17px!important;font-weight:800!important;text-align:center!important;color:#142d48!important}
.result-download-image .rpr-overall-status.pass{color:#0c6c40!important}.result-download-image .rpr-overall-status.fail{color:#a01f2f!important}
.result-download-image .rpr-marks-table{margin-bottom:14px!important}
.result-download-image .rpr-marks-table th,.result-download-image .rpr-marks-table td{border:1px solid #bfcbd7!important;padding:8px 5px!important;text-align:center!important;font-size:11px!important;line-height:1.2!important}
.result-download-image .rpr-marks-table thead th{background:#dfeaf5!important;color:#173c62!important;text-transform:uppercase!important;font-size:10px!important;font-weight:800!important}
.result-download-image .rpr-marks-table tbody tr:nth-child(even) td{background:#f8fafc!important}
.result-download-image .rpr-marks-table .c-no{width:4%!important}.result-download-image .rpr-marks-table .c-subject{width:25%!important;text-align:left!important}
.result-download-image .rpr-marks-table tfoot th{background:#183f69!important;color:#fff!important;font-weight:800!important}
.result-download-image .rpr-status.pass{color:#0a7343!important;font-weight:800!important}.result-download-image .rpr-status.fail{color:#a52232!important;font-weight:800!important}.result-download-image .rpr-status.pending{color:#815d00!important;font-weight:800!important}
.result-download-image .rpr-note{border:1px solid #d6dee6!important;background:#f6f9fc!important;padding:9px 10px!important;font-size:10px!important;line-height:1.35!important;color:#394c60!important;margin-top:7px!important}
.result-download-image .rpr-signatures{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:34px!important;margin-top:70px!important}
.result-download-image .rpr-signatures div{text-align:center!important}.result-download-image .rpr-signatures span{display:block!important;border-top:1px solid #2e3d4d!important;margin-bottom:5px!important}.result-download-image .rpr-signatures b{font-size:10px!important;color:#26394b!important}
.result-download-image .rpr-footer{display:flex!important;justify-content:space-between!important;gap:10px!important;margin-top:26px!important;padding-top:6px!important;border-top:1px solid #b9c7d4!important;font-size:9px!important;color:#6a7784!important}

/* Class result image export removes buttons and scroll clipping. */
.final-class-result.class-result-download-image{width:1500px!important;max-width:none!important;margin:0!important;padding:28px!important;background:#fff!important;border-radius:0!important;box-shadow:none!important}
.class-result-download-image .no-print{display:none!important}
.class-result-download-image .table-wrap{overflow:visible!important}
.class-result-download-image .class-result-matrix{min-width:0!important;width:100%!important}


/* V8.6.6 result page screen report fix */
.result-record{margin-bottom:28px!important}
.result-sheet-card{display:none!important}
.result-screen-actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important;margin:0 0 12px!important}
.result-print-report.result-report-screen{display:block!important;max-width:1100px!important;margin:0 auto!important;padding:28px 28px 24px!important;background:#fff!important;border:1px solid #d6e0ea!important;border-radius:22px!important;box-shadow:0 20px 55px rgba(18,54,92,.10)!important}
.result-report-screen .rpr-header{display:grid!important;grid-template-columns:88px 1fr 180px!important;gap:18px!important;align-items:center!important}
.result-report-screen .rpr-logo img{width:82px!important;height:82px!important;object-fit:contain!important}
.result-report-screen .rpr-school h1{margin:0!important;font-size:30px!important;line-height:1.08!important;color:#143d69!important;text-transform:uppercase!important;letter-spacing:.01em!important}
.result-report-screen .rpr-subtitle{font-size:12px!important;font-weight:800!important;letter-spacing:.16em!important;color:#456b92!important;margin-top:7px!important}
.result-report-screen .rpr-school p{margin:8px 0 0!important;font-size:14px!important;line-height:1.35!important;color:#38506a!important}
.result-report-screen .rpr-meta{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;text-align:right!important}
.result-report-screen .rpr-meta span{font-size:10px!important;color:#667788!important;text-transform:uppercase!important;font-weight:700!important}
.result-report-screen .rpr-meta b{font-size:13px!important;margin-bottom:8px!important;color:#172b41!important}
.result-report-screen .rpr-rule{height:4px!important;background:#1d5f9e!important;margin:12px 0 15px!important}
.result-report-screen .rpr-student-table,.result-report-screen .rpr-summary-table,.result-report-screen .rpr-marks-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}
.result-report-screen .rpr-student-table{margin-bottom:14px!important}
.result-report-screen .rpr-student-table th,.result-report-screen .rpr-student-table td{border:1px solid #d0d9e4!important;padding:9px 10px!important;font-size:12px!important;line-height:1.3!important}
.result-report-screen .rpr-student-table th{width:15%!important;background:#eef4fa!important;color:#274e76!important;text-align:left!important;text-transform:uppercase!important;font-size:10px!important}
.result-report-screen .rpr-student-table td{width:35%!important;font-weight:700!important;color:#17293c!important}
.result-report-screen .rpr-summary-table{margin-bottom:14px!important}
.result-report-screen .rpr-summary-table th{background:#183f69!important;color:#fff!important;border:1px solid #183f69!important;padding:8px 6px!important;font-size:10px!important;text-transform:uppercase!important;text-align:center!important}
.result-report-screen .rpr-summary-table td{border:1px solid #bdc9d6!important;padding:10px 6px!important;font-size:17px!important;font-weight:800!important;text-align:center!important;color:#142d48!important}
.result-report-screen .rpr-overall-status.pass{color:#0c6c40!important}.result-report-screen .rpr-overall-status.fail{color:#a01f2f!important}.result-report-screen .rpr-overall-status.incomplete{color:#815d00!important}
.result-report-screen .rpr-marks-table{margin-bottom:14px!important}
.result-report-screen .rpr-marks-table th,.result-report-screen .rpr-marks-table td{border:1px solid #c7d1dc!important;padding:8px 6px!important;text-align:center!important;font-size:11px!important;line-height:1.25!important}
.result-report-screen .rpr-marks-table thead th{background:#dfeaf5!important;color:#173c62!important;text-transform:uppercase!important;font-size:10px!important;font-weight:800!important}
.result-report-screen .rpr-marks-table tbody tr:nth-child(even) td{background:#f8fafc!important}
.result-report-screen .rpr-marks-table .c-no{width:4%!important}.result-report-screen .rpr-marks-table .c-subject{width:25%!important;text-align:left!important}
.result-report-screen .rpr-marks-table tfoot th{background:#183f69!important;color:#fff!important;font-weight:800!important}
.result-report-screen .rpr-status.pass{color:#0a7343!important;font-weight:800!important}.result-report-screen .rpr-status.fail{color:#a52232!important;font-weight:800!important}.result-report-screen .rpr-status.pending{color:#815d00!important;font-weight:800!important}
.result-report-screen .rpr-note{border:1px solid #d6dee6!important;background:#f6f9fc!important;padding:10px 12px!important;font-size:11px!important;line-height:1.45!important;color:#394c60!important;margin-top:8px!important}
.result-report-screen .rpr-signatures{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:34px!important;margin-top:70px!important}
.result-report-screen .rpr-signatures div{text-align:center!important}.result-report-screen .rpr-signatures span{display:block!important;border-top:1px solid #2e3d4d!important;margin-bottom:5px!important}.result-report-screen .rpr-signatures b{font-size:10px!important;color:#26394b!important}
.result-report-screen .rpr-footer{display:flex!important;justify-content:space-between!important;gap:10px!important;margin-top:26px!important;padding-top:6px!important;border-top:1px solid #b9c7d4!important;font-size:9px!important;color:#6a7784!important}
@media(max-width:900px){.result-print-report.result-report-screen{padding:22px 18px 18px!important}.result-report-screen .rpr-header{grid-template-columns:70px 1fr!important;gap:12px!important}.result-report-screen .rpr-meta{grid-column:1/-1!important;text-align:left!important;border-top:1px solid #dbe4ee!important;padding-top:10px!important}.result-report-screen .rpr-school h1{font-size:23px!important}.result-report-screen .rpr-school p{font-size:12px!important}.result-report-screen .rpr-summary-table td{font-size:14px!important}.result-report-screen .rpr-signatures{gap:16px!important;margin-top:46px!important}}
@media(max-width:640px){.result-screen-actions{justify-content:stretch!important}.result-screen-actions .btn{width:100%!important}.result-report-screen .rpr-student-table,.result-report-screen .rpr-summary-table,.result-report-screen .rpr-marks-table{display:block!important;overflow-x:auto!important;white-space:nowrap!important}.result-report-screen .rpr-school h1{font-size:19px!important}.result-report-screen .rpr-logo img{width:64px!important;height:64px!important}.result-report-screen .rpr-footer{display:block!important}.result-report-screen .rpr-footer span{display:block!important;margin-top:4px!important}}

/* =========================================================
   LIS LMS V9 — performance-safe premium UI refinements
   ========================================================= */
:root{
  --bg:#f2f6fb;--panel:#fff;--text:#10233f;--muted:#6f7f95;--line:#dde7f2;
  --primary:#145fae;--primary-dark:#0e4c91;--accent:#2f82d2;
  --radius:20px;--shadow:0 16px 44px rgba(17,54,94,.075);
}
body{background:linear-gradient(180deg,#f7faff 0,#eef4fa 100%);}
.main{max-width:1900px;margin-left:278px;padding:26px 32px 58px;background:transparent}
.topbar{position:sticky;top:0;z-index:25;padding:10px 0 14px;background:linear-gradient(180deg,rgba(242,246,251,.97) 75%,rgba(242,246,251,0));backdrop-filter:blur(8px)}
.card,.stat-card{border-color:#dfe8f2;box-shadow:0 12px 34px rgba(22,61,103,.055)}
.card{border-radius:20px}.stat-card{border-radius:18px}.stat-card:after{background:linear-gradient(#1265b7,#55a1e7)}
.btn.primary{background:linear-gradient(135deg,#0f559f,#277fc8);box-shadow:0 10px 24px rgba(19,91,158,.22)}
input,select,textarea{border-color:#d5e1ed;background:#fff;border-radius:12px;min-height:45px}
input:focus,select:focus,textarea:focus{border-color:#3385cf;box-shadow:0 0 0 3px rgba(38,124,204,.11)}
select{background-image:linear-gradient(45deg,transparent 50%,#61758d 50%),linear-gradient(135deg,#61758d 50%,transparent 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px;appearance:none}
.table-wrap{border:1px solid #e4ebf3;background:#fff}.table-wrap table thead th{position:sticky;top:0;z-index:2;background:#f4f8fc}
.student-row,.list-item{transition:background .15s ease}.student-row:hover,.list-item:hover{background:#f8fbff}
.hero-panel{background:linear-gradient(120deg,#0c3967,#155f9d 55%,#2383c7);box-shadow:0 18px 48px rgba(14,71,124,.17)}
.sidebar{background:linear-gradient(180deg,#071727,#081d32 68%,#061320)}
.sidebar-nav a:hover,.sidebar-nav a.active{background:linear-gradient(90deg,rgba(35,132,213,.24),rgba(26,86,143,.09));box-shadow:inset 3px 0 0 #43a5ed}

/* User supplied LIS campus building is the permanent login background asset. */
.login-hero-body{background:
  linear-gradient(90deg,rgba(4,20,35,.72),rgba(5,29,50,.48) 48%,rgba(5,23,40,.62)),
  var(--lis-login-bg,url('../img/lis-campus-login.png')) center 58%/cover no-repeat fixed!important;
}
.login-hero-body:before{background:linear-gradient(180deg,rgba(3,13,24,.10),rgba(3,17,30,.38))!important}
.login-hero-card{background:linear-gradient(180deg,rgba(5,25,45,.90),rgba(5,22,39,.94))!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 34px 90px rgba(0,10,25,.42)!important;backdrop-filter:blur(12px)!important}
.login-hero-logo{box-shadow:0 12px 34px rgba(0,0,0,.24)!important}
.login-hero-heading h1{font-size:31px!important}.login-hero-heading p{color:#d6e6f6!important}
.login-role-strip span{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.13)!important}

/* Pagination */
.pagination{display:flex;gap:7px;align-items:center;justify-content:center;flex-wrap:wrap;margin:18px 0 2px}.pagination a,.pagination span{min-width:34px;height:34px;padding:0 10px;border:1px solid #dce5ef;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:#fff;font-size:11px;font-weight:800;color:#50627a}.pagination .active{background:#145fae;color:#fff;border-color:#145fae}.pagination .disabled{opacity:.45}
.system-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.health-item{border:1px solid #e0e8f1;background:#fff;border-radius:16px;padding:16px}.health-item b,.health-item small{display:block}.health-item b{font-size:13px}.health-item small{font-size:10px;margin-top:5px}.health-value{font-size:22px;font-weight:900;margin-top:10px;color:#174f87}.health-ok{color:#0d8557}.health-warn{color:#ae7410}.health-bad{color:#c63f55}
@media(max-width:920px){.main{margin-left:0;width:100%;padding:20px 18px 45px}.topbar{position:relative;top:auto;padding-top:0;background:transparent;backdrop-filter:none}.system-health-grid{grid-template-columns:1fr 1fr}.login-hero-body{background-attachment:scroll!important;background-position:center center!important}}
@media(max-width:620px){.system-health-grid{grid-template-columns:1fr}.main{padding:15px 12px 36px}.login-hero-card{border-radius:20px!important}.login-hero-heading h1{font-size:25px!important}}


/* V9 persistent branding controls */
.branding-preview-grid{display:grid;grid-template-columns:160px 1fr;gap:14px;margin:4px 0 18px}
.branding-preview-grid small{display:block;font-size:10px;font-weight:800;color:#73839a;margin-bottom:7px;text-transform:uppercase;letter-spacing:.05em}
.branding-preview{border:1px solid #dce5ef;border-radius:16px;background:#f7f9fc;overflow:hidden;height:120px}
.branding-preview.logo{display:grid;place-items:center;padding:12px}.branding-preview.logo img{max-width:92px;max-height:92px;object-fit:contain}
.branding-preview.background{background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
@media(max-width:680px){.branding-preview-grid{grid-template-columns:1fr}.branding-preview{height:150px}}

/* V9.0.1 login background fallback: bundled PNG is always shipped with the app. */
.login-hero-body{background-color:#32485b!important}

/* =========================================================
   LIS V10 Institutional Management UI
========================================================= */
.management-role-card{margin:14px 14px 18px;padding:13px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.05);border-radius:16px;display:flex;gap:11px;align-items:center}.management-role-card b,.management-role-card small{display:block}.management-role-card b{color:#fff;font-size:12px}.management-role-card small{color:#aebbd0;font-size:9px;margin-top:3px}.management-role-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#dfeeff}.management-role-icon .feature-svg{width:20px;height:20px}.v10-management-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#102f53,#236fb6 68%,#3a8bd2)!important}.v10-management-hero:after{content:"";position:absolute;right:-70px;top:-120px;width:330px;height:330px;border-radius:50%;border:52px solid rgba(255,255,255,.07)}.hero-role-badge{position:relative;z-index:2;min-width:190px;padding:17px 20px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);text-align:right}.hero-role-badge small,.hero-role-badge b,.hero-role-badge span{display:block;color:#fff}.hero-role-badge small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;opacity:.8}.hero-role-badge b{font-size:18px;margin:5px 0 3px}.hero-role-badge span{font-size:10px;opacity:.85}.v10-kpis .stat-card{min-height:138px}.v10-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.role-permission-list{display:grid;gap:10px}.role-permission-item{padding:13px 15px;border:1px solid #e1e8f0;border-radius:14px;background:#fbfcfe}.role-permission-item b,.role-permission-item span{display:block}.role-permission-item b{font-size:12px;color:#173552}.role-permission-item span{font-size:10px;color:#6a7a8c;line-height:1.5;margin-top:4px}.report-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 20px}.report-module-card{display:flex;gap:12px;align-items:flex-start;padding:17px;border:1px solid #dce5ef;border-radius:18px;background:#fff;color:inherit;box-shadow:0 7px 20px rgba(19,54,88,.04)}.report-module-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(19,54,88,.08)}.report-module-card b{display:block;font-size:13px;color:#173552}.report-module-card p{margin:5px 0 0;font-size:10px;line-height:1.5;color:#718196}.popover-form{min-width:260px;padding:12px;border:1px solid #dce4ee;border-radius:14px;background:#fff;box-shadow:0 14px 35px rgba(20,50,80,.12);margin-top:8px}.popover-form hr{border:0;border-top:1px solid #edf1f5;margin:12px 0}.parent-hero{background:linear-gradient(135deg,#173e68,#2b78b8)!important}.parent-child-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.parent-child-card{display:block;padding:20px;border:1px solid #dce5ef;border-radius:22px;background:#fff;color:inherit;box-shadow:0 12px 30px rgba(20,53,85,.06)}.parent-child-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(20,53,85,.1)}.parent-child-head{display:flex;gap:14px;align-items:center}.parent-child-head img,.parent-child-photo{width:76px;height:76px;object-fit:cover;border-radius:20px;background:#f0f4f8}.parent-child-head h3{margin:4px 0 3px;font-size:19px;color:#173552}.parent-child-head p{margin:0;font-size:10px}.parent-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.parent-mini-stats div{padding:10px;border-radius:13px;background:#f5f8fc;border:1px solid #e4eaf1}.parent-mini-stats small,.parent-mini-stats b{display:block}.parent-mini-stats small{font-size:8px;text-transform:uppercase;color:#718196}.parent-mini-stats b{font-size:14px;margin-top:4px;color:#173552}.parent-child-hero{display:flex;align-items:center;gap:16px}.parent-child-photo{width:96px;height:96px}.text-right{text-align:right}.text-right small,.text-right b{display:block}.fee-report-hint{border-left:4px solid #2d78bd}.login-role-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important}.login-role-strip span{font-size:9px!important}.system-health-grid{align-items:stretch}
@media(max-width:1100px){.v10-action-grid,.report-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-child-grid{grid-template-columns:1fr}}
@media(max-width:720px){.hero-role-badge{display:none}.v10-action-grid,.report-module-grid{grid-template-columns:1fr}.parent-mini-stats{grid-template-columns:1fr 1fr}.parent-child-hero{display:block}.parent-child-photo{margin-bottom:12px}.login-role-strip{grid-template-columns:1fr 1fr!important}}

/* =========================================================
   LIS PREMIUM V11.1 — charts, creative workflow and polished UX
========================================================= */
.executive-bar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.executive-chart-card{position:relative;overflow:hidden;padding:23px;border:1px solid #d9e5ef;border-radius:25px;background:linear-gradient(150deg,#fff 0%,#f7fbff 100%);box-shadow:0 20px 52px rgba(18,58,96,.08)}
.executive-chart-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#176ab0,#58afe5,#176ab0);background-size:200% 100%;animation:chartAccentFlow 5s linear infinite}.attendance-chart-card:before{background:linear-gradient(90deg,#118c5d,#55c996,#118c5d);background-size:200% 100%}
@keyframes chartAccentFlow{to{background-position:200% 0}}
.executive-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;position:relative;z-index:2}.executive-chart-head h3{font-size:18px;color:#143858;margin:5px 0 4px}.executive-chart-head p{font-size:10px;margin:0}.chart-legend{display:flex;gap:11px;flex-wrap:wrap;justify-content:flex-end}.chart-legend span{display:inline-flex;align-items:center;gap:6px;color:#60778d;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.chart-legend i{width:9px;height:9px;border-radius:3px;display:block}.legend-billed{background:#9bc6e7}.legend-paid{background:#176ab0}.legend-attended{background:#159463}.legend-missed{background:#ef7b8d}
.grouped-bar-chart{position:relative;height:255px;display:grid;grid-template-columns:repeat(6,minmax(42px,1fr));align-items:end;gap:11px;margin-top:20px;padding:18px 8px 0;border-bottom:1px solid #d9e4ed}
.chart-grid-lines{position:absolute;inset:18px 8px 31px;display:grid;grid-template-rows:repeat(5,1fr);pointer-events:none}.chart-grid-lines i{border-top:1px dashed #dfe8ef}
.grouped-bar-column{position:relative;z-index:1;height:100%;display:grid;grid-template-rows:1fr 19px 16px;min-width:0;text-align:center;align-items:end}.grouped-bar-column>b{font-size:9px;color:#587086;text-transform:uppercase}.grouped-bar-column>small{font-size:8px;color:#8899a8}
.grouped-bar-pair{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px;min-height:0}.executive-data-bar{position:relative;width:min(24px,38%);height:2px;min-height:2px;border-radius:8px 8px 3px 3px;transition:height 1.15s cubic-bezier(.16,.82,.25,1);transition-delay:calc(var(--bar-order,0)*70ms);box-shadow:inset 0 1px rgba(255,255,255,.35)}
.executive-data-bar:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);transform:translateX(-130%);animation:barShine 4.5s calc(var(--bar-order,0)*.18s) ease-in-out infinite}.executive-data-bar:after{content:attr(data-value);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,5px);padding:6px 8px;border-radius:8px;background:#102d49;color:#fff;font:800 8px/1.1 Inter,Arial,sans-serif;white-space:nowrap;opacity:0;pointer-events:none;transition:.18s;box-shadow:0 8px 20px rgba(10,35,60,.18);z-index:5}.executive-data-bar:hover:after{opacity:1;transform:translate(-50%,0)}
@keyframes barShine{0%,68%,100%{transform:translateX(-130%)}82%{transform:translateX(130%)}}
.billed-bar{background:linear-gradient(180deg,#b4d8f0,#76acd5)}.paid-bar{background:linear-gradient(180deg,#3f9bdd,#125c9e)}.attended-bar{background:linear-gradient(180deg,#59c998,#11855a)}.missed-bar{background:linear-gradient(180deg,#f29aab,#dc5269)}
.chart-footnote{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:13px;color:#72869a;font-size:8px}.chart-footnote span{display:flex;align-items:center;gap:7px}.chart-footnote b{color:#425f78;font-size:9px}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#176ab0;box-shadow:0 0 0 0 rgba(23,106,176,.34);animation:chartPulse 2.1s infinite}.pulse-dot.green{background:#149461;box-shadow:0 0 0 0 rgba(20,148,97,.34)}@keyframes chartPulse{70%{box-shadow:0 0 0 7px transparent}}

/* Creative Post Studio */
.creative-studio-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#101637,#27265f 54%,#6b3fa3)!important;min-height:184px}.creative-studio-hero:after{content:"";position:absolute;width:360px;height:360px;right:-130px;top:-190px;border-radius:50%;border:70px solid rgba(255,255,255,.055);animation:heroOrbit 18s linear infinite}.creative-hero-orb{position:relative;z-index:2;width:92px;height:92px;border-radius:28px;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);box-shadow:0 22px 50px rgba(5,6,28,.28);animation:creativeFloat 4.2s ease-in-out infinite}.creative-hero-orb svg{width:46px;height:46px;color:#fff}@keyframes creativeFloat{50%{transform:translateY(-8px) rotate(2deg)}}
.creative-stats a{color:inherit}.creative-workspace-grid{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(420px,1.15fr);gap:18px;margin-bottom:18px}.creative-upload-card{border-top:4px solid #6751ac}.creative-submit-actions,.creative-review-actions,.creative-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.creative-submit-actions .btn{flex:1}.creative-filter-bar{display:grid;grid-template-columns:1fr 180px auto;gap:9px;align-items:end}.creative-status-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.creative-status-tabs a{padding:7px 10px;border:1px solid #dbe4ee;border-radius:999px;background:#f7f9fc;color:#667a90;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.creative-status-tabs a.active,.creative-status-tabs a:hover{color:#fff;background:#2b3769;border-color:#2b3769}
.creative-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:start}.creative-post-card{position:relative;overflow:hidden;border:1px solid #dce4ed;border-radius:23px;background:#fff;box-shadow:0 15px 40px rgba(24,47,79,.075);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.creative-post-card:hover{transform:translateY(-5px);border-color:#c8d7e6;box-shadow:0 24px 54px rgba(24,47,79,.13)}
.creative-post-preview{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(135deg,#e8edf5,#f8faff)}.creative-post-preview img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.creative-post-card:hover .creative-post-preview img{transform:scale(1.035)}.creative-post-preview:after{content:"Open Full Preview";position:absolute;inset:auto 12px 12px;padding:9px 10px;border-radius:11px;background:rgba(12,27,52,.77);backdrop-filter:blur(8px);color:#fff;text-align:center;font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.22s}.creative-post-preview:hover:after{opacity:1;transform:none}.creative-post-preview>span{position:absolute;right:10px;top:10px;padding:5px 7px;border-radius:8px;background:rgba(10,21,41,.72);color:#fff;font-size:8px;font-weight:800}
.creative-post-body{padding:16px}.creative-post-topline{display:flex;justify-content:space-between;gap:8px;align-items:center}.creative-post-topline>small{font-size:8px}.creative-post-body h3{font-size:16px;line-height:1.3;color:#172f4a;margin:10px 0 5px}.creative-meta{font-size:9px!important;margin:0 0 11px!important;color:#73869a}.badge.neutral{background:#eef2f6;color:#687a8d}.mini-btn.warning{background:#fff5df;color:#9d6810;border-color:#eed39d}
.creative-caption{padding:11px 12px;border:1px solid #e2e7ee;border-radius:13px;background:#f9fbfd;margin-bottom:11px}.creative-caption p{max-height:88px;overflow:auto;margin:0 0 8px;font-size:9px;line-height:1.55;white-space:normal}.creative-file-meta{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px dashed #e1e7ee;color:#718399;font-size:8px}.creative-file-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.creative-file-meta b{flex:none;color:#435d76}.creative-card-actions{margin:7px 0 12px}.creative-card-actions .chip-svg{width:14px;height:14px}.creative-edit-panel,.creative-review-panel{border-top:1px solid #e5ebf1;padding:0}.creative-edit-panel summary,.creative-review-panel summary{cursor:pointer;padding:11px 2px;color:#455f78;font-size:9px;font-weight:850;list-style:none}.creative-edit-panel summary:after,.creative-review-panel summary:after{content:"＋";float:right}.creative-edit-panel[open] summary:after,.creative-review-panel[open] summary:after{content:"−"}.creative-edit-panel form,.creative-review-panel form{padding:12px;border-radius:14px;background:#f7f9fc;border:1px solid #e3e9f0}.creative-review-panel[open]{display:block}.creative-review-note{padding:11px 12px;margin:10px 0;border-radius:13px;border:1px solid #cce9da;background:#f1fbf6}.creative-review-note.needs-change{border-color:#edd4a5;background:#fff8e9}.creative-review-note b,.creative-review-note small{display:block}.creative-review-note b{font-size:9px;text-transform:uppercase;letter-spacing:.06em}.creative-review-note p{font-size:9px;line-height:1.5;margin:5px 0}.creative-review-note small{font-size:8px}.creative-delete-form{display:flex;justify-content:flex-end;margin-top:10px}.creative-post-card>footer{display:flex;justify-content:space-between;gap:8px;padding:11px 16px;background:#f7f9fc;border-top:1px solid #e5ebf1;font-size:8px;color:#78899a}.creative-post-card>footer b{color:#435b73}.creative-empty{grid-column:1/-1}.management-role-graphic_designer .sidebar{background:linear-gradient(180deg,#10142f,#262653 62%,#101227)!important}.management-role-graphic_designer .sidebar-nav a.active{background:linear-gradient(90deg,rgba(151,103,225,.31),rgba(91,74,176,.08));box-shadow:inset 3px 0 0 #b58bff}

/* Stay-in-place form workflow + visible confirmations */
form.is-submitting{position:relative;opacity:.86;pointer-events:none}.btn.is-loading,.mini-btn.is-loading{position:relative;padding-left:32px!important}.btn.is-loading:before,.mini-btn.is-loading:before{content:"";position:absolute;width:13px;height:13px;left:11px;top:50%;margin-top:-7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:formSpinner .65s linear infinite}@keyframes formSpinner{to{transform:rotate(360deg)}}
.alert.app-toast{position:fixed;z-index:9999;top:78px;right:24px;width:min(390px,calc(100vw - 28px));margin:0!important;border-radius:15px;box-shadow:0 20px 58px rgba(14,36,62,.2);animation:toastEnter .42s cubic-bezier(.2,.85,.25,1)}.alert.app-toast:after{content:"×";float:right;margin-left:10px;font-size:17px;line-height:1;opacity:.55;cursor:pointer}.alert.app-toast.toast-leave{opacity:0;transform:translateX(18px);transition:.3s}@keyframes toastEnter{from{opacity:0;transform:translate(20px,-8px)}}
.result-download-btn.is-downloading,.download-btn.is-downloading{opacity:.7;pointer-events:none}.png-download-error{position:fixed;z-index:10000;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(640px,calc(100vw - 28px));padding:12px 16px;border-radius:13px;background:#842b3c;color:#fff;box-shadow:0 18px 45px rgba(50,12,20,.24);font-size:11px;font-weight:750}

@media(max-width:1180px){.executive-bar-grid{grid-template-columns:1fr}.creative-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:920px){.creative-workspace-grid{grid-template-columns:1fr}.creative-upload-card{position:static}.creative-filter-bar{grid-template-columns:1fr 160px auto}}
@media(max-width:680px){.executive-chart-card{padding:17px}.executive-chart-head{display:block}.chart-legend{justify-content:flex-start;margin-top:10px}.grouped-bar-chart{overflow-x:auto;grid-template-columns:repeat(6,minmax(48px,1fr));gap:7px;padding-left:2px;padding-right:2px}.chart-footnote{align-items:flex-start;display:grid}.creative-gallery{grid-template-columns:1fr}.creative-filter-bar{grid-template-columns:1fr}.creative-filter-bar .btn{width:100%}.creative-submit-actions{display:grid;grid-template-columns:1fr}.alert.app-toast{top:12px;right:14px}.creative-studio-hero{min-height:auto}.creative-hero-orb{display:none}}
@media(prefers-reduced-motion:reduce){.executive-chart-card:before,.executive-data-bar:before,.creative-studio-hero:after,.creative-hero-orb,.pulse-dot{animation:none!important}}

/* =========================================================
   LIS PREMIUM V11.2 — separate IT Institute & Skills Hub
========================================================= */
.executive-bar-grid.single-chart{grid-template-columns:1fr}
.management-role-it_manager .sidebar{background:linear-gradient(180deg,#071c2d,#0b3450 58%,#071b2d)!important}.management-role-it_manager .sidebar-nav a.active,.it-module-nav a.active{background:linear-gradient(90deg,rgba(37,184,195,.27),rgba(37,184,195,.04));box-shadow:inset 3px 0 0 #35c4c8}.it-action-card{border-color:#cde8e9!important;background:linear-gradient(135deg,#fff,#f1fbfb)!important}
.it-hub-hero,.it-page-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#071f35,#0c526d 56%,#14889b)!important}.it-hub-hero{min-height:230px;align-items:center}.it-hub-hero:before,.it-page-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,#000,transparent 85%);animation:itGridDrift 18s linear infinite}.it-hub-hero:after,.it-page-hero:after{content:"";position:absolute;width:420px;height:420px;right:-210px;top:-260px;border:70px solid rgba(110,232,235,.07);border-radius:50%;animation:itHaloSpin 22s linear infinite}.it-hub-hero>*,.it-page-hero>*{position:relative;z-index:2}.it-hero-copy{max-width:720px}.it-hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.it-hero-tags span{padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.075);color:#dffbfc;font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(7px)}
.it-hero-visual{position:relative;width:190px;height:190px;display:grid;place-items:center;flex:none}.it-core{position:relative;z-index:4;width:76px;height:76px;border-radius:25px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,rgba(70,230,226,.45),rgba(22,117,152,.72));border:1px solid rgba(220,255,255,.44);box-shadow:0 0 0 12px rgba(61,211,214,.06),0 25px 60px rgba(0,19,35,.35);animation:itCoreFloat 4s ease-in-out infinite}.it-core svg{width:39px;height:39px}.it-orbit{position:absolute;border:1px solid rgba(164,244,245,.35);border-radius:50%;animation:itOrbit 10s linear infinite}.it-orbit:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;top:50%;right:-5px;background:#65eef0;box-shadow:0 0 15px #65eef0}.orbit-one{width:130px;height:130px}.orbit-two{width:174px;height:174px;animation-duration:15s;animation-direction:reverse}.it-hero-visual>i{position:absolute;width:7px;height:7px;border-radius:50%;background:#b8fcfa;box-shadow:0 0 14px #6ef2ef;animation:itNodePulse 2.4s ease-in-out infinite}.it-hero-visual>i:nth-of-type(1){left:18px;top:54px}.it-hero-visual>i:nth-of-type(2){right:19px;bottom:44px;animation-delay:.7s}.it-hero-visual>i:nth-of-type(3){left:48px;bottom:13px;animation-delay:1.2s}@keyframes itOrbit{to{transform:rotate(360deg)}}@keyframes itCoreFloat{50%{transform:translateY(-8px) rotate(2deg)}}@keyframes itNodePulse{50%{transform:scale(1.65);opacity:.55}}@keyframes itGridDrift{to{background-position:72px 36px}}@keyframes itHaloSpin{to{transform:rotate(360deg)}}
.it-page-hero{min-height:178px}.it-kpi-grid .it-stat{position:relative;overflow:hidden;border-color:#d7e9eb}.it-kpi-grid .it-stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#18aeb6,#186aa0)}.it-kpi-grid .it-stat:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-48px;top:-52px;background:rgba(31,163,177,.055);transition:.35s}.it-kpi-grid .it-stat:hover:after{transform:scale(1.4)}
.it-performance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.it-performance-card{border-top:4px solid #1599a4}.it-performance-card .analytics-main{min-height:180px}.it-metric-copy{max-width:240px}.it-metric-copy b{display:block;font-size:20px;color:#173b59}.it-metric-copy p{font-size:10px;line-height:1.65;margin:7px 0 13px}.it-action-grid{margin-top:0}
.it-batch-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.it-batch-health{position:relative;padding:17px;border:1px solid #dce7ed;border-radius:18px;background:linear-gradient(145deg,#fff,#f7fbfc);transition:.24s;overflow:hidden}.it-batch-health:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#198aa0,#40c6c3,#198aa0);background-size:200% 100%;animation:chartAccentFlow 5s linear infinite}.it-batch-health:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(13,76,96,.1)}.it-batch-health h4{font-size:15px;margin:5px 0}.it-batch-health p{font-size:9.5px;margin:8px 0 15px}.it-progress-label,.it-batch-foot{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#61778a}.it-progress-label b,.it-batch-foot b{color:#214c63}.it-progress{height:7px;margin:7px 0 12px;border-radius:999px;background:#e5eef1;overflow:hidden}.it-progress i{display:block;width:var(--value,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#16889e,#36c7c3);animation:itProgressGrow 1s cubic-bezier(.2,.8,.2,1)}@keyframes itProgressGrow{from{width:0}}
.it-wide-empty{grid-column:1/-1}.it-form-card{border-top:4px solid #1599a4}.it-form-card textarea{resize:vertical}.it-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.it-course-card{position:relative;padding:18px;border:1px solid #dce6ed;border-radius:20px;background:#fff;box-shadow:0 9px 27px rgba(17,55,79,.045);transition:.24s}.it-course-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(17,67,87,.1)}.it-course-code{display:inline-flex;padding:6px 9px;margin-bottom:10px;border-radius:8px;background:#e9f6f7;color:#117585;font-size:9px;font-weight:900;letter-spacing:.08em}.it-course-card h3{font-size:15px;margin:0}.it-course-card>p{font-size:9.5px;line-height:1.6;min-height:46px}.it-course-meta,.it-project-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:13px 0}.it-course-meta span,.it-project-meta span{padding:9px 10px;border:1px solid #e3e9ef;border-radius:11px;background:#f8fafc}.it-course-meta small,.it-course-meta b,.it-project-meta small,.it-project-meta b{display:block}.it-course-meta small,.it-project-meta small{font-size:7.5px;text-transform:uppercase;color:#7b8b9a}.it-course-meta b,.it-project-meta b{font-size:10px;margin-top:4px;color:#25465f}.it-student-filter,.it-fee-filter{grid-template-columns:minmax(190px,1fr) minmax(180px,.8fr) 150px auto}.it-student-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#dff5f4,#cce8f2);color:#126d7d;font-weight:900;font-size:14px;flex:none}.it-attendance-card .attendance-column{background:#f5fafb}.it-attendance-card .sticky-submit-bar{background:rgba(5,43,58,.95)}
.it-workflow{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.it-workflow>div{position:relative;padding:15px 14px 14px 52px;border:1px solid #dce7ed;border-radius:15px;background:#f8fbfc}.it-workflow span{position:absolute;left:13px;top:15px;width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#dff3f4;color:#117487;font-size:9px;font-weight:900}.it-workflow b{font-size:12px;color:#1c4059}.it-workflow p{font-size:9px;line-height:1.5;margin:4px 0 0}.inline-filter{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin-bottom:15px}.inline-filter label{min-width:110px}.inline-filter select{min-width:250px}.it-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.it-project-card{padding:18px;border:1px solid #dce6ed;border-radius:20px;background:linear-gradient(145deg,#fff,#f9fcfc);box-shadow:0 10px 28px rgba(16,61,79,.05);transition:.24s}.it-project-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(16,61,79,.1)}.it-project-card h3{font-size:16px;line-height:1.35;margin:14px 0 6px;color:#183b55}.it-project-card>p{font-size:9.5px;line-height:1.6;min-height:45px}.it-gradebook{scroll-margin-top:20px;border-top:4px solid #1599a4}.it-gradebook td input{min-width:120px}.it-gradebook td:nth-child(4) input{min-width:220px}
@media(max-width:1180px){.it-batch-health-grid,.it-course-grid,.it-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.it-student-filter,.it-fee-filter{grid-template-columns:1fr 1fr}.it-student-filter .btn,.it-fee-filter .btn{width:100%}}
@media(max-width:840px){.it-performance-grid{grid-template-columns:1fr}.it-hero-visual{width:145px;height:145px}.orbit-two{width:135px;height:135px}.orbit-one{width:105px;height:105px}.it-batch-health-grid,.it-course-grid,.it-project-grid{grid-template-columns:1fr}.it-workflow{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.it-hero-visual{display:none}.it-hub-hero{min-height:auto}.it-performance-card .analytics-main{display:grid;grid-template-columns:1fr;text-align:center}.it-metric-copy{max-width:none}.it-student-filter,.it-fee-filter{grid-template-columns:1fr}.it-workflow{grid-template-columns:1fr}.inline-filter{display:grid}.inline-filter select{min-width:0}.it-page-hero{min-height:auto}}
@media(prefers-reduced-motion:reduce){.it-hub-hero:before,.it-hub-hero:after,.it-page-hero:before,.it-page-hero:after,.it-core,.it-orbit,.it-hero-visual>i,.it-batch-health:before,.it-progress i{animation:none!important}}

/* V11.3 — global Back to Top control */
.back-to-top{--scroll-progress:0deg;position:fixed;z-index:9997;right:24px;bottom:24px;width:54px;height:54px;display:grid;place-items:center;padding:3px;border:0;border-radius:18px;cursor:pointer;color:#fff;background:conic-gradient(from 0deg,#43d2c2 0deg,#279fc0 var(--scroll-progress),rgba(29,76,111,.22) var(--scroll-progress),rgba(29,76,111,.22) 360deg);box-shadow:0 17px 38px rgba(9,49,76,.25);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px) scale(.86);transition:opacity .25s ease,visibility .25s ease,transform .35s cubic-bezier(.2,.82,.2,1),box-shadow .25s ease}.back-to-top:before{content:"";position:absolute;inset:3px;border-radius:15px;background:linear-gradient(145deg,#0e6689,#123d66);box-shadow:inset 0 1px rgba(255,255,255,.2)}.back-to-top:after{content:"";position:absolute;inset:-7px;border:1px solid rgba(43,175,190,.18);border-radius:23px;opacity:0;transform:scale(.82);transition:.3s}.back-to-top svg{position:relative;z-index:1;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}.back-to-top:hover{transform:translateY(-4px);box-shadow:0 23px 46px rgba(9,49,76,.32)}.back-to-top:hover:after{opacity:1;transform:scale(1)}.back-to-top:hover svg{transform:translateY(-2px)}.back-to-top:focus-visible{outline:3px solid rgba(44,190,197,.34);outline-offset:4px}.back-to-top:active{transform:translateY(-1px) scale(.96)}
@media(max-width:840px){.fee-class-selector .bulk-attendance-toolbar{grid-template-columns:1fr 1fr}.fee-class-selector .bulk-attendance-toolbar .btn{width:100%}}
@media(max-width:680px){.fee-class-selector .bulk-attendance-toolbar{grid-template-columns:1fr}.fee-year-report-control{display:grid;width:100%;grid-template-columns:1fr}.fee-year-report-control select,.fee-year-report-control .btn{width:100%}.back-to-top{right:14px;bottom:14px;width:49px;height:49px;border-radius:16px}.back-to-top:before{border-radius:13px}}
@media print{.back-to-top{display:none!important}}
@media(prefers-reduced-motion:reduce){.back-to-top,.back-to-top svg,.back-to-top:after{transition:none!important}}

/* =========================================================
   LIS PREMIUM V11.4 - IT Teachers, executive charts, documents and ID cards
   and system-wide premium motion
========================================================= */
.management-role-it_teacher .sidebar{background:linear-gradient(180deg,#061b2b,#0a3b50 58%,#061925)!important}.management-role-it_teacher .sidebar-nav a.active{background:linear-gradient(90deg,rgba(53,204,194,.28),rgba(31,134,156,.05));box-shadow:inset 3px 0 0 #55ded3}.management-role-it_teacher .management-role-icon{color:#1aa9aa;background:linear-gradient(145deg,#e6fbfa,#d9f1f5)}
.executive-four-chart-suite{margin-top:10px}.executive-chart-quartet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.executive-split-card{--good:#18a86f;--bad:#df4d63;--spot-x:50%;--spot-y:0%;position:relative;isolation:isolate;overflow:hidden;padding:20px;border:1px solid #d9e5ef;border-radius:24px;background:linear-gradient(150deg,#fff 0%,#f7fbff 100%);box-shadow:0 18px 48px rgba(14,53,88,.075);transition:transform .38s cubic-bezier(.2,.82,.2,1),box-shadow .38s ease,border-color .3s ease}.executive-split-card:before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--good),#67d6a6,var(--bad),#f18a99,var(--good));background-size:240% 100%;animation:v113AccentFlow 7s linear infinite}.executive-split-card:after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(260px circle at var(--spot-x) var(--spot-y),rgba(38,137,205,.12),transparent 68%);opacity:.72;pointer-events:none;transition:opacity .3s}.executive-split-card:hover{transform:translateY(-7px);border-color:#c6dbe9;box-shadow:0 28px 66px rgba(14,53,88,.14)}.executive-split-card:hover:after{opacity:1}.executive-split-head{display:flex;align-items:center;gap:11px}.executive-split-head>div:nth-child(2){min-width:0;flex:1}.executive-split-head small{display:block;color:#63829b;font-size:8px;font-weight:900;letter-spacing:.13em}.executive-split-head h3{margin:4px 0 0;color:#123654;font-size:17px}.executive-split-head>a{width:35px;height:35px;display:grid;place-items:center;border:1px solid #dbe7ef;border-radius:11px;background:rgba(255,255,255,.82);color:#286b9e;transition:.25s}.executive-split-head>a:hover{color:#fff;background:#176b9f;border-color:#176b9f;transform:translateX(3px)}.executive-split-main{display:grid;grid-template-columns:142px minmax(0,1fr);gap:17px;align-items:center;padding:20px 0 16px}.executive-split-ring{--progress:0;width:138px;height:138px;position:relative;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--good) calc(var(--progress)*1%),var(--bad) 0);box-shadow:0 18px 35px rgba(18,71,93,.13),inset 0 0 0 1px rgba(255,255,255,.45);transition:--progress 1.35s cubic-bezier(.2,.82,.2,1)}.executive-split-ring:before{content:"";position:absolute;inset:13px;border-radius:50%;background:linear-gradient(145deg,#fff,#f0f6fa);box-shadow:inset 0 0 0 1px #e0eaf1,0 5px 18px rgba(20,54,83,.08)}.executive-split-ring:after{content:"";position:absolute;inset:-7px;border:1px solid rgba(33,128,170,.12);border-radius:50%;animation:v113RingHalo 3.6s ease-in-out infinite}.executive-split-ring>div{position:relative;z-index:1;text-align:center}.executive-split-ring strong{display:block;color:#123d5f;font-size:29px;letter-spacing:-.04em}.executive-split-ring span{display:block;margin-top:2px;color:#6d8294;font-size:7.5px;font-weight:900;letter-spacing:.1em}.executive-split-card.is-empty .executive-split-ring{background:conic-gradient(#dce6ed 0 100%)}.executive-split-values{display:grid;gap:10px}.executive-split-values>div{display:grid;grid-template-columns:9px 1fr;gap:4px 8px;padding:11px 12px;border:1px solid #e0e9ef;border-radius:14px;background:rgba(255,255,255,.9)}.executive-split-values i{grid-row:1/3;width:8px;height:8px;margin-top:3px;border-radius:50%;background:var(--good);box-shadow:0 0 0 5px rgba(24,168,111,.08)}.executive-split-values .bad i{background:var(--bad);box-shadow:0 0 0 5px rgba(223,77,99,.08)}.executive-split-values small{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.executive-split-values b{color:#173b57;font-size:13px;overflow-wrap:anywhere}.executive-split-track{height:8px;overflow:hidden;border-radius:999px;background:var(--bad);box-shadow:inset 0 1px 2px rgba(74,22,31,.12)}.executive-split-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#118d5c,var(--good),#5bd19b);box-shadow:0 0 12px rgba(24,168,111,.32);transition:width 1.25s cubic-bezier(.2,.82,.2,1)}.executive-split-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding-top:13px}.executive-split-foot small,.executive-split-foot b{display:block}.executive-split-foot small{font-size:7.5px;text-transform:uppercase;letter-spacing:.08em}.executive-split-foot b{margin-top:3px;color:#173b57;font-size:13px}.executive-split-foot p{max-width:55%;margin:0;text-align:right;color:#718597;font-size:8px;line-height:1.45}
.it-teacher-hero{background:linear-gradient(125deg,#071f35,#0b5b6b 54%,#16a49f)!important}.it-teacher-access-card{border-top:4px solid #24aaa5}.it-teacher-name{display:flex;align-items:center;gap:10px}.it-teacher-name>span{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;background:linear-gradient(145deg,#daf7f4,#d8edf5);color:#127680;font-size:14px;font-weight:900}.it-teacher-name b,.it-teacher-name small{display:block}.it-teacher-name small{margin-top:4px}
body.js-motion .topbar{backdrop-filter:blur(16px);background:rgba(247,250,255,.78);border:1px solid rgba(218,229,239,.72);border-radius:18px;padding:10px 13px;box-shadow:0 12px 36px rgba(20,57,91,.055)}body.js-motion .card,body.js-motion .stat-card,body.js-motion .dashboard-action-card{transition:transform .34s cubic-bezier(.2,.82,.2,1),box-shadow .34s ease,border-color .3s ease}body.js-motion .card:hover,body.js-motion .stat-card:hover{transform:translateY(-4px);border-color:#cdddea;box-shadow:0 22px 52px rgba(17,53,85,.105)}body.js-motion .dashboard-action-card:hover{transform:translateY(-5px) scale(1.012)}body.js-motion .btn.primary{position:relative;overflow:hidden;background-size:180% 180%;animation:v113ButtonGradient 7s ease infinite}body.js-motion .hero-panel{box-shadow:0 24px 62px rgba(12,48,83,.14)}body.js-motion .sidebar-nav a{transition:transform .24s ease,background .24s ease,color .24s ease,box-shadow .24s ease}body.js-motion .sidebar-nav a:hover{transform:translateX(4px)}
.executive-split-head small{font-size:10px}.executive-split-ring span{font-size:9px}.executive-split-values small{font-size:10px}.executive-split-values b{font-size:14px}.executive-split-foot small{font-size:9px}.executive-split-foot b{font-size:14px}.executive-split-foot p{font-size:10px}
@keyframes v113AccentFlow{to{background-position:240% 0}}@keyframes v113RingHalo{50%{transform:scale(1.035);opacity:.35}}@keyframes v113ButtonGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@media(max-width:1120px){.executive-chart-quartet{grid-template-columns:1fr 1fr}.executive-split-main{grid-template-columns:126px minmax(0,1fr)}.executive-split-ring{width:122px;height:122px}}
@media(max-width:920px){body.js-motion .topbar{position:relative;top:auto;backdrop-filter:none;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}}
@media(max-width:820px){.executive-chart-quartet{grid-template-columns:1fr}.executive-split-main{grid-template-columns:142px minmax(0,1fr)}.executive-split-ring{width:138px;height:138px}}
@media(max-width:520px){.executive-split-card{padding:16px;border-radius:20px}.executive-split-main{grid-template-columns:1fr}.executive-split-ring{margin:auto}.executive-split-values{grid-template-columns:1fr 1fr}.executive-split-foot{align-items:flex-start}.executive-split-foot p{max-width:58%}}
@media(prefers-reduced-motion:reduce){.executive-split-card:before,.executive-split-ring:after,body.js-motion .btn.primary{animation:none!important}.executive-split-card,.executive-split-track i,body.js-motion .card,body.js-motion .stat-card,body.js-motion .dashboard-action-card{transition:none!important}}

/* V11.4 Executive comparison charts - replaces ring/donut charts */
.executive-chart-quartet{align-items:stretch}
.executive-column-card{--good:#169b67;--bad:#dc4d60;position:relative;overflow:hidden;min-height:405px;padding:21px;border:1px solid #d9e5ef;border-radius:24px;background:linear-gradient(155deg,#fff 0%,#f7fbff 100%);box-shadow:0 18px 48px rgba(14,53,88,.08);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.executive-column-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--good),#63d19e 48%,var(--bad));opacity:.9}
.executive-column-card:hover{transform:translateY(-5px);border-color:#c7dae8;box-shadow:0 27px 64px rgba(14,53,88,.14)}
.executive-column-head{display:flex;align-items:center;gap:11px}.executive-column-head small{display:block;color:#66839a;font-size:9px;font-weight:900;letter-spacing:.13em}.executive-column-head h3{margin:4px 0 0;color:#123654;font-size:18px}.executive-column-head>a{width:36px;height:36px;display:grid;place-items:center;border:1px solid #d9e6ef;border-radius:11px;background:#fff;color:#286b9e}.executive-column-head>a:hover{background:#176b9f;color:#fff;border-color:#176b9f}
.executive-column-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:18px 0 5px;padding:14px 15px;border:1px solid #e0e9f0;border-radius:16px;background:rgba(255,255,255,.86)}.executive-column-summary small{display:block;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#74899b}.executive-column-summary strong{display:block;margin-top:5px;font-size:20px;color:#143a59;letter-spacing:-.03em}.executive-rate{text-align:right}.executive-rate b{font-size:28px;color:#138459;letter-spacing:-.05em}.executive-rate span{display:block;font-size:8px;font-weight:900;text-transform:uppercase;color:#718598;letter-spacing:.06em}
.executive-column-chart{position:relative;height:205px;margin-top:10px;padding:18px 30px 0;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;border-bottom:1px solid #cfdde8}.chart-grid-lines{position:absolute;inset:18px 0 0;pointer-events:none}.chart-grid-lines i{display:block;height:25%;border-top:1px dashed #e0e8ef}.chart-grid-lines i:first-child{border-top-color:#d4e0e9}
.executive-bar-group{position:relative;z-index:1;height:100%;display:grid;grid-template-rows:auto 1fr auto auto;align-items:end;text-align:center}.executive-bar-value{min-height:32px;margin-bottom:5px;color:#4c6478;font-size:10px;font-weight:800;overflow-wrap:anywhere}.executive-bar-rail{height:132px;width:min(72px,76%);margin:0 auto;display:flex;align-items:flex-end;border-radius:10px 10px 3px 3px;background:linear-gradient(180deg,#eef4f8,#f7fafc);box-shadow:inset 0 0 0 1px #e1e9ef;overflow:hidden}.executive-bar-rail i{display:block;width:100%;height:var(--bar);min-height:3px;border-radius:9px 9px 2px 2px;background:linear-gradient(180deg,#32bf86,var(--good));box-shadow:0 -8px 20px rgba(22,155,103,.16);transform-origin:bottom;animation:v114BarRise .9s cubic-bezier(.2,.8,.2,1) both}.executive-bar-group.bad .executive-bar-rail i{background:linear-gradient(180deg,#f17a8b,var(--bad));box-shadow:0 -8px 20px rgba(220,77,96,.14)}.executive-bar-group>b{margin-top:8px;color:#2b4961;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.executive-bar-group>small{margin-top:2px;color:#758b9c;font-size:9px;font-weight:800}.executive-column-card.is-empty .executive-bar-rail i{height:3px;background:#cbd8e2;box-shadow:none}.executive-column-card.is-empty .executive-rate b{color:#8295a5}
.executive-column-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px}.executive-column-foot p{margin:0;text-align:right;color:#728798;font-size:9px;line-height:1.5;max-width:72%}
@keyframes v114BarRise{from{transform:scaleY(.06);opacity:.45}to{transform:scaleY(1);opacity:1}}
@media(max-width:620px){.executive-column-card{min-height:390px;padding:17px}.executive-column-summary strong{font-size:17px}.executive-rate b{font-size:24px}.executive-column-chart{gap:16px;padding-left:12px;padding-right:12px}.executive-column-foot{align-items:flex-start}.executive-column-foot p{max-width:68%}}
@media(prefers-reduced-motion:reduce){.executive-bar-rail i{animation:none}}

/* V11.4 Document center, ID cards and complete IT student profiles */
.document-center-hero{background:linear-gradient(128deg,#102f53 0%,#176e8d 50%,#2859bd 100%)!important}
.document-center-hero .hero-role-badge,.id-center-hero .hero-role-badge,.it-student-profile-hero .hero-role-badge{min-width:205px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.document-kpis .stat-card,.fee-profile-kpis .stat-card{min-height:125px}
.certificate-upload-card,.id-issue-card{border-top:4px solid #2378b9}
.premium-file-drop{display:flex;align-items:center;gap:14px;padding:16px;border:1.5px dashed #b9cce0;border-radius:16px;background:linear-gradient(135deg,#f8fbff,#f4f8fc)}
.premium-file-drop .upload-icon{width:48px;height:48px;display:grid;place-items:center;flex:none;border-radius:14px;background:#e5f0fb;color:#17689d}.premium-file-drop .upload-icon .feature-svg{width:24px;height:24px}.premium-file-drop label{margin-bottom:5px}.premium-file-drop input[type=file]{background:#fff}
.document-rules-card{background:linear-gradient(155deg,#fff,#f7fbff)}
.mini-btn.success{color:#087b51;border-color:#bfe8d4;background:#f0fbf6}.mini-btn.success:hover{background:#e1f8ed}.mini-btn.warning{color:#9a6409;border-color:#f1dab0;background:#fff9ed}
.id-center-hero{background:linear-gradient(125deg,#102942,#17647b 50%,#3057b6)!important}.id-center-hero h2{max-width:800px}.id-issue-card{position:relative;overflow:hidden}.id-issue-card:before{content:"";position:absolute;right:-45px;top:-55px;width:150px;height:150px;border-radius:50%;background:rgba(32,120,181,.055)}
.id-profile-preview{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;border:1px solid #dbe6ef;border-radius:15px;background:linear-gradient(135deg,#f8fbfe,#fff)}.id-profile-preview small,.id-profile-preview b,.id-profile-preview span{display:block}.id-profile-preview small{font-size:8px;text-transform:uppercase;letter-spacing:.09em}.id-profile-preview b{margin:4px 0;color:#153c5a;font-size:15px}.id-profile-preview span{color:#758799;font-size:9px}
.document-mini-list{display:grid;gap:9px;margin-top:13px}.document-mini-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e1e8ef;border-radius:13px;background:#fbfcfe}.document-mini-list b,.document-mini-list small{display:block}.document-mini-list b{font-size:11px;color:#173b57}.document-mini-list small{margin-top:3px;font-size:8.5px}
.it-student-cell{display:flex;align-items:center;gap:10px;min-width:210px}.it-student-cell img{width:44px;height:44px;object-fit:cover;flex:none;border-radius:13px;border:1px solid #dbe5ed;background:#f1f5f8}.it-student-cell b,.it-student-cell small{display:block}.it-student-cell small{margin-top:3px}
.it-student-profile-hero{background:linear-gradient(125deg,#09283e,#0e6371 52%,#2478a2)!important}.it-profile-identity{display:flex;align-items:center;gap:18px;min-width:0}.it-profile-identity>img{width:92px;height:92px;object-fit:cover;flex:none;border-radius:25px;border:3px solid rgba(255,255,255,.35);background:#fff;box-shadow:0 15px 34px rgba(1,23,37,.18)}.it-profile-identity h2{margin:5px 0 5px}.it-profile-identity p{margin:0}.it-profile-identity .it-hero-tags{margin-top:12px}
.attendance-profile-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 14px}.attendance-profile-bars>div{position:relative;overflow:hidden;padding:12px;border:1px solid #e0e8ef;border-radius:13px;background:#f9fbfd}.attendance-profile-bars>div:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#27875e}.attendance-profile-bars>div:nth-child(2):after{background:#d59421}.attendance-profile-bars>div:nth-child(3):after{background:#d94e61}.attendance-profile-bars>div:nth-child(4):after{background:#3474be}.attendance-profile-bars span,.attendance-profile-bars b{display:block}.attendance-profile-bars span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#748597;font-weight:850}.attendance-profile-bars b{font-size:20px;margin-top:5px;color:#173c59}
.compact-table table{min-width:540px}.compact-table th,.compact-table td{padding:9px 8px}.fee-profile-kpis{margin-top:5px}.fee-payment-history{margin-top:20px;padding-top:18px;border-top:1px solid #e4ebf1}.fee-payment-history .card-head{margin-bottom:11px}
@media(max-width:900px){.document-center-hero,.id-center-hero,.it-student-profile-hero{align-items:flex-start}.it-profile-identity>img{width:78px;height:78px;border-radius:21px}.attendance-profile-bars{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.premium-file-drop{align-items:flex-start}.document-kpis,.fee-profile-kpis{grid-template-columns:1fr 1fr}.id-profile-preview,.document-mini-list>div{align-items:flex-start;flex-direction:column}.it-profile-identity{align-items:flex-start}.it-profile-identity>img{width:64px;height:64px;border-radius:18px}.attendance-profile-bars{grid-template-columns:1fr 1fr}}
.it-teacher-profile-hero{background:linear-gradient(125deg,#0b2d45,#116477 52%,#258a8c)!important}


/* V11.5 professional executive chart refresh + ID upload helpers */
.executive-pie-card{position:relative;overflow:hidden;padding:20px;border:1px solid #d9e4ee;border-radius:24px;background:linear-gradient(150deg,#fff 0%,#f8fbff 100%);box-shadow:0 18px 48px rgba(14,53,88,.075)}
.executive-pie-card.is-empty{opacity:.88}
.executive-pie-layout{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;padding:14px 0 6px}
.executive-pie-chart{position:relative;width:172px;height:172px;border-radius:50%;display:grid;place-items:center;box-shadow:0 18px 35px rgba(18,71,93,.10),inset 0 0 0 1px rgba(255,255,255,.45)}
.executive-pie-chart:before{content:"";position:absolute;inset:18px;border-radius:50%;background:linear-gradient(145deg,#fff,#f3f8fc);box-shadow:inset 0 0 0 1px #e0e8ef}
.executive-pie-chart>div{position:relative;z-index:1;text-align:center;padding:0 16px}.executive-pie-chart strong{display:block;color:#123d5f;font-size:30px;letter-spacing:-.04em}.executive-pie-chart span{display:block;margin-top:3px;color:#708598;font-size:8px;font-weight:900;letter-spacing:.12em}
.executive-pie-legend{display:grid;gap:12px}.executive-pie-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:4px 10px;padding:11px 12px;border:1px solid #e0e9ef;border-radius:15px;background:rgba(255,255,255,.92)}
.executive-pie-legend i{width:10px;height:10px;border-radius:50%;margin-top:5px;grid-row:1/3}.executive-pie-legend i.good{background:#18a86f;box-shadow:0 0 0 5px rgba(24,168,111,.10)}.executive-pie-legend i.bad,.executive-pie-legend i.absent{background:#e05561;box-shadow:0 0 0 5px rgba(224,85,97,.10)}.executive-pie-legend i.present{background:#2a88e6;box-shadow:0 0 0 5px rgba(42,136,230,.10)}.executive-pie-legend i.leave{background:#8d99a6;box-shadow:0 0 0 5px rgba(141,153,166,.12)}
.executive-pie-legend small{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#6f8396}.executive-pie-legend b{color:#173b57;font-size:13px}.executive-pie-legend span{font-size:12px;font-weight:800;color:#163f63;align-self:center}
.field-help{display:block;margin-top:6px;color:#71869a;font-size:12px;line-height:1.45}
@media(max-width:980px){.executive-pie-layout{grid-template-columns:1fr}.executive-pie-chart{margin:auto}}
@media(max-width:620px){.executive-pie-card{padding:17px}.executive-pie-chart{width:154px;height:154px}.executive-pie-chart strong{font-size:27px}.executive-pie-legend>div{grid-template-columns:10px 1fr}.executive-pie-legend span{grid-column:2;justify-self:start}}

/* =========================================================
   LIS LMS V11.6 — connected workflow + premium navigation UI
   ========================================================= */
.operations-action-card{border-color:#bfd9ef!important;background:linear-gradient(145deg,#f8fcff,#eef7ff)!important}
.operations-hero{background:radial-gradient(circle at 82% 20%,rgba(88,190,255,.24),transparent 25%),linear-gradient(125deg,#0d355d,#155f95 54%,#1d87b5)!important}
.workflow-suite{margin:20px 0;padding:22px;border:1px solid #dbe6ef;border-radius:25px;background:linear-gradient(145deg,#fff,#f7fbff);box-shadow:0 18px 48px rgba(20,57,92,.065);content-visibility:auto;contain-intrinsic-size:auto 430px}
.it-workflow-suite{background:radial-gradient(circle at 92% 8%,rgba(40,179,182,.09),transparent 30%),linear-gradient(145deg,#fff,#f7fcfc)}
.workflow-chain{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:18px}
.workflow-stage{--spot-x:50%;--spot-y:0%;position:relative;min-height:150px;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid #dce6ef;border-radius:18px;background:radial-gradient(180px circle at var(--spot-x) var(--spot-y),rgba(39,133,204,.10),transparent 65%),#fff;color:#173b58;text-decoration:none;box-shadow:0 10px 28px rgba(21,58,91,.055);transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .3s ease}
.workflow-stage:hover{transform:translateY(-5px);border-color:#b9d3e6;box-shadow:0 18px 38px rgba(21,58,91,.12)}
.workflow-stage.attention{border-color:#ead8a0;background:linear-gradient(145deg,#fffdf6,#fff)}.workflow-stage.danger{border-color:#efc5cb;background:linear-gradient(145deg,#fff8f9,#fff)}
.workflow-stage-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#edf6fd;color:#1e6ba5}.workflow-stage.attention .workflow-stage-icon{background:#fff3cf;color:#956816}.workflow-stage.danger .workflow-stage-icon{background:#fde9ec;color:#b64051}
.workflow-stage small{display:block;font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#6d8296}.workflow-stage strong{display:block;margin-top:5px;font-size:22px;letter-spacing:-.03em;color:#143d60}.workflow-stage p{margin:5px 0 0;color:#74879a;font-size:10px;line-height:1.45}
.workflow-arrow{position:absolute;right:13px;top:15px;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#f4f8fb;color:#6e89a0;transition:.25s}.workflow-stage:hover .workflow-arrow{background:#1e6fa8;color:#fff;transform:translateX(2px)}
.operations-alert{display:flex;align-items:center;gap:13px;padding:13px 14px;margin-top:10px;border:1px solid #e4e9ee;border-radius:15px;background:#fff;color:#28455e;text-decoration:none}.operations-alert>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff3d6;color:#946616}.operations-alert.danger>span{background:#fde9ec;color:#b84151}.operations-alert b,.operations-alert small{display:block}.operations-alert small{margin-top:3px;color:#7a8998}.operations-alert strong{font-size:18px;color:#173f60}
.record-chain{display:flex;gap:8px;overflow-x:auto;margin:14px 0 18px;padding:8px;border:1px solid #dce7ef;border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 10px 26px rgba(22,60,96,.045);scrollbar-width:thin}
.record-chain-step{position:relative;min-width:150px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid transparent;border-radius:14px;color:#3d5870;text-decoration:none;transition:.28s ease;background:#f8fbfd}
.record-chain-step:after{content:"";position:absolute;right:-8px;top:50%;width:8px;height:1px;background:#cedce7}.record-chain-step:last-child:after{display:none}.record-chain-step:hover,.record-chain-step.active{transform:translateY(-2px);background:#fff;border-color:#bfd8e9;box-shadow:0 8px 20px rgba(21,69,108,.08)}
.record-chain-step>span{width:29px;height:29px;flex:0 0 29px;display:grid;place-items:center;border-radius:10px;background:#eaf3fa;color:#286d9f;font-size:11px;font-weight:900}.record-chain-step.active>span{background:#1d6fa9;color:#fff}.record-chain-step b,.record-chain-step small{display:block}.record-chain-step b{font-size:11px;color:#193f5c}.record-chain-step small{margin-top:2px;font-size:8px;color:#7a8b9b}
.navigation-progress{position:fixed;z-index:9999;left:0;top:0;width:0;height:3px;opacity:0;background:linear-gradient(90deg,#1e73b7,#36a6da,#55c9c6);box-shadow:0 0 14px rgba(48,157,211,.48);transition:width .4s ease,opacity .2s ease}.navigation-progress.active{width:76%;opacity:1}.navigation-progress.done{width:100%;opacity:0;transition:width .18s ease,opacity .22s ease .08s}
.command-trigger{width:auto!important;min-width:42px;gap:6px;padding:0 9px!important}.command-trigger kbd{font:700 9px/1 system-ui;color:#75889a;border:1px solid #d6e1ea;border-bottom-width:2px;border-radius:6px;padding:4px 5px;background:#fff}
.command-palette{position:fixed;z-index:1200;inset:0;display:none;align-items:flex-start;justify-content:center;padding:9vh 18px 18px}.command-palette.open{display:flex}.command-backdrop{position:absolute;inset:0;background:rgba(8,26,42,.48);backdrop-filter:blur(8px);animation:commandFade .18s ease both}.command-panel{position:relative;width:min(680px,100%);max-height:78vh;overflow:hidden;border:1px solid rgba(210,226,239,.9);border-radius:24px;background:rgba(251,253,255,.98);box-shadow:0 34px 90px rgba(8,29,47,.26);animation:commandPop .22s cubic-bezier(.2,.8,.2,1) both}.command-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 11px}.command-head h3{margin:4px 0 0;font-size:20px;color:#143c5c}.command-head button{width:36px;height:36px;border:1px solid #dbe6ef;border-radius:11px;background:#fff;color:#5d7387;cursor:pointer}.command-search{display:flex;align-items:center;gap:10px;margin:0 20px 12px;padding:10px 12px;border:1px solid #cfdde8;border-radius:14px;background:#fff;box-shadow:0 0 0 4px rgba(43,127,192,.04)}.command-search input{min-height:30px!important;flex:1;border:0!important;padding:0!important;box-shadow:none!important;background:transparent!important;font-size:14px}.command-search kbd{font:700 9px/1 system-ui;color:#74889a;border:1px solid #d7e2eb;border-radius:6px;padding:4px 5px}.command-results{max-height:49vh;overflow:auto;padding:0 12px 12px}.command-result{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;padding:11px 12px;border:1px solid transparent;border-radius:12px;color:#21455f;text-decoration:none}.command-result span{font-weight:800}.command-result small{color:#8090a0;font-size:9px}.command-result.active,.command-result:hover{background:#edf6fd;border-color:#d3e6f4}.command-empty{padding:24px;text-align:center;color:#788b9d}.command-foot{display:flex;gap:18px;padding:11px 20px;border-top:1px solid #e1e9f0;background:#f8fbfd;color:#778b9d;font-size:9px}.command-open{overflow:hidden}
body .main{opacity:.985;transform:translateY(2px);transition:opacity .28s ease,transform .28s ease}body.page-ready .main{opacity:1;transform:none}
.card[data-reveal],.workflow-suite{content-visibility:auto;contain-intrinsic-size:auto 420px}
@keyframes commandFade{from{opacity:0}to{opacity:1}}@keyframes commandPop{from{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:760px){.command-trigger kbd{display:none}.workflow-suite{padding:15px}.workflow-chain{grid-template-columns:1fr 1fr}.workflow-stage{min-height:135px}.record-chain-step{min-width:138px}}
@media(max-width:520px){.workflow-chain{grid-template-columns:1fr}.command-palette{padding-top:4vh}.command-panel{border-radius:20px}.command-foot{gap:8px;justify-content:space-between}.record-chain{border-radius:14px}}
@media(prefers-reduced-motion:reduce){.workflow-stage,.record-chain-step,.navigation-progress,.command-panel,.command-backdrop,body .main{animation:none!important;transition:none!important;transform:none!important}}

/* V11.6 remote learner picker */
.remote-student-picker{position:relative}.remote-student-search{display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #d5e1ed;border-radius:12px;background:#fff}.remote-student-search input{flex:1;border:0!important;box-shadow:none!important;padding-left:0!important}.remote-student-selected{margin-top:8px;padding:9px 11px;border:1px dashed #d7e2eb;border-radius:10px;background:#f8fbfd;color:#788b9c;font-size:10px}.remote-student-selected.has-value{border-style:solid;border-color:#b8dbc9;background:#f2fbf6;color:#176d48;font-weight:800}.remote-student-results{position:absolute;z-index:60;left:0;right:0;top:52px;max-height:280px;overflow:auto;padding:7px;border:1px solid #d7e3ed;border-radius:14px;background:#fff;box-shadow:0 20px 45px rgba(17,47,75,.16)}.remote-student-result{width:100%;display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:center;padding:10px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer;color:#29465e}.remote-student-result:hover{background:#edf6fd}.remote-student-result b{font-size:10px;color:#1e6396}.remote-student-result span{font-weight:800;font-size:11px}.remote-student-result small{color:#7b8c9b;font-size:9px}.remote-student-loading{padding:14px;text-align:center;color:#7a8c9e;font-size:10px}
@media(max-width:620px){.remote-student-result{grid-template-columns:1fr}.remote-student-result small{display:block}}


/* V11.7 UI CONSISTENCY — contrast, alignment and unified management flow */
:root{--lis-heading:#123b5d;--lis-text:#314d63;--lis-muted:#718597;--lis-surface:#ffffff;--lis-soft:#f6f9fc;--lis-border:#dbe6ef;--lis-blue:#1f7fd2;--lis-green:#18a86f;--lis-red:#df4d63;--lis-gray:#8b98a5}
.topbar{display:grid!important;grid-template-columns:minmax(260px,1fr) minmax(300px,560px) auto!important;align-items:center!important;gap:18px!important}
.topbar-left{min-width:0}.topbar-left>div{min-width:0}.topbar h1{color:var(--lis-heading)!important;line-height:1.15!important;margin:2px 0 0!important}.page-kicker{color:#698296!important}
.global-search-box{width:100%;min-width:0;height:46px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 13px;border:1px solid #cfdeea;border-radius:14px;background:#fff;color:#567187;box-shadow:0 6px 18px rgba(16,55,89,.05);cursor:pointer;text-align:left;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.global-search-box:hover,.global-search-box:focus-visible{border-color:#8fbbd9;box-shadow:0 0 0 4px rgba(31,127,210,.08),0 9px 24px rgba(16,55,89,.08);outline:0;transform:translateY(-1px)}
.global-search-icon{display:grid;place-items:center;color:#2a76aa}.global-search-icon svg{width:19px;height:19px}.global-search-placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;color:#718597}.global-search-box kbd{font:800 9px/1 system-ui;color:#647d91;border:1px solid #d5e1ea;border-bottom-width:2px;border-radius:7px;padding:5px 7px;background:#f9fbfd}
.topbar-actions{justify-self:end;align-items:center!important}.primary-nav{margin-top:8px!important}
/* Light surfaces always use dark headings. */
.card,.stat-card,.workflow-suite,.analytics-card,.report-module-card,.dashboard-action-card,.it-course-card,.command-panel{color:var(--lis-text)}
.card h1,.card h2,.card h3,.card h4,.card-head h1,.card-head h2,.card-head h3,.workflow-suite h2,.workflow-suite h3,.executive-section-head h3,.analytics-card h3,.it-course-card h3,.command-panel h3{color:var(--lis-heading)!important}
.card-head p,.workflow-suite p,.executive-section-head p,.analytics-card p{color:var(--lis-muted)!important}
/* Dark/gradient hero panels always use white text for guaranteed contrast. */
.hero-panel,.premium-admin-hero,.it-page-hero,.operations-hero,.id-center-hero,.it-student-profile-hero,.it-hub-hero{color:#fff!important}
.hero-panel h1,.hero-panel h2,.hero-panel h3,.premium-admin-hero h2,.it-page-hero h2,.operations-hero h2,.id-center-hero h2,.it-student-profile-hero h2,.it-hub-hero h2{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.08)}
.hero-panel p,.hero-panel .eyebrow,.hero-panel small,.premium-admin-hero p,.it-page-hero p,.operations-hero p,.id-center-hero p,.it-student-profile-hero p,.it-hub-hero p{color:rgba(255,255,255,.86)!important}
.hero-panel .hero-role-badge,.hero-panel .hero-role-badge small,.hero-panel .hero-role-badge span{color:#fff!important}
.sidebar-label{color:#afc8da!important}.management-role-card b,.brand strong{color:#fff!important}.management-role-card small,.brand small{color:#bdd0df!important}
/* Tables/forms: explicit contrast prevents heading/background collisions. */
table thead th{background:#edf4f9!important;color:#173b57!important;font-weight:900!important}table tbody td{color:#314d63}.form-grid label,.stack label,.filter-bar label,.bulk-attendance-toolbar label{color:#294a63!important;font-weight:800}
.command-search{min-height:48px;align-items:center!important}.command-search svg{flex:none}.command-search input{line-height:30px!important}.command-head{align-items:center!important}
/* Same five-step fee flow on Academic and IT pages. */
.fee-management-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0 18px;padding:12px;border:1px solid var(--lis-border);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(20,53,83,.055)}
.fee-flow-step{display:flex;align-items:center;gap:9px;min-width:0;padding:10px 11px;border:1px solid #e1e9f0;border-radius:13px;background:#f8fbfd;color:#31516a}.fee-flow-step>span{width:28px;height:28px;display:grid;place-items:center;flex:none;border-radius:50%;background:#1f7fd2;color:#fff;font-weight:900;font-size:11px}.fee-flow-step b{display:block;color:#173b57;font-size:10px}.fee-flow-step small{display:block;color:#7a8d9d;font-size:8px;margin-top:2px}.fee-flow-step.active{border-color:#afd4ef;background:#eef7fd}
.fee-automation-card{border:1px solid #cfe4d9!important;background:linear-gradient(145deg,#fbfffd,#f2fbf6)!important}.fee-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fee-rule-grid>div{min-width:0}.fee-rule-grid label{display:block;margin-bottom:5px;color:#294a63;font-size:9px;font-weight:900}.automation-status-card{border:1px solid #cfe0ee!important;background:linear-gradient(145deg,#fbfdff,#f1f7fc)!important}
@media(max-width:1180px){.topbar{grid-template-columns:minmax(240px,1fr) minmax(260px,420px) auto!important}.global-search-placeholder{font-size:11px}.fee-management-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.fee-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:920px){.topbar{display:flex!important;align-items:center!important}.global-search-box{order:3;flex:1;max-width:360px}.topbar-actions{margin-left:auto}.fee-management-flow{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.global-search-box{height:42px;max-width:none}.global-search-placeholder{display:none}.global-search-box{grid-template-columns:20px 1fr}.global-search-box kbd{justify-self:end}.fee-management-flow,.fee-rule-grid{grid-template-columns:1fr}.fee-flow-step{min-height:58px}}

/* V11.7.1 fee-profile parity and final contrast audit */
.card-head{align-items:flex-start}.card-head>div{min-width:0}.card-head h3{line-height:1.25!important}
.btn.primary,.mini-btn.success,.badge.success{color:#fff!important}.btn.secondary{color:#214d6d!important}
.notice-soft h3,.notice-soft b,.detail-grid b,.list-item b,.student-row b{color:#173b57}
.fee-automation-card .bulk-attendance-toolbar{background:rgba(255,255,255,.7);border:1px solid #d9e8df;border-radius:13px;padding:10px}
.fee-automation-card .fee-active-check{min-height:42px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #dce8e2;border-radius:11px;background:#fff}
@media(max-width:920px){.topbar-left{flex:1}.global-search-box{flex-basis:100%;width:100%}.topbar{flex-wrap:wrap!important}.topbar-actions{flex:none}}


/* =========================================================
   LIS V11.8 — PROFESSIONAL COLOR SYSTEM + FOUR-CHART ROW
   Final override layer: high contrast, calm institutional palette.
========================================================= */
:root{
  --pro-bg:#f3f7fb;--pro-surface:#ffffff;--pro-soft:#f8fbfd;--pro-soft-2:#eef4f8;
  --pro-heading:#102f4a;--pro-text:#304a5f;--pro-muted:#6d8294;--pro-border:#d7e3ec;
  --pro-primary:#155f96;--pro-primary-dark:#0d456e;--pro-primary-soft:#eaf4fb;
  --pro-success:#18865a;--pro-success-bg:#eaf7f1;--pro-danger:#c44654;--pro-danger-bg:#fdecef;
  --pro-warning:#a86d08;--pro-warning-bg:#fff5df;--pro-info:#266da6;--pro-info-bg:#eaf3fb;
  --pro-sidebar:#091d2f;--pro-sidebar-2:#0c2941;
}
html,body{background:var(--pro-bg)!important;color:var(--pro-text)!important}
body{background:linear-gradient(180deg,#f8fbfd 0%,var(--pro-bg) 100%)!important}
.main{background:transparent!important}.topbar{background:linear-gradient(180deg,rgba(243,247,251,.98) 78%,rgba(243,247,251,0))!important}
.topbar h1,.profile-hero h2,.marksheet-head h2,.quiz-result-title h2{color:var(--pro-heading)!important}
.page-kicker,.eyebrow{color:#40779f!important}.topbar .page-kicker{color:#637d91!important}

/* Sidebar */
.sidebar{background:linear-gradient(180deg,var(--pro-sidebar) 0%,var(--pro-sidebar-2) 68%,#071725 100%)!important;border-right:1px solid rgba(255,255,255,.05)!important}
.sidebar-label{color:#9fbcd0!important}.sidebar-nav a{color:#d1e0ea!important;border:1px solid transparent!important}
.sidebar-nav a:hover{background:#113653!important;color:#fff!important;border-color:rgba(255,255,255,.06)!important}
.sidebar-nav a.active{background:linear-gradient(90deg,#185f91,#13486e)!important;color:#fff!important;border-color:#276f9e!important;box-shadow:inset 3px 0 0 #70b9e8!important}
.sidebar-nav a svg,.logout-link svg{color:#b9d3e5!important}.sidebar-nav a.active svg{color:#fff!important}
.management-role-card{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.09)!important}.management-role-card b,.brand strong{color:#fff!important}.management-role-card small,.brand small{color:#b9cddd!important}

/* Light surfaces */
.card,.stat-card,.workflow-suite,.analytics-card,.report-module-card,.dashboard-action-card,.it-course-card,.command-panel,.profile-hero,.role-permission-item,.detail-grid>div,.notice-soft{background:var(--pro-surface)!important;border-color:var(--pro-border)!important;color:var(--pro-text)!important}
.card,.stat-card,.analytics-card,.dashboard-action-card,.report-module-card{box-shadow:0 12px 34px rgba(19,55,83,.055)!important}
.card h1,.card h2,.card h3,.card h4,.card-head h1,.card-head h2,.card-head h3,.workflow-suite h2,.workflow-suite h3,.analytics-card h3,.report-module-card b,.dashboard-action-card b,.it-course-card h3,.detail-grid b,.list-item b,.student-row b,.notice-soft b{color:var(--pro-heading)!important}
.card p,.card-head p,.workflow-suite p,.analytics-card p,.list-item p,.student-row small,.detail-grid small,.notice-soft{color:var(--pro-muted)!important}
.profile-hero{background:linear-gradient(135deg,#fff,#f5f9fc)!important}.profile-hero p{color:var(--pro-muted)!important}
.stat-card small{color:#667e91!important}.stat-card strong{color:var(--pro-heading)!important}.stat-card span{color:#8293a3!important}.stat-card:after{background:linear-gradient(180deg,#1c6da4,#4b9bcf)!important}

/* Hero / dark surfaces */
.hero-panel,.premium-admin-hero,.it-page-hero,.operations-hero,.id-center-hero,.it-student-profile-hero,.it-hub-hero,.v10-management-hero,.student-result-hero{background:linear-gradient(125deg,#103b5e 0%,#175f8e 58%,#1d719b 100%)!important;color:#fff!important}
.hero-panel h1,.hero-panel h2,.hero-panel h3,.hero-panel h4,.premium-admin-hero h2,.it-page-hero h2,.operations-hero h2,.id-center-hero h2,.it-student-profile-hero h2,.it-hub-hero h2,.v10-management-hero h2,.student-result-hero h2{color:#fff!important}
.hero-panel p,.hero-panel .eyebrow,.hero-panel small,.hero-panel span,.premium-admin-hero p,.it-page-hero p,.operations-hero p,.id-center-hero p,.it-student-profile-hero p,.it-hub-hero p{color:#d9e9f4!important}
.hero-role-badge{background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.22)!important}.hero-role-badge *{color:#fff!important}

/* Forms & search */
input,select,textarea,.remote-student-search,.command-search{background:#fff!important;border-color:#cfdde7!important;color:#203e55!important}
input::placeholder,textarea::placeholder{color:#92a1ae!important}label{color:#294960!important}
input:focus,select:focus,textarea:focus,.remote-student-search:focus-within{border-color:#6ba7cf!important;box-shadow:0 0 0 3px rgba(32,112,165,.11)!important;outline:0!important}
.global-search-box{background:#fff!important;border-color:#cbdbe6!important;color:#36576d!important;box-shadow:0 7px 20px rgba(17,55,84,.06)!important}
.global-search-box:hover,.global-search-box:focus-visible{border-color:#7caed0!important;box-shadow:0 0 0 4px rgba(31,112,166,.09),0 10px 25px rgba(17,55,84,.08)!important}
.global-search-placeholder{color:#6d8294!important}.global-search-icon{color:var(--pro-primary)!important}.global-search-box kbd{background:#f5f8fa!important;border-color:#d3e0e8!important;color:#597184!important}

/* Buttons */
.btn.primary{background:linear-gradient(135deg,var(--pro-primary-dark),var(--pro-primary))!important;color:#fff!important;border-color:var(--pro-primary-dark)!important;box-shadow:0 9px 22px rgba(21,95,150,.19)!important}
.btn.primary:hover{background:linear-gradient(135deg,#0a3c60,#145b90)!important}
.btn.secondary{background:#edf3f7!important;color:#244b66!important;border:1px solid #d2e0e9!important}.btn.secondary:hover{background:#e4edf3!important;color:#173b55!important}
.btn.light{background:#fff!important;color:#174c70!important;border:1px solid rgba(255,255,255,.78)!important}.mini-btn{background:#f5f8fa!important;color:#28526e!important;border-color:#d4e0e8!important}.mini-btn:hover{background:#eaf2f7!important}.mini-btn.success{background:var(--pro-success)!important;color:#fff!important;border-color:var(--pro-success)!important}.mini-btn.danger{background:var(--pro-danger-bg)!important;color:#a83442!important;border-color:#f2cbd1!important}

/* Badges & alerts */
.badge.success{background:var(--pro-success-bg)!important;color:#176f4e!important;border:1px solid #cde9dc!important}.badge.danger{background:var(--pro-danger-bg)!important;color:#a93846!important;border:1px solid #f3ccd2!important}.badge.warning{background:var(--pro-warning-bg)!important;color:#8b5e0d!important;border:1px solid #f0dfb8!important}.badge.info{background:var(--pro-info-bg)!important;color:#245f8d!important;border:1px solid #cfe2f0!important}
.alert.success{background:var(--pro-success-bg)!important;color:#176f4e!important;border-color:#cce9da!important}.alert.danger{background:var(--pro-danger-bg)!important;color:#a83a47!important;border-color:#f2ccd2!important}

/* Tables */
.table-wrap{background:#fff!important;border:1px solid var(--pro-border)!important;border-radius:14px!important}table thead th{background:#eaf1f6!important;color:#29485e!important;border-bottom:1px solid #cfdee8!important}table tbody td{color:#304a5f!important;border-bottom-color:#e8eef3!important}table tbody tr:hover td{background:#f8fbfd!important}

/* Executive charts: four cards in ONE desktop row */
.executive-chart-quartet{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important}
.executive-pie-card{min-width:0!important;padding:15px!important;border-radius:18px!important;background:#fff!important;border-color:var(--pro-border)!important;box-shadow:0 12px 30px rgba(18,55,83,.06)!important}
.executive-column-head{gap:8px!important}.executive-column-head .analytics-icon{width:38px!important;height:38px!important;border-radius:11px!important}.executive-column-head h3{font-size:14px!important;color:var(--pro-heading)!important}.executive-column-head small{font-size:7px!important;color:#6d8294!important}
.executive-column-summary{margin-top:11px!important;padding:10px 0!important}.executive-column-summary strong{font-size:15px!important;color:var(--pro-heading)!important}.executive-rate b{font-size:22px!important;color:var(--pro-heading)!important}.executive-rate span{font-size:7px!important;color:#73889a!important}
.executive-pie-layout{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:8px 0 4px!important}
.executive-pie-chart{width:118px!important;height:118px!important;margin:0 auto!important;box-shadow:0 10px 24px rgba(18,71,93,.09)!important}.executive-pie-chart:before{inset:13px!important}.executive-pie-chart strong{font-size:22px!important}.executive-pie-chart span{font-size:6.5px!important}
.executive-pie-legend{gap:6px!important}.executive-pie-legend>div{grid-template-columns:8px minmax(0,1fr) auto!important;gap:2px 7px!important;padding:7px 8px!important;border-radius:10px!important;background:#f8fbfd!important;border-color:#e1e9ef!important}.executive-pie-legend i{width:8px!important;height:8px!important;margin-top:3px!important}.executive-pie-legend small{font-size:6.5px!important}.executive-pie-legend b{font-size:9px!important;overflow:hidden;text-overflow:ellipsis}.executive-pie-legend span{font-size:9px!important}.executive-column-foot{gap:7px!important;padding-top:8px!important}.executive-column-foot p{font-size:7px!important;line-height:1.35!important}.live-data-chip{font-size:7px!important}
@media(max-width:1180px){.executive-chart-quartet{grid-template-columns:repeat(2,minmax(0,1fr))!important}.executive-pie-layout{grid-template-columns:135px 1fr!important}.executive-pie-chart{width:128px!important;height:128px!important}.executive-pie-legend>div{grid-template-columns:8px 1fr auto!important}}
@media(max-width:760px){.executive-chart-quartet{grid-template-columns:1fr!important}.executive-pie-layout{grid-template-columns:135px 1fr!important}}
@media(max-width:520px){.executive-pie-layout{grid-template-columns:1fr!important}.executive-pie-chart{width:122px!important;height:122px!important}}

/* Small consistency fixes */
.record-chain-step,.fee-flow-step{background:#f8fbfd!important;border-color:#dce6ed!important;color:#315169!important}.record-chain-step.active,.fee-flow-step.active{background:#edf6fb!important;border-color:#a9cfe7!important}.record-chain-step b,.fee-flow-step b{color:var(--pro-heading)!important}
.icon-box,.feature-logo,.analytics-icon{background:#eaf4fb!important;color:#1d6b9f!important;border-color:#d2e6f3!important}.time-pill,.date-box{background:#edf5fa!important;color:#286b96!important}
.role-permission-item{background:#f9fbfd!important}.notice-soft{background:#f7fafc!important}.empty{color:#788b9b!important}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.card,.stat-card,.dashboard-action-card,.analytics-card{transition:none!important}}


/* =========================================================
   LIS PREMIUM V11.9 - uploaded student cards, class-first selectors,
   executive chart alignment and print/export fidelity
========================================================= */
[data-class-student-picker] select,[data-it-batch-student-picker] select,[data-it-available-student-picker] select{min-height:46px;background:#fff!important;border:1px solid #cbdbe6!important;border-radius:12px!important;color:#1e4059!important;font-weight:650}
[data-class-student-picker] select:disabled,[data-it-batch-student-picker] select:disabled,[data-it-available-student-picker] select:disabled{background:#f1f5f8!important;color:#8495a3!important;cursor:not-allowed}
.id-issue-card{border-top:4px solid #1d6fa8!important}.id-issue-card input[type=file]{padding:10px;background:#f8fbfd!important;border-style:dashed!important}
.student-card-preview{display:block;padding:16px;border:1px solid #d9e5ed;border-radius:18px;background:#f6f9fb;text-align:center;overflow:hidden}.student-card-preview img{display:block;max-width:100%;max-height:560px;margin:auto;border-radius:12px;box-shadow:0 14px 34px rgba(16,51,79,.12)}.student-card-actions{margin-top:16px;justify-content:center}.uploaded-student-card-panel{max-width:980px;margin-inline:auto}

/* Executive charts: one clean aligned row on normal desktop, readable labels and equal heights. */
.executive-chart-quartet{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important}
.executive-pie-card{display:flex!important;flex-direction:column!important;min-height:420px!important;padding:17px!important;border-radius:20px!important;border:1px solid #d8e4ec!important;background:linear-gradient(180deg,#fff 0%,#f9fbfd 100%)!important;box-shadow:0 14px 34px rgba(16,52,80,.07)!important}
.executive-column-head{min-height:48px!important;align-items:center!important}.executive-column-head h3{font-size:15px!important;line-height:1.2!important}.executive-column-head small{font-size:8px!important;letter-spacing:.1em!important}.executive-column-summary{min-height:62px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}.executive-column-summary strong{font-size:16px!important}.executive-rate b{font-size:24px!important}.executive-rate span{font-size:8px!important}
.executive-pie-layout{display:flex!important;flex-direction:column!important;align-items:center!important;gap:12px!important;flex:1!important;padding:8px 0!important}.executive-pie-chart{width:142px!important;height:142px!important;flex:none!important;margin:0 auto!important}.executive-pie-chart:before{inset:15px!important}.executive-pie-chart strong{font-size:25px!important}.executive-pie-chart span{font-size:7.5px!important}
.executive-pie-legend{width:100%!important;gap:7px!important}.executive-pie-legend>div{min-height:38px!important;grid-template-columns:9px minmax(0,1fr) auto!important;padding:8px 9px!important;border-radius:11px!important}.executive-pie-legend small{font-size:7.5px!important}.executive-pie-legend b{font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.executive-pie-legend span{font-size:10px!important}.executive-column-foot{min-height:48px!important;margin-top:auto!important;align-items:flex-start!important}.executive-column-foot p{font-size:8px!important;line-height:1.4!important;margin:0!important}.live-data-chip{font-size:7.5px!important;flex:none!important}
@media(max-width:980px){.executive-chart-quartet{grid-template-columns:repeat(2,minmax(0,1fr))!important}.executive-pie-card{min-height:350px!important}.executive-pie-layout{display:grid!important;grid-template-columns:150px 1fr!important}.executive-pie-chart{width:136px!important;height:136px!important}}
@media(max-width:760px){.executive-chart-quartet{grid-template-columns:1fr!important}.executive-pie-layout{grid-template-columns:140px 1fr!important}}
@media(max-width:520px){.executive-pie-layout{display:flex!important;flex-direction:column!important}.executive-pie-card{min-height:0!important}}

/* V11.9 print clone: only the selected design is sent to paper. */
#lisPrintRoot{display:none}
@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body.lis-printing-document{background:#fff!important;margin:0!important;padding:0!important}
  body.lis-printing-document>*:not(#lisPrintRoot){display:none!important}
  body.lis-printing-document #lisPrintRoot{display:block!important;position:static!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important}
  body.lis-printing-document #lisPrintRoot>.card,body.lis-printing-document #lisPrintRoot>.report,body.lis-printing-document #lisPrintRoot>.receipt,body.lis-printing-document #lisPrintRoot>.receipt-report,body.lis-printing-document #lisPrintRoot>.fee-report,body.lis-printing-document #lisPrintRoot>.sheet,body.lis-printing-document #lisPrintRoot>.final-class-result,body.lis-printing-document #lisPrintRoot>.it-receipt,body.lis-printing-document #lisPrintRoot>.it-certificate-sheet{margin:0 auto!important;box-shadow:none!important;transform:none!important}
  body.lis-printing-document #lisPrintRoot table thead{display:table-header-group!important}
  body.lis-printing-document #lisPrintRoot tr,body.lis-printing-document #lisPrintRoot .stat-card,body.lis-printing-document #lisPrintRoot .detail-grid>div{break-inside:avoid!important;page-break-inside:avoid!important}
}

/* V11.9 final executive chart geometry: stable four-card desktop row inside the management shell. */
@media(min-width:981px){.executive-four-chart-suite{overflow:visible!important}.executive-chart-quartet{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important}.executive-pie-card{min-height:405px!important;padding:14px!important}.executive-pie-chart{width:126px!important;height:126px!important}.executive-pie-chart:before{inset:14px!important}.executive-pie-chart strong{font-size:23px!important}.executive-column-summary{min-height:58px!important}.executive-column-foot p{max-width:none!important;text-align:left!important}}


/* V11.9.1 reference-style solid pie charts */
.executive-pie-chart.executive-solid-pie{position:relative!important;display:block!important;border:2px solid #fff!important;outline:1px solid #d8e3eb!important;overflow:hidden!important;box-shadow:0 12px 28px rgba(16,52,80,.10)!important}
.executive-pie-chart.executive-solid-pie:before{display:none!important}
.executive-pie-chart.executive-solid-pie>div{display:none!important}
.executive-solid-pie .pie-slice-label{position:absolute!important;z-index:3!important;transform:translate(-50%,-50%)!important;padding:2px 4px!important;border-radius:5px!important;background:rgba(255,255,255,.78)!important;color:#111!important;font-size:9px!important;font-weight:900!important;line-height:1!important;letter-spacing:-.01em!important;box-shadow:0 1px 4px rgba(0,0,0,.10)!important;pointer-events:none!important;white-space:nowrap!important}
@media(min-width:981px){.executive-pie-chart.executive-solid-pie{width:150px!important;height:150px!important}.executive-solid-pie .pie-slice-label{font-size:9.5px!important}}
@media(max-width:980px){.executive-pie-chart.executive-solid-pie{width:146px!important;height:146px!important}}
@media(max-width:520px){.executive-pie-chart.executive-solid-pie{width:150px!important;height:150px!important}.executive-solid-pie .pie-slice-label{font-size:9px!important}}

/* V11.9.1 — Reference-style solid pie charts (no donut hole) */
.executive-pie-chart.solid-reference-pie{
    position:relative!important;
    width:150px!important;
    height:150px!important;
    border-radius:50%!important;
    overflow:hidden!important;
    display:block!important;
    box-shadow:0 12px 28px rgba(18,61,97,.12), inset 0 0 0 1px rgba(255,255,255,.65)!important;
    border:1px solid rgba(18,61,97,.08)!important;
}
.executive-pie-chart.solid-reference-pie:before{display:none!important;content:none!important}
.executive-pie-chart.solid-reference-pie>div{display:none!important}
.pie-slice-label{
    position:absolute!important;
    transform:translate(-50%,-50%)!important;
    z-index:3!important;
    pointer-events:none!important;
    white-space:nowrap!important;
}
.pie-slice-label b{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:31px!important;
    height:22px!important;
    padding:0 5px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.88)!important;
    color:#102f49!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:-.02em!important;
    box-shadow:0 2px 8px rgba(14,48,74,.15)!important;
}
/* Keep all four executive charts aligned in one row on desktop. */
@media(min-width:981px){
    .executive-chart-quartet{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch!important;gap:14px!important}
    .executive-pie-card{height:100%!important;min-height:405px!important}
    .executive-pie-layout{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important}
    .executive-pie-chart.solid-reference-pie{width:154px!important;height:154px!important}
}
@media(max-width:980px){.executive-pie-chart.solid-reference-pie{width:145px!important;height:145px!important}}
@media(max-width:520px){.executive-pie-chart.solid-reference-pie{width:138px!important;height:138px!important}.pie-slice-label b{font-size:9px!important;min-width:28px!important;height:20px!important}}

/* V11.9.2 final reference match — classic solid pie with plain in-slice percentages */
.executive-pie-chart.executive-solid-pie{
  width:158px!important;height:158px!important;border-radius:50%!important;
  border:1px solid #d7e1e8!important;outline:none!important;
  box-shadow:0 8px 22px rgba(15,48,72,.09)!important;
  background-clip:padding-box!important;
}
.executive-pie-chart.executive-solid-pie:before{display:none!important;content:none!important}
.executive-pie-chart.executive-solid-pie>div{display:none!important}
.executive-solid-pie .pie-slice-label{
  position:absolute!important;z-index:4!important;transform:translate(-50%,-50%)!important;
  padding:0!important;border-radius:0!important;background:transparent!important;
  color:#0c1720!important;font-size:10px!important;font-weight:800!important;
  line-height:1!important;letter-spacing:0!important;box-shadow:none!important;
  text-shadow:0 1px 0 rgba(255,255,255,.45)!important;pointer-events:none!important;
}
@media(min-width:981px){
  .executive-chart-quartet{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important}
  .executive-pie-card{height:100%!important;min-height:408px!important}
  .executive-pie-layout{display:flex!important;flex-direction:column!important;align-items:center!important;gap:12px!important}
  .executive-pie-chart.executive-solid-pie{width:158px!important;height:158px!important}
}
@media(max-width:980px){.executive-pie-chart.executive-solid-pie{width:150px!important;height:150px!important}}
@media(max-width:520px){.executive-pie-chart.executive-solid-pie{width:146px!important;height:146px!important}.executive-solid-pie .pie-slice-label{font-size:9px!important}}


/* V11.9.3 monthly school performance combo chart */
.academic-performance-section{overflow:hidden}
.performance-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:4px 0 18px}.performance-mini{padding:13px 14px;border-radius:16px;background:linear-gradient(180deg,#f8fbfd 0%,#ffffff 100%);border:1px solid #dae5ed;box-shadow:0 8px 22px rgba(17,58,87,.05)}.performance-mini small{display:block;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#6d8395}.performance-mini strong{display:block;margin-top:6px;color:#123d61;font-size:28px;line-height:1.1}.performance-mini span{display:block;margin-top:4px;font-size:12px;color:#647b8e}
.school-performance-shell{position:relative;padding:18px 16px 16px 62px;border-radius:22px;background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%);border:1px solid #d8e4ec;box-shadow:0 16px 38px rgba(18,57,87,.06)}
.performance-legend{display:flex;justify-content:flex-end;gap:18px;margin:0 4px 12px 0;font-size:12px;font-weight:700;color:#41596d}.performance-legend span{display:inline-flex;align-items:center;gap:8px}.performance-legend i{display:inline-block}.performance-legend i.bar{width:16px;height:10px;border-radius:3px;background:linear-gradient(180deg,#7fb5ec 0%,#2a78c5 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}.performance-legend i.line{width:18px;height:0;border-top:3px solid #2a2f36;position:relative}.performance-legend i.line:after{content:'';position:absolute;right:-2px;top:-5px;width:8px;height:8px;border-radius:50%;background:#2a2f36}
.performance-y-axis{position:absolute;left:14px;top:52px;bottom:20px;width:42px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}.performance-y-axis span{font-size:11px;color:#73889a;font-weight:700}
.school-performance-chart{position:relative;min-height:370px;padding:30px 6px 0}.performance-grid-lines{position:absolute;left:0;right:0;top:26px;bottom:92px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.performance-grid-lines i{display:block;height:1px;background:#dbe4eb}
.performance-line-svg{position:absolute;left:0;right:0;top:20px;bottom:88px;width:100%;height:calc(100% - 108px);z-index:2;overflow:visible}
.performance-bars{position:relative;z-index:3;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;align-items:end;min-height:280px;padding:0 0 6px}
.performance-month-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0}.performance-bar-wrap{position:relative;height:250px;display:flex;align-items:flex-end;justify-content:center;width:100%}.performance-bar{width:68%;min-width:18px;max-width:36px;border-radius:10px 10px 0 0;background:linear-gradient(180deg,#8ec0ef 0%,#4e96d8 52%,#2d6fb8 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 8px 20px rgba(35,96,156,.18)}.bar-value-label{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);font-size:11px;font-weight:900;color:#123d61;background:rgba(255,255,255,.96);border:1px solid #d8e4ec;border-radius:8px;padding:2px 6px;box-shadow:0 4px 10px rgba(18,57,87,.08);white-space:nowrap}
.performance-month-meta{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:10px;text-align:center}.performance-month-meta b{font-size:12px;color:#173b57}.performance-month-meta small{font-size:10px;color:#7a8e9f}.performance-month-meta span{font-size:10px;font-weight:800;color:#384d5f}
@media(max-width:1200px){.performance-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-bars{gap:8px}.performance-bar{width:72%}}
@media(max-width:860px){.school-performance-shell{padding-left:52px}.school-performance-chart{min-height:330px}.performance-bar-wrap{height:220px}.performance-legend{justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:680px){.performance-summary-strip{grid-template-columns:1fr}.school-performance-shell{padding:16px 12px 14px 44px}.performance-y-axis{left:8px;width:30px}.performance-bars{gap:6px}.performance-bar{width:78%;min-width:14px}.performance-month-meta b{font-size:11px}.performance-month-meta small,.performance-month-meta span{font-size:9px}}


/* V11.9.4 dashboard chart polish and visible zero states */
.executive-pie-card.is-empty{background:linear-gradient(180deg,#fcfdff 0%,#f6f9fc 100%)!important}
.executive-pie-chart.executive-solid-pie.is-zero-state{display:flex!important;align-items:center!important;justify-content:center!important;outline:1px dashed #d7e2eb!important;border-color:#f7fafc!important;box-shadow:inset 0 0 0 10px rgba(255,255,255,.35),0 12px 28px rgba(16,52,80,.05)!important}
.executive-pie-chart.executive-solid-pie.is-zero-state .pie-empty-label{display:inline-flex;align-items:center;justify-content:center;min-width:88px;min-height:88px;padding:8px 10px;border-radius:50%;background:rgba(255,255,255,.82);border:1px solid #d7e2eb;color:#5e7487;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-align:center;line-height:1.2;box-shadow:0 8px 18px rgba(16,52,80,.08)}
.executive-column-foot{gap:10px!important}.executive-column-foot p{color:#61788a!important}
.academic-performance-section{margin-top:18px!important}.academic-performance-section .card-head{align-items:flex-start!important}.academic-performance-section .card-head p{max-width:780px}
.performance-empty-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#fff3cd;border:1px solid #f0d98b;color:#795c04;font-size:11px;font-weight:800}
.performance-empty-chip:before{content:'';width:8px;height:8px;border-radius:50%;background:#f2c94c;display:inline-block}
.school-performance-shell{margin-top:4px}
.performance-summary-strip .performance-mini strong{font-variant-numeric:tabular-nums}
@media(max-width:980px){.academic-performance-section{margin-top:16px!important}}


/* V11.9.5 fee donut status cards + hide attendance on desktop */
.executive-pie-legend i.pending{background:#f5a623!important;box-shadow:0 0 0 5px rgba(245,166,35,.14)!important}
.executive-pie-legend i.overdue{background:#ea4f5d!important;box-shadow:0 0 0 5px rgba(234,79,93,.13)!important}
.executive-pie-chart.executive-donut-chart{position:relative!important;display:block!important;border-radius:50%!important;border:2px solid #fff!important;outline:1px solid #d8e3eb!important;overflow:hidden!important;box-shadow:0 14px 30px rgba(16,52,80,.10)!important}
.executive-pie-chart.executive-donut-chart:before{content:''!important;display:block!important;position:absolute!important;inset:24%!important;border-radius:50%!important;background:#fff!important;box-shadow:0 0 0 1px #d9e4ec,inset 0 0 0 1px rgba(255,255,255,.8)!important;z-index:1!important}
.executive-pie-chart.executive-donut-chart .pie-slice-label{z-index:2!important}
.executive-pie-chart.executive-donut-chart.is-zero-state{display:flex!important;align-items:center!important;justify-content:center!important;background:conic-gradient(#edf3f8 0 100%)!important}
.executive-pie-chart.executive-donut-chart.is-zero-state:before{display:block!important}
.executive-pie-chart.executive-donut-chart.is-zero-state .pie-empty-label{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;padding:6px;border-radius:50%;background:#fff;border:1px solid #d7e2eb;color:#5e7487;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-align:center;line-height:1.2}
.fee-status-card .executive-pie-layout{grid-template-columns:148px 1fr!important;gap:16px!important}
.fee-status-card .executive-column-summary{padding-bottom:2px}
.fee-status-card .executive-pie-legend>div{grid-template-columns:10px 1fr auto!important}
@media(min-width:981px){.desktop-hide-attendance{display:none!important}.executive-chart-quartet{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.fee-status-card{min-height:390px!important}.executive-pie-chart.executive-donut-chart{width:160px!important;height:160px!important}}
@media(max-width:980px){.executive-pie-chart.executive-donut-chart{width:150px!important;height:150px!important}}


/* V11.9.6 fee-only dashboard layout */
.executive-four-chart-suite .section-note{max-width:820px}
.executive-chart-quartet{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.executive-pie-card.fee-status-card{min-height:400px!important;padding:18px 18px 16px!important;border-radius:22px!important;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important}
.executive-pie-card.fee-status-card .executive-column-head h3{font-size:16px!important}
.executive-pie-card.fee-status-card .executive-column-summary{display:grid!important;grid-template-columns:1fr auto!important;gap:12px!important;padding:14px 0 10px!important}
.executive-pie-card.fee-status-card .executive-column-summary small{font-size:11px!important;letter-spacing:.08em!important}
.executive-pie-card.fee-status-card .executive-column-summary strong{font-size:18px!important}
.executive-pie-card.fee-status-card .executive-rate b{font-size:22px!important}
.executive-pie-card.fee-status-card .executive-rate span{font-size:10px!important}
.executive-pie-card.fee-status-card .executive-pie-layout{display:grid!important;grid-template-columns:170px 1fr!important;gap:22px!important;align-items:center!important;padding-top:4px!important}
.executive-pie-card.fee-status-card .executive-pie-chart.executive-donut-chart{width:170px!important;height:170px!important;margin-inline:auto!important}
.executive-pie-card.fee-status-card .executive-pie-chart.executive-donut-chart:before{inset:27%!important}
.executive-pie-card.fee-status-card .executive-pie-legend{display:grid!important;gap:12px!important}
.executive-pie-card.fee-status-card .executive-pie-legend>div{padding:12px 14px!important;border-radius:15px!important;background:#f8fbfd!important;border:1px solid #dde7ee!important;display:grid!important;grid-template-columns:10px 1fr auto!important;gap:4px 10px!important;align-items:start!important}
.executive-pie-card.fee-status-card .executive-pie-legend small{font-size:10px!important;letter-spacing:.06em!important}
.executive-pie-card.fee-status-card .executive-pie-legend b{font-size:13px!important;color:#143754!important}
.executive-pie-card.fee-status-card .executive-pie-legend span{font-size:12px!important;font-weight:900!important;color:#173b57!important;justify-self:end!important;align-self:center!important}
.executive-pie-card.fee-status-card .executive-column-foot{margin-top:auto!important;padding-top:14px!important}
@media(max-width:980px){.executive-chart-quartet{grid-template-columns:1fr!important}.executive-pie-card.fee-status-card .executive-pie-layout{grid-template-columns:150px 1fr!important;gap:18px!important}.executive-pie-card.fee-status-card .executive-pie-chart.executive-donut-chart{width:150px!important;height:150px!important}}
@media(max-width:620px){.executive-pie-card.fee-status-card .executive-pie-layout{grid-template-columns:1fr!important}.executive-pie-card.fee-status-card .executive-pie-chart.executive-donut-chart{width:156px!important;height:156px!important}.executive-pie-card.fee-status-card .executive-pie-legend{margin-top:4px!important}}


/* V11.9.7 final fee dashboard polish */
.executive-four-chart-suite .executive-section-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin-bottom:16px!important}
.executive-four-chart-suite .executive-section-head .eyebrow{display:inline-block!important;margin-bottom:6px!important}
.executive-four-chart-suite .executive-section-head h3{margin:0 0 6px!important;font-size:24px!important;line-height:1.2!important;color:#113a59!important}
.executive-four-chart-suite .executive-section-head p{margin:0!important;max-width:820px!important;font-size:13px!important;line-height:1.55!important;color:#5c7588!important}
.executive-four-chart-suite .executive-chart-quartet{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card{display:grid!important;grid-template-rows:auto auto 1fr auto!important;min-height:430px!important;height:100%!important;padding:20px!important;border-radius:24px!important;border:1px solid #d8e5ee!important;background:linear-gradient(180deg,#ffffff 0%,#f9fcfe 100%)!important;box-shadow:0 16px 40px rgba(17,53,82,.08)!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-head{display:flex!important;align-items:center!important;gap:12px!important;min-height:auto!important;margin-bottom:2px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-head .grow{min-width:0;flex:1!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-head small{display:block!important;font-size:10px!important;letter-spacing:.12em!important;color:#678299!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-head h3{margin:3px 0 0!important;font-size:26px!important;line-height:1.1!important;color:#123754!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-head a{width:42px!important;height:42px!important;border-radius:14px!important;border:1px solid #dbe6ee!important;background:#fff!important;display:grid!important;place-items:center!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;margin:16px 0 10px!important;padding:16px 18px!important;border-radius:18px!important;border:1px solid #dfe8ef!important;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;min-height:84px!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-summary small{display:block!important;font-size:11px!important;font-weight:800!important;letter-spacing:.09em!important;color:#748b9c!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-summary strong{display:block!important;margin-top:4px!important;font-size:30px!important;line-height:1.1!important;color:#123754!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-rate{text-align:right!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-rate b{display:block!important;font-size:38px!important;line-height:1!important;color:#123754!important;letter-spacing:-.05em!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-rate span{display:block!important;margin-top:6px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important;color:#7b90a0!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-layout{display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;align-items:center!important;gap:24px!important;padding:8px 0 4px!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-chart.executive-donut-chart{width:180px!important;height:180px!important;margin:0 auto!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-chart.executive-donut-chart:before{inset:28%!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .pie-slice-label{font-size:13px!important;font-weight:900!important;color:#173b57!important;text-shadow:0 1px 0 rgba(255,255,255,.85)!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-legend{display:grid!important;gap:12px!important;width:100%!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-legend>div{display:grid!important;grid-template-columns:12px minmax(0,1fr) auto!important;align-items:center!important;gap:5px 12px!important;padding:14px 15px!important;border-radius:16px!important;background:#f7fafc!important;border:1px solid #dce7ef!important;min-height:66px!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-legend i{width:12px!important;height:12px!important;margin-top:0!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-legend small{display:block!important;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important;color:#6c8396!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-legend b{display:block!important;font-size:16px!important;line-height:1.25!important;color:#153957!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-legend span{font-size:15px!important;font-weight:900!important;color:#123754!important;justify-self:end!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-foot{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-top:10px!important;padding-top:16px!important;border-top:1px solid #e4ecf2!important;min-height:auto!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-foot p{margin:0!important;max-width:none!important;font-size:12px!important;line-height:1.45!important;color:#62798b!important;text-align:right!important}
.executive-four-chart-suite .executive-pie-card.fee-status-card .live-data-chip{font-size:11px!important;padding:8px 12px!important}
@media(max-width:1100px){.executive-four-chart-suite .executive-chart-quartet{gap:18px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-head h3{font-size:23px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-summary strong{font-size:26px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-rate b{font-size:34px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-layout{grid-template-columns:170px minmax(0,1fr)!important;gap:20px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-chart.executive-donut-chart{width:165px!important;height:165px!important}}
@media(max-width:860px){.executive-four-chart-suite .executive-section-head{flex-direction:column!important;align-items:flex-start!important}.executive-four-chart-suite .executive-chart-quartet{grid-template-columns:1fr!important}.executive-four-chart-suite .executive-pie-card.fee-status-card{min-height:0!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-layout{grid-template-columns:160px minmax(0,1fr)!important;gap:18px!important}}
@media(max-width:620px){.executive-four-chart-suite .executive-pie-card.fee-status-card{padding:16px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-head h3{font-size:20px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-summary{grid-template-columns:1fr!important;gap:10px!important;padding:14px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-rate{text-align:left!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-rate b{font-size:30px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-layout{grid-template-columns:1fr!important;gap:16px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-chart.executive-donut-chart{width:160px!important;height:160px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-legend>div{padding:12px!important;min-height:58px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-legend b{font-size:14px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-pie-legend span{font-size:13px!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-foot{flex-direction:column!important;align-items:flex-start!important}.executive-four-chart-suite .executive-pie-card.fee-status-card .executive-column-foot p{text-align:left!important;font-size:11px!important}}


/* V11.9.8 collection health cards */
.collection-health-suite{margin-top:12px!important}.collection-section-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin-bottom:18px!important}.collection-section-head h3{margin:0 0 6px!important;font-size:24px!important;line-height:1.2!important;color:#123754!important}.collection-section-head p{margin:0!important;max-width:860px!important;font-size:13px!important;line-height:1.55!important;color:#61798c!important}
.collection-health-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important}
.collection-health-card{display:flex!important;flex-direction:column!important;min-height:286px!important;padding:18px!important;border:1px solid #d7e3ec!important;border-radius:28px!important;background:linear-gradient(180deg,#ffffff 0%,#fafcfe 100%)!important;box-shadow:0 18px 42px rgba(16,52,80,.08)!important}
.collection-health-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}.collection-health-title-wrap{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;flex:1!important}.collection-health-title-wrap small{display:block!important;font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important;color:#6a8598!important}.collection-health-title-wrap h3{margin:4px 0 0!important;font-size:18px!important;line-height:1.15!important;color:#123754!important}.collection-health-year{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:62px!important;height:34px!important;padding:0 12px!important;border-radius:999px!important;border:1px solid #dbe6ee!important;background:#fff!important;color:#6d8294!important;font-size:12px!important;font-weight:900!important}
.collection-health-body{display:grid!important;grid-template-columns:160px minmax(0,1fr)!important;gap:24px!important;align-items:center!important;padding:18px 0 10px!important;flex:1!important}
.collection-health-ring{position:relative!important;width:150px!important;height:150px!important;border-radius:50%!important;display:grid!important;place-items:center!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 12px 30px rgba(19,60,89,.08)!important}
.collection-health-ring:before{content:''!important;position:absolute!important;inset:16px!important;border-radius:50%!important;background:linear-gradient(180deg,#fff 0%,#f6fafc 100%)!important;box-shadow:inset 0 0 0 1px #dce6ee!important}.collection-health-ring-inner{position:relative!important;z-index:1!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}.collection-health-ring-inner strong{display:block!important;font-size:34px!important;line-height:1!important;letter-spacing:-.05em!important;color:#123c61!important}.collection-health-ring-inner span{display:block!important;margin-top:8px!important;font-size:11px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#7a8d9d!important}.collection-health-ring.is-zero-state{background:conic-gradient(#e7eef4 0 100%)!important}
.collection-health-stats{display:grid!important;gap:14px!important}.collection-health-stat{display:grid!important;grid-template-columns:12px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;min-height:44px!important;padding:12px 14px!important;border-radius:16px!important;border:1px solid #dbe6ee!important;background:#fbfdff!important}.collection-health-stat i{width:9px!important;height:9px!important;border-radius:50%!important}.collection-health-stat span{font-size:12px!important;font-weight:800!important;color:#6e8294!important}.collection-health-stat strong{font-size:18px!important;line-height:1.1!important;color:#123754!important;text-align:right!important}.collection-health-stat.billed i{background:#77aee0!important;box-shadow:0 0 0 5px rgba(119,174,224,.12)!important}.collection-health-stat.paid i{background:#22b36f!important;box-shadow:0 0 0 5px rgba(34,179,111,.12)!important}.collection-health-stat.balance i{background:#e55361!important;box-shadow:0 0 0 5px rgba(229,83,97,.12)!important}
.collection-health-foot{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding-top:12px!important;border-top:1px solid #e4ecf2!important}.collection-health-foot p{margin:0!important;font-size:12px!important;line-height:1.45!important;color:#62798b!important;text-align:right!important}
@media(max-width:980px){.collection-health-grid{grid-template-columns:1fr!important}.collection-health-body{grid-template-columns:150px minmax(0,1fr)!important;gap:18px!important}}
@media(max-width:620px){.collection-section-head{flex-direction:column!important;align-items:flex-start!important}.collection-health-card{padding:16px!important;min-height:0!important}.collection-health-body{grid-template-columns:1fr!important;gap:16px!important}.collection-health-ring{width:150px!important;height:150px!important;margin:0 auto!important}.collection-health-foot{flex-direction:column!important;align-items:flex-start!important}.collection-health-foot p{text-align:left!important}}


/* V11.9.9 responsive dashboard hardening */
.collection-health-grid{display:grid!important;grid-template-columns:repeat(2,minmax(320px,1fr))!important;gap:22px!important;align-items:stretch!important}
.collection-health-card{width:100%!important;max-width:100%!important;overflow:hidden!important}
.collection-health-head,.collection-health-body,.collection-health-foot,.collection-health-stats,.collection-health-stat{min-width:0!important}
.collection-health-title-wrap .grow,.collection-health-stat span,.collection-health-stat strong,.collection-health-foot p{min-width:0!important}
.collection-health-title-wrap h3{word-break:break-word!important}
.collection-health-stat strong{white-space:normal!important;overflow-wrap:anywhere!important}
.collection-health-foot p{white-space:normal!important;overflow-wrap:anywhere!important}

.academic-performance-section{overflow:hidden!important}
.academic-performance-section .card-head{gap:14px!important;align-items:flex-start!important}
.performance-summary-strip{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.performance-mini{min-width:0!important}
.school-performance-shell{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
.school-performance-chart{min-width:760px!important}

@media (max-width: 1280px){
  .collection-health-grid{grid-template-columns:repeat(2,minmax(280px,1fr))!important;gap:18px!important}
  .collection-health-card{min-height:270px!important}
  .collection-health-body{grid-template-columns:140px minmax(0,1fr)!important;gap:18px!important}
  .collection-health-ring{width:136px!important;height:136px!important}
  .collection-health-ring-inner strong{font-size:30px!important}
  .collection-health-stat{padding:11px 12px!important}
  .collection-health-stat strong{font-size:16px!important}
}

@media (max-width: 1100px){
  .collection-section-head{flex-direction:column!important;align-items:flex-start!important}
  .collection-section-head .live-data-chip{align-self:flex-start!important}
  .collection-health-grid{grid-template-columns:1fr!important}
  .collection-health-card{min-height:0!important}
  .collection-health-body{grid-template-columns:150px minmax(0,1fr)!important;gap:18px!important}
  .performance-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width: 820px){
  .collection-health-card{padding:16px!important;border-radius:22px!important}
  .collection-health-title-wrap{gap:10px!important}
  .collection-health-title-wrap h3{font-size:17px!important}
  .collection-health-year{min-width:56px!important;height:32px!important;font-size:11px!important}
  .collection-health-body{grid-template-columns:1fr!important;justify-items:center!important;text-align:left!important;padding:14px 0 8px!important}
  .collection-health-ring{margin-inline:auto!important}
  .collection-health-stats{width:100%!important}
  .collection-health-stat{grid-template-columns:10px minmax(0,1fr) auto!important;width:100%!important}
  .collection-health-foot{flex-direction:column!important;align-items:flex-start!important}
  .collection-health-foot p{text-align:left!important}
  .academic-performance-section .card-head{flex-direction:column!important}
}

@media (max-width: 640px){
  .collection-section-head h3{font-size:21px!important}
  .collection-section-head p{font-size:12px!important}
  .collection-health-card{padding:14px!important;border-radius:18px!important}
  .collection-health-head{gap:10px!important}
  .collection-health-title-wrap{align-items:flex-start!important}
  .collection-health-title-wrap h3{font-size:16px!important}
  .collection-health-ring{width:128px!important;height:128px!important}
  .collection-health-ring:before{inset:14px!important}
  .collection-health-ring-inner strong{font-size:26px!important}
  .collection-health-ring-inner span{font-size:10px!important;margin-top:6px!important}
  .collection-health-stat{padding:10px 11px!important;gap:10px!important;min-height:42px!important}
  .collection-health-stat span{font-size:11px!important}
  .collection-health-stat strong{font-size:14px!important}
  .collection-health-foot{gap:10px!important;padding-top:10px!important}
  .collection-health-foot p{font-size:11px!important;line-height:1.4!important}
  .performance-summary-strip{grid-template-columns:1fr!important}
  .performance-mini strong{font-size:24px!important}
  .school-performance-shell{padding:14px 10px 12px 38px!important;border-radius:16px!important}
  .performance-y-axis{left:6px!important;width:26px!important}
  .performance-y-axis span{font-size:10px!important}
  .school-performance-chart{min-width:680px!important}
}

@media (max-width: 420px){
  .collection-health-card{padding:12px!important}
  .collection-health-title-wrap .analytics-icon{transform:scale(.92)!important;transform-origin:left center!important}
  .collection-health-title-wrap h3{font-size:15px!important}
  .collection-health-year{min-width:52px!important;height:30px!important;padding:0 10px!important}
  .collection-health-ring{width:118px!important;height:118px!important}
  .collection-health-ring-inner strong{font-size:23px!important}
  .collection-health-stat{grid-template-columns:9px minmax(0,1fr) auto!important;padding:9px 10px!important}
  .collection-health-stat span{font-size:10.5px!important}
  .collection-health-stat strong{font-size:13px!important}
}

/* V11.9.11 automatic staff/student sequence fields */
.readonly-sequence{background:#f4f8fb!important;color:#123d61!important;font-weight:800!important;border:1px dashed #b9cfdf!important;cursor:not-allowed!important;letter-spacing:.03em}.inline-actions{flex-wrap:wrap}


/* V11.9.12 class strength + class-wise roll system */
.class-strength-section{margin:18px 0;padding:20px;border:1px solid #d9e5ee;border-radius:24px;background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%);box-shadow:0 16px 38px rgba(17,54,83,.06)}
.class-strength-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.class-strength-head h3{margin:3px 0 5px;color:#123754;font-size:22px}.class-strength-head p{margin:0;color:#61798c;font-size:13px}.class-strength-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.class-strength-card{display:flex;flex-direction:column;min-width:0;padding:15px;border:1px solid #dce7ef;border-radius:17px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 7px 20px rgba(17,55,83,.04);transition:.22s ease}.class-strength-card:hover,.class-strength-card.is-selected{transform:translateY(-3px);border-color:#9fc8e8;box-shadow:0 13px 28px rgba(18,80,126,.10)}.class-strength-card.is-selected{background:linear-gradient(180deg,#edf7ff 0%,#fff 100%)}.class-strength-card>span{font-size:9px;font-weight:900;letter-spacing:.12em;color:#6d8598}.class-strength-card>strong{margin:7px 0 1px;font-size:29px;line-height:1;color:#123d61}.class-strength-card>small{font-size:11px;font-weight:700;color:#60788b}.class-strength-card>div{margin-top:10px;padding-top:9px;border-top:1px solid #e8eef3;font-size:10px;color:#718698}.class-strength-card>div b{color:#173b57}
.readonly-sequence{font-weight:900!important;color:#123d61!important;background:#f2f8fc!important;border-color:#cfe0eb!important}
@media(max-width:1250px){.class-strength-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:850px){.class-strength-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.class-strength-head{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.class-strength-section{padding:15px;border-radius:18px}.class-strength-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.class-strength-card{padding:12px}.class-strength-card>strong{font-size:25px}}@media(max-width:360px){.class-strength-grid{grid-template-columns:1fr}}


/* V11.9.13 manual teacher account control */
.teacher-control-kpis{margin:16px 0!important}.teacher-account-flow-card{margin-bottom:18px!important}.teacher-account-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:10px}.teacher-account-flow>span{display:flex;align-items:center;gap:9px;min-height:58px;padding:10px 12px;border:1px solid #dbe6ee;border-radius:15px;background:#f8fbfd;color:#173b57;font-size:12px;font-weight:800}.teacher-account-flow>span b{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:9px;background:#176da4;color:#fff;font-size:11px}.teacher-account-flow>i{font-style:normal;color:#8aa0b1;font-weight:900}.teacher-account-locked{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
@media(max-width:980px){.teacher-account-flow{grid-template-columns:1fr 1fr;gap:9px}.teacher-account-flow>i{display:none}.teacher-account-flow>span:last-child{grid-column:1/-1}}
@media(max-width:620px){.teacher-account-flow{grid-template-columns:1fr}.teacher-account-flow>span:last-child{grid-column:auto}}


/* V11.9.15 unified student document wallet */
.student-documents-hero{align-items:center!important}.official-document-section{overflow:hidden}.official-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.official-document-card{display:flex;align-items:center;gap:14px;min-width:0;padding:16px;border:1px solid #dce6ed;border-radius:18px;background:linear-gradient(145deg,#fff,#f8fbfd);box-shadow:0 8px 22px rgba(18,55,83,.045)}.official-document-card .grow{min-width:0}.official-document-card small{display:block;color:#6b8396;font-size:8.5px;font-weight:900;letter-spacing:.09em}.official-document-card h3{margin:4px 0 5px;color:#153a58;font-size:14px;line-height:1.3}.official-document-card p{margin:0;color:#718697;font-size:9.5px;line-height:1.45;overflow-wrap:anywhere}.official-doc-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:15px;background:#eaf5ff;color:#176a9c;border:1px solid #d2e7f6}.official-doc-icon svg{width:23px;height:23px}.certificate-document .official-doc-icon{background:#ecfbf3;color:#17845c;border-color:#d1f0df}.official-document-card .btn{flex:none;padding:9px 12px;font-size:9px}.document-register-list{display:grid;gap:10px}.document-register-row{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 13px;border:1px solid #e0e8ee;border-radius:14px;background:#fbfdff}.document-register-row .grow{min-width:0}.document-register-row b{display:block;color:#173b57;font-size:11px}.document-register-row p{margin:3px 0 0;color:#728797;font-size:9px;overflow-wrap:anywhere}.document-register-row form{margin:0}.student-documents-hero .hero-role-badge{min-width:210px}
@media(max-width:980px){.official-document-grid{grid-template-columns:1fr}.official-document-card{align-items:flex-start}.official-document-card>.btn,.official-document-card>.inline-actions{margin-left:auto}}
@media(max-width:640px){.student-documents-hero{align-items:flex-start!important}.official-document-card{flex-wrap:wrap;padding:14px}.official-doc-icon{width:42px;height:42px;flex-basis:42px}.official-document-card>.btn,.official-document-card>.inline-actions{width:100%;margin-left:0}.official-document-card>.btn{justify-content:center}.document-register-row{align-items:flex-start;flex-wrap:wrap}.document-register-row .mini-btn,.document-register-row form{margin-left:60px}.document-kpis{grid-template-columns:1fr 1fr!important}}
@media(max-width:420px){.document-kpis{grid-template-columns:1fr!important}.document-register-row .mini-btn,.document-register-row form{margin-left:0}.official-document-card .inline-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}}


/* V11.9.16 one-time academic fee polish */
.one-time-fee-card .card-head{margin-bottom:12px}.one-time-fee-card .card-head h3{margin:0;color:#123754}.one-time-fee-card form label{font-weight:750;color:#29485f}.one-time-fee-card select,.one-time-fee-card input{width:100%}


/* V11.9.17 fee type naming */
.one-time-fee-card #selectedFeeHeading{transition:color .2s ease}.one-time-fee-card:focus-within #selectedFeeHeading{color:#176b9f}


/* V11.9.18 clean English fee management */
.compact-fee-hero{min-height:auto!important;padding-top:20px!important;padding-bottom:20px!important}.compact-fee-hero h2{margin-bottom:0!important}
.fee-student-assignment-form{align-items:end!important}.fee-student-assignment-form select,.fee-student-assignment-form input{min-height:46px!important}.fee-student-assignment-form button{min-height:46px!important}
.one-time-fee-card .card-head{margin-bottom:14px!important}.one-time-fee-card .card-head h3{margin-bottom:0!important}
@media(max-width:680px){.fee-student-assignment-form{grid-template-columns:1fr!important}.fee-student-assignment-form .span-2{grid-column:auto!important}}


/* V11.9.19 recurring tuition + student notifications */
.notification-top-action{position:relative}.notification-count{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e64d5d;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900;border:2px solid #fff}.student-notification-list{display:grid;gap:11px}.student-notification-item{display:grid;grid-template-columns:12px minmax(0,1fr);gap:13px;padding:14px 16px;border:1px solid #dce6ee;border-radius:16px;background:#fbfdff}.student-notification-item.is-unread{background:#f2f8ff;border-color:#bfd9ee;box-shadow:0 8px 20px rgba(29,95,145,.06)}.student-notification-item h3{margin:0;font-size:14px;color:#173b57}.student-notification-item p{margin:6px 0 9px;line-height:1.55;color:#5e7486}.notification-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;background:#7c8ea0}.notification-dot.fee_voucher{background:#2789d9}.notification-dot.fee_due{background:#f0a021}.notification-dot.fee_overdue{background:#e55361}.notification-dot.fee_payment{background:#20a86d}.notification-dot.fee_reversal{background:#8c6cbd}
.fee-plan-row input[readonly]{background:#f4f7fa;color:#5f7486;cursor:default}.fee-plan-row{align-items:center}
@media(max-width:900px){.student-notification-item .row-between{align-items:flex-start;gap:8px}.student-notification-item .row-between small{white-space:nowrap}}
@media(max-width:560px){.student-notification-item{padding:12px}.student-notification-item .row-between{display:block}.student-notification-item .row-between small{display:block;margin-top:5px}.notification-count{right:-3px;top:-4px}}
