@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, sans-serif;--bg-app:#090b11;--bg-sidebar:#0f1322;--bg-card:#141a2e99;--bg-card-hover:#1c2440cc;--border-color:#ffffff14;--border-focus:#6366f180;--text-main:#f3f4f6;--text-muted:#9ca3af;--text-inverse:#090b11;--primary:#6366f1;--primary-glow:#6366f14d;--primary-hover:#4f46e5;--secondary:#10b981;--secondary-glow:#10b98133;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--glass-bg:#0f132299;--glass-border:#ffffff0d;--glass-shadow:#0006;--glass-blur:blur(16px);--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 24px #0000004d;--shadow-lg:0 16px 48px #0006;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-app:#f8fafc;--bg-sidebar:#fff;--bg-card:#f1f5f9b3;--bg-card-hover:#e2e8f0e6;--border-color:#00000014;--border-focus:#6366f180;--text-main:#0f172a;--text-muted:#64748b;--text-inverse:#fff;--glass-bg:#ffffffb3;--glass-border:#0000000f;--glass-shadow:#0f172a14;--primary-glow:#6366f126}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-main);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal), color var(--transition-normal);overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);width:260px;height:100%;transition:width var(--transition-normal), background-color var(--transition-normal);z-index:100;flex-direction:column;flex-shrink:0;display:flex}.sidebar-header{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:24px;display:flex}.logo-icon{background:linear-gradient(135deg, var(--primary), #818cf8);border-radius:var(--radius-md);color:#fff;width:40px;height:40px;box-shadow:0 4px 12px var(--primary-glow);justify-content:center;align-items:center;display:flex}.logo-text h2{background:linear-gradient(135deg, var(--text-main), var(--text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:18px}.logo-text span{color:var(--primary);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800}.sidebar-menu{flex-direction:column;flex:1;gap:6px;padding:16px;display:flex;overflow-y:auto}.menu-item{color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.menu-item:hover{background-color:var(--bg-card);color:var(--text-main)}.menu-item.active{background-color:var(--primary-glow);color:var(--primary);border-color:#6366f133}.sidebar-footer{border-top:1px solid var(--border-color);flex-direction:column;gap:12px;padding:16px;display:flex}.user-profile-badge{border-radius:var(--radius-md);background:#0000001a;align-items:center;gap:10px;padding:8px;display:flex}.user-avatar{background-color:var(--primary);border-radius:var(--radius-full);color:#fff;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.user-info{flex-direction:column;min-width:0;display:flex}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-role{color:var(--text-muted);font-size:10px}.main-wrapper{flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border-color);background-color:var(--bg-sidebar);justify-content:space-between;align-items:center;height:70px;padding:0 32px;display:flex}.topbar-left h1{font-size:22px}.topbar-right{align-items:center;gap:16px;display:flex}.search-box{background-color:var(--bg-app);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:260px;transition:all var(--transition-fast);align-items:center;gap:8px;padding:6px 12px;display:flex}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow);width:320px}.search-box input{color:var(--text-main);background:0 0;border:none;outline:none;width:100%;font-size:13px}.icon-btn{border-radius:var(--radius-sm);background-color:var(--bg-app);border:1px solid var(--border-color);width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.icon-btn:hover{color:var(--text-main);background-color:var(--bg-card);border-color:var(--text-muted)}.content-body{background-color:var(--bg-app);flex:1;padding:32px;overflow-y:auto}.view-panel{flex-direction:column;gap:24px;display:flex}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.metric-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;justify-content:space-between;align-items:center;padding:24px;display:flex;position:relative;overflow:hidden}.metric-card:hover{background-color:var(--bg-card-hover);box-shadow:var(--shadow-md);border-color:#ffffff26;transform:translateY(-4px)}.metric-card:before{content:"";background:var(--primary);opacity:0;width:4px;height:100%;transition:opacity var(--transition-fast);position:absolute;top:0;left:0}.metric-card:hover:before{opacity:1}.metric-card.success:before{background:var(--secondary)}.metric-card.warning:before{background:var(--warning)}.metric-card.danger:before{background:var(--danger)}.metric-card.info:before{background:var(--info)}.metric-info{flex-direction:column;gap:6px;display:flex}.metric-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.metric-value{font-size:28px;font-weight:700;font-family:var(--font-heading)}.metric-icon-box{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.metric-card.primary .metric-icon-box{color:var(--primary);background-color:#6366f11a}.metric-card.success .metric-icon-box{color:var(--secondary);background-color:#10b9811a}.metric-card.warning .metric-icon-box{color:var(--warning);background-color:#f59e0b1a}.metric-card.danger .metric-icon-box{color:var(--danger);background-color:#ef44441a}.metric-card.info .metric-icon-box{color:var(--info);background-color:#3b82f61a}.charts-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}@media (width<=1024px){.charts-grid{grid-template-columns:1fr}}.chart-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:16px;padding:24px;display:flex}.chart-header{justify-content:space-between;align-items:center;display:flex}.chart-title h3{font-size:16px;font-weight:600}.chart-body{justify-content:center;align-items:center;width:100%;min-height:280px;display:flex;position:relative}.login-overlay{width:100vw;height:100vh;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);z-index:999;background-color:#090b11d9;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.login-card{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), var(--shadow-lg);border-radius:var(--radius-lg);flex-direction:column;gap:24px;width:100%;max-width:420px;padding:40px;animation:.4s cubic-bezier(.16,1,.3,1) forwards modalEnter;display:flex}@keyframes modalEnter{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.login-header{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.login-logo{background:linear-gradient(135deg, var(--primary), #818cf8);border-radius:var(--radius-lg);color:#fff;width:60px;height:60px;box-shadow:0 8px 24px var(--primary-glow);justify-content:center;align-items:center;display:flex}.login-header h2{margin-top:8px;font-size:24px}.login-header p{color:var(--text-muted);font-size:13px}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper input,.input-wrapper select,.form-control{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-main);transition:all var(--transition-fast);background-color:#0003;outline:none;padding:12px 16px;font-size:14px}.input-wrapper input:focus,.input-wrapper select:focus,.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.btn{background-color:var(--primary);color:var(--text-inverse);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-weight:600;display:flex}.btn:hover{background-color:var(--primary-hover);box-shadow:0 4px 12px var(--primary-glow);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);background-color:#ffffff0d}.btn-secondary:hover{box-shadow:none;background-color:#ffffff1a}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:#dc2626;box-shadow:0 4px 12px #ef44444d}.table-panel{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.panel-actions{align-items:center;gap:12px;display:flex}.table-container{width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.custom-table th{color:var(--text-muted);border-bottom:1px solid var(--border-color);white-space:nowrap;background-color:#00000026;padding:14px 20px;font-weight:600}.custom-table td{border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle;padding:14px 20px}.custom-table tbody tr{transition:background-color var(--transition-fast)}.custom-table tbody tr:hover{background-color:#ffffff05}.badge{border-radius:var(--radius-full);text-transform:uppercase;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{color:var(--secondary);background-color:#10b98126}.badge-warning{color:var(--warning);background-color:#f59e0b26}.badge-danger{color:var(--danger);background-color:#ef444426}.badge-info{color:var(--info);background-color:#3b82f626}.badge-primary{color:var(--primary);background-color:#6366f126}.pagination{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.pagination-info{color:var(--text-muted);font-size:13px}.pagination-controls{align-items:center;gap:8px;display:flex}.drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;background-color:#0009;justify-content:flex-end;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.drawer{background-color:var(--bg-sidebar);border-left:1px solid var(--border-color);flex-direction:column;width:100%;max-width:580px;height:100%;animation:.3s cubic-bezier(.16,1,.3,1) forwards drawerSlide;display:flex}@keyframes drawerSlide{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:24px;display:flex}.drawer-body{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex;overflow-y:auto}.drawer-section{flex-direction:column;gap:12px;display:flex}.drawer-section h4{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);padding-bottom:6px;font-size:14px}.info-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.info-item{flex-direction:column;gap:4px;display:flex}.info-label{color:var(--text-muted);text-transform:uppercase;font-size:11px}.info-value{font-size:14px;font-weight:500}.skeleton{background:linear-gradient(90deg, var(--border-color) 25%, #ffffff26 50%, var(--border-color) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s linear infinite skeletonLoading}.skeleton-text{width:100%;height:16px}.skeleton-title{width:60%;height:24px}.skeleton-avatar{border-radius:var(--radius-full);width:48px;height:48px}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-container{z-index:1000;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--bg-sidebar);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:var(--radius-md);align-items:center;gap:12px;min-width:300px;max-width:450px;padding:16px 20px;animation:.3s cubic-bezier(.16,1,.3,1) forwards toastSlide;display:flex;position:relative;overflow:hidden}.toast:after{content:"";background-color:var(--primary);width:100%;height:3px;animation:4s linear forwards toastProgress;position:absolute;bottom:0;left:0}.toast.success:after{background-color:var(--secondary)}.toast.danger:after{background-color:var(--danger)}.toast.warning:after{background-color:var(--warning)}@keyframes toastSlide{0%{opacity:0;transform:translateY(20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastProgress{0%{width:100%}to{width:0%}}.toast-message{font-size:13px;font-weight:500}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.flex-col{flex-direction:column;gap:16px;display:flex}.flex-row{align-items:center;gap:12px;display:flex}.space-between{justify-content:space-between}
