/* ============================================================================
   LVR PORTAL ADMIN — shared clean-minimal design system
   assets/css/lvr-portal-admin.css   (reusable across all admin portals)
   Neutral palette, flat cards, subtle borders, generous whitespace, one accent.
   Styles the AdminLTE shell classes (.main-header/.main-sidebar/.content-wrapper)
   AND generic component classes (.panel/.box/.table/.btn/.form-control) so it can
   be reused by any portal. No gradients, no serif, no ornament.
   ============================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root{
  /* ---- main-website palette ---- */
  --navy:#0b1833;              /* deep brand navy (site dark sections) */
  --navy-2:#1a1a4b;
  --gold:#ffd700;
  --accent:#e31e24;            /* brand red — the single accent */
  --accent-hover:#c2161c;
  --accent-soft:#fde2e4;       /* site soft-red */
  --bg:#f4f7fb;               /* light slate page bg (not white) */
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --border:#eef2f7;
  --border-strong:#dde3ec;
  --text:#283041;
  --heading:#111827;
  --muted:#6b7280;
  --muted-2:#9aa1ad;
  --green:#15803d; --green-soft:#e7f6ee;
  --amber:#b45309; --amber-soft:#fff4db;
  --blue:#2a5d86;  --blue-soft:#eef3f9;
  /* ---- navy sidebar tokens ---- */
  --side-bg:var(--navy);
  --side-text:#aeb8c9;
  --side-hover-bg:rgba(255,255,255,.06);
  --side-active-bg:rgba(227,30,36,.18);
  --side-icon:#7c8aa5;
  --side-border:rgba(255,255,255,.07);
  --sidebar-w:248px; --topbar-h:56px;
  --radius:8px; --radius-sm:6px;
  --shadow:0 1px 2px rgba(11,24,51,.05);
  --shadow-md:0 6px 20px rgba(11,24,51,.12);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:var(--font);font-size:14px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-hover);}
h1,h2,h3,h4,h5,h6{font-family:var(--font);color:var(--heading);font-weight:600;margin:0 0 .5rem;letter-spacing:-.01em;}
small{font-size:85%;color:var(--muted);}
img{max-width:100%;}
.text-muted{color:var(--muted)!important;}
hr{border:0;border-top:1px solid var(--border);margin:18px 0;}

/* ---------- grid (BS3-compatible float grid) ---------- */
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 15px;}
.container-fluid{width:100%;padding:0 15px;}
.row{margin:0 -12px;}
.row::before,.row::after{content:" ";display:table;}
.row::after{clear:both;}
[class^="col-"],[class*=" col-"]{position:relative;min-height:1px;padding:0 12px;}
.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left;}
.col-xs-12{width:100%}.col-xs-11{width:91.6667%}.col-xs-10{width:83.3333%}.col-xs-9{width:75%}.col-xs-8{width:66.6667%}.col-xs-7{width:58.3333%}.col-xs-6{width:50%}.col-xs-5{width:41.6667%}.col-xs-4{width:33.3333%}.col-xs-3{width:25%}.col-xs-2{width:16.6667%}.col-xs-1{width:8.3333%}
@media(min-width:768px){
  .col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left;}
  .col-sm-12{width:100%}.col-sm-11{width:91.6667%}.col-sm-10{width:83.3333%}.col-sm-9{width:75%}.col-sm-8{width:66.6667%}.col-sm-7{width:58.3333%}.col-sm-6{width:50%}.col-sm-5{width:41.6667%}.col-sm-4{width:33.3333%}.col-sm-3{width:25%}.col-sm-2{width:16.6667%}.col-sm-1{width:8.3333%}
  .col-sm-offset-1{margin-left:8.3333%}.col-sm-offset-2{margin-left:16.6667%}.col-sm-offset-3{margin-left:25%}
}
@media(min-width:992px){
  .col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left;}
  .col-md-12{width:100%}.col-md-11{width:91.6667%}.col-md-10{width:83.3333%}.col-md-9{width:75%}.col-md-8{width:66.6667%}.col-md-7{width:58.3333%}.col-md-6{width:50%}.col-md-5{width:41.6667%}.col-md-4{width:33.3333%}.col-md-3{width:25%}.col-md-2{width:16.6667%}.col-md-1{width:8.3333%}
  .col-md-offset-1{margin-left:8.3333%}.col-md-offset-2{margin-left:16.6667%}.col-md-offset-3{margin-left:25%}
}
@media(min-width:1200px){
  .col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-12{float:left;}
  .col-lg-12{width:100%}.col-lg-10{width:83.3333%}.col-lg-9{width:75%}.col-lg-8{width:66.6667%}.col-lg-6{width:50%}.col-lg-4{width:33.3333%}.col-lg-3{width:25%}.col-lg-2{width:16.6667%}
}
.form-horizontal .form-group{margin:0 -12px 16px;}
.form-horizontal .form-group::before,.form-horizontal .form-group::after{content:" ";display:table;}
.form-horizontal .form-group::after{clear:both;}
.form-horizontal .control-label{text-align:left;padding-top:7px;}
.pull-right{float:right!important;}.pull-left{float:left!important;}
.text-center{text-align:center!important;}.text-right{text-align:right!important;}.text-left{text-align:left!important;}
.hidden{display:none!important;}.clearfix::after{content:"";display:table;clear:both;}
.d-flex{display:flex!important;}.d-inline-block{display:inline-block!important;}.d-block{display:block!important;}.d-none{display:none!important;}
.flex-wrap{flex-wrap:wrap!important;}.align-items-center{align-items:center!important;}
.justify-content-between{justify-content:space-between!important;}.justify-content-center{justify-content:center!important;}.justify-content-end{justify-content:flex-end!important;}
.w-100{width:100%!important;}.fw-bold{font-weight:700!important;}.small{font-size:85%!important;}
.mb-0{margin-bottom:0!important;}.mb-1{margin-bottom:.25rem!important;}.mb-2{margin-bottom:.5rem!important;}.mb-3{margin-bottom:1rem!important;}
.mt-1{margin-top:.25rem!important;}.mt-2{margin-top:.5rem!important;}.mt-3{margin-top:1rem!important;}
.m-b-5{margin-bottom:5px!important;}.m-t-5{margin-top:5px!important;}.m-r-5{margin-right:5px!important;}
.no-margin{margin:0!important;}.no-padding{padding:0!important;}

/* ---------- forms ---------- */
.form-group{margin-bottom:16px;}
label,.control-label{font-weight:500;color:var(--heading);margin-bottom:6px;display:inline-block;font-size:13px;}
.form-control,input[type=text],input[type=password],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=time],input[type=search],select,textarea{
  width:100%;font-family:var(--font);font-size:14px;padding:9px 12px;color:var(--text);background:var(--surface);
  border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s;line-height:1.4;}
.form-control::placeholder,input::placeholder,textarea::placeholder{color:var(--muted-2);}
.form-control:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent);}
.input-group{display:flex;}
.input-group .form-control{border-radius:var(--radius-sm) 0 0 var(--radius-sm);}
.input-group-addon,.input-group-btn{display:flex;align-items:center;padding:0 12px;background:var(--surface-2);border:1px solid var(--border-strong);border-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--muted);}
.input-group-btn{padding:0;background:none;border:none;}
.help-block{display:block;margin-top:5px;font-size:12.5px;color:var(--muted);}
.checkbox,.radio{margin:8px 0;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--font);font-weight:500;font-size:13.5px;line-height:1.4;padding:8px 15px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:center;text-decoration:none;transition:all .15s ease;vertical-align:middle;white-space:nowrap;}
.btn:focus{outline:none;box-shadow:0 0 0 3px var(--accent-soft);}
.btn-block{display:flex;width:100%;}
.btn-xs{padding:4px 9px;font-size:11.5px;}
.btn-sm{padding:6px 11px;font-size:12.5px;}
.btn-lg{padding:11px 22px;font-size:15px;}
.btn-primary,.btn-danger{background:var(--accent);border-color:var(--accent);color:#fff;}
.btn-primary:hover,.btn-danger:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;}
.btn-success{background:var(--green);border-color:var(--green);color:#fff;}
.btn-success:hover{background:#0c7d46;color:#fff;}
.btn-info{background:var(--blue);border-color:var(--blue);color:#fff;}
.btn-info:hover{background:#1d4ed8;color:#fff;}
.btn-warning{background:var(--amber);border-color:var(--amber);color:#fff;}
.btn-warning:hover{background:#b97604;color:#fff;}
/* legacy accent colours used by row action buttons (edit = pink, asset print = purple) */
.btn-pink{background:#e0589b;border-color:#e0589b;color:#fff;}
.btn-pink:hover{background:#c83f82;color:#fff;}
.btn-purple{background:#7a5cc0;border-color:#7a5cc0;color:#fff;}
.btn-purple:hover{background:#6446a6;color:#fff;}
.btn-default,.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--heading);}
.btn-default:hover,.btn-secondary:hover{background:var(--surface-2);border-color:var(--muted-2);color:var(--heading);}
.btn-dark{background:#1f2530;border-color:#1f2530;color:#fff;}
.btn-dark:hover{background:#0f1420;color:#fff;}
.btn-link{background:none;border:none;color:var(--accent);padding:0;}
/* circular / pill icon buttons */
.btn-circle{width:32px;height:32px;padding:0;border-radius:50%;font-size:13px;}
.btn-circle.btn-sm{width:28px;height:28px;font-size:12px;}
.btn-circle.btn-lg{width:42px;height:42px;font-size:16px;}
.btn-rounded{border-radius:999px;}

/* ---------- cards: panels (BS) + boxes (AdminLTE) ---------- */
.panel,.box,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;display:flow-root;}
.panel-heading,.box-header{padding:14px 18px;border-bottom:1px solid var(--border);background:transparent;border-radius:var(--radius) var(--radius) 0 0;}
.panel-title,.box-title,.panel-heading h3,.panel-heading h4,.box-header h3,.box-header h4{color:var(--heading);margin:0;font-size:15px;font-weight:600;display:inline-block;}
.panel-body,.box-body,.card-body{padding:18px;display:flow-root;}
.panel-footer,.box-footer{padding:13px 18px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius);}
/* colored panel/box variants — minimal: just a subtle top hairline, no loud headers */
.panel-success,.panel-primary,.panel-info,.panel-default,.panel-bd,.panel-danger,.panel-warning,
.box-success,.box-primary,.box-info,.box-default,.box-danger,.box-warning{border-top:1px solid var(--border);}
.panel-heading .badge,.box-header .badge{float:right;}

/* AdminLTE small-box / info-box → clean stat cards */
.small-box{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;overflow:hidden;}
.small-box>.inner{padding:18px;}
.small-box h3{font-size:1.9rem;font-weight:700;color:var(--heading);margin:0;}
.small-box p{margin:4px 0 0;color:var(--muted);font-weight:500;}
.small-box .icon{position:absolute;top:16px;right:18px;font-size:38px;color:var(--border-strong);}
.small-box .small-box-footer{display:block;padding:9px;background:var(--surface-2);color:var(--accent);text-align:center;font-size:12.5px;border-top:1px solid var(--border);}
.info-box{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:14px 16px;min-height:80px;}
.info-box-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--radius);font-size:24px;color:var(--accent);background:var(--accent-soft);flex-shrink:0;}
.info-box-number{font-size:1.4rem;font-weight:700;color:var(--heading);}
.info-box-text{color:var(--muted);font-weight:500;text-transform:uppercase;font-size:11.5px;letter-spacing:.04em;}

/* ---------- tables (minimal) ---------- */
.table{width:100%;margin-bottom:1rem;border-collapse:collapse;background:var(--surface);font-size:13.5px;}
.table>thead>tr>th,.table thead th{background:var(--surface-2);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px;font-weight:600;padding:11px 14px;text-align:left;border:none;border-bottom:1px solid var(--border);vertical-align:middle;}
.table>tbody>tr>td,.table tbody td{padding:11px 14px;border-top:1px solid var(--border);color:var(--text);vertical-align:middle;}
.table>tbody>tr:hover>td,.table-hover tbody tr:hover td{background:var(--surface-2);}
.table-bordered,.table-bordered td,.table-bordered th{border:1px solid var(--border);}
.table-striped>tbody>tr:nth-child(odd)>td{background:var(--surface-2);}
.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.table-condensed>thead>tr>th,.table-condensed>tbody>tr>td,.table-condensed th,.table-condensed td{padding:7px 9px;}
.table .btn{margin:1px;}

/* ---------- alerts ---------- */
.alert{border:1px solid transparent;border-radius:var(--radius-sm);padding:12px 15px;margin-bottom:1rem;position:relative;font-size:13.5px;}
.alert-success{background:var(--green-soft);border-color:#bfe6cf;color:#0b6b3a;}
.alert-danger,.alert-error{background:var(--accent-soft);border-color:#f6cdd0;color:#a81620;}
.alert-warning{background:var(--amber-soft);border-color:#f5dca6;color:#8a5a04;}
.alert-info{background:var(--blue-soft);border-color:#c7dafc;color:#1b4dc7;}
.alert .close{position:absolute;top:9px;right:12px;border:none;background:none;font-size:18px;line-height:1;color:inherit;opacity:.6;cursor:pointer;}
.alert .close:hover{opacity:1;}
.callout{border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:1rem;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);box-shadow:var(--shadow);}
.callout.callout-success{border-left-color:var(--green);}
.callout.callout-warning{border-left-color:var(--amber);}
.callout.callout-info{border-left-color:var(--blue);}

/* ---------- badges / labels (minimal soft pills) ---------- */
.badge,.label{display:inline-block;font-weight:600;font-size:11px;line-height:1.4;padding:3px 9px;border-radius:999px;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);text-align:center;white-space:nowrap;}
.label-success,.badge-success,.bg-success,.bg-green{background:var(--green-soft)!important;color:#0b6b3a!important;border-color:#bfe6cf;}
.label-danger,.badge-danger,.bg-danger,.bg-red{background:var(--accent-soft)!important;color:#a81620!important;border-color:#f6cdd0;}
.label-warning,.badge-warning,.bg-warning,.bg-yellow{background:var(--amber-soft)!important;color:#8a5a04!important;border-color:#f5dca6;}
.label-info,.badge-info,.bg-info,.bg-aqua{background:var(--blue-soft)!important;color:#1b4dc7!important;border-color:#c7dafc;}
.label-primary,.bg-blue{background:var(--accent-soft)!important;color:#a81620!important;}
.label-default{background:var(--surface-2)!important;color:var(--muted)!important;}

/* ---------- nav-tabs ---------- */
.nav-tabs{list-style:none;margin:0 0 16px;padding:0;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:2px;}
.nav-tabs>li{margin-bottom:-1px;}
.nav-tabs>li>a{display:block;padding:9px 15px;font-weight:500;font-size:13.5px;color:var(--muted);border:none;border-bottom:2px solid transparent;border-radius:0;}
.nav-tabs>li>a:hover{color:var(--heading);}
.nav-tabs>li.active>a,.nav-tabs>li>a.active{color:var(--accent);border-bottom-color:var(--accent);background:none;}
.tab-content{padding:4px 0;}.tab-pane{display:none;}.tab-pane.active{display:block;}

/* ---------- modals (pure CSS + portal-ui.js) ---------- */
.modal{display:none;position:fixed;inset:0;z-index:1060;overflow-y:auto;padding:24px 12px;}
.modal.gl-show,.modal.in{display:block;}
.gl-backdrop{position:fixed;inset:0;background:rgba(17,24,39,.45);z-index:1050;}
body.gl-modal-open{overflow:hidden;}
.modal-dialog{position:relative;z-index:1061;width:100%;max-width:560px;margin:30px auto;}
.modal-dialog.modal-sm{max-width:380px;} .modal-dialog.modal-lg{max-width:880px;}
.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 16px 48px rgba(16,24,40,.2);overflow:hidden;}
.modal-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:15px 18px;}
.modal-header .modal-title,.modal-title{color:var(--heading);margin:0;font-size:16px;font-weight:600;}
.modal-header .close,.modal .close{border:none;background:none;font-size:22px;line-height:1;color:var(--muted-2);cursor:pointer;opacity:.9;padding:0;}
.modal-header .close:hover,.modal .close:hover{color:var(--heading);}
.btn-close{border:none;background:none;cursor:pointer;width:28px;height:28px;opacity:.7;padding:0;}
.btn-close::before{content:"\00d7";font-size:22px;color:var(--muted-2);}
.btn-close:hover{opacity:1;} .btn-close:hover::before{color:var(--heading);}
.modal-body{padding:18px;display:flow-root;}
.modal-footer{border-top:1px solid var(--border);padding:13px 18px;text-align:right;}
.modal-footer .btn{margin-left:6px;}

/* ---------- dropdown / pagination / spinner ---------- */
.dropdown{position:relative;}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:6px;min-width:190px;list-style:none;margin:6px 0 0;}
.dropdown-menu.pull-right,.dropdown-menu-right{left:auto;right:0;}
.open>.dropdown-menu,.dropdown.open>.dropdown-menu,.dropdown-menu.gl-show{display:block;}
.dropdown-menu>li>a,.dropdown-item{display:block;font-size:13.5px;font-weight:500;padding:8px 12px;color:var(--text);border-radius:var(--radius-sm);white-space:nowrap;}
.dropdown-menu>li>a:hover,.dropdown-item:hover{background:var(--surface-2);color:var(--heading);}
.dropdown-menu>li>a>i{margin-right:9px;color:var(--muted);width:16px;text-align:center;}
.pagination{display:inline-flex;gap:4px;list-style:none;padding:0;margin:0;}
.pagination>li>a{padding:6px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--surface);}
.pagination>.active>a{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;}
.spinner{display:inline-block;width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:gl-spin .7s linear infinite;}
@keyframes gl-spin{to{transform:rotate(360deg);}}

/* DataTables controls */
.dataTables_wrapper{font-family:var(--font);}
.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_length{margin-bottom:12px;font-size:13px;color:var(--muted);}
.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{display:inline-block;width:auto;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px 11px;margin:0 6px;font-size:13.5px;background:var(--surface);}
.dataTables_wrapper .dataTables_filter input:focus,.dataTables_wrapper .dataTables_length select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
.dataTables_wrapper .dataTables_info{font-size:12.5px;color:var(--muted);padding-top:12px;}
.dataTables_wrapper .dataTables_paginate{padding-top:8px;}
.dataTables_wrapper .dataTables_paginate .paginate_button{display:inline-block;padding:6px 11px;margin-left:4px;border:1px solid var(--border)!important;border-radius:var(--radius-sm);color:var(--text)!important;background:var(--surface)!important;cursor:pointer;}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover{background:var(--surface-2)!important;}
.dataTables_wrapper .dataTables_paginate .paginate_button.current{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled{color:var(--muted-2)!important;cursor:default;}
.dataTables_wrapper::after{content:"";display:table;clear:both;}
table.dataTable{width:100%!important;border-collapse:collapse;}
table.dataTable thead th{cursor:pointer;}
.dt-buttons{display:inline-flex;gap:6px;margin-bottom:8px;}
.dt-button,.dt-buttons .btn{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border-strong)!important;border-radius:var(--radius-sm)!important;padding:6px 12px!important;font-size:12.5px!important;font-family:var(--font);cursor:pointer;}
.dt-button:hover,.dt-buttons .btn:hover{background:var(--surface-2)!important;}

/* Select2 (CDN) */
.select2-container{width:100%!important;}
.select2-container--default .select2-selection--single{height:38px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:36px;padding-left:11px;color:var(--text);font-size:14px;}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:36px;}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
.select2-dropdown{border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);overflow:hidden;}
.select2-results__option{font-size:13.5px;padding:8px 12px;color:var(--text);}
.select2-container--default .select2-results__option[aria-selected=true]{background:var(--surface-2);color:var(--heading);}
.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option--highlighted[aria-selected=true]{background:var(--accent)!important;color:#fff!important;}

/* ============================================================================
   APP SHELL  (AdminLTE classes, restyled clean-minimal)
   ============================================================================ */
.wrapper{position:relative;min-height:100vh;}

/* topbar */
.main-header{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);z-index:1030;background:var(--surface);border-bottom:1px solid var(--border);}
.main-header .logo{display:flex;align-items:center;gap:10px;float:left;width:var(--sidebar-w);height:var(--topbar-h);padding:0 18px;background:var(--navy);color:#fff;overflow:hidden;transition:width .2s ease;}
.main-header .logo .logo-mini{display:none;width:100%;justify-content:center;}
.main-header .logo .logo-lg{display:flex;align-items:center;gap:10px;}
.lvr-brand-img{width:30px;height:30px;border-radius:7px;object-fit:contain;background:#fff;padding:2px;flex-shrink:0;}
.lvr-brand-text{display:flex;flex-direction:column;line-height:1.12;}
.lvr-brand-text b{color:#fff;font-size:14px;font-weight:600;white-space:nowrap;}
.lvr-brand-text small{color:rgba(255,255,255,.55);font-size:10px;text-transform:uppercase;letter-spacing:.08em;}
.main-header .logo label{margin:0;cursor:pointer;}
.main-header .navbar{margin-left:var(--sidebar-w);height:var(--topbar-h);padding:0 10px;display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;background:none;border:none;transition:margin-left .2s ease;}
.main-header .navbar::-webkit-scrollbar{height:0;}
/* department quick-buttons: single compact row, no float/wrap, no overflow into page */
.main-header .navbar .pull-left,.main-header .navbar .pull-right{float:none!important;display:inline-flex;align-items:center;gap:6px;padding:0!important;margin:0!important;flex-shrink:0;white-space:nowrap;}
.main-header .navbar .btn{margin:0!important;padding:7px 15px;font-size:12.5px;font-weight:600;letter-spacing:.01em;border-radius:999px;white-space:nowrap;flex-shrink:0;box-shadow:0 1px 2px rgba(16,24,40,.06);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;}
.main-header .navbar .btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(16,24,40,.14);filter:brightness(1.03);}
.main-header .navbar .btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(16,24,40,.10);}
.main-header .navbar .btn .pull-right-container{display:none;}
.main-header .navbar .m-b-5{margin-bottom:0!important;}
.main-header .sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 4px;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:18px;cursor:pointer;}
.main-header .sidebar-toggle:hover{background:var(--surface-2);color:var(--heading);}
.navbar-custom-menu{margin-left:auto;flex-shrink:0;display:flex;align-items:center;order:100;}
.navbar-custom-menu .nav.navbar-nav{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;}
.navbar-custom-menu .nav.navbar-nav>li{position:relative;}
.navbar-custom-menu .nav.navbar-nav>li>a{display:inline-flex;align-items:center;gap:7px;padding:0 12px;height:var(--topbar-h);color:var(--text);font-weight:500;font-size:14px;}
.navbar-custom-menu .nav.navbar-nav>li>a:hover{color:var(--accent);}
.navbar-custom-menu .dropdown-user>a i{font-size:18px;}
.navbar-custom-menu .dropdown-menu{top:calc(var(--topbar-h) - 4px);}

/* ---- modern top-right user menu (avatar + name + dropdown) ---- */
.lvr-user-toggle{display:inline-flex!important;align-items:center;gap:10px;padding:0 8px!important;height:var(--topbar-h);cursor:pointer;border-radius:var(--radius-sm);transition:background .15s;}
.lvr-user-toggle:hover{background:var(--surface-2);}
.lvr-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:15px;flex-shrink:0;box-shadow:0 1px 2px rgba(0,0,0,.18);}
.lvr-user-meta{display:flex;flex-direction:column;line-height:1.15;text-align:left;}
.lvr-user-name{font-weight:600;color:var(--heading);font-size:14px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lvr-user-role{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;}
.lvr-caret{color:var(--muted);font-size:13px;transition:transform .2s;}
.lvr-user.open .lvr-caret{transform:rotate(180deg);}
/* fixed-positioned so it isn't clipped by the navbar's overflow-y:hidden */
.lvr-user .dropdown-menu{position:fixed;top:calc(var(--topbar-h) - 2px);right:14px;left:auto;min-width:210px;z-index:1050;}
.dropdown-menu .divider{height:1px;background:var(--border);margin:6px 4px;border:0;padding:0;}
.lvr-logout{color:var(--accent)!important;font-weight:600;}
.lvr-logout:hover{background:rgba(227,30,36,.08)!important;color:var(--accent)!important;}
.lvr-logout>i{color:var(--accent)!important;}
@media(max-width:600px){.lvr-user-meta{display:none;}}

/* sidebar (navy, clean-minimal) */
.main-sidebar{position:fixed;top:var(--topbar-h);left:0;width:var(--sidebar-w);bottom:0;z-index:1020;background:var(--side-bg);overflow-y:auto;transition:transform .2s ease,width .2s ease;}
.main-sidebar::-webkit-scrollbar{width:8px;}
.main-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:4px;}
.user-panel{display:none;}
.sidebar-menu{list-style:none;margin:0;padding:10px 10px 40px;}
.sidebar-menu>li{position:relative;margin-bottom:1px;}
.sidebar-menu>li>a{display:flex;align-items:center;gap:11px;padding:9px 12px;color:var(--side-text);font-size:13.5px;font-weight:500;border-radius:var(--radius-sm);border-left:3px solid transparent;transition:all .12s ease;}
.sidebar-menu>li>a>i:first-child{width:18px;text-align:center;color:var(--side-icon);font-size:15px;flex-shrink:0;transition:color .12s;}
.sidebar-menu>li>a:not(:has(> i:first-child))::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--side-icon);margin:0 6px;flex-shrink:0;}
.sidebar-menu>li>a:hover{background:var(--side-hover-bg);color:#fff;}
.sidebar-menu>li>a:hover>i:first-child{color:#cfd6e2;}
.sidebar-menu>li.active>a,.sidebar-menu>li.menu-open>a{background:var(--side-active-bg);color:#fff;font-weight:600;border-left-color:var(--accent);}
.sidebar-menu>li.active>a>i:first-child,.sidebar-menu>li.menu-open>a>i:first-child{color:#fff;}
.sidebar-menu>li>a>span:not(.label):not(.pull-right-container){flex:1;}
.sidebar-menu .pull-right-container{margin-left:auto;display:inline-flex;align-items:center;}
.sidebar-menu li>a>.pull-right-container .fa-angle-left{transition:transform .2s ease;font-size:12px;color:var(--side-icon);}
.sidebar-menu li.active>a>.pull-right-container .fa-angle-left,.sidebar-menu li.menu-open>a>.pull-right-container .fa-angle-left{transform:rotate(-90deg);}
.sidebar-menu .label,.sidebar-menu .badge{font-size:10.5px;padding:2px 7px;}
/* submenu */
.treeview-menu{display:none;list-style:none;margin:1px 0 3px;padding:0;background:rgba(0,0,0,.16);border-radius:var(--radius-sm);}
.treeview.active>.treeview-menu,.treeview.menu-open>.treeview-menu,.menu-open>.treeview-menu{display:block;}
.treeview-menu>li>a{display:block;padding:7px 12px 7px 44px;color:#8c98ad;font-size:13px;font-weight:500;position:relative;}
.treeview-menu>li>a:hover,.treeview-menu>li.active>a{color:#fff;}
.treeview-menu>li>a>i{margin-right:7px;color:var(--side-icon);}
.treeview-menu .label,.treeview-menu .badge{float:right;}
.treeview-menu .treeview-menu>li>a{padding-left:58px;}

/* content */
.content-wrapper{margin-left:var(--sidebar-w);margin-top:var(--topbar-h);padding:22px 24px;min-height:calc(100vh - var(--topbar-h));background:var(--bg);transition:margin-left .2s ease;}
/* ---- page header (icon chip + title/subtitle + breadcrumb pill) ---- */
.content-header{padding:4px 0 16px;margin-bottom:18px;position:relative;min-height:46px;border-bottom:1px solid var(--border);}
.content-header::after{content:"";display:table;clear:both;}
.content-header .header-icon{float:left;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;background:var(--surface-2);color:var(--accent);font-size:20px;margin:1px 14px 0 0;box-shadow:inset 0 0 0 1px var(--border);}
.content-header .header-title{overflow:hidden;padding-top:2px;}
.content-header>h1,.content-header h1{color:var(--heading);font-size:22px;font-weight:700;margin:0;letter-spacing:-.01em;display:block;line-height:1.2;}
.content-header>h1>small,.content-header .header-title>small{color:var(--muted);font-size:13px;display:block;margin-top:3px;font-weight:400;}
.content-header .breadcrumb{position:absolute;top:9px;right:0;display:inline-flex;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:6px 14px;margin:0;font-size:12.5px;list-style:none;}
.content-header .breadcrumb>li{display:inline-flex;align-items:center;}
.content-header .breadcrumb>li>a{color:var(--muted);}
.content-header .breadcrumb>li>a:hover{color:var(--accent);}
.content-header .breadcrumb>li+li::before{content:"\f105";font-family:FontAwesome;padding:0 9px;color:var(--muted-2);}
.content-header .breadcrumb>.active{color:var(--heading);font-weight:600;}
@media(max-width:767px){.content-header .breadcrumb{position:static;margin-top:10px;}}
.content{padding:0;}
.main-footer{margin-left:var(--sidebar-w);padding:14px 24px;background:var(--surface);border-top:1px solid var(--border);color:var(--muted);font-size:12.5px;transition:margin-left .2s ease;}
.main-footer a{color:var(--accent);}

/* dashboard stat / quick-action tiles (styleBD .social-widget) */
.social-widget ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:18px;}
.social-widget ul>a,.social-widget ul>li{display:block;width:calc(25% - 13.5px);margin:0;text-decoration:none;}
.social-widget ul>a>li{width:100%;}
.social-widget li{position:relative;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);min-height:116px;padding:0;overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;}
.social-widget ul>a:hover li,.social-widget li:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-strong);}
.social-widget li>a{display:flex;width:100%;text-decoration:none;}
.social-widget .fb_inner,.social-widget .twitter_inner,.social-widget .g_inner,.social-widget .g_plus_inner,.social-widget .linkedin_inner{
  background:transparent!important;width:100%;padding:18px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:14px;}
.social-widget .fb_inner i,.social-widget .twitter_inner i,.social-widget ul li i{
  font-size:20px;margin:0;width:46px;height:46px;border-radius:12px;color:var(--accent);background:var(--accent-soft);
  display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease;}
.social-widget ul>a:hover i,.social-widget li:hover i{transform:scale(1.06);}
.social-widget .sc-num{position:absolute;top:16px;right:20px;font-size:2rem;font-weight:700;color:var(--heading);line-height:1;letter-spacing:-.02em;}
.social-widget h3{color:var(--heading);font-size:14px;margin:0;font-weight:600;line-height:1.3;}
/* per-card accent colour cycle (red → blue → amber → green) */
.social-widget ul>a:nth-child(4n+1) i,.social-widget ul>li:nth-child(4n+1) i{color:var(--accent);background:var(--accent-soft);}
.social-widget ul>a:nth-child(4n+2) i,.social-widget ul>li:nth-child(4n+2) i{color:var(--blue);background:var(--blue-soft);}
.social-widget ul>a:nth-child(4n+3) i,.social-widget ul>li:nth-child(4n+3) i{color:var(--amber);background:var(--amber-soft);}
.social-widget ul>a:nth-child(4n) i,.social-widget ul>li:nth-child(4n) i{color:var(--green);background:var(--green-soft);}
@media(max-width:1199px){.social-widget ul>a,.social-widget ul>li{width:calc(33.333% - 12px);}}
@media(max-width:991px){.social-widget ul>a,.social-widget ul>li{width:calc(50% - 9px);}}
@media(max-width:575px){.social-widget ul>a,.social-widget ul>li{width:100%;}}

/* mobile drawer */
.gl-scrim{display:none;position:fixed;inset:0;background:rgba(17,24,39,.4);z-index:1015;}

/* desktop ICON RAIL when collapsed: icons only; hover shows title / submenu flyout */
@media(min-width:992px){
  body.sidebar-collapse .main-sidebar{width:64px;overflow:visible;transform:none;}
  body.sidebar-collapse .content-wrapper,body.sidebar-collapse .main-footer{margin-left:64px;}
  body.sidebar-collapse .main-header .logo{width:64px;justify-content:center;padding:0;}
  body.sidebar-collapse .main-header .navbar{margin-left:64px;}
  /* collapsed: show the site logo IMAGE centered (hide the brand text), drop the text mark */
  body.sidebar-collapse .main-header .logo .logo-lg{display:flex;justify-content:center;width:100%;}
  body.sidebar-collapse .main-header .logo .logo-lg .lvr-brand-text{display:none;}
  body.sidebar-collapse .main-header .logo .lvr-brand-img{width:34px;height:34px;}
  body.sidebar-collapse .main-header .logo .logo-mini{display:none;}
  /* hide badges + carets */
  body.sidebar-collapse .sidebar-menu .pull-right-container,
  body.sidebar-collapse .sidebar-menu>li>a .label,
  body.sidebar-collapse .sidebar-menu>li>a .badge{display:none;}
  /* icon centered: take the label OUT of flex flow (absolute) so only the icon remains */
  body.sidebar-collapse .sidebar-menu>li{position:relative;}
  body.sidebar-collapse .sidebar-menu>li>a{justify-content:center;gap:0;padding:11px 0;border-left:0;font-size:0;border-radius:var(--radius-sm);}
  body.sidebar-collapse .sidebar-menu>li>a>i:first-child{font-size:19px;width:auto;margin:0;}
  body.sidebar-collapse .sidebar-menu>li>a:not(:has(> i:first-child))::before{width:7px;height:7px;margin:0;}
  body.sidebar-collapse .treeview-menu{display:none!important;}
  /* labels: absolute (out of flow) + hidden by default; shown as tooltip on hover (simple links only) */
  body.sidebar-collapse .sidebar-menu>li>a>span{
    position:absolute;left:54px;top:50%;transform:translateY(-50%);
    background:var(--navy);color:#fff;white-space:nowrap;padding:8px 14px;border-radius:var(--radius-sm);
    box-shadow:var(--shadow-md);z-index:1061;font-size:13px;font-weight:500;pointer-events:none;
    border-left:3px solid var(--accent);opacity:0;visibility:hidden;}
  body.sidebar-collapse .sidebar-menu>li:not(.treeview):hover>a>span{opacity:1;visibility:visible;}
  body.sidebar-collapse .sidebar-menu>li:not(.treeview):hover>a>span::before{
    content:"";position:absolute;left:-16px;top:0;bottom:0;width:16px;}
  /* treeview → submenu flyout panel (flush to rail + invisible bridge so it's reachable) */
  body.sidebar-collapse .sidebar-menu>li.treeview:hover>.treeview-menu{
    display:block!important;position:absolute;left:54px;top:-2px;min-width:210px;
    background:var(--navy);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);
    box-shadow:var(--shadow-md);z-index:1060;padding:6px;}
  body.sidebar-collapse .sidebar-menu>li.treeview:hover>.treeview-menu::before{
    content:"";position:absolute;left:-16px;top:0;bottom:0;width:16px;background:transparent;}
  body.sidebar-collapse .sidebar-menu>li.treeview:hover>.treeview-menu>li>a{padding:8px 14px;font-size:13px;}
}
@media(max-width:991px){
  .main-header .logo{width:160px;}
  .main-header .navbar{margin-left:160px;}
  .main-sidebar{top:var(--topbar-h);transform:translateX(-100%);}
  .content-wrapper,.main-footer{margin-left:0;}
  body.sidebar-open .main-sidebar{transform:translateX(0);box-shadow:var(--shadow-md);}
  body.sidebar-open .gl-scrim{display:block;}
}

/* ============================================================================
   AUTH LAYOUT  —  body.gl-auth
   ============================================================================ */
/* Split-screen: navy/gold brand panel (left) + form (right) — same look as the
   gaganlvub login. Stacks on small screens. */
body.gl-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#07142e 0%,#1A1A4B 55%,#2a2a5e 100%);}
.gl-auth-card{width:100%;max-width:880px;display:flex;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(7,20,46,.45);overflow:hidden;}
.gl-auth-head{flex:0 0 44%;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:50px 36px;color:#fff;background:linear-gradient(160deg,#1A1A4B 0%,#07142e 100%);position:relative;overflow:hidden;}
.gl-auth-head::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 28% 18%,rgba(255,215,0,.14),transparent 58%);}
.gl-auth-head>*{position:relative;}
.gl-auth-head img{width:84px;height:84px;border-radius:50%;border:3px solid #FFD700;margin:0 auto 22px;object-fit:contain;background:#fff;padding:4px;}
.gl-auth-head h3{font-family:'Playfair Display',Georgia,serif;color:#fff;font-size:1.7rem;margin:0;font-weight:600;}
.gl-auth-head p{color:rgba(255,255,255,.72);font-size:13px;margin:14px 0 0;line-height:1.7;}
.gl-auth-body{flex:1;padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.gl-auth-foot{text-align:center;font-size:12px;color:var(--muted);margin-top:16px;}
@media(max-width:720px){
  .gl-auth-card{flex-direction:column;max-width:420px;}
  .gl-auth-head{flex-basis:auto;padding:34px 30px 28px;}
  .gl-auth-head img{width:64px;height:64px;margin-bottom:14px;}
  .gl-auth-head h3{font-size:21px;}
  .gl-auth-body{padding:30px 30px 36px;}
}

/* member-portal dashboard quick tiles (.dash-card) — same pattern as the gaganlvub
   stat cards: white card, left accent border, lift on hover, bold number. */
.dash-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;box-shadow:var(--shadow);padding:18px 20px;min-height:96px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;margin-bottom:18px;}
.dash-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(15,23,42,.12);border-left-color:var(--accent);border-color:var(--border-strong);}
.dash-card .title{color:var(--heading);font-weight:600;font-size:15px;letter-spacing:.01em;}
.dash-card .sub{font-size:12px;color:var(--muted);margin-top:2px;}
.dash-card .count{font-size:2rem;font-weight:800;color:var(--accent);line-height:1;}
.dash-card>i,.dash-card .icon,.dash-card .count>i{width:48px;height:48px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0;}

/* print + responsive */
@media print{ .main-header,.main-sidebar,.gl-scrim,.no-print,.sidebar-toggle{display:none!important;} .content-wrapper,.main-footer{margin:0!important;} body{background:#fff;} }
@media(max-width:767px){
  .content-wrapper{padding:14px;}
  .content-wrapper table{display:block;width:100%;overflow-x:auto;}
  input,select,textarea,.form-control{font-size:16px!important;}
}
