/* SLCB UI stable layer - safe design/table/icon fixes only. No login/auth changes. */
:root{--slcb-ui-navy:#08244a;--slcb-ui-navy-2:#0d3568;--slcb-ui-accent:#19b6b0;--slcb-ui-border:#e2eaf5;--slcb-ui-bg:#f4f7fb;--slcb-ui-text:#172033}
html{scroll-behavior:smooth}body{background:var(--slcb-ui-bg);color:var(--slcb-ui-text)}
a:hover{text-decoration:none}.slcb-content{max-width:100%;overflow-x:hidden}.slcb-page-card{max-width:100%}
/* Bootstrap 3 legacy compatibility on Bootstrap 4. */
.panel,.box,.contact-form,.card{background:#fff;border:1px solid var(--slcb-ui-border)!important;border-radius:16px!important;box-shadow:0 12px 28px rgba(15,45,80,.07)!important;overflow:visible}.panel-heading,.box-header,.card-header{background:#fff!important;border-bottom:1px solid var(--slcb-ui-border)!important;border-radius:16px 16px 0 0!important;color:#0f2d52!important;font-weight:800}.panel-body,.box-body,.card-body{padding:1rem}.btn-default{background:#fff;border-color:#cfd9e8;color:#172033}.btn-default:hover{background:#f3f7fc;border-color:#b9c7d9;color:#08244a}.label{display:inline-block;padding:.25em .55em;border-radius:.4rem;font-size:75%;font-weight:700}.label-success{background:#16a34a;color:#fff}.label-danger{background:#dc2626;color:#fff}.label-warning{background:#f59e0b;color:#172033}.label-info{background:#0ea5e9;color:#fff}.label-primary{background:#08244a;color:#fff}
/* Forms and buttons */
.form-control,.custom-select,select,textarea{border-radius:10px;border-color:#d9e2ef}.form-control:focus,.custom-select:focus,select:focus,textarea:focus{border-color:var(--slcb-ui-navy-2);box-shadow:0 0 0 .15rem rgba(13,53,104,.12)}.btn{border-radius:10px;font-weight:700}.btn-primary{background:var(--slcb-ui-navy);border-color:var(--slcb-ui-navy)}.btn-primary:hover{background:#0d3568;border-color:#0d3568}.btn-success{background:#138a67;border-color:#138a67}.btn-info{background:#0f6d91;border-color:#0f6d91}.btn-warning{color:#172033}.btn-sm{border-radius:8px}.input-group .btn{border-radius:0 10px 10px 0}.input-group .form-control:first-child{border-radius:10px 0 0 10px}
/* Tables */
.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}.slcb-content table{max-width:100%}.table,table.dataTable{width:100%!important;background:#fff;border-collapse:collapse!important}.table thead th,table.dataTable thead th{background:#f7fafd;color:#12345a;border-bottom:1px solid #dce7f5!important;font-weight:800;white-space:nowrap;vertical-align:middle}.table td,.table th,table.dataTable td,table.dataTable th{vertical-align:middle!important}.table tbody tr:hover{background:#fbfdff}.table-bordered{border-color:#e1e9f5}.table-bordered td,.table-bordered th{border-color:#e1e9f5}.table .btn{white-space:nowrap}
/* DataTables normalization */
.dataTables_wrapper{width:100%;max-width:100%;background:#fff;border:1px solid var(--slcb-ui-border);border-radius:16px;padding:1rem;margin:.75rem 0 1.25rem;box-shadow:0 10px 24px rgba(15,45,80,.055);overflow:visible}.dataTables_wrapper .row{width:100%;margin-left:0!important;margin-right:0!important;align-items:center}.dataTables_wrapper .row>[class^="col-"],.dataTables_wrapper .row>[class*=" col-"]{padding-left:.35rem;padding-right:.35rem}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{padding:.35rem 0}.dataTables_wrapper .dataTables_filter{text-align:right}.dataTables_wrapper .dataTables_filter label,.dataTables_wrapper .dataTables_length label{font-weight:700;color:#475569;margin-bottom:0}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border:1px solid #d9e2ef;border-radius:10px;padding:.35rem .55rem;outline:none;background:#fff}.dataTables_wrapper .dataTables_filter input:focus,.dataTables_wrapper .dataTables_length select:focus{border-color:var(--slcb-ui-navy-2);box-shadow:0 0 0 .15rem rgba(13,53,104,.12)}.dataTables_wrapper table.dataTable{margin-top:.55rem!important;margin-bottom:.55rem!important}.dataTables_wrapper .pagination{margin:0;justify-content:flex-end}.dataTables_wrapper .pagination .page-link{border-radius:9px;margin:0 2px;color:#12345a;border-color:#dfe8f5}.dataTables_wrapper .pagination .page-item.active .page-link{background:var(--slcb-ui-navy);border-color:var(--slcb-ui-navy);color:#fff}.dataTables_scroll{width:100%}.dataTables_scrollHead,.dataTables_scrollBody{width:100%!important}.dataTables_scrollBody{border-bottom:1px solid #e1e9f5}.dataTable.no-footer{border-bottom:1px solid #e1e9f5!important}.sorting:before,.sorting_asc:before,.sorting_desc:before{opacity:.45}.sorting:after,.sorting_asc:after,.sorting_desc:after{opacity:.45}
/* Sidebar safety */
.slcb-sidebar-link{cursor:pointer;user-select:none}.slcb-sidebar-toggle{appearance:none;-webkit-appearance:none}.slcb-submenu{display:none}.slcb-submenu.show,.slcb-menu-node.open>.slcb-submenu{display:block}.slcb-sidebar-link .fa,.slcb-sidebar-link .fas,.slcb-sidebar-link .far{flex:0 0 22px;text-align:center}.slcb-sidebar-link span{min-width:0;white-space:normal}.slcb-menu-chevron{margin-left:auto!important;transition:transform .18s ease}.slcb-menu-node.open>.slcb-sidebar-toggle .slcb-menu-chevron{transform:rotate(90deg)}
/* Modals/alerts */
.modal{overflow-y:auto}.modal-content{border-radius:16px;border:0;box-shadow:0 20px 60px rgba(15,45,80,.18)}.modal-header{border-bottom:1px solid #e5edf6}.modal-footer{border-top:1px solid #e5edf6}.swal2-container{z-index:20000!important}
@media (max-width:991.98px){.slcb-content{padding:16px 10px!important}.dataTables_wrapper{padding:.8rem}.dataTables_wrapper .dataTables_filter{text-align:left}.dataTables_wrapper .dataTables_filter input{width:100%;margin-left:0}.dataTables_wrapper .pagination{justify-content:center}.contact-form{padding:20px!important;margin:12px 0!important}}
@media print{.slcb-sidebar,.slcb-topbar,.slcb-sidebar-overlay{display:none!important}.slcb-main{margin-left:0!important}.slcb-content{padding:0!important}.dataTables_wrapper{box-shadow:none;border:0;padding:0}}


/* SLCB 20260707 stable rollback: topbar/modals/tables readability fixes. */
.slcb-topbar{display:flex!important;position:sticky!important;top:0!important;z-index:1030!important;background:#fff!important;color:#08244a!important;}
.slcb-template-hero{display:none!important;}
.slcb-sidebar-collapse-btn,.slcb-sidebar-desktop-toggle{display:none!important;}
body.slcb-sidebar-collapsed .slcb-sidebar{width:var(--slcb-sidebar-width,292px)!important;}
body.slcb-sidebar-collapsed .slcb-main{margin-left:var(--slcb-sidebar-width,292px)!important;}
body.slcb-sidebar-collapsed .slcb-sidebar-link span,body.slcb-sidebar-collapsed .slcb-menu-chevron{display:inline-block!important;}
body.slcb-sidebar-collapsed .slcb-submenu.show,body.slcb-sidebar-collapsed .slcb-menu-node.open>.slcb-submenu{display:block!important;}
/* Keep legacy text readable even inside reused Bootstrap/table classes. */
.slcb-content,.slcb-content .panel,.slcb-content .box,.slcb-content .card,.slcb-content .contact-form,.slcb-content .dataTables_wrapper{color:#172033!important;}
.slcb-content table,.slcb-content table td,.slcb-content table th,.slcb-content .table,.slcb-content .table td,.slcb-content .table th,.dataTables_wrapper table,.dataTables_wrapper td,.dataTables_wrapper th{color:#172033!important;}
.slcb-content table thead th,.dataTables_wrapper table thead th{color:#0b2952!important;background:#f7fafd!important;}
.slcb-content table tbody tr,.slcb-content table tbody td,.dataTables_wrapper tbody tr,.dataTables_wrapper tbody td{background-color:#fff;color:#172033!important;}
.slcb-content table tbody tr:nth-child(even) td,.dataTables_wrapper tbody tr:nth-child(even) td{background-color:#fbfdff!important;}
.slcb-content a:not(.btn):not(.slcb-sidebar-link){color:#0d4f9e;}
/* Restore usable legacy modal width for Admission, Pre-register, and large forms. */
.modal{overflow-y:auto!important;z-index:1050!important;}
.modal-backdrop{z-index:1040!important;}
@media (min-width:576px){
  .modal-dialog:not(.modal-sm){max-width:min(96vw,1000px)!important;width:auto!important;margin:1.25rem auto!important;}
  .modal-dialog.modal-lg{max-width:min(96vw,1120px)!important;}
  .modal-dialog.modal-xl{max-width:min(98vw,1320px)!important;}
}
.modal-content{max-height:calc(100vh - 2.5rem)!important;display:flex!important;flex-direction:column!important;color:#172033!important;}
.modal-header,.modal-footer{flex:0 0 auto!important;}
.modal-body{overflow-y:auto!important;max-height:calc(100vh - 170px)!important;color:#172033!important;}
.modal .form-row,.modal .row{margin-left:-5px;margin-right:-5px;}
.modal .form-row>[class^="col-"],.modal .form-row>[class*=" col-"],.modal .row>[class^="col-"],.modal .row>[class*=" col-"]{padding-left:5px;padding-right:5px;}
.modal table,.modal table td,.modal table th{color:#172033!important;}
/* RBAC specific: scroll with page, not fixed to top. */
.rbac-sticky-hero,.rbac-toolbar,.rbac-category-title,.rbac-role-card{position:static!important;top:auto!important;z-index:auto!important;}
.rbac-role-card.sticky-top{position:static!important;}


/* ===== SLCB module safety fixes 20260708 ===== */
.slcb-content, .slcb-page-card { min-width: 0; }
.slcb-page-card, .contact-form, .card, .box, .panel, .slcb-module-card { max-width: 100%; }
.table, table { color: #0f172a !important; }
.table th, .table td, table th, table td { color: #0f172a !important; }
.table thead th, table thead th { color: #08244a !important; background: #f5f8fc; font-weight: 800; vertical-align: middle; }
.table tbody td, table tbody td { vertical-align: middle; }
.table .btn, table .btn { white-space: nowrap; }
.table-responsive { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.dataTables_wrapper { width: 100% !important; color: #0f172a !important; }
.dataTables_wrapper .row { align-items: center; }
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input { color:#0f172a!important; background:#fff!important; border:1px solid #cbd7e6!important; border-radius:10px!important; min-height:34px; }
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate,
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label { color:#344563!important; }
.dataTables_wrapper .page-link { border-radius:8px; margin:0 2px; color:#0d3568; }
.dataTables_wrapper .page-item.active .page-link { background:#08244a; border-color:#08244a; color:#fff; }
/* Large legacy modals: keep within viewport and make body scroll instead of shrinking controls */
.modal-dialog { max-width: min(96vw, 1280px); }
.modal-lg, .modal-xl, .modal-dialog.modal-lg, .modal-dialog.modal-xl { max-width: min(96vw, 1280px) !important; width: auto !important; }
.modal .modal-content { max-height: calc(100vh - 24px); overflow: hidden; border-radius: 14px; }
.modal .modal-body { max-height: calc(100vh - 150px); overflow: auto; }
.modal .modal-header, .modal .modal-footer { flex-shrink: 0; }
.modal .close { color:#111827!important; opacity:.65; z-index:3; }
.modal .close:hover { opacity:1; }
.select2-container { max-width: 100%; }
.select2-container--open { z-index: 20010 !important; }
.swal2-container { z-index: 30000 !important; }
/* Calendar/schedule modal content */
.fc, .fc-view-container, .fc-view { max-width: 100%; }
.fc table { color:#0f172a!important; }
/* Keep old report/certificate pages readable without forcing dark backgrounds */
.official-panel-table th, .official-panel-table td { color:#0f172a!important; }


/* Burger/topbar stability 20260708 */
.slcb-topbar-left { display:flex!important; align-items:center!important; gap:12px!important; }
.slcb-topbar-left .slcb-topbar-collapse-btn { position:static!important; display:inline-flex!important; width:40px!important; height:40px!important; flex:0 0 40px!important; align-items:center!important; justify-content:center!important; margin:0!important; border:1px solid #d8e2ef!important; background:#f8fafc!important; color:#08244a!important; border-radius:12px!important; box-shadow:none!important; }
.slcb-topbar-left .slcb-system-title { display:flex!important; align-items:center!important; gap:10px!important; margin:0!important; }
.slcb-sidebar > .slcb-sidebar-collapse-btn { display:none!important; }
