:root{
  --portal-primary:#0b4d3b;--portal-primary-2:#16745a;--portal-accent:#d4a017;
  --portal-bg:#f3f7f6;--portal-surface:#fff;--portal-text:#17231f;--portal-muted:#6b7b75;
  --portal-border:#e2ebe7;--portal-radius:18px;--portal-shadow:0 10px 30px rgba(22,61,49,.08);
}
html{scroll-behavior:smooth}body{font-family:"Segoe UI",Roboto,Arial,sans-serif;background:var(--portal-bg);color:var(--portal-text)}
a{transition:color .2s ease,opacity .2s ease}.content-wrapper{background:linear-gradient(180deg,#f7faf9 0%,#eef5f2 100%);min-height:calc(100vh - 57px)!important}
.main-header{border-bottom:0;box-shadow:0 3px 16px rgba(32,58,50,.08);z-index:1034}.main-header.navbar{min-height:64px}.main-header .nav-link{height:auto!important;padding:.75rem .85rem!important}.navbar-badge{font-size:.65rem}
.main-sidebar,.sidebar,.sidebar-dark-navy,.sidebar-brand{background:linear-gradient(180deg,#083c2f 0%,#0f5e49 58%,#0b4938 100%)!important}.main-sidebar{box-shadow:8px 0 28px rgba(8,60,47,.12)!important}.brand-link{height:64px;display:flex!important;align-items:center;border-bottom:1px solid rgba(255,255,255,.10)!important}.brand-link .brand-text{font-weight:700!important;letter-spacing:.2px}.nav-sidebar>.nav-item{margin:2px 9px}.nav-sidebar>.nav-item>.nav-link{border-radius:10px;color:rgba(255,255,255,.82)!important;padding:.68rem .8rem}.nav-sidebar>.nav-item>.nav-link:hover{background:rgba(255,255,255,.09)!important;color:#fff!important;transform:translateX(2px)}.nav-sidebar>.nav-item>.nav-link.active{background:rgba(255,255,255,.16)!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--portal-accent),0 6px 16px rgba(0,0,0,.08)!important}.nav-sidebar .nav-icon{font-size:1rem!important;width:1.55rem!important}.user-panel{border-bottom-color:rgba(255,255,255,.1)!important}.user-panel .info a{color:#fff!important}
.content-header{padding:24px .5rem 10px}.content-header h1{font-size:1.55rem;font-weight:750;letter-spacing:-.02em}.breadcrumb{background:transparent}.breadcrumb-item+.breadcrumb-item::before{color:#9aa9a3}.breadcrumb-item a{color:var(--portal-primary-2)}
.card{border:1px solid rgba(214,229,223,.82);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow);overflow:hidden}.card.card-outline{border-top:3px solid var(--portal-primary-2)}.card-header{background:#fff;border-bottom:1px solid var(--portal-border);padding:1rem 1.15rem}.card-header .card-title,.card-title{font-weight:700}.card-body{padding:1.15rem}.card-footer{background:#fbfdfc;border-top:1px solid var(--portal-border)}
.small-box{border-radius:18px;overflow:hidden;box-shadow:var(--portal-shadow);min-height:132px;position:relative}.small-box>.inner{padding:20px}.small-box h3{font-size:2rem;font-weight:800}.small-box p{font-weight:600;opacity:.92}.small-box .icon>i{font-size:64px!important;top:22px!important;right:18px!important;opacity:.24}.small-box:hover .icon>i{transform:scale(1.06)}
.ui-stat-card{position:relative;background:#fff;border:1px solid var(--portal-border);border-radius:18px;padding:20px;box-shadow:var(--portal-shadow);height:100%;overflow:hidden}.ui-stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-28px;top:-30px;background:rgba(15,94,73,.07)}.ui-stat-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#e9f5f0;color:var(--portal-primary-2);font-size:1.25rem;margin-bottom:14px}.ui-stat-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.055em;color:var(--portal-muted);font-weight:700}.ui-stat-value{font-size:1.85rem;font-weight:800;line-height:1.15;margin-top:4px}.ui-stat-note{font-size:.82rem;color:var(--portal-muted);margin-top:7px}
.btn{border-radius:10px;font-weight:650;padding:.48rem .9rem;transition:all .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--portal-primary),var(--portal-primary-2));border-color:var(--portal-primary)}.btn-primary:hover,.btn-primary:focus{background:linear-gradient(135deg,#073b2e,#12654e);border-color:#073b2e}.btn-outline-primary{color:var(--portal-primary);border-color:#82aa9b}.btn-outline-primary:hover{background:var(--portal-primary);border-color:var(--portal-primary);color:#fff}.btn-danger{box-shadow:0 5px 12px rgba(220,53,69,.13)}
.form-control,.custom-select,.form-select{min-height:42px;border:1px solid #ccdcd5;border-radius:10px!important;background:#fff;transition:border .2s,box-shadow .2s}.form-control:focus,.custom-select:focus,.form-select:focus{border-color:#4c927c;box-shadow:0 0 0 .2rem rgba(22,116,90,.12)}label,.form-label{font-weight:650;color:#35463f;font-size:.9rem}.input-group-text{border-color:#ccdcd5;background:#f5f9f7;color:var(--portal-primary)}textarea.form-control{min-height:100px}
.select2-container{width:100%!important}.select2-container--default .select2-selection--single{height:42px!important;border:1px solid #ccdcd5!important;border-radius:10px!important}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:40px!important;padding-left:13px!important;color:#26352f}.select2-container--default .select2-selection--single .select2-selection__arrow{height:40px!important;right:6px!important}.select2-container--default.select2-container--focus .select2-selection--single,.select2-container--default.select2-container--open .select2-selection--single{border-color:#4c927c!important;box-shadow:0 0 0 .2rem rgba(22,116,90,.12)}.select2-dropdown{border:1px solid #ccdcd5!important;border-radius:10px!important;box-shadow:0 14px 30px rgba(26,60,48,.14);overflow:hidden;z-index:2055}.select2-search--dropdown{padding:8px}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #ccdcd5;border-radius:8px;padding:8px}.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--portal-primary-2)}.select2-container--default .select2-results__option[aria-selected=true]{background:#e9f5f0;color:var(--portal-primary)}
.table{background:#fff}.table thead th{border-top:0;border-bottom:1px solid var(--portal-border);font-size:.78rem;text-transform:uppercase;letter-spacing:.045em;color:#65756f;background:#f8fbfa}.table td{vertical-align:middle;border-top:1px solid #edf2f0}.table-hover tbody tr:hover{background:#f7fbf9}.table-responsive{border-radius:12px}.badge{padding:.42em .7em;border-radius:999px;font-weight:650}.modal-content{border:0;border-radius:18px;box-shadow:0 24px 80px rgba(15,48,37,.25);overflow:hidden}.modal-header{background:linear-gradient(135deg,#f8fbfa,#fff);border-bottom:1px solid var(--portal-border)}.modal-title{font-weight:750}.modal-footer{border-top:1px solid var(--portal-border)}
.alert{border:0;border-radius:12px;box-shadow:0 6px 18px rgba(31,60,50,.07)}.dropdown-menu{border:1px solid var(--portal-border);border-radius:12px;box-shadow:0 14px 35px rgba(28,57,47,.13)}
.toasts-top-right{top:76px!important;right:16px!important}.toast{border-radius:12px!important;box-shadow:0 14px 35px rgba(14,47,36,.2)!important}.toast-success{background:#176b52!important}.toast-error{background:#b83e4b!important}.toast-warning{background:#b57a08!important}.toast-info{background:#2b6d8a!important}
.sidebar:not(.main-sidebar){background:linear-gradient(180deg,#083c2f,#0f5e49)!important;min-height:100vh;padding-top:14px}.sidebar:not(.main-sidebar) .nav-link{color:rgba(255,255,255,.84);border-radius:9px;margin:2px 8px;padding:.62rem .75rem}.sidebar:not(.main-sidebar) .nav-link:hover,.sidebar:not(.main-sidebar) .nav-link.active{background:rgba(255,255,255,.13);color:#fff}.sidebar:not(.main-sidebar) .nav-link.active{box-shadow:inset 3px 0 0 var(--portal-accent)}main[class*="col-md-9"],main[class*="col-lg-10"]{background:linear-gradient(180deg,#f7faf9,#eef5f2);min-height:100vh;padding:22px 28px!important}
.ui-page-head{background:linear-gradient(135deg,#0b4d3b,#16745a);color:#fff;border-radius:20px;padding:22px 24px;margin-bottom:22px;box-shadow:0 14px 34px rgba(11,77,59,.17);position:relative;overflow:hidden}.ui-page-head:after{content:"";position:absolute;width:190px;height:190px;border:34px solid rgba(255,255,255,.08);border-radius:50%;right:-50px;top:-100px}.ui-page-head h1,.ui-page-head h2{margin:0;font-weight:800}.ui-page-head p{margin:.35rem 0 0;opacity:.86}.ui-page-head .btn{background:#fff;color:var(--portal-primary);border-color:#fff}
.auth-page{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:32px 16px;background-image:linear-gradient(120deg,rgba(4,43,32,.88),rgba(11,77,59,.72)),url('../images/hostel-background.svg');background-size:cover;background-position:center;overflow:hidden}.auth-page:before,.auth-page:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.07)}.auth-page:before{width:260px;height:260px;top:-100px;left:-70px}.auth-page:after{width:320px;height:320px;right:-110px;bottom:-150px}.auth-shell{width:min(1040px,96vw);display:grid;grid-template-columns:1.05fr .95fr;background:rgba(255,255,255,.96);border-radius:26px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.28);position:relative;z-index:1}.auth-visual{padding:48px;color:#fff;background:linear-gradient(160deg,rgba(6,59,44,.96),rgba(22,116,90,.92));display:flex;flex-direction:column;justify-content:space-between;min-height:590px}.auth-visual .brand-orb{width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.13);display:flex;align-items:center;justify-content:center;font-size:1.7rem}.auth-visual h1{font-size:2.2rem;font-weight:800;line-height:1.15;margin-top:26px}.auth-visual p{color:rgba(255,255,255,.82);max-width:460px}.auth-points{display:grid;gap:12px;margin-top:25px}.auth-point{display:flex;gap:10px;align-items:center;color:rgba(255,255,255,.9)}.auth-form-pane{padding:48px;display:flex;align-items:center}.auth-form-card{width:100%}.auth-form-card .eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--portal-primary-2);font-size:.75rem;font-weight:800}.auth-form-card h2{font-size:1.8rem;font-weight:800;margin:.35rem 0 .45rem}.auth-form-card .form-control{min-height:50px}.auth-form-card .btn{min-height:50px}.auth-back{display:inline-flex;gap:8px;align-items:center;color:#718078;margin-top:20px}
.ui-reveal{animation:uiFadeUp .45s ease both}.ui-reveal:nth-child(2){animation-delay:.04s}.ui-reveal:nth-child(3){animation-delay:.08s}.ui-reveal:nth-child(4){animation-delay:.12s}@keyframes uiFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:991.98px){.auth-shell{grid-template-columns:1fr;max-width:560px}.auth-visual{min-height:auto;padding:30px}.auth-form-pane{padding:30px}.auth-visual .auth-points{display:none}.sidebar:not(.main-sidebar){min-height:auto}main[class*="col-md-9"],main[class*="col-lg-10"]{padding:16px!important}}@media(max-width:575.98px){.content-header{padding-top:17px}.card-body{padding:1rem}.auth-page{padding:16px 10px}.auth-visual,.auth-form-pane{padding:24px}.auth-visual h1{font-size:1.65rem}.auth-form-card h2{font-size:1.5rem}.small-box h3{font-size:1.55rem}}

.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}

/* Toastr cleanup: prevent AdminLTE/Bootstrap toast styles and default icon sprites from covering text */
#toast-container{z-index:99999!important}
#toast-container.toast-top-right{top:76px!important;right:16px!important}
#toast-container>div.toast{width:360px!important;max-width:calc(100vw - 32px)!important;min-height:58px!important;margin:0 0 10px!important;padding:15px 38px 15px 18px!important;border:0!important;border-radius:12px!important;box-shadow:0 14px 35px rgba(14,47,36,.20)!important;opacity:.98!important;background-image:none!important;background-position:initial!important;background-repeat:no-repeat!important;color:#fff!important}
#toast-container>div.toast:before,#toast-container>div.toast:after{display:none!important;content:none!important}
#toast-container .toast-message{line-height:1.45!important;font-size:.92rem!important;padding:0!important;margin:0!important;color:#fff!important;word-break:break-word!important}
#toast-container .toast-title{font-weight:700!important;margin:0 0 3px!important;color:#fff!important}
#toast-container .toast-close-button{position:absolute!important;top:9px!important;right:10px!important;color:#fff!important;text-shadow:none!important;opacity:.8!important;font-size:20px!important;line-height:1!important}
#toast-container .toast-progress{height:3px!important;opacity:.3!important}
#toast-container>.toast-success{background-color:#176b52!important}
#toast-container>.toast-error{background-color:#b83e4b!important}
#toast-container>.toast-warning{background-color:#a56f08!important}
#toast-container>.toast-info{background-color:#2b6d8a!important}

/* =========================================================
   PREMIUM VISUAL SYSTEM V3
   ========================================================= */
:root{
  --portal-ink:#10271f;--portal-soft:#f7fbf9;--portal-soft-2:#edf6f2;
  --portal-gold:#e0b341;--portal-teal:#21a17a;--portal-danger:#c74d59;
  --portal-info:#347ca0;--portal-violet:#7868c7;
}
body{background:
  radial-gradient(circle at 8% 4%,rgba(33,161,122,.06),transparent 20rem),
  radial-gradient(circle at 92% 20%,rgba(224,179,65,.05),transparent 22rem),
  var(--portal-bg)}
.content-wrapper{background:
  radial-gradient(circle at 96% 0,rgba(20,116,88,.055),transparent 25rem),
  linear-gradient(180deg,#f9fcfb 0%,#f0f6f3 100%)}

/* Sidebar polish */
.brand-link{position:relative;overflow:hidden}.brand-link:after{content:"";position:absolute;right:-28px;top:-44px;width:92px;height:92px;border:15px solid rgba(255,255,255,.05);border-radius:50%}
.nav-sidebar .nav-header{color:rgba(255,255,255,.42)!important;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;padding:1rem .95rem .4rem}
.nav-sidebar>.nav-item>.nav-link{position:relative;overflow:hidden}.nav-sidebar>.nav-item>.nav-link:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--portal-gold);transition:width .25s ease}.nav-sidebar>.nav-item>.nav-link:hover:after,.nav-sidebar>.nav-item>.nav-link.active:after{width:100%}

/* Header / page chrome */
.main-header{backdrop-filter:saturate(130%) blur(10px);background:rgba(255,255,255,.94)!important}
.content-header h1{font-size:1.72rem}.content-header h1:after{content:"";display:block;width:44px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--portal-primary-2),var(--portal-gold));margin-top:8px}
.ui-page-head{background:
 linear-gradient(135deg,rgba(9,65,49,.98),rgba(22,116,90,.95)),
 radial-gradient(circle at 86% 14%,rgba(255,255,255,.2),transparent 18rem);padding:26px 28px;box-shadow:0 18px 42px rgba(11,77,59,.18)}
.ui-page-head:before{content:"";position:absolute;width:100px;height:100px;border-radius:26px;right:74px;bottom:-58px;background:rgba(255,255,255,.055);transform:rotate(28deg)}

/* Premium cards */
.card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card:hover{box-shadow:0 16px 38px rgba(20,67,51,.11);border-color:#d6e8e1}.card-header{position:relative}.card-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--portal-primary-2),var(--portal-gold));opacity:.85}.card-header.bg-transparent:before{display:none}
.ui-stat-card{transition:.25s ease}.ui-stat-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(20,67,51,.13)}.ui-stat-card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--portal-primary),var(--portal-teal),var(--portal-gold))}.ui-stat-icon{box-shadow:inset 0 0 0 1px rgba(15,94,73,.05),0 8px 18px rgba(15,94,73,.08)}
.ui-stat-value{letter-spacing:-.035em}.ui-stat-note{display:flex;align-items:center;gap:6px}.ui-stat-note:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--portal-teal);box-shadow:0 0 0 4px rgba(33,161,122,.1)}

/* Status / badges */
.badge{font-size:.72rem;letter-spacing:.01em}.badge-success{background:#dff4ec!important;color:#11634c!important;border:1px solid #bde6d7}.badge-warning{background:#fff2cc!important;color:#87600a!important;border:1px solid #f1dc9b}.badge-danger{background:#fde7e9!important;color:#9e3440!important;border:1px solid #f4c5ca}.badge-info{background:#e3f1f7!important;color:#245f7b!important;border:1px solid #c3e0ec}.badge-primary{background:#e2f2ec!important;color:#0d6048!important;border:1px solid #bfe2d5}

/* Buttons and micro interactions */
.btn{position:relative;overflow:hidden}.btn:active{transform:translateY(0) scale(.985)}.btn-primary{box-shadow:0 8px 18px rgba(11,77,59,.17)}.btn-primary:hover{box-shadow:0 12px 24px rgba(11,77,59,.24)}.btn-light{border-color:#e3ece8}.btn-icon{width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:12px}

/* Tables + DataTables */
.table{border-collapse:separate;border-spacing:0}.table thead th{padding:.9rem .75rem;white-space:nowrap}.table tbody td{padding:.8rem .75rem}.table tbody tr{transition:background .18s ease,transform .18s ease}.table-hover tbody tr:hover{background:#f1f8f5;box-shadow:inset 3px 0 0 var(--portal-primary-2)}
.dataTables_wrapper{padding-top:.2rem}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{margin-bottom:14px}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border:1px solid #ccdcd5!important;border-radius:9px!important;padding:.36rem .6rem!important;background:#fff!important}.dt-buttons .btn{margin-right:6px;margin-bottom:6px;border-radius:9px!important}.dataTables_wrapper .pagination .page-link{border:0;margin:0 2px;border-radius:8px;color:var(--portal-primary);min-width:34px;text-align:center}.dataTables_wrapper .pagination .page-item.active .page-link{background:var(--portal-primary);color:#fff;box-shadow:0 6px 14px rgba(11,77,59,.2)}

/* Forms */
.form-group{position:relative}.form-control,.custom-select,.select2-selection{box-shadow:0 2px 5px rgba(22,61,49,.02)}.form-control:hover,.custom-select:hover{border-color:#9fbbb0}.form-control:focus{background:#fff}.input-group-text{min-width:44px;justify-content:center}.custom-control-input:checked~.custom-control-label::before{background-color:var(--portal-primary-2);border-color:var(--portal-primary-2)}

/* Modal refinements */
.modal-backdrop.show{opacity:.38;backdrop-filter:blur(2px)}.modal-content{border:1px solid rgba(255,255,255,.7)}.modal-header{padding:1.1rem 1.25rem}.modal-header .close{width:38px;height:38px;border-radius:11px;background:#eef5f2;margin:-.4rem -.35rem -.4rem auto;display:flex;align-items:center;justify-content:center;opacity:.85}.modal-header .close:hover{background:#e1eee9}.modal-body{padding:1.25rem}.modal-footer{padding:1rem 1.25rem;background:#fbfdfc}

/* Useful visual components */
.ui-section-title{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--portal-ink);margin:0 0 14px}.ui-section-title:before{content:"";width:9px;height:9px;border-radius:3px;background:linear-gradient(135deg,var(--portal-primary-2),var(--portal-gold));transform:rotate(45deg)}
.ui-empty{padding:38px 20px;text-align:center;color:var(--portal-muted)}.ui-empty .ui-empty-icon{width:70px;height:70px;border-radius:22px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e9f5f0,#fff5d7);color:var(--portal-primary);font-size:1.6rem;border:1px solid #dcebe5}.ui-empty h5{font-weight:800;color:var(--portal-ink)}
.ui-soft-panel{background:linear-gradient(135deg,#f8fcfa,#f1f8f5);border:1px solid #dcebe5;border-radius:16px;padding:18px}.ui-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 11px;background:#edf7f3;color:var(--portal-primary);border:1px solid #d7ebe3;font-size:.78rem;font-weight:750}
.ui-illustration{position:relative;min-height:180px;border-radius:20px;background:linear-gradient(135deg,#e8f5ef,#fbf6df);overflow:hidden}.ui-illustration:before,.ui-illustration:after{content:"";position:absolute;border-radius:50%}.ui-illustration:before{width:150px;height:150px;background:rgba(20,116,88,.12);right:-38px;top:-52px}.ui-illustration:after{width:92px;height:92px;border:18px solid rgba(224,179,65,.22);left:-24px;bottom:-34px}

/* Dashboard hero upgrade */
.dashboard-hero{background:
 radial-gradient(circle at 84% 22%,rgba(255,255,255,.14),transparent 14rem),
 linear-gradient(135deg,#073e30 0%,#0f654e 54%,#1b8062 100%)!important;min-height:190px;display:flex;align-items:center}.dashboard-hero:before{content:"";position:absolute;width:130px;height:130px;right:130px;bottom:-76px;border-radius:28px;background:rgba(255,255,255,.06);transform:rotate(24deg)}.dashboard-hero .btn-light{box-shadow:0 8px 18px rgba(0,0,0,.12)}
.quick-action{position:relative;overflow:hidden}.quick-action:after{content:"\f061";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:14px;opacity:.24;transition:.2s}.quick-action:hover:after{opacity:.65;transform:translateX(3px)}

/* Auth visual graphics */
.auth-page{background-image:linear-gradient(120deg,rgba(3,37,28,.91),rgba(11,77,59,.75)),url('../images/hostel-background.svg')}.auth-shell{border:1px solid rgba(255,255,255,.5);box-shadow:0 34px 100px rgba(0,0,0,.32)}.auth-visual{position:relative;overflow:hidden;background:
 radial-gradient(circle at 86% 14%,rgba(255,255,255,.16),transparent 15rem),
 linear-gradient(150deg,#063d2f 0%,#0c634b 60%,#148162 100%)}.auth-visual:before{content:"";position:absolute;width:210px;height:210px;border:32px solid rgba(255,255,255,.06);border-radius:50%;right:-82px;top:-70px}.auth-visual:after{content:"";position:absolute;width:130px;height:130px;border-radius:30px;background:rgba(224,179,65,.08);left:-65px;bottom:38px;transform:rotate(25deg)}.auth-visual>*{position:relative;z-index:1}.auth-scene{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:28px 0 6px;max-width:430px}.auth-scene-card{padding:13px 14px;border-radius:15px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(8px)}.auth-scene-card i{color:#f1d56f;margin-bottom:8px}.auth-scene-card strong{display:block;font-size:.86rem}.auth-scene-card span{font-size:.74rem;color:rgba(255,255,255,.68)}.auth-form-pane{background:linear-gradient(180deg,#fff,#fbfdfc)}.auth-form-card h2{letter-spacing:-.035em}.auth-form-card .input-group{box-shadow:0 8px 20px rgba(20,67,51,.04);border-radius:12px}.auth-form-card .input-group .form-control,.auth-form-card .input-group .input-group-text,.auth-form-card .input-group .btn{border-radius:0!important}.auth-form-card .input-group-prepend .input-group-text{border-radius:12px 0 0 12px!important}.auth-form-card .input-group-append .btn{border-radius:0 12px 12px 0!important}

/* Landing v2 */
.portal-landing{background-image:linear-gradient(112deg,rgba(3,35,27,.94) 0%,rgba(8,70,52,.82) 50%,rgba(10,76,57,.69) 100%),url('../images/hostel-background.svg')!important}.landing-brand img{box-shadow:0 12px 30px rgba(0,0,0,.18)}.hero-copy h1{text-shadow:0 8px 28px rgba(0,0,0,.18)}.portal-card{position:relative;overflow:hidden}.portal-card:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-34px;top:-35px;background:rgba(20,116,88,.06)}.portal-card .pc-icon{box-shadow:0 8px 20px rgba(11,77,59,.09)}.landing-side{position:relative;overflow:hidden}.landing-side:after{content:"";position:absolute;width:150px;height:150px;border:24px solid rgba(255,255,255,.05);border-radius:50%;right:-58px;bottom:-72px}.landing-metrics{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.landing-metric{min-width:145px;padding:11px 13px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.11);color:#fff}.landing-metric strong{display:block;font-size:1rem}.landing-metric span{font-size:.72rem;color:rgba(255,255,255,.68)}

/* Student dashboard / general plain bootstrap pages */
.welcome-card{background:linear-gradient(135deg,#0b4d3b,#1a8062)!important;color:#fff!important;border:0!important;position:relative;overflow:hidden}.welcome-card:after{content:"";position:absolute;width:180px;height:180px;border:28px solid rgba(255,255,255,.07);border-radius:50%;right:-54px;top:-92px}.status-card{height:100%;transition:.25s ease}.status-card:hover{transform:translateY(-4px)}.status-card .fa-3x{font-size:2rem!important;width:58px;height:58px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;background:#edf7f3}.payment-status{display:inline-flex!important;border-radius:999px;padding:6px 11px;font-size:.78rem;font-weight:750}

/* Responsive tuning */
@media(max-width:767.98px){.content-header h1{font-size:1.42rem}.ui-page-head{padding:21px 20px;border-radius:17px}.dashboard-hero{padding:22px!important;min-height:auto}.ui-stat-card{padding:17px}.auth-scene{grid-template-columns:1fr 1fr}.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_length{text-align:left!important}.dt-buttons{display:flex;flex-wrap:wrap}.table-responsive{border:1px solid #e3ece8}.modal-dialog{margin:.6rem}}
@media(max-width:420px){.auth-scene{grid-template-columns:1fr}.landing-metric{min-width:0;flex:1 1 100%}}
.ui-title-dot{display:inline-block;width:8px;height:8px;border-radius:3px;background:linear-gradient(135deg,var(--portal-primary-2),var(--portal-gold));margin-right:9px;transform:rotate(45deg);vertical-align:1px}.btn.ui-pressed{transform:translateY(0) scale(.985)!important}.ui-empty-table{background:#fbfdfc}

/* Admin summary widgets */
.admin-insight-panel{position:relative;margin-top:.25rem;padding:1rem 1rem .15rem;border:1px solid rgba(15,118,110,.12);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(247,252,250,.96));box-shadow:0 10px 30px rgba(15,23,42,.06);overflow:hidden}.admin-insight-panel:after{content:"";position:absolute;right:-60px;top:-80px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.13),transparent 68%);pointer-events:none}.admin-insight-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem;position:relative;z-index:1}.admin-insight-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:800;color:#0f766e}.admin-insight-subtitle{font-size:.88rem;color:#64748b;margin-top:.15rem}.admin-insight-live{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .7rem;border-radius:999px;background:#ecfdf5;color:#047857;font-size:.72rem;font-weight:800;white-space:nowrap}.admin-insight-live span{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.11);animation:adminPulse 2s infinite}.admin-kpi-card{height:100%;min-height:118px;display:flex;align-items:center;gap:.9rem;padding:1rem;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.05);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;position:relative;overflow:hidden}.admin-kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--kpi-accent,#0f766e)}.admin-kpi-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,23,42,.09);border-color:rgba(15,118,110,.2)}.admin-kpi-icon{width:48px;height:48px;flex:0 0 48px;border-radius:15px;display:grid;place-items:center;background:var(--kpi-soft,#ecfdf5);color:var(--kpi-accent,#0f766e);font-size:1.15rem}.admin-kpi-body{min-width:0}.admin-kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;font-weight:800;color:#64748b}.admin-kpi-value{font-size:1.35rem;line-height:1.2;font-weight:850;color:#0f172a;margin:.2rem 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-kpi-meta{font-size:.73rem;color:#94a3b8}.admin-kpi-success{--kpi-accent:#059669;--kpi-soft:#ecfdf5}.admin-kpi-warning{--kpi-accent:#d97706;--kpi-soft:#fffbeb}.admin-kpi-danger{--kpi-accent:#dc2626;--kpi-soft:#fef2f2}.admin-kpi-info{--kpi-accent:#0284c7;--kpi-soft:#f0f9ff}.admin-kpi-secondary{--kpi-accent:#64748b;--kpi-soft:#f8fafc}.admin-kpi-primary{--kpi-accent:#0f766e;--kpi-soft:#f0fdfa}@keyframes adminPulse{0%,100%{box-shadow:0 0 0 4px rgba(16,185,129,.10)}50%{box-shadow:0 0 0 8px rgba(16,185,129,0)}}@media(max-width:575.98px){.admin-insight-panel{padding:.85rem .75rem .05rem;border-radius:16px}.admin-insight-heading{align-items:flex-start}.admin-insight-live{font-size:.65rem}.admin-kpi-card{min-height:96px;padding:.8rem}.admin-kpi-value{font-size:1.15rem}.admin-kpi-icon{width:42px;height:42px;flex-basis:42px;border-radius:13px}}@media(prefers-reduced-motion:reduce){.admin-insight-live span{animation:none}.admin-kpi-card{transition:none}}

/* ===== Standard Admin DataTables ===== */
.dataTables_wrapper .dt-buttons { display:flex; flex-wrap:wrap; gap:.35rem; }
.dataTables_wrapper .dt-buttons .btn { margin:0 !important; border-radius:.4rem !important; }
.dataTables_wrapper .dataTables_filter { text-align:right; }
.dataTables_wrapper .dataTables_filter input { min-width:220px; border:1px solid #ced4da; border-radius:.4rem; padding:.35rem .65rem; margin-left:0; }
.dataTables_wrapper .dataTables_info { color:#6c757d; font-size:.9rem; }
table.admin-datatable thead th { white-space:nowrap; vertical-align:middle; }
table.admin-datatable tbody td { vertical-align:middle; }
table.admin-datatable .btn-group { white-space:nowrap; }
@media (max-width:767.98px){
  .dataTables_wrapper .dataTables_filter { text-align:left; margin-top:.6rem; }
  .dataTables_wrapper .dataTables_filter input { width:100%; min-width:0; }
}
