@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap'); :root{--brand-primary:#0b83df;--brand-primary-dark:#0b5db3;--ink:#091b38;--muted:#74839b;--line:#dfe6f3;--soft:#f5f7fb;--bg:#fff;--sidebar-w:305px;--sidebar-width:305px;--topbar-h:74px;--topbar-height:74px;--fs-base:14px;--shadow-soft:0 12px 30px #182e520f;--shadow:var(--shadow-soft)}
 body{font-family:'Poppins',system-ui,sans-serif!important;font-size:14px;color:var(--ink);background:var(--soft)}
 body.dark-mode{--ink:#e6edf9;--muted:#a1b1c9;--line:#32425a;--soft:#111b2b;--bg:#1d2b40}
 button,input,select,textarea{font-family:inherit}
 .sidebar-wrapper{background:var(--bg);width:var(--sidebar-width)}
 .sidebar-brand{height:74px;min-height:74px;justify-content:flex-start;padding:16px 24px}
.sidebar-brand img{max-width:190px;max-height:43px}
 .sidebar-menu,.sidebar-menu-scroll{padding:22px 14px;scrollbar-width:thin}
 .sidebar-nav .nav-heading{font-size:12px;font-weight:600;padding:10px 10px 16px;letter-spacing:.025em}
 .sidebar-nav .nav-heading:not(:first-child){border:0;margin-top:20px;padding-top:12px}
 .sidebar-nav .nav-link{min-height:54px;padding:14px;border-radius:11px;gap:15px;font-size:14px;color:var(--ink)}
 .sidebar-nav .nav-link .bi{font-size:20px;color:#8090a8}
 .sidebar-nav .nav-link.active,.sidebar-nav .submenu-list .nav-link.active{background:#0b5db3;color:#fff;box-shadow:0 2px 9px #0b5db330}
 .sidebar-nav .nav-link.active .bi{color:#fff}
 .sidebar-nav .submenu-list{margin:5px 0 0 11px;padding:0 0 0 40px;border-left:2px dashed var(--line)}
 .sidebar-nav .submenu-list .nav-link{min-height:38px;padding:9px 12px;font-size:13px}
 .top-navbar{min-height:74px;gap:12px;padding:0 16px;background:var(--bg)}
 #global-search{width:325px;max-width:40vw;height:45px;border-radius:16px;background-image:none;padding:0 22px;font-size:14px;border:1px solid var(--line)}
 .nav-icons{gap:8px}
.nav-icons .nav-link,.topbar-icon-btn{width:45px;height:45px;min-width:45px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--ink)}
 .profile-name{display:none}
.profile-chip{gap:0}
.profile-avatar{background:transparent;color:var(--ink)}
 .content-container{padding:24px 16px 28px}
.page-header-shell{margin-bottom:10px}
 .page-header-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0 16px;border-bottom:1px solid var(--line);background:transparent;border-radius:0;box-shadow:none}
 .ph-left{gap:14px;min-width:0}
.ph-icon-circle{width:44px;height:44px;min-width:44px;border-radius:50%;background:linear-gradient(140deg,#24cda0,#09a5dc);color:#fff;box-shadow:0 4px 10px #09a5dc26}
 .ph-title{font-size:20px;font-weight:600;color:var(--ink)}
.ph-breadcrumb{font-size:14px;color:var(--muted);margin-top:3px}
.ph-breadcrumb a{color:var(--muted)}
.ph-breadcrumb .sep{margin:0 10px}
 .ph-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ph-actions .btn{border-radius:24px;min-height:44px;padding:10px 20px;font-size:14px}
 .btn-primary{background:var(--brand-primary);border-color:var(--brand-primary);box-shadow:0 4px 12px #0b83df30}
.btn-primary:hover{background:var(--brand-primary-dark);border-color:var(--brand-primary-dark)}
 .btn-outline-primary,.btn-outline-secondary{border-color:#ccd8ec;color:var(--ink);background:var(--bg)}
 .content-card,.form-page-card,.card,.summary-card,.dashboard-stat-card{border:1px solid var(--line);border-radius:20px;background:var(--bg);box-shadow:var(--shadow-soft)}
 .content-card .card-body,.form-page-card .card-body{padding:22px 24px}
.card-header{background:transparent;border-bottom:1px solid var(--line)}
 .summary-card-grid{gap:20px}
.summary-card{padding:20px;min-height:125px}
.summary-card-label,.stat-label{color:var(--muted);font-size:13px;font-weight:600;text-transform:uppercase}
.summary-card-value,.stat-value{color:#2050e8;font-size:28px;font-weight:700;margin-top:7px;overflow-wrap:anywhere}
 .table,.app-table{color:var(--ink);font-size:14px;--bs-table-bg:transparent;--bs-table-color:var(--ink);--bs-table-border-color:var(--line)}
 .table>:not(caption)>*>*,.app-table thead th,.app-table tbody td{padding:16px 14px;border-bottom-color:var(--line);vertical-align:middle}
 .table thead th,.app-table thead th{background:var(--bg);color:var(--ink);font-size:14px;font-weight:600;border-bottom:2px solid var(--line)}
 .table-action-wrap{gap:7px}
.table-action-btn{width:39px;height:39px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:50%!important;border:0;box-shadow:0 3px 7px #182e5214}
 .table-action-btn.btn-info{background:#dff4ff!important;color:#0085c6!important}
.table-action-btn.btn-warning{background:#fff4c7!important;color:#b86a06!important}
.table-action-btn.btn-danger{background:#ffe1e4!important;color:#f03045!important}
.table-action-btn.btn-success{background:#ddfbe7!important;color:#0a9e50!important}
 .dataTables_wrapper .row:first-child{margin-bottom:20px}
.dataTables_wrapper .dataTables_filter input{border:1px solid var(--line);border-radius:12px;min-height:35px;background:var(--bg);color:var(--ink)}
.dataTables_wrapper .dataTables_length select{border-radius:12px;min-height:35px}
 .page-link{border-radius:9px!important;margin:0 1px;padding:9px 14px;color:var(--muted);border-color:var(--line)}
.page-item.active .page-link{background:#0d6efd;border-color:#0d6efd;color:#fff}
 .form-control,.form-select{font-size:14px;border:1px solid var(--line);border-radius:10px;min-height:42px;background-color:var(--bg);color:var(--ink)}
.form-label{font-weight:500;color:var(--ink)}
.form-control:focus,.form-select:focus{background-color:var(--bg);color:var(--ink);border-color:#73b8ef;box-shadow:0 0 0 3px #0b83df18}
 .modal-content{border:1px solid var(--line)!important;border-radius:20px!important;background:var(--bg);color:var(--ink);box-shadow:0 24px 80px #14264030}
.modal-header{padding:20px 24px;border-bottom:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:20px 20px 0 0}
.modal-title{font-size:17px;font-weight:600}
.modal-body{padding:24px}
.modal-footer{background:var(--bg);border-top:1px solid var(--line);padding:14px 24px;gap:8px}
.modal-footer .btn{min-height:40px;border-radius:10px}
.modal-backdrop.show{opacity:.4}
 .dropdown-menu{border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft);background:var(--bg);color:var(--ink);padding:8px}
.dropdown-item{border-radius:8px;color:var(--ink)}
 .swal2-popup{font-family:'Poppins',sans-serif!important;border-radius:20px!important;background:var(--bg)!important;color:var(--ink)!important}
.swal2-title{font-size:21px!important}
.swal2-styled{border-radius:10px!important}
.swal2-confirm{background:#0b83df!important}
 .site-footer{color:var(--muted);font-size:13px;padding:24px 12px;text-align:center;margin-top:auto}
 body.dark-mode .btn-close{filter:invert(1)}
:focus-visible{outline:3px solid #72baff;outline-offset:3px}
 @media(min-width:1600px){:root{--sidebar-w:325px;--sidebar-width:325px}
body,.table,.app-table,.sidebar-nav .nav-link{font-size:15px}
}
 @media(max-width:991.98px){.page-content-wrapper{width:100%;margin-left:0}
.sidebar-wrapper{width:min(305px,86vw)}
.top-navbar{min-height:64px;height:64px}
.content-container{padding:18px 14px}
.ph-title{font-size:18px}
.ph-actions .btn{padding:9px 14px}
.summary-card-grid{gap:12px}
}
 @media(max-width:575.98px){ body{font-size:12px}
.top-navbar{min-height:58px;height:58px;padding:0 8px;gap:8px}
.left-cluster{flex:1;min-width:0;gap:6px}
.left-cluster>.position-relative{flex:1;min-width:0}
#global-search{width:100%;max-width:none;height:34px;padding:0 10px;font-size:10px;border-radius:11px}
 .nav-icons{gap:5px}
.nav-icons .nav-link,.topbar-icon-btn,.sidebar-toggler{width:32px;height:34px;min-width:32px;border-radius:10px}
.nav-icons .bi{font-size:17px}
.content-container{padding:20px 8px}
.page-header-bar{gap:8px;flex-wrap:wrap;align-items:center;padding-bottom:13px}
.ph-left{gap:8px;flex:1}
.ph-icon-circle{width:32px;height:32px;min-width:32px}
.ph-title{font-size:14px}
.ph-breadcrumb{font-size:10px}
.ph-breadcrumb .sep{margin:0 5px}
.ph-actions{width:auto;gap:5px;max-width:100%}
.ph-actions .btn{min-height:34px;font-size:11px;padding:7px 10px}
 .content-card,.form-page-card{border-radius:14px}
.content-card .card-body,.form-page-card .card-body{padding:12px 8px}
.summary-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
.summary-card{padding:14px;min-height:100px;border-radius:16px}
.summary-card-label{font-size:10px}
.summary-card-value{font-size:22px}
 .table thead th,.app-table thead th,.table tbody td,.app-table tbody td{font-size:11px;padding:12px 6px}
.table-action-btn{width:30px;height:30px;min-width:30px}
.table-action-wrap{gap:4px}
.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_length{text-align:center!important}
.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{text-align:center!important;font-size:11px}
.dataTables_wrapper .dataTables_filter input{width:150px;max-width:60vw}
.page-link{padding:7px 10px}
 .modal .modal-dialog{display:flex;align-items:flex-end;margin:0;width:100%;max-width:100%;min-height:100%;height:auto;pointer-events:none}
.modal .modal-content{pointer-events:auto;margin-top:60px;max-height:calc(100dvh - 60px);height:auto;border-radius:18px 18px 0 0!important;overflow:hidden}
.modal .modal-header{position:relative;flex-shrink:0;padding:19px 14px 12px;border-radius:18px 18px 0 0}
.modal .modal-header:before{content:'';position:absolute;top:7px;left:calc(50% - 18px);width:36px;height:4px;border-radius:4px;background:#cdd7e7}
.modal-title{font-size:14px}
.modal .modal-body{padding:16px 14px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.modal .modal-footer{flex-shrink:0;padding:10px 14px max(10px,env(safe-area-inset-bottom));border-radius:0}
.modal-footer .btn{font-size:12px}
.modal .form-control,.modal .form-select{font-size:16px}
.site-footer{font-size:11px}
.dtr-details{width:100%}
.dtr-data{white-space:normal;overflow-wrap:anywhere}
}
 @media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
 /* Forms nested inside modal content must share the constrained sheet height. */ @media(max-width:575.98px){.modal .modal-content>form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}
.modal .modal-content>form>.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto}
.modal .modal-content>form>.modal-footer{flex:0 0 auto}
}
 :root{--fs-base:12px;--sidebar-w:260px;--sidebar-width:260px;--topbar-h:62px;--topbar-height:62px;--shadow-soft:0 5px 18px #182e5209}body{font-size:12px}.sidebar-brand{height:62px;min-height:62px}.top-navbar{height:62px;min-height:62px}.sidebar-nav .nav-link{font-size:12px;min-height:44px;padding:10px 12px}.sidebar-nav .nav-heading{font-size:10px}.sidebar-nav .submenu-list .nav-link{font-size:11px}.ph-title{font-size:17px}.ph-breadcrumb{font-size:11px}.btn,.form-control,.form-select,.table,.app-table{font-size:12px}.ph-actions .btn{font-size:12px;min-height:37px;padding:8px 15px}.summary-card-label,.stat-label{font-size:11px;font-weight:500}.summary-card-value,.stat-value{font-size:23px;font-weight:600}.summary-card{min-height:102px;padding:16px}.table thead th,.app-table thead th{font-size:12px;font-weight:500}.table>:not(caption)>*>*,.app-table tbody td{padding:12px 10px}.modal-title{font-size:15px}.modal-body,.form-label{font-size:12px}.content-card .card-body,.form-page-card .card-body{padding:18px}.table-action-btn{width:33px;height:33px}.content-card,.form-page-card,.card,.summary-card{border-radius:15px}.site-footer{font-size:11px}#global-search{height:38px;font-size:12px}@media(max-width:575.98px){.ph-title{font-size:14px}.table thead th,.app-table thead th,.table tbody td,.app-table tbody td{font-size:11px;padding:10px 6px}.summary-card-value,.stat-value{font-size:20px}.content-card .card-body{padding:12px 8px}.modal .form-control,.modal .form-select{font-size:16px}}
