:root{
  --primary:#4f46e5;
  --primary-dark:#3730a3;
  --primary-soft:#eef2ff;
  --accent:#06b6d4;
  --accent-2:#8b5cf6;
  --success:#16a34a;
  --warning:#f59e0b;
  --danger:#dc2626;
  --sidebar:#111827;
  --bg:#f5f7fb;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --text:#172033;
  --muted:#64748b;
  --border:#e3e8f0;
  --radius:16px;
  --shadow-sm:0 6px 18px rgba(15,23,42,.06);
  --shadow-md:0 14px 35px rgba(15,23,42,.10);
  --shadow-lg:0 24px 60px rgba(15,23,42,.16);
}
.btn,.form-control,.form-select,.dropdown-menu,.table,.modal-content,.swal2-popup{font-family:inherit}
.topbar h1,.brand strong,.metric-card strong,.card-header h2,.modal-title,.login-card h1,.login-card h2{letter-spacing:-.025em}
html{scroll-behavior:smooth}
body{
  font-family:"Poppins",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 8% 5%,rgba(99,102,241,.09),transparent 28%),
    radial-gradient(circle at 92% 0%,rgba(6,182,212,.08),transparent 24%),
    linear-gradient(180deg,#f8fafc 0%,#f4f7fb 100%);
  color:var(--text);
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.2),transparent 55%);z-index:-1}
.sidebar{
  background:
    radial-gradient(circle at 18% 0%,rgba(99,102,241,.36),transparent 34%),
    radial-gradient(circle at 90% 40%,rgba(6,182,212,.18),transparent 30%),
    linear-gradient(180deg,#0f172a 0%,#111827 52%,#0b1220 100%);
  box-shadow:18px 0 50px rgba(15,23,42,.18);
  border-right:1px solid rgba(255,255,255,.05)
}
.brand{height:82px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,0));backdrop-filter:blur(8px)}
.brand-mark{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 48%,#06b6d4 100%);box-shadow:0 10px 24px rgba(79,70,229,.38),inset 0 1px 0 rgba(255,255,255,.35);transform:rotate(-3deg)}
.brand strong{font-size:1.02rem;letter-spacing:.01em}.brand small{color:#a5b4fc}
.sidebar .nav{padding:20px 12px 18px}
.sidebar .nav-link{position:relative;margin:3px 0;padding:12px 14px;border:1px solid transparent;transition:all .2s ease;color:#cbd5e1}
.sidebar .nav-link:before{content:"";position:absolute;inset:7px auto 7px 0;width:3px;border-radius:99px;background:linear-gradient(180deg,#818cf8,#22d3ee);opacity:0;transform:scaleY(.4);transition:.2s}
.sidebar .nav-link:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.07);transform:translateX(2px)}
.sidebar .nav-link.active{background:linear-gradient(90deg,rgba(99,102,241,.28),rgba(6,182,212,.09));border-color:rgba(129,140,248,.22);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 22px rgba(15,23,42,.22)}
.sidebar .nav-link.active:before{opacity:1;transform:scaleY(1)}
.sidebar .nav-link svg{color:#a5b4fc}.sidebar .nav-link.active svg{color:#fff;filter:drop-shadow(0 2px 6px rgba(99,102,241,.55))}
.nav-caption{color:#7c8aa3;font-weight:700}
.sidebar-user{margin:12px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.avatar{background:linear-gradient(135deg,#6366f1,#06b6d4);box-shadow:0 8px 20px rgba(79,70,229,.35)}
.main{background:transparent}
.topbar{height:82px;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.78);box-shadow:0 8px 26px rgba(15,23,42,.055)}
.topbar h1{font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.topbar small{color:#7a8699!important}
.container-fluid{max-width:1680px}
.card,.filter-card,.metric-card,.modal-content,.dropdown-menu,.swal2-popup{
  border:1px solid rgba(226,232,240,.92)!important;
  box-shadow:var(--shadow-sm)!important;
}
.card{overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fdfefe 100%);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover{border-color:#d7deea!important;box-shadow:var(--shadow-md)!important}
.card-header{padding:1rem 1.2rem!important;background:linear-gradient(180deg,#fff,#fbfcfe)!important;border-bottom:1px solid #edf1f6!important}
.card-header h2{font-weight:800;color:#27324a}
.card-body{padding:1.2rem}
.filter-card{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,250,252,.98));padding:20px;border-radius:18px;overflow:hidden}
.filter-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#6366f1,#06b6d4)}
.metric-card{position:relative;overflow:hidden;padding:22px;background:linear-gradient(145deg,#fff,#f8fafc);transition:transform .22s ease,box-shadow .22s ease}
.metric-card:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-40px;top:-50px;background:radial-gradient(circle,rgba(99,102,241,.16),transparent 68%)}
.metric-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)!important}
.metric-icon{width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,#eef2ff,#ecfeff);color:#4f46e5;border:1px solid #dfe5ff;box-shadow:0 10px 22px rgba(79,70,229,.13)}
.metric-icon svg{width:24px;height:24px}.metric-card span{font-weight:600;color:#768398}.metric-card strong{font-size:1.55rem;letter-spacing:-.025em;color:#202b42}
.btn{min-height:38px;padding:.55rem .9rem;border-radius:11px;font-weight:700;letter-spacing:.005em;box-shadow:0 3px 8px rgba(15,23,42,.05);transition:transform .17s ease,box-shadow .17s ease,background .17s ease,border-color .17s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.11)}
.btn:active{transform:translateY(0)}
.btn-primary{background:linear-gradient(135deg,#6366f1 0%,#4f46e5 48%,#4338ca 100%);border-color:#4f46e5;box-shadow:0 8px 18px rgba(79,70,229,.24)}
.btn-primary:hover,.btn-primary:focus{background:linear-gradient(135deg,#5558e8,#4338ca);border-color:#4338ca;box-shadow:0 11px 24px rgba(79,70,229,.32)}
.btn-success,.btn-outline-success:hover{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#16a34a;color:#fff}
.btn-danger,.btn-outline-danger:hover{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#dc2626;color:#fff}
.btn-light{background:linear-gradient(180deg,#fff,#f4f7fb);border-color:#dfe5ed;color:#344054}
.btn-light:hover{background:#fff;border-color:#cfd8e5}
.btn-outline-primary{border-color:#a5b4fc;color:#4f46e5}.btn-outline-primary:hover{background:linear-gradient(135deg,#6366f1,#4f46e5);border-color:#4f46e5}
.btn svg{stroke-width:2.2}
.page-actions{margin-bottom:20px}
.filter-toggle{min-width:122px;justify-content:flex-start}
.filter-toggle .filter-toggle-chevron{margin-left:auto;transition:transform .2s ease}
.filter-toggle[aria-expanded="true"] .filter-toggle-chevron{transform:rotate(180deg)}
.collapse>.filter-card{margin-bottom:20px}
.form-label{font-weight:700;color:#3a465c;font-size:.84rem;margin-bottom:.45rem}
.form-control,.form-select{min-height:42px;border-radius:11px;border-color:#dbe2ec;background:#fff;box-shadow:inset 0 1px 2px rgba(15,23,42,.025);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.select2-container{width:100%!important;font-family:inherit}
.select2-container .select2-selection--single{height:42px;border:1px solid #dbe2ec;border-radius:11px;background:#fff;box-shadow:inset 0 1px 2px rgba(15,23,42,.025)}
.select2-container .select2-selection--single .select2-selection__rendered{line-height:40px;padding-left:.85rem;padding-right:2.5rem;color:#344054}
.select2-container .select2-selection--single .select2-selection__arrow{height:40px;right:.45rem}
.select2-container--default.select2-container--focus .select2-selection--single,.select2-container--default.select2-container--open .select2-selection--single{border-color:#818cf8;box-shadow:0 0 0 .22rem rgba(99,102,241,.14),0 6px 16px rgba(79,70,229,.08)}
.select2-dropdown{border:1px solid #dbe2ec;border-radius:12px;overflow:hidden;box-shadow:0 16px 36px rgba(15,23,42,.16);font-family:inherit}
.select2-search--dropdown{padding:.65rem}.select2-search--dropdown .select2-search__field{border:1px solid #dbe2ec!important;border-radius:9px;padding:.55rem .7rem;outline:none}.select2-search--dropdown .select2-search__field:focus{border-color:#818cf8!important;box-shadow:0 0 0 .18rem rgba(99,102,241,.12)}
.select2-results__option{padding:.65rem .8rem}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background:#4f46e5}.select2-container--default .select2-results__option--selected{background:#eef2ff;color:#3730a3}
.select2-container--default .select2-selection--single .select2-selection__clear{height:38px;margin-right:1.6rem;color:#64748b}
.app-modal .select2-container{z-index:1}.select2-container--open{z-index:2060}
.form-control:hover,.form-select:hover{border-color:#c8d2e1}.form-control:focus,.form-select:focus{border-color:#818cf8;box-shadow:0 0 0 .22rem rgba(99,102,241,.14),0 6px 16px rgba(79,70,229,.08)}
.form-check-input:checked{background-color:#4f46e5;border-color:#4f46e5;box-shadow:0 0 0 .18rem rgba(99,102,241,.10)}
.table-responsive{border-radius:13px}
.table{--bs-table-bg:transparent;margin-bottom:0}
.table thead th{background:linear-gradient(180deg,#f8fafc,#f3f6fa);color:#667085;font-weight:800;border-bottom:1px solid #dfe5ed;padding-top:.9rem;padding-bottom:.9rem}
.table tbody tr{transition:background .15s ease,transform .15s ease}.table tbody tr:hover{background:#f8faff}
.table tbody td{vertical-align:middle;color:#344054}
.table th.dt-action-column,.table td.dt-action-column{width:1%;min-width:76px;max-width:130px;white-space:nowrap;text-align:left!important;position:relative}
.table th.dt-action-column{padding-left:.85rem!important}
.table td.dt-action-column{padding-left:.75rem!important;padding-right:.55rem!important}
.table td.dt-action-column .action-group{justify-content:flex-start;flex-wrap:nowrap}
.table td.dt-action-column .btn{min-width:34px;min-height:34px;padding:.4rem .5rem}
.table-responsive table.dataTable th.dt-action-column:first-child,.table-responsive table.dataTable td.dt-action-column:first-child{border-left:3px solid transparent}
.table-responsive table.dataTable tbody tr:hover td.dt-action-column:first-child{border-left-color:#6366f1;background:linear-gradient(90deg,rgba(99,102,241,.08),transparent)}
.table-thumb,.mini-thumb{box-shadow:0 4px 12px rgba(15,23,42,.12);border:1px solid #fff}
.status{padding:5px 10px;border:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.status-active,.status-completed{background:linear-gradient(180deg,#dcfce7,#d1fae5);border-color:#bbf7d0}.status-inactive,.status-cancelled{background:linear-gradient(180deg,#fee2e2,#ffe4e6);border-color:#fecaca}.status-confirmed{background:linear-gradient(180deg,#dbeafe,#e0e7ff);border-color:#bfdbfe}.status-draft{background:linear-gradient(180deg,#fef3c7,#fff7d6);border-color:#fde68a}
.modal-content{background:linear-gradient(180deg,#fff,#fbfcfe);box-shadow:var(--shadow-lg)!important}.modal-header{background:linear-gradient(180deg,#fff,#fafbfe);border-bottom-color:#e9edf3}.modal-footer{background:#fbfcfe;border-top-color:#e9edf3}.modal-title{font-weight:800;color:#253149}
.dropdown-menu{border-radius:14px;padding:.45rem}.dropdown-item{border-radius:9px;padding:.65rem .75rem}.dropdown-item:hover{background:#f2f5fb}
.alert{border-radius:13px;border-width:1px;box-shadow:var(--shadow-sm)}
.permission-option{transition:.18s;background:#fff}.permission-option:hover{border-color:#a5b4fc!important;background:#f8f9ff;box-shadow:0 7px 18px rgba(79,70,229,.08)}
.image-preview-box{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px dashed #aebbd0}
.dataTables_wrapper .dt-paging-button,.pagination .page-link{border-radius:9px!important;margin:0 2px;border-color:#dfe5ed;color:#4f46e5}.page-item.active .page-link{background:linear-gradient(135deg,#6366f1,#4f46e5);border-color:#4f46e5;box-shadow:0 5px 12px rgba(79,70,229,.2)}
.chart-wrap{padding:4px}.chart-wrap canvas{filter:drop-shadow(0 8px 16px rgba(15,23,42,.05))}
.login-page{background:radial-gradient(circle at 15% 15%,rgba(99,102,241,.32),transparent 28%),radial-gradient(circle at 85% 10%,rgba(6,182,212,.24),transparent 25%),linear-gradient(135deg,#eef2ff 0%,#f8fafc 48%,#ecfeff 100%)}
.login-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.9);box-shadow:0 30px 75px rgba(15,23,42,.18);backdrop-filter:blur(16px)}
.login-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#06b6d4)}
.swal2-popup{border-radius:20px!important}.swal2-confirm{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;border-radius:10px!important}.swal2-cancel{border-radius:10px!important}
@media(max-width:991.98px){.topbar{height:72px}.sidebar{box-shadow:24px 0 60px rgba(15,23,42,.28)}}
@media(max-width:575.98px){.card-body{padding:1rem}.filter-card{padding:16px}.metric-card{padding:17px}.btn{min-height:40px}.topbar h1{font-size:1.12rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{body:before{display:none!important}.card,.metric-card{box-shadow:none!important}}
