@font-face{font-family:Satoshi;font-style:normal;font-weight:300;font-display:optional;src:url(/fonts/Satoshi-Light.woff2) format("woff2")}@font-face{font-family:Satoshi;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/Satoshi-Regular.woff2) format("woff2")}@font-face{font-family:Satoshi;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/Satoshi-Medium.woff2) format("woff2")}@font-face{font-family:Satoshi;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/Satoshi-Bold.woff2) format("woff2")}@font-face{font-family:Satoshi;font-style:normal;font-weight:900;font-display:optional;src:url(/fonts/Satoshi-Black.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}*{margin:0}:root{--color-bg-primary: #040018;--color-bg-secondary: #0a0522;--color-bg-tertiary: #12082c;--color-bg-elevated: #1a0b36;--color-text-primary: #ffffff;--color-text-secondary: #b8b3c8;--color-text-tertiary: #8b839e;--color-border: #2a1d4a;--color-border-hover: #3d2b5f;--color-border-subtle: #1f1340;--color-brand-primary: #ff3377;--color-brand-secondary: #8833ff;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #3b82f6;--color-chart-1: #3b82f6;--color-chart-2: #10b981;--color-chart-3: #f59e0b;--color-chart-4: #ef4444;--color-chart-5: #8b5cf6;--color-chart-6: #06b6d4;--color-chart-7: #ec4899;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .5);--shadow-base: 0 4px 12px rgba(0, 0, 0, .5);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--font-family-base: "Satoshi", system-ui, sans-serif;--font-family-mono: "JetBrains Mono", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1)}html{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0;line-height:1.5;min-height:100vh}a{color:var(--color-brand-primary);text-decoration:none}a:hover{text-decoration:underline}.dashboard{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--color-bg-secondary);border-right:1px solid var(--color-border);padding:var(--spacing-6) 0;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{padding:0 var(--spacing-5);margin-bottom:var(--spacing-8);font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary)}.sidebar-brand span{color:var(--color-brand-primary)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--spacing-1)}.nav-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-5);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-fast);border-left:3px solid transparent}.nav-item:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary);text-decoration:none}.nav-item.active{color:var(--color-brand-primary);background:#ff337714;border-left-color:var(--color-brand-primary)}.main{padding:var(--spacing-6) var(--spacing-8);max-width:1400px}.page-header{margin-bottom:var(--spacing-6)}.page-title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-1)}.page-subtitle{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.stat-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-5)}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-2)}.stat-value{font-size:var(--font-size-2xl);font-weight:700;line-height:1}.stat-value.success{color:var(--color-success)}.stat-value.warning{color:var(--color-warning)}.stat-value.danger{color:var(--color-danger)}.stat-value.info{color:var(--color-info)}.stat-value.brand{color:var(--color-brand-primary)}.panel{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-5);margin-bottom:var(--spacing-6)}.panel-title{font-size:var(--font-size-base);font-weight:700;margin-bottom:var(--spacing-4);text-transform:uppercase;letter-spacing:.03em}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--color-border)}.data-table td{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border-subtle)}.data-table tr:hover td{background:var(--color-bg-tertiary)}.data-table .mono{font-family:var(--font-family-mono);font-size:var(--font-size-xs);background:var(--color-bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm)}.data-table .number{text-align:right;font-weight:500}.chart-container{width:100%;height:300px;position:relative}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg-primary)}.login-box{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-8);width:100%;max-width:400px}.login-title{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--spacing-6);text-align:center}.form-group{margin-bottom:var(--spacing-4)}.form-label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-1)}.form-input{width:100%;padding:var(--spacing-2) var(--spacing-3);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);outline:none;transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--color-brand-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-2) var(--spacing-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:none}.btn-primary{background:var(--color-brand-primary);color:#fff;width:100%}.btn-primary:hover{opacity:.9}.error-msg{color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--spacing-4);display:none}.controls{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-6)}.loading{color:var(--color-text-tertiary);font-size:var(--font-size-sm);padding:var(--spacing-8);text-align:center}.sidebar-toggle{display:none;position:fixed;top:var(--spacing-3);left:var(--spacing-3);z-index:200;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);width:40px;height:40px;font-size:1.25rem;cursor:pointer;align-items:center;justify-content:center}.sidebar-overlay{display:none;position:fixed;inset:0;z-index:90;background:#00000080}@media(max-width:768px){.sidebar-toggle{display:flex}.dashboard{grid-template-columns:1fr}.sidebar{position:fixed;z-index:100;width:260px;transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.sidebar.open+.sidebar-overlay{display:block}.main{padding:var(--spacing-4);padding-top:calc(var(--spacing-4) + 48px)}.page-header{flex-direction:column!important;align-items:flex-start!important;gap:var(--spacing-3)}.page-title{font-size:var(--font-size-xl)}.controls{flex-wrap:wrap;gap:var(--spacing-2)}.grid-2{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.panel{overflow-x:auto}.data-table{min-width:auto}.data-table .mono{word-break:break-all;max-width:180px;display:inline-block}.data-table td,.data-table th{padding:var(--spacing-2);font-size:var(--font-size-xs)}}
