@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}body{color:#e5e5e5;background:#0a0a0f;line-height:1.5}a{color:inherit;text-decoration:none}:root{--bg-0:#0a0a0f;--bg-1:#111118;--bg-2:#18181f;--bg-3:#1e1e28;--bg-hover:#1a1a24;--border:#ffffff0f;--border-hover:#ffffff1a;--border-active:#ffffff24;--text-primary:#f0f0f0;--text-secondary:#a0a0b0;--text-tertiary:#5a5a6e;--text-muted:#3e3e50;--accent:#10b981;--accent-hover:#0ea972;--accent-muted:#10b9811f;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--sidebar-width:240px;--header-height:0px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.dashboard-layout{background:var(--bg-0);min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-1);border-right:1px solid var(--border);z-index:100;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:10px;padding:20px 16px 16px;font-size:15px;font-weight:700;display:flex}.sidebar-logo-icon{justify-content:center;align-items:center;width:28px;height:28px;display:flex}.sidebar-logo-icon svg{width:24px;height:24px;color:var(--accent)}.sidebar-nav{flex:1;padding:4px 8px;overflow-y:auto}.sidebar-section{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:16px 8px 6px;font-size:11px;font-weight:600}.sidebar-link{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:10px;padding:7px 10px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.sidebar-link:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-link.active{color:var(--text-primary);background:#ffffff0f}.sidebar-link svg,.sidebar-link-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.sidebar-link svg{color:var(--text-tertiary);stroke-width:1.75px}.sidebar-link.active svg{color:var(--text-primary)}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh;padding:28px 32px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{color:var(--text-primary);letter-spacing:-.03em;font-size:22px;font-weight:700}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:border-color .15s}.card:hover{border-color:var(--border-hover)}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.kpi-card{padding:16px 20px}.kpi-card .kpi-label{color:var(--text-tertiary);letter-spacing:.01em;margin-bottom:8px;font-size:12px;font-weight:500}.kpi-card .kpi-value{color:var(--text-primary);letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.2}.kpi-card .kpi-change{align-items:center;gap:2px;margin-top:6px;font-size:12px;font-weight:500;display:inline-flex}.kpi-change.positive{color:var(--success)}.kpi-change.negative{color:var(--error)}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-outline:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.btn-ghost{color:var(--text-secondary);background:0 0;padding:6px 10px}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.input{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;width:100%;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-muted)}textarea.input{resize:vertical;min-height:80px;line-height:1.5}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{color:var(--text-muted);text-align:left;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 16px;font-size:11px;font-weight:600}.table td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:12px 16px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg-hover)}.badge{letter-spacing:.02em;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{color:var(--success);background:#10b9811a}.badge-warning{color:var(--warning);background:#f59e0b1a}.badge-error{color:var(--error);background:#ef44441a}.badge-info{color:var(--info);background:#3b82f61a}.badge-neutral{color:var(--text-secondary);background:#ffffff0f}.skeleton{background:linear-gradient(90deg,var(--bg-2)25%,var(--bg-3)50%,var(--bg-2)75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot-success{background:var(--success)}.dot-warning{background:var(--warning)}.dot-error{background:var(--error)}.dot-neutral{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.25s fadeIn}.text-mono{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-tooltip{background:var(--bg-2)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;color:var(--text-primary)!important;padding:8px 12px!important;font-size:12px!important;box-shadow:0 8px 24px #0006!important}
