:root{--ep-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ep-primary: #6366f1;--ep-primary-600: #4f46e5;--ep-primary-50: #eef2ff;--ep-primary-100: #e0e7ff;--ep-accent: #ec4899;--ep-success: #10b981;--ep-success-50: #ecfdf5;--ep-warning: #f59e0b;--ep-warning-50: #fffbeb;--ep-danger: #ef4444;--ep-danger-50: #fef2f2;--ep-info: #0ea5e9;--ep-info-50: #f0f9ff;--ep-bg: #f6f7fb;--ep-surface: #ffffff;--ep-surface-2: #f9fafb;--ep-border: #e8eaf1;--ep-text: #0f172a;--ep-text-2: #475569;--ep-muted: #94a3b8;--ep-sidebar: #0f1222;--ep-sidebar-text: #a3a9c2;--ep-radius: 14px;--ep-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 16px rgba(15, 23, 42, .05);--ep-shadow-lg: 0 10px 40px rgba(15, 23, 42, .12);--ep-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 55%, #ec4899 100%);--ep-sidebar-w: 264px;--ep-topbar-h: 68px}:root[data-theme=dark]{--ep-bg: #0b0e1a;--ep-surface: #12162a;--ep-surface-2: #171c33;--ep-border: #232946;--ep-text: #e8ebf6;--ep-text-2: #b6bdd6;--ep-muted: #7c84a6;--ep-primary-50: rgba(99, 102, 241, .14);--ep-primary-100: rgba(99, 102, 241, .22);--ep-success-50: rgba(16, 185, 129, .14);--ep-warning-50: rgba(245, 158, 11, .14);--ep-danger-50: rgba(239, 68, 68, .14);--ep-info-50: rgba(14, 165, 233, .14);--ep-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .25)}html,body{background:var(--ep-bg)!important}body{font-family:var(--ep-font)!important;color:var(--ep-text);font-size:14px;-webkit-font-smoothing:antialiased;letter-spacing:-.005em}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color:var(--ep-text);font-weight:700;letter-spacing:-.02em;font-family:var(--ep-font)}a{color:var(--ep-primary)}a:hover{color:var(--ep-primary-600)}.text-muted{color:var(--ep-muted)!important}.text-primary{color:var(--ep-primary)!important}.text-dark{color:var(--ep-text)!important}.bg-light{background-color:var(--ep-surface-2)!important}.bg-white{background-color:var(--ep-surface)!important}.border,.border-top,.border-bottom,.border-start,.border-end{border-color:var(--ep-border)!important}hr{border-color:var(--ep-border);opacity:1}::-moz-selection{background:var(--ep-primary-100)}::selection{background:var(--ep-primary-100)}.ep-shell{display:flex;min-height:100vh}.ep-sidebar{position:fixed;inset:0 auto 0 0;width:var(--ep-sidebar-w);z-index:1040;background:radial-gradient(1200px 400px at -10% -10%,rgba(99,102,241,.22),transparent 60%),var(--ep-sidebar);color:var(--ep-sidebar-text);display:flex;flex-direction:column;transition:transform .25s ease}.ep-brand{height:var(--ep-topbar-h);display:flex;align-items:center;gap:12px;padding:0 22px;text-decoration:none!important;flex-shrink:0}.ep-logo-mark{width:36px;height:36px;border-radius:11px;background:var(--ep-gradient);display:grid;place-items:center;color:#fff;font-weight:800;font-size:17px;box-shadow:0 6px 18px #8b5cf673;flex-shrink:0}.ep-brand-name{color:#fff;font-weight:800;font-size:17px;letter-spacing:-.02em;line-height:1.1}.ep-brand-sub{color:var(--ep-sidebar-text);font-size:11.5px;font-weight:500;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-nav{flex:1;overflow-y:auto;padding:4px 14px 24px;scrollbar-width:thin;scrollbar-color:#2a2f4d transparent}.ep-nav-section{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#5d6485;padding:18px 12px 8px}.ep-nav a,.ep-nav button.ep-nav-link{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;padding:9px 12px;margin:2px 0;border-radius:10px;color:var(--ep-sidebar-text);font-weight:500;font-size:13.5px;text-decoration:none;transition:all .15s ease;text-align:left}.ep-nav a i,.ep-nav button.ep-nav-link i{font-size:19px;width:20px;text-align:center;opacity:.9}.ep-nav a:hover,.ep-nav button.ep-nav-link:hover{color:#fff;background:#ffffff0f}.ep-nav a.active{color:#fff;background:linear-gradient(90deg,#6366f159,#6366f114);box-shadow:inset 3px 0 #818cf8}.ep-nav .ep-sub{padding-left:30px}.ep-nav .ep-sub a{font-size:13px;padding:7px 12px}.ep-nav .ep-chevron{margin-left:auto;transition:transform .2s;font-size:16px!important}.ep-nav .open>.ep-nav-link .ep-chevron{transform:rotate(90deg)}.ep-sidebar-footer{padding:14px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.ep-plan-card{border-radius:14px;padding:14px;background:linear-gradient(135deg,#6366f147,#ec48992e);color:#e9eaff;font-size:12.5px}.ep-main{flex:1;margin-left:var(--ep-sidebar-w);min-width:0;display:flex;flex-direction:column}.ep-topbar{position:sticky;top:0;z-index:1030;height:var(--ep-topbar-h);display:flex;align-items:center;gap:12px;padding:0 28px;background:color-mix(in srgb,var(--ep-bg) 85%,transparent);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--ep-border)}.ep-search{flex:1;max-width:440px;position:relative}.ep-search input{width:100%;height:40px;border-radius:12px;border:1px solid var(--ep-border);background:var(--ep-surface);padding:0 52px 0 40px;color:var(--ep-text);font-size:13.5px;outline:none;transition:box-shadow .15s,border-color .15s}.ep-search input:focus{border-color:var(--ep-primary);box-shadow:0 0 0 4px var(--ep-primary-50)}.ep-search>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ep-muted);font-size:18px}.ep-search kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:var(--ep-surface-2);color:var(--ep-muted);border:1px solid var(--ep-border);font-size:11px;padding:2px 6px;border-radius:6px;box-shadow:none}.ep-search-results{position:absolute;top:46px;left:0;right:0;background:var(--ep-surface);border:1px solid var(--ep-border);border-radius:12px;box-shadow:var(--ep-shadow-lg);padding:6px;max-height:380px;overflow:auto}.ep-search-results a{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:8px;color:var(--ep-text);text-decoration:none;font-size:13.5px}.ep-search-results a i{font-size:18px;color:var(--ep-primary)}.ep-search-results a:hover,.ep-search-results a.focus{background:var(--ep-primary-50)}.ep-icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--ep-border);background:var(--ep-surface);color:var(--ep-text-2);display:grid;place-items:center;font-size:19px;transition:all .15s;flex-shrink:0}.ep-icon-btn:hover{color:var(--ep-primary);border-color:var(--ep-primary-100)}.ep-user-btn{display:flex;align-items:center;gap:10px;border:1px solid var(--ep-border);background:var(--ep-surface);border-radius:12px;padding:4px 12px 4px 4px;color:var(--ep-text)}.ep-user-btn small{color:var(--ep-muted);display:block;font-size:11px;line-height:1.1}.ep-avatar{width:32px;height:32px;border-radius:10px;background:var(--ep-gradient);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.ep-content{padding:26px 28px 40px;flex:1}.ep-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.ep-page-head h1{font-size:24px;margin:0}.ep-breadcrumb{color:var(--ep-muted);font-size:12.5px;margin-bottom:2px;font-weight:500}.ep-footer{padding:18px 28px;color:var(--ep-muted);font-size:12.5px;display:flex;justify-content:space-between;border-top:1px solid var(--ep-border)}.ep-backdrop{display:none}@media(max-width:991.98px){.ep-sidebar{transform:translate(-100%)}.ep-sidebar.open{transform:translate(0);box-shadow:var(--ep-shadow-lg)}.ep-main{margin-left:0}.ep-backdrop.show{display:block;position:fixed;inset:0;background:#0f172a73;z-index:1035}.ep-topbar{padding:0 14px}.ep-content{padding:18px 14px 32px}.ep-hide-mobile{display:none!important}}.card{background:var(--ep-surface);border:1px solid var(--ep-border)!important;border-radius:var(--ep-radius)!important;box-shadow:var(--ep-shadow);margin-bottom:22px;color:var(--ep-text)}.card-body{padding:20px 22px}.card-header,.card-footer{background:transparent!important;border-color:var(--ep-border)!important;padding:14px 22px}.card-title{font-size:15.5px;font-weight:700;color:var(--ep-text);margin-bottom:14px}.card.opacity-50{opacity:.55}.ep-stat{position:relative;padding:18px 20px;height:100%}.ep-stat-label{color:var(--ep-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ep-stat-value{font-size:26px;font-weight:800;letter-spacing:-.03em;margin:8px 0 6px;color:var(--ep-text);line-height:1.1}.ep-stat-icon{position:absolute;right:18px;top:18px;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:22px}.ep-stat-sub{color:var(--ep-muted);font-size:12.5px}.ep-trend{font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:2px;padding:2px 8px;border-radius:999px}.ep-trend.up{color:#059669;background:var(--ep-success-50)}.ep-trend.down{color:#dc2626;background:var(--ep-danger-50)}.ep-tint-primary{background:var(--ep-primary-50);color:var(--ep-primary)}.ep-tint-success{background:var(--ep-success-50);color:var(--ep-success)}.ep-tint-warning{background:var(--ep-warning-50);color:var(--ep-warning)}.ep-tint-danger{background:var(--ep-danger-50);color:var(--ep-danger)}.ep-tint-info{background:var(--ep-info-50);color:var(--ep-info)}.ep-tint-pink{background:#ec48991a;color:#ec4899}.ep-hero{border-radius:18px;padding:24px 26px;color:#fff;position:relative;overflow:hidden;margin-bottom:22px;background:radial-gradient(600px 220px at 100% 0%,rgba(236,72,153,.5),transparent 60%),linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 18px 40px #4f46e547}.ep-hero h2{color:#fff;font-size:22px;margin:0 0 4px}.ep-hero p{color:#ffffffd1;margin:0}.ep-hero .btn{background:#ffffff29!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;box-shadow:none}.ep-hero .btn:hover{background:#ffffff47!important}.ep-hero:after{content:"";position:absolute;right:-40px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:#ffffff12}.ep-list-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--ep-border)}.ep-list-row:last-child{border-bottom:0}.ep-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.btn{border-radius:10px;font-weight:600;font-size:13.5px;padding:8px 16px;transition:all .15s ease;box-shadow:none}.btn-sm{padding:5px 11px;font-size:12.5px;border-radius:8px}.btn-lg{padding:11px 22px;font-size:15px;border-radius:12px}.btn-primary{background:var(--ep-primary)!important;border-color:var(--ep-primary)!important;color:#fff!important;box-shadow:0 4px 14px #6366f152}.btn-primary:hover,.btn-primary:focus{background:var(--ep-primary-600)!important;border-color:var(--ep-primary-600)!important;transform:translateY(-1px)}.btn-success{background:var(--ep-success)!important;border-color:var(--ep-success)!important;box-shadow:0 4px 14px #10b98147}.btn-danger{background:var(--ep-danger)!important;border-color:var(--ep-danger)!important}.btn-warning{background:var(--ep-warning)!important;border-color:var(--ep-warning)!important;color:#fff!important}.btn-dark{background:var(--ep-text)!important;border-color:var(--ep-text)!important;color:var(--ep-surface)!important}.btn-light{background:var(--ep-surface-2)!important;border-color:var(--ep-border)!important;color:var(--ep-text-2)!important}.btn-outline-primary{color:var(--ep-primary)!important;border-color:var(--ep-primary-100)!important;background:var(--ep-surface)}.btn-outline-primary:hover,.btn-outline-primary.active{background:var(--ep-primary)!important;border-color:var(--ep-primary)!important;color:#fff!important}.btn-outline-secondary,.btn-outline-dark,.btn-outline-light{color:var(--ep-text-2)!important;border-color:var(--ep-border)!important;background:var(--ep-surface)}.btn-outline-secondary:hover,.btn-outline-dark:hover{background:var(--ep-surface-2)!important;color:var(--ep-text)!important}.btn-outline-danger{color:var(--ep-danger)!important;border-color:#ef44444d!important;background:var(--ep-surface)}.btn-outline-danger:hover{background:var(--ep-danger)!important;color:#fff!important}.btn-outline-success{color:var(--ep-success)!important;border-color:#10b9814d!important;background:var(--ep-surface)}.btn-outline-success:hover,.btn-outline-success.active{background:var(--ep-success)!important;color:#fff!important}.btn-outline-info{color:var(--ep-info)!important;border-color:#0ea5e94d!important;background:var(--ep-surface)}.btn-outline-info:hover{background:var(--ep-info)!important;color:#fff!important}.btn-outline-warning{color:#b45309!important;border-color:#f59e0b59!important}.btn-link{box-shadow:none!important;text-decoration:none}.btn-group>.btn{box-shadow:none!important;transform:none!important}.form-control,.form-select{border-radius:10px;border:1px solid var(--ep-border);background-color:var(--ep-surface);color:var(--ep-text);font-size:13.5px;padding:8px 12px;min-height:40px;transition:border-color .15s,box-shadow .15s}.form-control-sm,.form-select-sm{min-height:32px;padding:4px 10px;font-size:12.5px;border-radius:8px}.form-control-lg{min-height:48px;font-size:16px}.form-control:focus,.form-select:focus{border-color:var(--ep-primary);box-shadow:0 0 0 4px var(--ep-primary-50);background-color:var(--ep-surface);color:var(--ep-text)}.form-control::-moz-placeholder{color:var(--ep-muted)}.form-control::placeholder{color:var(--ep-muted)}.form-label{font-weight:600;font-size:12.5px;color:var(--ep-text-2);margin-bottom:6px}.form-check-input{border-color:var(--ep-border)}.form-check-input:checked{background-color:var(--ep-primary);border-color:var(--ep-primary)}.form-switch .form-check-input{width:2.3em;height:1.25em}.input-group-text{background:var(--ep-surface-2);border-color:var(--ep-border);color:var(--ep-text-2)}.table{color:var(--ep-text);--bs-table-bg: transparent;--bs-table-color: var(--ep-text);--bs-table-hover-bg: var(--ep-surface-2);--bs-table-hover-color: var(--ep-text);margin-bottom:0}.table>:not(caption)>*>*{border-bottom-color:var(--ep-border);padding:12px 14px;vertical-align:middle}.table-sm>:not(caption)>*>*{padding:8px 10px}.table thead th,.table-light th{background:var(--ep-surface-2)!important;color:var(--ep-muted)!important;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;border-bottom:1px solid var(--ep-border)!important;white-space:nowrap}.table-light,.table-light>*>*{--bs-table-bg: var(--ep-surface-2);--bs-table-color: var(--ep-text)}.table-bordered>:not(caption)>*>*{border-color:var(--ep-border)}.table tfoot td{font-weight:600}.table-danger{--bs-table-bg: var(--ep-danger-50) !important;--bs-table-color: var(--ep-text) !important}.table-responsive{border-radius:12px}.dataTables_wrapper .dataTables_paginate .paginate_button{border-radius:8px!important}.badge{border-radius:999px;font-weight:600;padding:.4em .78em;font-size:11.5px;letter-spacing:.01em;text-transform:capitalize}.badge.bg-success{background:var(--ep-success-50)!important;color:#059669!important}.badge.bg-warning{background:var(--ep-warning-50)!important;color:#b45309!important}.badge.bg-danger{background:var(--ep-danger-50)!important;color:#dc2626!important}.badge.bg-info{background:var(--ep-info-50)!important;color:#0284c7!important}.badge.bg-primary{background:var(--ep-primary-50)!important;color:var(--ep-primary-600)!important}.badge.bg-secondary,.badge.bg-light{background:var(--ep-surface-2)!important;color:var(--ep-text-2)!important;border:1px solid var(--ep-border)}.badge.bg-dark{background:var(--ep-text)!important;color:var(--ep-surface)!important}.alert{border-radius:12px;border:1px solid transparent;font-weight:500;padding:12px 16px}.alert-success{background:var(--ep-success-50);color:#047857;border-color:#10b98140}.alert-danger{background:var(--ep-danger-50);color:#b91c1c;border-color:#ef444440}.alert-warning{background:var(--ep-warning-50);color:#92400e;border-color:#f59e0b40}.alert-info{background:var(--ep-info-50);color:#0369a1;border-color:#0ea5e940}.nav-tabs{border-bottom:1px solid var(--ep-border);gap:4px}.nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;color:var(--ep-text-2);font-weight:600;padding:10px 14px;border-radius:0;background:transparent}.nav-tabs .nav-link:hover{color:var(--ep-primary)}.nav-tabs .nav-link.active{color:var(--ep-primary);border-bottom-color:var(--ep-primary);background:transparent}.nav-pills .nav-link{border-radius:10px;font-weight:600;color:var(--ep-text-2)}.nav-pills .nav-link.active{background:var(--ep-primary);color:#fff;box-shadow:0 4px 14px #6366f14d}.modal-content{border-radius:18px;border:1px solid var(--ep-border);background:var(--ep-surface);box-shadow:var(--ep-shadow-lg);color:var(--ep-text)}.modal-header,.modal-footer{border-color:var(--ep-border);padding:16px 22px}.modal-body{padding:20px 22px}.modal.d-block{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dropdown-menu{border-radius:12px;border:1px solid var(--ep-border);box-shadow:var(--ep-shadow-lg);padding:6px;background:var(--ep-surface)}.dropdown-item{border-radius:8px;padding:8px 12px;font-size:13.5px;color:var(--ep-text)}.dropdown-item:hover{background:var(--ep-primary-50);color:var(--ep-primary-600)}.list-group-item{border-color:var(--ep-border);background:var(--ep-surface);color:var(--ep-text)}.progress{border-radius:999px;background:var(--ep-surface-2)}.progress-bar{background:var(--ep-gradient)}.page-link{border-radius:8px!important;margin:0 2px;border-color:var(--ep-border)}.bg-primary{background-color:var(--ep-primary)!important}.bg-success{background-color:var(--ep-success)!important}.bg-warning{background-color:var(--ep-warning)!important}.bg-info{background-color:var(--ep-info)!important}.rounded-circle.bg-primary,.rounded-circle.bg-success,.rounded-circle.bg-warning,.rounded-circle.bg-info{border-radius:12px!important}.ep-empty{text-align:center;padding:42px 16px;color:var(--ep-muted)}.ep-empty i{font-size:42px;display:block;margin-bottom:10px;color:var(--ep-primary);opacity:.55}.ep-tile{border-radius:14px!important;border:1px solid var(--ep-border)!important;background:var(--ep-surface)!important;transition:transform .15s,box-shadow .15s,border-color .15s;overflow:hidden;padding:0}.ep-tile:hover{transform:translateY(-2px);box-shadow:var(--ep-shadow-lg);border-color:var(--ep-primary-100)!important}.ep-tile-art{height:88px;display:grid;place-items:center;font-size:38px}.ep-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:999px;border:1px solid var(--ep-border);background:var(--ep-surface);color:var(--ep-text-2);font-weight:600;font-size:12.5px;white-space:nowrap;cursor:pointer;transition:all .15s}.ep-chip:hover{border-color:var(--ep-primary-100);color:var(--ep-primary)}.ep-chip.active{background:var(--ep-text);color:var(--ep-surface);border-color:var(--ep-text)}.page-title-box{display:none!important}.mini-stat-img i{border-radius:12px!important}.ep-auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--ep-bg)}.ep-auth-art{position:relative;overflow:hidden;color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(700px 400px at 90% 10%,rgba(236,72,153,.5),transparent 60%),radial-gradient(600px 400px at 0% 100%,rgba(14,165,233,.35),transparent 60%),linear-gradient(135deg,#312e81,#4f46e5 50%,#7c3aed)}.ep-auth-art h1{color:#fff;font-size:40px;line-height:1.1;max-width:520px;letter-spacing:-.03em}.ep-auth-art p{color:#ffffffd1;font-size:16px;max-width:480px}.ep-auth-feature{display:flex;gap:12px;align-items:center;margin-bottom:14px;color:#ffffffeb;font-weight:500}.ep-auth-feature i{font-size:18px;background:#ffffff26;border-radius:10px;padding:8px}.ep-auth-glass{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:18px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:440px}.ep-auth-form{display:flex;align-items:center;justify-content:center;padding:40px 24px}.ep-auth-card{width:100%;max-width:410px}@media(max-width:991.98px){.ep-auth{grid-template-columns:1fr}.ep-auth-art{display:none}}@media print{.ep-sidebar,.ep-topbar,.ep-footer,.no-print{display:none!important}.ep-main{margin:0!important}.ep-content{padding:0!important}.card{box-shadow:none}}.d-flex.overflow-auto{scrollbar-width:none}.d-flex.overflow-auto::-webkit-scrollbar{display:none}
