.brand-link .brand-text{font-weight:700;letter-spacing:.2px}.content-wrapper{background:#f4f6f9}.small-box .icon{font-size:64px}.table td,.table th{vertical-align:middle}.print-only{display:none}.profile-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#e9ecef}.score-input{min-width:82px}.sticky-actions{position:sticky;bottom:0;background:#fff;padding:12px;border-top:1px solid #ddd;z-index:9}.login-page{background:linear-gradient(135deg,#0f2747,#1f6e8c)}.login-logo a{color:#fff}.card-primary.card-outline{border-top:3px solid #1f6e8c}@media print{.main-sidebar,.main-header,.main-footer,.no-print{display:none!important}.content-wrapper{margin-left:0!important;background:#fff}.print-only{display:block}.card{box-shadow:none!important;border:0}.content-header{padding:0}.container-fluid{padding:0}}
.transcript-sheet{max-width:1050px;margin-left:auto;margin-right:auto}.transcript-sheet #transcriptQr img{margin:auto}.nmc-table{font-size:.78rem}.nmc-table th,.nmc-table td{padding:.3rem;vertical-align:middle}.nmc-table thead th{white-space:nowrap;background:#f7f7f7}.school-logo-placeholder{min-height:80px;display:flex;align-items:center;justify-content:center}.profile-avatar{border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.18)}
@media print{.transcript-sheet{max-width:none}.nmc-table{font-size:8pt}.nmc-table th,.nmc-table td{padding:2px}.content-wrapper{min-height:auto!important}}

/* ===== SAMS Smart Widget UI v2.4 ===== */
:root{
  --sams-radius:18px;
  --sams-shadow:0 10px 30px rgba(15,39,71,.08);
  --sams-shadow-hover:0 16px 42px rgba(15,39,71,.14);
  --sams-border:rgba(15,39,71,.09);
  --sams-surface:#fff;
  --sams-text:#172033;
  --sams-muted:#718096;
}
body{color:var(--sams-text)}
.content-wrapper{background:linear-gradient(180deg,#f6f8fc 0,#f4f6f9 260px)}
.main-header{border-bottom:1px solid rgba(0,0,0,.05);box-shadow:0 2px 16px rgba(15,39,71,.04)}
.sams-page-header{padding:20px .5rem 8px}
.sams-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:0 4px}
.sams-page-heading h1{font-size:1.55rem;font-weight:800;letter-spacing:-.025em;margin:2px 0 0;color:#152238}
.sams-eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:#7b8798}
.sams-page-meta{display:flex;align-items:center;justify-content:flex-end}
.sams-widget-zone{margin:0 0 16px}
.sams-context-row{padding:0 4px}
.sams-context-subtitle{font-size:.84rem}
.sams-quick-chip{border-radius:999px!important;background:rgba(255,255,255,.85)!important;box-shadow:0 3px 10px rgba(15,39,71,.04);font-weight:600;color:#38465a}
.sams-quick-chip:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,39,71,.09)}
.sams-widget-toggle{border-radius:999px!important}
.sams-kpi-grid{margin-left:-7px;margin-right:-7px}
.sams-kpi-grid>[class*="col-"]{padding-left:7px;padding-right:7px}
.sams-kpi-card{position:relative;min-height:112px;display:flex;align-items:center;gap:13px;padding:16px 14px;background:var(--sams-surface);border:1px solid var(--sams-border);border-radius:var(--sams-radius);box-shadow:var(--sams-shadow);overflow:hidden;color:inherit!important;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;margin-bottom:14px}
.sams-kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tone,#2878ff)}
.sams-kpi-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-28px;top:-35px;background:var(--tone-soft,rgba(40,120,255,.08));pointer-events:none}
a.sams-kpi-card:hover{transform:translateY(-3px);box-shadow:var(--sams-shadow-hover);border-color:rgba(40,120,255,.18)}
.sams-kpi-icon{width:45px;height:45px;min-width:45px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--tone-soft,rgba(40,120,255,.1));color:var(--tone,#2878ff);font-size:1.08rem}
.sams-kpi-body{min-width:0;flex:1}.sams-kpi-value{font-size:1.45rem;font-weight:800;line-height:1.05;letter-spacing:-.03em}.sams-kpi-label{font-size:.82rem;font-weight:750;margin-top:5px}.sams-kpi-sub{font-size:.69rem;color:var(--sams-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.sams-kpi-arrow{font-size:.72rem;color:#b2bdca;align-self:flex-end;margin-bottom:3px}
.sams-tone-primary{--tone:#2563eb;--tone-soft:rgba(37,99,235,.10)}.sams-tone-success{--tone:#0f9f6e;--tone-soft:rgba(15,159,110,.10)}.sams-tone-warning{--tone:#dd8a09;--tone-soft:rgba(221,138,9,.11)}.sams-tone-danger{--tone:#df4053;--tone-soft:rgba(223,64,83,.10)}.sams-tone-info{--tone:#0787a5;--tone-soft:rgba(7,135,165,.10)}.sams-tone-dark{--tone:#334155;--tone-soft:rgba(51,65,85,.10)}.sams-tone-secondary{--tone:#687387;--tone-soft:rgba(104,115,135,.11)}
.card{border:1px solid rgba(15,39,71,.07);border-radius:16px;box-shadow:0 7px 24px rgba(15,39,71,.055);overflow:hidden}.card-header{background:linear-gradient(180deg,#fff,#fbfcfe);border-bottom:1px solid rgba(15,39,71,.07);padding:.9rem 1.1rem}.card-title{font-weight:750;color:#25324a}.card-tools .badge{border-radius:999px;padding:.42rem .65rem}
.table thead th{background:#f8fafc;border-bottom:1px solid #dde4ee!important;color:#4a5870;font-size:.76rem;text-transform:uppercase;letter-spacing:.035em;font-weight:800}.table-hover tbody tr{transition:background .15s ease,transform .15s ease}.table-hover tbody tr:hover{background:#f8fbff}.table td{border-top-color:#edf1f6}.badge{font-weight:700;border-radius:999px;padding:.35em .6em}
.btn{border-radius:9px;font-weight:600}.btn-xs{border-radius:7px}.form-control,.custom-select,.select2-container--bootstrap4 .select2-selection{border-radius:10px;border-color:#dfe5ed}.form-control:focus,.select2-container--bootstrap4.select2-container--focus .select2-selection{border-color:#78a7f7;box-shadow:0 0 0 .15rem rgba(37,99,235,.10)}
.info-box,.small-box{border-radius:16px;box-shadow:var(--sams-shadow);overflow:hidden}.small-box .icon>i{font-size:58px;opacity:.3}.info-box .info-box-icon{border-radius:14px;margin:8px;height:70px;width:70px}.info-box{min-height:86px}
.nav-pills .nav-link{border-radius:10px}.student-table .btn-xs{width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;margin:1px}
.sams-command-fab{position:fixed;right:22px;bottom:24px;z-index:1038;display:flex;flex-direction:column;align-items:flex-end;gap:9px}.sams-fab-main{width:54px;height:54px;border-radius:50%!important;box-shadow:0 10px 25px rgba(37,99,235,.32);display:flex;align-items:center;justify-content:center;font-size:1.05rem}.sams-fab-menu{display:none;min-width:220px;background:#fff;border:1px solid var(--sams-border);border-radius:16px;box-shadow:0 16px 42px rgba(15,39,71,.16);padding:8px}.sams-fab-menu.show{display:block;animation:samsPop .16s ease-out}.sams-fab-menu a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:#334155;font-size:.84rem;font-weight:600}.sams-fab-menu a:hover{background:#f3f7fd;text-decoration:none}.sams-fab-menu i{width:20px;text-align:center;color:#2563eb}
@keyframes samsPop{from{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}
.sams-command-modal .modal-content{border:0;border-radius:20px;box-shadow:0 25px 70px rgba(15,39,71,.2);overflow:hidden}.sams-command-modal .modal-header{border:0;background:linear-gradient(135deg,#10284b,#245e9d);color:#fff}.sams-command-tile{display:block;border:1px solid #e8edf4;border-radius:14px;padding:13px;height:100%;color:#344054;background:#fff;transition:.18s}.sams-command-tile:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(15,39,71,.09);text-decoration:none;color:#1f5dbb}.sams-command-tile i{font-size:1.25rem;margin-bottom:7px;display:block;color:#2563eb}.sams-command-tile strong{display:block;font-size:.83rem}.sams-command-tile small{color:#8b96a7;font-size:.7rem}
.sams-table-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.sams-table-meta .badge{background:#f1f5f9;color:#46556c;border:1px solid #e1e8f0;padding:.45rem .65rem}
.sams-student-widget-zone{margin-top:2px}

/* Dark-mode polish, activated by toolbar */
body.dark-mode{--sams-surface:#1f2937;--sams-text:#e5e7eb;--sams-muted:#9ca3af;--sams-border:rgba(255,255,255,.08);background:#111827;color:#e5e7eb}
body.dark-mode .content-wrapper{background:linear-gradient(180deg,#172033,#111827 260px)}body.dark-mode .sams-page-heading h1,body.dark-mode .card-title{color:#f3f4f6}body.dark-mode .card,body.dark-mode .sams-kpi-card,body.dark-mode .sams-fab-menu,body.dark-mode .sams-command-tile{background:#1f2937;color:#e5e7eb!important;border-color:rgba(255,255,255,.08)}body.dark-mode .card-header{background:#1f2937;border-color:rgba(255,255,255,.08)}body.dark-mode .table{color:#e5e7eb}body.dark-mode .table thead th{background:#263244;color:#cdd6e3;border-color:#3a4555!important}body.dark-mode .table td{border-top-color:#303b4b}body.dark-mode .table-hover tbody tr:hover{background:#273244}body.dark-mode .form-control,body.dark-mode .custom-select,body.dark-mode .select2-container--bootstrap4 .select2-selection{background:#111827;border-color:#374151;color:#f3f4f6}body.dark-mode .sams-quick-chip{background:#1f2937!important;color:#d9e2ef;border-color:#374151!important}body.dark-mode .text-muted{color:#9ca3af!important}

@media(max-width:767.98px){.sams-page-header{padding-top:14px}.sams-page-heading{align-items:flex-start}.sams-page-heading h1{font-size:1.3rem}.sams-page-meta .badge{font-size:.65rem}.sams-kpi-card{min-height:102px;padding:12px 10px;gap:9px}.sams-kpi-icon{width:38px;height:38px;min-width:38px;border-radius:11px}.sams-kpi-value{font-size:1.15rem}.sams-kpi-label{font-size:.72rem}.sams-kpi-sub,.sams-kpi-arrow{display:none}.sams-context-actions{margin-top:5px}.sams-quick-chip{font-size:.72rem;padding:.25rem .45rem}.sams-command-fab{right:14px;bottom:16px}}
@media print{.sams-widget-zone,.sams-command-fab,.sams-context-row{display:none!important}}
.sams-login-page{min-height:100vh!important;background:linear-gradient(135deg,#0d1f3c,#173e6f 55%,#1f6e8c);padding:0!important;align-items:stretch!important}
.sams-login-shell{width:100%;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr)}
.sams-login-story{position:relative;align-items:center;padding:7vw;color:#fff;overflow:hidden}.sams-login-story:before,.sams-login-story:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.06)}.sams-login-story:before{width:480px;height:480px;left:-180px;bottom:-240px}.sams-login-story:after{width:350px;height:350px;right:-100px;top:-130px}.sams-login-story-inner{position:relative;z-index:2;max-width:720px}.sams-login-school{display:flex;align-items:center;gap:15px;margin-bottom:48px}.sams-login-school img{width:68px;height:68px;border-radius:18px;padding:7px;background:#fff;object-fit:contain;box-shadow:0 12px 30px rgba(0,0,0,.18)}.sams-login-school h2{font-size:1.05rem;margin:3px 0 0;font-weight:750;opacity:.95}.sams-login-story h1{font-size:clamp(2.4rem,4vw,4.25rem);line-height:1.05;font-weight:850;letter-spacing:-.045em;max-width:780px}.sams-login-story>div>p{font-size:1.05rem;line-height:1.7;max-width:680px;color:rgba(255,255,255,.76);margin-top:22px}.sams-login-feature-grid{margin-top:35px}.sams-login-feature{height:100%;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);backdrop-filter:blur(8px);border-radius:16px;padding:16px;margin-bottom:15px}.sams-login-feature i{font-size:1.25rem;margin-bottom:12px;display:block}.sams-login-feature strong{display:block;font-size:.9rem}.sams-login-feature span{display:block;color:rgba(255,255,255,.65);font-size:.73rem;margin-top:4px}.sams-login-form-wrap{display:flex;align-items:center;justify-content:center;background:#f8fafc;padding:40px}.sams-login-card{width:100%;max-width:450px;background:#fff;border:1px solid #e7ecf3;border-radius:26px;padding:38px;box-shadow:0 24px 70px rgba(15,39,71,.13)}.sams-login-logo{width:82px;height:82px;object-fit:contain;border-radius:20px;padding:6px;background:#fff;box-shadow:0 10px 30px rgba(15,39,71,.12)}.sams-login-card h3{font-weight:800;letter-spacing:-.025em}.sams-login-card .form-control{height:48px}.sams-login-card .input-group-text{min-width:46px;justify-content:center;background:#f8fafc}.sams-password-toggle{cursor:pointer;color:#627085}.sams-login-divider{display:flex;align-items:center;gap:12px;margin:24px 0 16px;color:#9aa5b5;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.sams-login-divider:before,.sams-login-divider:after{content:"";height:1px;background:#e8edf4;flex:1}.sams-login-footnote{text-align:center;color:#8a96a8;font-size:.72rem;margin-top:22px}
@media(max-width:991.98px){.sams-login-shell{display:block}.sams-login-form-wrap{min-height:100vh;background:linear-gradient(160deg,#eef4fb,#f8fafc);padding:24px}.sams-login-card{padding:28px 24px;border-radius:22px}}

/* v2.8 programme population widgets */
.programme-stat-card{height:100%;padding:15px 16px;border:1px solid rgba(20,57,93,.14);border-radius:14px;background:linear-gradient(145deg,#fff,#f7f9fc);box-shadow:0 6px 18px rgba(20,57,93,.06);transition:.18s ease;text-decoration:none!important}
.programme-stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,57,93,.12);border-color:rgba(20,57,93,.28)}
.dark-mode .programme-stat-card{background:linear-gradient(145deg,#343a40,#292e33);border-color:rgba(255,255,255,.09)}
.programme-stat-total{font-size:2rem;font-weight:800;line-height:1;color:#12395d}.dark-mode .programme-stat-total{color:#8fc4ff}
.programme-stat-breakdown{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.programme-stat-breakdown span{font-size:.75rem;background:rgba(18,57,93,.06);border-radius:999px;padding:4px 8px}.dark-mode .programme-stat-breakdown span{background:rgba(255,255,255,.07)}


/* v2.9 active-page navigation */
.nav-sidebar>.nav-item>.nav-link.active{background:linear-gradient(135deg,#1f6e8c,#164e73)!important;color:#fff!important;box-shadow:0 5px 14px rgba(15,39,71,.22);font-weight:700}
.nav-sidebar .nav-treeview>.nav-item>.nav-link.active{background:rgba(255,255,255,.13)!important;color:#fff!important;font-weight:700;border-left:3px solid #fcd116;padding-left:calc(1rem - 3px)}
.nav-sidebar .nav-treeview>.nav-item>.nav-link.active .nav-icon{color:#fcd116!important}
.sidebar-dark-primary .nav-sidebar>.nav-item.menu-open>.nav-link{background:rgba(31,110,140,.32);color:#fff}
.sams-current-page-pill{display:flex!important;align-items:center;gap:2px;margin-left:2px;font-weight:700;color:#164e73!important;background:#eef5f8;border:1px solid #d6e5eb;border-radius:999px;height:34px;margin-top:3px;padding:0 12px!important;line-height:1}
.sams-current-page-pill small{font-size:8px;text-transform:uppercase;letter-spacing:.6px;color:#71808d;margin-left:8px;font-weight:800}
.dark-mode .sams-current-page-pill{background:#263846;border-color:#3c5363;color:#e7f2f8!important}.dark-mode .sams-current-page-pill small{color:#9fb1bf}
@media(max-width:767.98px){.sams-current-page-pill small{display:none}}


/* ===== SAMS Modal / Dialog Stability Hotfix v3.5.1 ===== */
.modal{z-index:1065!important}
.modal-backdrop{z-index:1060!important;background-color:#000!important}
.modal-backdrop.show{opacity:.5!important}
.modal-dialog{position:relative;z-index:1}
.modal-content{background-color:#fff;opacity:1!important;filter:none!important;transform:none}
.swal2-container{z-index:20000!important}
.swal2-popup{opacity:1!important;filter:none!important}
body.modal-open{overflow:hidden}
body.dark-mode .modal-content{background:#1f2937;color:#e5e7eb;border-color:#374151}
body.dark-mode .modal-header,body.dark-mode .modal-footer{border-color:#374151}
body.dark-mode .modal-content .close{color:#fff;text-shadow:none}
body.dark-mode .swal2-popup{background:#1f2937;color:#e5e7eb}

/* ===== SAMS v3.6 Student Services / Billing / Hostel ===== */
.student-portal .content-wrapper{background:linear-gradient(180deg,#f3f7fc 0,#f7f9fc 300px)}
.student-service-nav .nav-link{font-weight:600;border-radius:9px;margin:0 2px;padding:.55rem .68rem!important}
.student-service-nav .nav-link.active{background:rgba(255,255,255,.18);color:#fff!important}
.student-welcome{border-radius:22px!important;background:linear-gradient(135deg,#fff,#f7fbff);overflow:hidden}
.student-welcome:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-80px;top:-100px;background:rgba(37,99,235,.06)}
.student-welcome-avatar{width:74px;height:74px;border-radius:22px;object-fit:cover;background:#fff;border:4px solid #fff;box-shadow:0 8px 24px rgba(15,39,71,.12)}
.student-avatar-placeholder{display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#7c8ba1;background:#eef3f9}
.student-service-tile{display:flex;align-items:center;gap:13px;border:1px solid #e7edf5;border-radius:16px;padding:14px 15px;margin-bottom:14px;color:#26364a!important;background:#fff;text-decoration:none!important;transition:.18s ease;min-height:82px}
.student-service-tile:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,39,71,.09);border-color:#cddcf0}
.student-service-tile .service-icon{width:46px;height:46px;min-width:46px;border-radius:14px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.05rem}
.student-service-tile strong{display:block;font-size:.91rem}.student-service-tile small{display:block;color:#7b8798;margin-top:2px;line-height:1.25}.student-service-tile>.fa-chevron-right{font-size:.7rem;color:#a5b0bf}
.student-profile-card{border-radius:20px!important;overflow:hidden}.hostel-room-option{cursor:pointer;background:#fff;transition:.18s ease}.hostel-room-option:hover{border-color:#5b8def!important;box-shadow:0 7px 18px rgba(37,99,235,.08)}.hostel-room-option:has(input:checked){border-color:#2563eb!important;background:#f3f7ff;box-shadow:0 0 0 2px rgba(37,99,235,.08)}
body.dark-mode .student-welcome,body.dark-mode .student-service-tile,body.dark-mode .hostel-room-option{background:#1f2937;color:#e5e7eb!important;border-color:#374151}body.dark-mode .hostel-room-option:has(input:checked){background:#24334b;border-color:#4f83e5!important}
@media(max-width:1199px){.student-service-nav .nav-link{padding:.5rem!important;font-size:.82rem}}
@media(max-width:991.98px){.student-service-nav{padding-top:12px}.student-service-nav .nav-link{margin-bottom:3px}.student-welcome-avatar{width:60px;height:60px;border-radius:17px}}

/* ===== SAMS v3.6.1 Student Portal Experience ===== */
:root{--sp-sidebar:278px;--sp-primary:#1f6e8c;--sp-primary-deep:#123b56;--sp-accent:#f2b705;--sp-bg:#f5f8fc;--sp-card:#fff;--sp-border:#e5ebf3;--sp-text:#203047;--sp-muted:#718096;--sp-shadow:0 10px 28px rgba(22,44,78,.07)}
.student-portal{background:var(--sp-bg);color:var(--sp-text);min-height:100vh;overflow-x:hidden}
.student-shell{min-height:100vh}
.student-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sp-sidebar);background:linear-gradient(180deg,#123b56 0%,#164d6a 45%,#102f45 100%);color:#fff;z-index:1045;display:flex;flex-direction:column;box-shadow:8px 0 28px rgba(12,38,57,.12);overflow-y:auto;overscroll-behavior:contain}
.student-sidebar-brand{display:flex;align-items:center;justify-content:space-between;padding:20px 18px 14px;border-bottom:1px solid rgba(255,255,255,.1)}
.student-brand-link{display:flex;align-items:center;gap:11px;color:#fff!important;text-decoration:none!important;min-width:0}
.student-brand-logo{width:43px;height:43px;border-radius:13px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.13);padding:5px;flex:0 0 auto}
.student-brand-logo img{max-width:100%;max-height:100%;object-fit:contain}
.student-brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1.12}.student-brand-copy strong{font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-brand-copy small{font-size:.68rem;text-transform:uppercase;letter-spacing:1.1px;color:rgba(255,255,255,.58);margin-top:4px}
.student-sidebar-close{border:0;background:rgba(255,255,255,.09);color:#fff;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.student-sidebar-profile{margin:16px 15px 10px;padding:14px;border-radius:17px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:11px}
.student-sidebar-avatar{width:48px;height:48px;border-radius:15px;object-fit:cover;border:2px solid rgba(255,255,255,.72);background:rgba(255,255,255,.13);flex:0 0 auto}.student-sidebar-avatar.student-avatar-placeholder{color:#fff;font-size:1.05rem}
.student-sidebar-profile-copy{display:flex;flex-direction:column;min-width:0}.student-sidebar-profile-copy strong{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-sidebar-profile-copy span{font-size:.74rem;color:#f7d95f;font-weight:700;margin-top:2px}.student-sidebar-profile-copy small{font-size:.68rem;color:rgba(255,255,255,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.student-sidebar-nav{padding:4px 12px 14px;flex:1}.student-nav-label{font-size:.63rem;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.4);font-weight:800;padding:17px 11px 7px}
.student-nav-link{display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.78)!important;text-decoration:none!important;padding:9px 10px;border-radius:12px;margin-bottom:4px;font-size:.84rem;font-weight:600;transition:.16s ease;position:relative}.student-nav-link:hover{color:#fff!important;background:rgba(255,255,255,.08);transform:translateX(2px)}.student-nav-link.active{color:#fff!important;background:rgba(255,255,255,.14);box-shadow:inset 3px 0 0 var(--sp-accent)}.student-nav-link.active:after{content:"";position:absolute;right:10px;width:6px;height:6px;border-radius:50%;background:var(--sp-accent)}
.student-nav-icon{width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.student-nav-link.active .student-nav-icon{background:rgba(242,183,5,.17);color:#ffe37d}
.student-sidebar-bottom{padding:12px;border-top:1px solid rgba(255,255,255,.09)}.student-sidebar-action{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;color:rgba(255,255,255,.7)!important;text-decoration:none!important;font-size:.8rem;font-weight:600;margin-top:4px}.student-sidebar-action:hover,.student-sidebar-action.active{background:rgba(255,255,255,.08);color:#fff!important}.student-sidebar-action.danger:hover{background:rgba(220,53,69,.19);color:#ffd5d9!important}.student-sidebar-action.preview{background:rgba(242,183,5,.14);color:#ffe792!important}
.student-sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(9,25,38,.5);backdrop-filter:blur(2px);z-index:1040}
.student-main{min-height:100vh;margin-left:var(--sp-sidebar);display:flex;flex-direction:column;background:radial-gradient(circle at 90% 0,rgba(31,110,140,.07),transparent 28%),linear-gradient(180deg,#f5f8fc 0,#f9fbfd 420px)}
.student-topbar{height:68px;position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,229,240,.88);display:flex;align-items:center;justify-content:space-between;padding:0 27px}.student-topbar-left,.student-topbar-actions{display:flex;align-items:center;gap:12px}.student-topbar-title{display:flex;flex-direction:column}.student-topbar-title span{font-size:.92rem;font-weight:800;color:#203047}.student-topbar-title small{font-size:.68rem;color:#8a99aa;margin-top:2px}
.student-menu-toggle,.student-icon-btn{border:1px solid #e3eaf2;background:#fff;color:#38516a;width:39px;height:39px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(34,65,94,.04)}.student-icon-btn:hover,.student-menu-toggle:hover{background:#f2f6fa;color:var(--sp-primary)}
.student-account-btn{border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:5px 7px;border-radius:13px;color:#334b62}.student-account-btn:hover{background:#f3f6fa}.student-account-btn img,.student-account-avatar{width:37px;height:37px;border-radius:11px;object-fit:cover;background:#edf2f7;display:flex;align-items:center;justify-content:center;color:#6d7f91}.student-account-copy{flex-direction:column;align-items:flex-start;line-height:1.12;max-width:190px}.student-account-copy strong{font-size:.78rem;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-account-copy small{font-size:.65rem;color:#8a99aa;margin-top:3px}.student-account-btn>.fa-chevron-down{font-size:.58rem;color:#9aabba}.student-account-menu{min-width:220px;border:1px solid #e6edf4;border-radius:13px;box-shadow:0 14px 34px rgba(24,48,75,.12);padding:.45rem}
.student-content{width:100%;max-width:1500px;margin:0 auto;flex:1;padding:28px 30px 42px}.student-page-heading{display:flex;align-items:center;gap:15px;margin-bottom:22px}.student-page-icon{width:50px;height:50px;border-radius:15px;background:linear-gradient(135deg,var(--sp-primary),#2f8cac);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 9px 20px rgba(31,110,140,.18);font-size:1.08rem}.student-page-copy{min-width:0}.student-page-eyebrow{font-size:.62rem;letter-spacing:1.15px;font-weight:800;color:#8191a4;margin-bottom:3px}.student-page-copy h1{font-size:1.55rem;line-height:1.15;margin:0;color:#203047;font-weight:800}.student-page-copy p{margin:5px 0 0;color:#738397;font-size:.84rem}
.student-notice{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border-radius:14px;margin-bottom:18px}.student-notice>i{margin-top:3px}.student-notice div{display:flex;flex-direction:column}.student-notice span{font-size:.8rem;margin-top:2px}.student-notice-warning{background:#fff7db;border:1px solid #f4dfa0;color:#765f10}
.student-footer{padding:18px 30px 24px;display:flex;justify-content:space-between;align-items:center;color:#8795a5;font-size:.73rem;border-top:1px solid #e8eef5;margin-top:auto}.student-footer div{display:flex;flex-direction:column}.student-footer strong{color:#53677a;font-size:.76rem}.student-footer span{font-size:.66rem;margin-top:2px}

/* Student page components */
.student-portal .card{border:1px solid var(--sp-border);border-radius:18px;box-shadow:var(--sp-shadow);overflow:hidden}.student-portal .card-header{background:linear-gradient(180deg,#fff,#fbfcfe);border-bottom:1px solid #e9eef5;padding:15px 18px}.student-portal .card-title{font-weight:800;font-size:.92rem;color:#2a3b50}.student-portal .card-body{padding:18px}.student-portal .card-footer{background:#fbfcfe;border-top:1px solid #e9eef5;padding:13px 18px}.student-portal .table{margin-bottom:0}.student-portal .table thead th{background:#f7f9fc;border-bottom:1px solid #e6edf4;color:#66788d;text-transform:uppercase;font-size:.66rem;letter-spacing:.45px;font-weight:800;white-space:nowrap}.student-portal .table td{color:#394b5f;font-size:.82rem}.student-portal .table-hover tbody tr:hover{background:#f6f9fc}.student-portal .form-control{border-radius:10px;border-color:#dbe4ee;min-height:41px}.student-portal .form-control:focus{border-color:#83adc0;box-shadow:0 0 0 .16rem rgba(31,110,140,.1)}.student-portal .btn{border-radius:10px;font-weight:700;box-shadow:none}.student-portal .badge{border-radius:8px;padding:.42em .65em;font-weight:800;letter-spacing:.15px}.student-portal .alert{border-radius:14px;border-width:1px}.student-portal .progress{height:8px;border-radius:999px;background:#edf1f5}.student-portal .progress-bar{border-radius:999px}
.student-portal .student-welcome{position:relative;border:0!important;border-radius:22px!important;background:linear-gradient(135deg,#fff 0%,#f5fbff 100%);box-shadow:0 16px 38px rgba(22,67,97,.08)!important}.student-portal .student-welcome:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--sp-primary),#56b2cf)}.student-portal .student-welcome:after{right:-70px;top:-110px;width:270px;height:270px;background:rgba(31,110,140,.06)}
.student-welcome-avatar{width:76px;height:76px;border-radius:20px;border:4px solid #fff;box-shadow:0 8px 22px rgba(21,56,82,.12)}
.student-service-grid .col-md-6{display:flex}.student-service-tile{width:100%;border-color:#e5edf4;border-radius:15px;padding:14px 15px;min-height:80px;box-shadow:0 3px 10px rgba(24,52,77,.025)}.student-service-tile:hover{transform:translateY(-2px);box-shadow:0 12px 27px rgba(23,55,84,.09);border-color:#bcd4e0}.student-service-tile .service-icon{border-radius:13px;box-shadow:0 5px 12px rgba(26,67,99,.12)}
.student-profile-card{position:sticky;top:88px}.student-profile-card .profile-avatar{width:112px;height:112px;border-radius:28px;border:5px solid #fff;box-shadow:0 11px 28px rgba(28,58,83,.14)}
.student-portal .list-group-item{border-color:#edf1f5;font-size:.82rem;padding:.82rem 1rem}.student-portal .list-group-item strong{color:#33465b}
.hostel-room-option{border-radius:15px!important;padding:15px!important;border-color:#e3eaf2!important}.hostel-room-option:hover{border-color:#91b7c9!important}.hostel-room-option:has(input:checked){border-color:#2f7f9f!important;background:#f0f8fb;box-shadow:0 0 0 3px rgba(31,110,140,.08)}
.student-portal .modal-content{border-radius:17px;border:0;box-shadow:0 20px 55px rgba(17,38,58,.18)}
.student-portal .modal-header{border-bottom:1px solid #e9eef5}.student-portal .modal-footer{border-top:1px solid #e9eef5}

/* Dashboard visual summaries */
.student-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.student-kpi{background:#fff;border:1px solid var(--sp-border);border-radius:17px;padding:16px;display:flex;align-items:center;gap:13px;box-shadow:0 7px 20px rgba(24,55,83,.045)}.student-kpi-icon{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex:0 0 auto}.student-kpi-copy small{display:block;color:#8391a2;font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.45px}.student-kpi-copy strong{display:block;color:#263b51;font-size:1.08rem;line-height:1.15;margin-top:3px}.student-kpi-copy span{display:block;color:#8795a5;font-size:.67rem;margin-top:2px}.student-kpi.primary .student-kpi-icon{background:#e8f4f8;color:#1f6e8c}.student-kpi.success .student-kpi-icon{background:#eaf8f0;color:#23905c}.student-kpi.warning .student-kpi-icon{background:#fff6df;color:#b77b00}.student-kpi.info .student-kpi-icon{background:#eaf3ff;color:#3478c6}
.student-status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:.68rem;font-weight:800}.student-status-pill.success{background:#e8f7ef;color:#217c50}.student-status-pill.warning{background:#fff4d5;color:#936900}.student-status-pill.info{background:#e7f3fb;color:#276b8e}.student-status-pill.muted{background:#eef2f6;color:#718096}

/* Dark theme */
body.dark-mode.student-portal{--sp-bg:#111827;--sp-card:#1f2937;--sp-border:#344154;--sp-text:#e5e7eb;--sp-muted:#9aa8b8;background:#111827;color:#e5e7eb}.dark-mode .student-main{background:radial-gradient(circle at 90% 0,rgba(51,118,145,.14),transparent 30%),#111827}.dark-mode .student-topbar{background:rgba(17,24,39,.9);border-color:#2b3747}.dark-mode .student-topbar-title span,.dark-mode .student-page-copy h1{color:#f3f4f6}.dark-mode .student-topbar-title small,.dark-mode .student-page-copy p,.dark-mode .student-page-eyebrow{color:#91a0b0}.dark-mode .student-menu-toggle,.dark-mode .student-icon-btn{background:#1f2937;border-color:#344154;color:#d7dee8}.dark-mode .student-account-btn{color:#e5e7eb}.dark-mode .student-account-btn:hover{background:#263244}.dark-mode .student-account-avatar{background:#273447;color:#d5dde6}.dark-mode .student-account-menu{background:#1f2937;border-color:#344154}.dark-mode .student-account-menu .dropdown-item{color:#e5e7eb}.dark-mode .student-account-menu .dropdown-item:hover{background:#2a3749}.dark-mode .student-footer{border-color:#293647;color:#8190a1}.dark-mode .student-footer strong{color:#b6c2cf}.dark-mode.student-portal .card,.dark-mode .student-kpi,.dark-mode .student-service-tile,.dark-mode .hostel-room-option{background:#1f2937!important;border-color:#344154!important;color:#e5e7eb!important}.dark-mode.student-portal .card-header,.dark-mode.student-portal .card-footer{background:#1d2735;border-color:#344154}.dark-mode.student-portal .card-title,.dark-mode .student-kpi-copy strong,.dark-mode.student-portal .table td,.dark-mode.student-portal .list-group-item strong{color:#e5e7eb}.dark-mode.student-portal .table thead th{background:#18212d;border-color:#344154;color:#9daaba}.dark-mode.student-portal .table-hover tbody tr:hover{background:#263244}.dark-mode.student-portal .list-group-item{background:#1f2937;border-color:#344154;color:#cbd5df}.dark-mode.student-portal .form-control{background:#17212e;border-color:#3a485a;color:#e5e7eb}.dark-mode.student-portal .text-muted,.dark-mode .student-service-tile small,.dark-mode .student-kpi-copy span,.dark-mode .student-kpi-copy small{color:#95a3b3!important}.dark-mode.student-portal .student-welcome{background:linear-gradient(135deg,#1f2937,#1c3140)!important}.dark-mode .hostel-room-option:has(input:checked){background:#213543!important;border-color:#568ca5!important}.dark-mode.student-portal .modal-content{background:#1f2937;color:#e5e7eb}.dark-mode .student-notice-warning{background:#3a321c;border-color:#574b28;color:#f3dfa0}

@media(max-width:1199.98px){:root{--sp-sidebar:258px}.student-content{padding-left:24px;padding-right:24px}.student-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){.student-sidebar{transform:translateX(-105%);transition:transform .22s ease;width:282px}.student-nav-open .student-sidebar{transform:translateX(0)}.student-nav-open .student-sidebar-backdrop{display:block}.student-main{margin-left:0}.student-topbar{height:64px;padding:0 15px}.student-content{padding:20px 16px 34px}.student-page-heading{margin-bottom:18px}.student-page-copy h1{font-size:1.32rem}.student-page-copy p{font-size:.78rem}.student-footer{padding:17px 16px}.student-profile-card{position:static}}
@media(max-width:575.98px){.student-content{padding:16px 12px 28px}.student-page-icon{width:44px;height:44px;border-radius:13px}.student-page-copy p{display:none}.student-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.student-kpi{padding:12px;gap:9px;align-items:flex-start}.student-kpi-icon{width:36px;height:36px;border-radius:10px;font-size:.85rem}.student-kpi-copy strong{font-size:.88rem}.student-kpi-copy span{display:none}.student-portal .card{border-radius:15px}.student-portal .card-body{padding:15px}.student-portal .card-header{padding:13px 15px}.student-portal .table td,.student-portal .table th{padding:.65rem .55rem}.student-footer{flex-direction:column;align-items:flex-start;gap:8px}.student-topbar-title small{display:none}.student-account-btn{padding-right:0}.student-welcome-avatar{width:61px;height:61px;border-radius:17px}.student-service-tile{min-height:72px}.student-service-tile .service-icon{width:42px;height:42px;min-width:42px}.student-sidebar-profile{margin-top:11px}}
@media print{.student-sidebar,.student-sidebar-backdrop,.student-topbar,.student-footer,.student-page-heading,.student-notice{display:none!important}.student-main{margin-left:0!important;background:#fff!important}.student-content{max-width:none!important;padding:0!important}.student-portal .card{box-shadow:none!important}}
.student-kpi-icon.primary{background:#e8f4f8;color:#1f6e8c}.student-kpi-icon.success{background:#eaf8f0;color:#23905c}.student-kpi-icon.warning{background:#fff6df;color:#b77b00}.student-kpi-icon.info{background:#eaf3ff;color:#3478c6}.hostel-allocation-room{padding:8px 0}.student-portal .input-group-text{border-color:#dbe4ee;background:#f6f9fc;color:#65788b}.dark-mode.student-portal .input-group-text{background:#243143;border-color:#3a485a;color:#c7d0da}.dark-mode.student-portal .bg-light{background:#18212d!important;color:#d8e0e9!important;border-color:#344154!important}

/* v3.6.4 — active programme/class population snapshot */
.active-class-breakdown-card .card-header{border-bottom:1px solid rgba(20,57,93,.08)}
.active-programme-batch-card{height:100%;padding:16px;border:1px solid rgba(20,57,93,.12);border-radius:16px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 7px 20px rgba(20,57,93,.06)}
.active-programme-batch-card.compact{padding:14px}
.active-programme-total{min-width:46px;height:46px;padding:0 10px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#e8f1ff;color:#1e5fb7;font-weight:800;font-size:1.05rem}
.active-programme-total.small-total{min-width:40px;height:40px;border-radius:12px;font-size:.95rem}
.active-batch-list{display:flex;flex-direction:column;gap:8px}
.active-batch-row{display:block;padding:9px 10px;border:1px solid #edf1f6;border-radius:11px;background:#fff;color:#26364a;text-decoration:none!important;transition:.16s ease}
.active-batch-row:hover{border-color:#b7d2f7;box-shadow:0 5px 13px rgba(37,99,235,.08);transform:translateY(-1px);color:#1d4f91}
.active-batch-row-head,.active-batch-row.compact-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.active-batch-row.compact-row{padding:8px 10px;margin-top:7px}
.active-batch-name{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.active-batch-count{white-space:nowrap;color:#526173}
.active-batch-count strong{color:#172b4d;font-size:.95rem}
.active-batch-progress{height:5px;margin:6px 0 4px;background:#edf2f7;border-radius:999px;overflow:hidden}
.active-batch-progress .progress-bar{background:linear-gradient(90deg,#2563eb,#0ea5a5);border-radius:999px}
body.dark-mode .active-programme-batch-card{background:linear-gradient(145deg,#1f2937,#182232);border-color:rgba(255,255,255,.08)}
body.dark-mode .active-programme-total{background:#17375f;color:#9cc8ff}
body.dark-mode .active-batch-row{background:#182232;border-color:#303d4f;color:#e5e7eb}
body.dark-mode .active-batch-row:hover{border-color:#426b9b;color:#fff}
body.dark-mode .active-batch-count,body.dark-mode .active-batch-count strong{color:#d6deea}
body.dark-mode .active-batch-progress{background:#334155}
@media(max-width:575px){.active-programme-batch-card{padding:13px}.active-programme-total{height:40px;min-width:40px;border-radius:11px}.active-class-breakdown-card .card-body{padding-left:12px;padding-right:12px}}

/* ===== SAMS v3.7.1 Receipt Review Workspace / Inline Proof Preview ===== */
.min-w-0{min-width:0!important}
.receipt-review-modal .modal-dialog{max-width:1180px}
.receipt-review-modal .modal-content{border:0;border-radius:20px;overflow:hidden;box-shadow:0 28px 80px rgba(13,35,63,.24)}
.receipt-review-header{border:0;padding:17px 20px;background:linear-gradient(135deg,#153b66 0%,#1f5f8f 55%,#246f91 100%);color:#fff;align-items:center}
.receipt-review-header-icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.15);font-size:1.08rem;margin-right:12px;flex:0 0 auto}
.receipt-review-header .modal-title{font-weight:800;font-size:1rem;letter-spacing:.1px}.receipt-review-student{font-size:.74rem;color:rgba(255,255,255,.7);margin-top:3px;max-width:650px}
.receipt-review-close{color:#fff!important;text-shadow:none!important;opacity:.82!important;font-size:1.65rem!important;padding:.25rem!important;margin:0!important}.receipt-review-close:hover{opacity:1!important}
.receipt-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:.68rem;font-weight:800;letter-spacing:.3px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);color:#fff;white-space:nowrap}
.receipt-status-pill.is-pending{background:rgba(255,193,7,.2);border-color:rgba(255,213,79,.3);color:#ffe8a0}.receipt-status-pill.is-approved{background:rgba(40,167,69,.2);border-color:rgba(117,226,143,.28);color:#c8f6d2}.receipt-status-pill.is-rejected{background:rgba(220,53,69,.2);border-color:rgba(255,138,149,.3);color:#ffd4d8}
.receipt-review-body{background:#f5f8fc;min-height:580px}.receipt-review-state{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;color:#60748b}.receipt-review-state strong{font-size:1rem;color:#293b50;margin-top:14px}.receipt-review-state>span{font-size:.78rem;margin-top:4px;max-width:420px}
.receipt-loading-mark{position:relative;width:70px;height:70px;border-radius:22px;background:#eaf2fb;color:#2d669b;display:flex;align-items:center;justify-content:center;font-size:1.35rem}.receipt-loading-mark .spinner-border{position:absolute;right:-3px;bottom:-3px;background:#fff;border-width:2px}
.receipt-review-error .receipt-error-icon{width:62px;height:62px;border-radius:20px;background:#fcebed;color:#bf3544;display:flex;align-items:center;justify-content:center;font-size:1.25rem}
.receipt-review-summary{display:grid;grid-template-columns:1fr 1.1fr 1fr 1.3fr;gap:0;background:#fff;border-bottom:1px solid #e6edf5}
.receipt-summary-item{padding:14px 18px;border-right:1px solid #edf1f6;min-width:0}.receipt-summary-item:last-child{border-right:0}.receipt-summary-item>span,.receipt-summary-progress span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.55px;color:#8493a5;font-weight:800}.receipt-summary-item>strong{display:block;color:#24384e;font-size:.91rem;margin-top:3px}.receipt-summary-progress .progress{height:6px;border-radius:999px;background:#edf2f7;margin-top:7px;overflow:hidden}.receipt-summary-progress .progress-bar{border-radius:999px;background:linear-gradient(90deg,#2f80c5,#28a27a)}
.receipt-review-workspace{min-height:500px}.receipt-proof-column{background:#edf3f9;padding:18px;border-right:1px solid #e0e8f1}.receipt-form-column{padding:18px;background:#f8fafc}
.receipt-panel{background:#fff;border:1px solid #e2e9f1;border-radius:16px;box-shadow:0 7px 22px rgba(24,55,88,.055);overflow:hidden}.receipt-panel-header{min-height:58px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f5;background:linear-gradient(180deg,#fff,#fbfcfe);gap:12px}.receipt-panel-header h6{font-size:.85rem;font-weight:800;color:#293b50;margin:1px 0 0}.receipt-panel-kicker{display:block;font-size:.56rem;text-transform:uppercase;letter-spacing:.75px;font-weight:800;color:#8b99aa}.receipt-time{font-size:.68rem;color:#8291a2;white-space:nowrap}
.receipt-proof-panel{height:100%;min-height:500px;display:flex;flex-direction:column}.receipt-proof-meta{height:39px;padding:9px 13px;border-bottom:1px solid #edf1f5;background:#f8fafc;color:#65778a;font-size:.7rem;display:flex;align-items:center;min-width:0}.receipt-proof-meta span{min-width:0;flex:1}.receipt-proof-meta small{margin-left:8px;color:#94a1b0;white-space:nowrap}.receipt-proof-preview{flex:1;min-height:400px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#eef3f7,#f9fbfd);padding:14px;overflow:hidden}.receipt-proof-image{max-width:100%;max-height:520px;object-fit:contain;border-radius:10px;box-shadow:0 8px 24px rgba(18,42,67,.12);background:#fff}.receipt-proof-fallback{text-align:center;display:flex;flex-direction:column;align-items:center;color:#78889a}.receipt-proof-fallback>i{font-size:3.3rem;color:#d45460;margin-bottom:13px}.receipt-proof-fallback strong{color:#34495e;font-size:.88rem}.receipt-proof-fallback span{font-size:.7rem;margin-top:3px}.receipt-proof-preview.is-pdf-preview{position:relative;padding:0;align-items:stretch;background:#dfe7ef}.receipt-proof-pdf{width:100%;height:100%;min-height:500px;border:0;background:#fff}.receipt-pdf-loading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:#f4f7fa;color:#60748b;font-size:.76rem;font-weight:700;pointer-events:none}.receipt-pdf-fallback{display:none;position:absolute;left:12px;right:12px;bottom:12px;z-index:3;padding:9px 11px;border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(18,42,67,.12);font-size:.68rem;color:#65778a;align-items:center;justify-content:center}.receipt-proof-preview.is-pdf-preview.pdf-failed .receipt-proof-pdf{display:none}.receipt-proof-preview.is-pdf-preview.pdf-failed .receipt-pdf-fallback{display:flex}
.receipt-submission-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.receipt-data-cell{padding:11px 14px;border-right:1px solid #edf1f5;border-bottom:1px solid #edf1f5;min-width:0}.receipt-data-cell:nth-child(even){border-right:0}.receipt-data-cell.receipt-data-wide{grid-column:1/-1;border-right:0}.receipt-data-cell>span{display:block;font-size:.59rem;text-transform:uppercase;letter-spacing:.52px;font-weight:800;color:#8a98a8;margin-bottom:3px}.receipt-data-cell>strong,.receipt-data-cell>div{display:block;font-size:.78rem;color:#304256;font-weight:700;line-height:1.35}
.receipt-approval-panel{border-color:#bcdacb}.receipt-approval-panel .receipt-panel-header{background:linear-gradient(180deg,#fbfffd,#f5fbf8)}.receipt-approval-body{padding:15px}.receipt-approval-body label{font-size:.7rem;color:#53677b;font-weight:800;margin-bottom:5px}.receipt-approval-body label i{width:19px;color:#6a889e}.receipt-approval-body .form-control,.receipt-approval-body .input-group-text{height:40px;border-color:#d9e3ec}.receipt-approval-body textarea.form-control{height:auto;min-height:68px}.receipt-approval-body .form-control:focus{border-color:#6ca889;box-shadow:0 0 0 .14rem rgba(46,139,87,.1)}
.receipt-adjustment-strip{padding:9px 14px;background:#eaf5ff;border-top:1px solid #cbe1f5;color:#326b98;font-size:.71rem;font-weight:700}.receipt-history-panel.is-approved{border-color:#bbdcc8}.receipt-history-panel.is-rejected{border-color:#ecc5ca}.receipt-review-note{padding:16px;font-size:.8rem;color:#46596c}.receipt-review-meta{padding:9px 14px;background:#f8fafc;border-top:1px solid #edf1f5;color:#7f8e9e;font-size:.65rem}
.receipt-review-footer{border-top:1px solid #e5ebf1;background:#fff;padding:12px 16px;position:sticky;bottom:0;z-index:2}.receipt-review-footer .btn{min-width:100px;border-radius:9px;font-weight:700;font-size:.77rem}.receipt-footer-status{font-size:.68rem;color:#77889a;font-weight:700}.receipt-footer-status .fa-shield-alt{color:#559c76}
body.dark-mode .receipt-review-body{background:#151e29}.dark-mode .receipt-review-summary,.dark-mode .receipt-panel,.dark-mode .receipt-review-footer{background:#1f2937;border-color:#344154}.dark-mode .receipt-summary-item{border-color:#344154}.dark-mode .receipt-summary-item>strong,.dark-mode .receipt-panel-header h6,.dark-mode .receipt-data-cell>strong,.dark-mode .receipt-data-cell>div,.dark-mode .receipt-review-state strong{color:#e5e7eb}.dark-mode .receipt-summary-item>span,.dark-mode .receipt-summary-progress span,.dark-mode .receipt-panel-kicker,.dark-mode .receipt-data-cell>span,.dark-mode .receipt-time,.dark-mode .receipt-footer-status{color:#98a6b6}.dark-mode .receipt-proof-column{background:#18212d;border-color:#344154}.dark-mode .receipt-form-column{background:#151e29}.dark-mode .receipt-panel{border-color:#344154}.dark-mode .receipt-panel-header,.dark-mode .receipt-approval-panel .receipt-panel-header{background:#1c2633;border-color:#344154}.dark-mode .receipt-proof-meta,.dark-mode .receipt-review-meta{background:#18212d;border-color:#344154;color:#aab5c2}.dark-mode .receipt-proof-preview{background:linear-gradient(145deg,#141c27,#1b2634)}.dark-mode .receipt-proof-preview.is-pdf-preview{background:#111827}.dark-mode .receipt-pdf-loading{background:#17212e;color:#aab5c2}.dark-mode .receipt-pdf-fallback{background:rgba(31,41,55,.96);color:#b7c2ce}.dark-mode .receipt-proof-fallback strong{color:#dce4ed}.dark-mode .receipt-data-cell{border-color:#344154}.dark-mode .receipt-approval-body label{color:#b7c2ce}.dark-mode .receipt-approval-body .form-control,.dark-mode .receipt-approval-body .input-group-text{background:#17212e;border-color:#3b4859;color:#e5e7eb}.dark-mode .receipt-adjustment-strip{background:#18314a;border-color:#284b69;color:#9cc9ed}
@media(max-width:991.98px){.receipt-review-modal .modal-dialog{max-width:94vw}.receipt-review-summary{grid-template-columns:1fr 1fr}.receipt-summary-item:nth-child(2){border-right:0}.receipt-summary-item:nth-child(-n+2){border-bottom:1px solid #edf1f6}.receipt-proof-column{border-right:0;border-bottom:1px solid #e0e8f1}.receipt-proof-panel{min-height:430px}.receipt-proof-preview{min-height:330px}.receipt-proof-pdf{min-height:430px}.receipt-review-footer{position:static}}
@media(max-width:575.98px){.receipt-review-modal .modal-dialog{max-width:none;margin:.45rem}.receipt-review-modal .modal-content{border-radius:15px}.receipt-review-header{padding:13px}.receipt-review-header-icon{width:38px;height:38px;border-radius:11px}.receipt-review-student{max-width:230px}.receipt-status-pill{padding:6px 8px;font-size:.61rem}.receipt-review-summary{grid-template-columns:1fr 1fr}.receipt-summary-item{padding:11px 12px}.receipt-proof-column,.receipt-form-column{padding:12px}.receipt-submission-grid{grid-template-columns:1fr}.receipt-data-cell,.receipt-data-cell:nth-child(even){grid-column:1/-1;border-right:0}.receipt-review-footer{flex-wrap:wrap}.receipt-footer-status{width:100%;margin:0 0 7px!important}.receipt-review-footer .btn{flex:1;min-width:0}}

/* ===== SAMS v3.7.4 Receipt Review approval fallback + full-size evidence ===== */
.receipt-review-modal .modal-dialog{width:96vw;max-width:1500px;margin:1rem auto}.receipt-review-modal .modal-content{max-height:94vh}.receipt-review-body{min-height:640px}.receipt-review-workspace{min-height:620px}.receipt-proof-column{display:flex}.receipt-proof-panel{width:100%;min-height:620px}.receipt-proof-preview{min-height:560px;padding:0}.receipt-proof-image{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center;border-radius:0;box-shadow:none;background:#fff}.receipt-proof-pdf{width:100%;height:100%;min-height:620px}.receipt-proof-meta{flex:0 0 39px}.receipt-proof-preview.is-pdf-preview{min-height:620px}
@media(min-width:1200px){.receipt-proof-column{flex:0 0 50%;max-width:50%}.receipt-form-column{flex:0 0 50%;max-width:50%}}
@media(max-width:991.98px){.receipt-review-modal .modal-dialog{width:auto;max-width:96vw;margin:.75rem auto}.receipt-review-body{min-height:0}.receipt-review-workspace{min-height:0}.receipt-proof-panel{min-height:520px}.receipt-proof-preview,.receipt-proof-preview.is-pdf-preview{min-height:460px}.receipt-proof-pdf{min-height:520px}}
@media(max-width:575.98px){.receipt-review-modal .modal-dialog{max-width:none;margin:.35rem}.receipt-proof-panel{min-height:420px}.receipt-proof-preview,.receipt-proof-preview.is-pdf-preview{min-height:360px}.receipt-proof-pdf{min-height:420px}}


/* ===== SAMS v3.7.5 Receipt Review action integrity + expanded evidence workspace ===== */
.receipt-review-modal .modal-dialog{width:98vw;max-width:1760px;height:calc(100vh - 1rem);margin:.5rem auto}
.receipt-review-modal .modal-content{height:calc(100vh - 1rem);max-height:none;display:flex;flex-direction:column;overflow:hidden}
.receipt-review-modal .receipt-review-header,.receipt-review-modal .receipt-review-footer{flex:0 0 auto}
.receipt-review-modal .receipt-review-body{flex:1 1 auto;min-height:0;overflow:hidden}
.receipt-review-modal #reviewContent:not(.d-none){display:flex;flex-direction:column;height:100%;min-height:0}
.receipt-review-modal .receipt-review-summary{flex:0 0 auto}
.receipt-review-modal .receipt-review-workspace{flex:1 1 auto;min-height:0;height:auto}
.receipt-review-modal .receipt-proof-column,.receipt-review-modal .receipt-form-column{min-height:0;height:100%}
.receipt-review-modal .receipt-proof-column{display:flex;padding:12px}
.receipt-review-modal .receipt-form-column{overflow-y:auto;padding:12px 14px}
.receipt-review-modal .receipt-proof-panel{width:100%;height:100%;min-height:0;border-radius:14px}
.receipt-review-modal .receipt-proof-preview{flex:1 1 auto;width:100%;height:auto;min-height:0;padding:0;overflow:auto;background:#dfe6ee}
.receipt-review-modal .receipt-proof-image{display:block;width:100%;height:100%;min-height:0;max-width:none;max-height:none;object-fit:contain;object-position:center;background:#fff;border-radius:0;box-shadow:none}
.receipt-review-modal .receipt-proof-preview.is-pdf-preview{height:100%;min-height:0;align-items:stretch}
.receipt-review-modal .receipt-proof-pdf{display:block;width:100%;height:100%;min-height:0;border:0;background:#fff}
@media(min-width:992px){.receipt-review-modal .receipt-proof-column{flex:0 0 58%;max-width:58%}.receipt-review-modal .receipt-form-column{flex:0 0 42%;max-width:42%}}
@media(max-width:991.98px){.receipt-review-modal .modal-dialog{width:auto;max-width:97vw;height:auto;margin:.5rem auto}.receipt-review-modal .modal-content{height:auto;max-height:96vh}.receipt-review-modal .receipt-review-body{overflow-y:auto}.receipt-review-modal #reviewContent:not(.d-none){display:block;height:auto}.receipt-review-modal .receipt-review-workspace{height:auto}.receipt-review-modal .receipt-proof-column,.receipt-review-modal .receipt-form-column{height:auto;max-width:100%;flex:0 0 100%}.receipt-review-modal .receipt-form-column{overflow:visible}.receipt-review-modal .receipt-proof-panel{height:62vh;min-height:500px}.receipt-review-modal .receipt-proof-preview,.receipt-review-modal .receipt-proof-preview.is-pdf-preview{height:auto;min-height:0}.receipt-review-modal .receipt-proof-pdf{min-height:0;height:100%}}
@media(max-width:575.98px){.receipt-review-modal .modal-dialog{max-width:none;margin:.25rem}.receipt-review-modal .modal-content{max-height:98vh}.receipt-review-modal .receipt-proof-panel{height:58vh;min-height:390px}.receipt-review-modal .receipt-proof-column,.receipt-review-modal .receipt-form-column{padding:8px}}
/* Receipt images default to readable fit-width rather than shrinking portrait receipts to fit-page. */
.receipt-review-modal .receipt-proof-preview:not(.is-pdf-preview){align-items:flex-start;justify-content:flex-start;overflow:auto}
.receipt-review-modal .receipt-proof-preview:not(.is-pdf-preview) .receipt-proof-image{width:100%;height:auto;min-width:100%;min-height:0;object-fit:initial;align-self:flex-start}

/* ===== SAMS v3.7.7 Student media & document management ===== */
.media-action-card{border:1px solid rgba(20,57,93,.1);border-radius:16px;transition:.16s ease;box-shadow:0 7px 18px rgba(20,57,93,.05)}
.media-action-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,57,93,.11);border-color:rgba(45,108,178,.25)}
.media-action-icon{width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.15rem;margin-right:14px;flex:0 0 auto}
.dark-mode .media-action-card{background:#1f2937;border-color:#344154}.dark-mode .media-action-card h5{color:#e5e7eb!important}

/* ===== SAMS v3.8.0 Admissions & Interview Management ===== */
.admission-context-icon{
  width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(15,159,110,.14));color:#2563eb;font-size:1.05rem;
}
.admission-score-card{border:1px solid rgba(148,163,184,.22);border-radius:14px;padding:14px;background:var(--sams-card,#fff)}
.admission-score-card .value{font-size:1.35rem;font-weight:700;line-height:1.1}
.admission-portal-link{word-break:break-word}
.dark-mode .admission-context-icon{background:rgba(59,130,246,.14);color:#93c5fd}
.dark-mode .admission-score-card{background:#222b35;border-color:rgba(148,163,184,.18)}
@media (max-width:767.98px){.admission-context-icon{width:38px;height:38px;border-radius:12px}.admission-score-card{padding:12px}}
