:root{--header-height: 60px;--sidebar-width: 300px;--bg-body: #f0f2f5;--bg-surface: #ffffff;--bg-surface-hover: #f6f9ff;--text-primary: #012970;--text-secondary: #899bbd;--text-body: #333;--link-color: #0d6efd;--link-hover: #0a58ca;--accent: #4154f1;--shadow-color: rgba(1, 41, 112, .1);--border-color: #e9ecef;--card-bg: #fff;--card-header-bg: #f8f9fa;--skeleton-base: #ececec;--skeleton-shine: #f5f5f5;--icon-bg: #f0f5ff;--icon-stroke: #2a68ff;--info-text: #555}[data-bs-theme=dark]{--bg-body: #121418;--bg-surface: #1a1d23;--bg-surface-hover: #23272e;--text-primary: #cbd5e1;--text-secondary: #64748b;--text-body: #e2e8f0;--link-color: #60a5fa;--link-hover: #93c5fd;--accent: #818cf8;--shadow-color: rgba(0, 0, 0, .3);--border-color: #2d3039;--card-bg: #1a1d23;--card-header-bg: #1f222a;--skeleton-base: #2d3039;--skeleton-shine: #353a45;--icon-bg: #1e293b;--icon-stroke: #60a5fa;--info-text: #94a3b8}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-body);color:var(--text-body);margin:0;min-height:100vh;display:flex;flex-direction:column;transition:background-color .3s,color .3s}a{color:var(--link-color);text-decoration:none}a:hover{color:var(--link-hover)}.header{position:sticky;top:0;height:var(--header-height);box-shadow:0 2px 20px var(--shadow-color);background-color:var(--bg-surface);padding-left:20px;z-index:1040;width:100%;flex-shrink:0;transition:background-color .3s}.header .logo span{font-size:24px;font-weight:700;color:var(--text-primary)}.toggle-sidebar-btn{font-size:32px;cursor:pointer;color:var(--text-primary)}.header-nav .nav-profile img{max-height:36px}.dropdown-menu.profile{border-radius:4px;box-shadow:0 0 30px var(--shadow-color)}main#main{padding:20px 15px;transition:all .3s;margin-top:0}.sidebar{position:fixed;top:var(--header-height);left:0;bottom:0;width:var(--sidebar-width);z-index:1500;transition:all .3s;padding:20px;overflow-y:auto;scrollbar-width:thin;background-color:var(--bg-surface);box-shadow:0 0 20px var(--shadow-color)}.sidebar-nav{list-style:none;padding:0;margin:0}.sidebar-nav .nav-link{display:flex;align-items:center;font-size:15px;font-weight:600;color:var(--accent);background:var(--bg-surface-hover);border-radius:4px;padding:10px 15px;margin-bottom:5px;transition:.3s}.sidebar-nav .nav-link:hover{color:var(--accent);background:var(--bg-surface-hover)}.sidebar-nav .nav-link i{font-size:16px;margin-right:10px}.sidebar-nav .nav-link.collapsed{color:var(--text-primary);background:var(--bg-surface)}.sidebar-nav .nav-link.collapsed:hover{color:var(--accent);background:var(--bg-surface-hover)}.sidebar-nav .nav-link.collapsed i{color:var(--text-secondary)}.sidebar-nav .nav-content{list-style:none;padding-left:20px}.sidebar-nav .nav-content a{padding:10px 0 10px 20px;color:var(--text-primary);font-size:14px}.sidebar-nav .nav-content a:hover,.sidebar-nav .nav-content a.active{color:var(--accent)}.sidebar-nav .nav-content i{font-size:6px;margin-right:8px}.nav-heading{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;padding:10px 15px}.footer{padding:20px 15px;font-size:14px;background-color:var(--bg-body);color:var(--text-primary);transition:background-color .3s}@media(min-width:992px){.sidebar{position:fixed;top:60px;left:0;bottom:0;width:300px;z-index:996;overflow-y:auto}.offcanvas-lg.offcanvas-start{transform:none!important}.toggle-sidebar-btn{display:none!important}main#main,footer#footer{margin-left:300px;padding:20px 30px}}.main,.sidebar{transition:margin-top .4s ease,top .4s ease}body.has-banner .main{margin-top:130px!important}@media(min-width:992px){body.has-banner .sidebar{top:130px}}.card-info{background:var(--card-bg);border-radius:12px;box-shadow:0 4px 12px var(--shadow-color);padding:16px;text-align:left}.card-info-header{font-size:14px;color:var(--info-text);margin-bottom:8px}.card-info-header span{color:var(--icon-stroke);font-weight:600}.icon{width:40px;height:40px;border-radius:50%;background:var(--icon-bg);display:flex;justify-content:center;align-items:center;margin-bottom:10px}.icon i{width:24px;height:24px;stroke:var(--icon-stroke)}.value{font-size:28px;font-weight:700;margin-bottom:6px}.increase{color:#28a745;font-size:14px}.card{border:none;border-radius:8px;box-shadow:0 2px 8px var(--shadow-color);background-color:var(--card-bg)}.card-header{background-color:var(--card-header-bg);border-bottom:1px solid var(--border-color);border-radius:8px 8px 0 0}.card-body{padding:20px}.card-title{margin-bottom:0}.table-responsive{border-radius:4px}.skeleton{background:var(--skeleton-base);background:linear-gradient(110deg,var(--skeleton-base) 8%,var(--skeleton-shine) 18%,var(--skeleton-base) 33%);border-radius:4px;background-size:200% 100%;animation:1.5s shine linear infinite}.theme-toggle{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-primary);padding:6px 10px;border-radius:6px;transition:background-color .2s,color .2s;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background-color:var(--bg-surface-hover)}@keyframes shine{to{background-position-x:-200%}}[data-bs-theme=dark] .bg-white{background-color:var(--bg-surface)!important;color:var(--text-body)}[data-bs-theme=dark] .table-light,[data-bs-theme=dark] .table-light>th,[data-bs-theme=dark] .table-light>td{--bs-table-color: var(--text-body);--bs-table-bg: var(--card-header-bg);--bs-table-border-color: var(--border-color);color:var(--text-body)!important;background-color:var(--card-header-bg)!important}[data-bs-theme=dark] .bg-light{background-color:var(--bg-surface-hover)!important;color:var(--text-body)!important}[data-bs-theme=dark] .btn-light{--bs-btn-bg: var(--bg-surface-hover);--bs-btn-border-color: var(--border-color);--bs-btn-color: var(--text-body);--bs-btn-hover-bg: var(--card-header-bg);--bs-btn-hover-border-color: var(--border-color);--bs-btn-hover-color: var(--text-body);--bs-btn-active-bg: var(--card-header-bg);--bs-btn-active-color: var(--text-body);background-color:var(--bg-surface-hover)!important;border-color:var(--border-color)!important;color:var(--text-body)!important}[data-bs-theme=dark] .input-group-text{background-color:var(--bg-surface-hover);border-color:var(--border-color);color:var(--text-body)}
