@font-face{font-family:Inter;src:url(/assets/Inter-Variable-DiVDrmQJ.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Regular-CA-Os4ii.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Medium-DoKWA_AF.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-SemiBold-BjwzTi7v.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--font-ui: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", monospace;--radius: 12px;--radius-sm: 8px;--transition: .15s ease}[data-theme=dark]{--bg: #0a0e1a;--bg-card: #111827;--bg-card-hover: #1a2235;--bg-input: #0f172a;--border: #1e293b;--border-focus: #06b6d4;--text: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--accent: #06b6d4;--accent-hover: #22d3ee;--accent-bg: rgba(6, 182, 212, .1);--green: #10b981;--green-bg: rgba(16, 185, 129, .1);--amber: #f59e0b;--amber-bg: rgba(245, 158, 11, .1);--red: #f43f5e;--red-bg: rgba(244, 63, 94, .1);--blue: #3b82f6;--blue-bg: rgba(59, 130, 246, .1);--purple: #a78bfa;--orange: #fb923c;--chart-bg: #0f172a;--chart-grid: #1e293b}[data-theme=light]{--bg: #f1f5f9;--bg-card: #ffffff;--bg-card-hover: #f8fafc;--bg-input: #f8fafc;--border: #e2e8f0;--border-focus: #0891b2;--text: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #0891b2;--accent-hover: #06b6d4;--accent-bg: rgba(8, 145, 178, .08);--green: #059669;--green-bg: rgba(5, 150, 105, .08);--amber: #d97706;--amber-bg: rgba(217, 119, 6, .08);--red: #e11d48;--red-bg: rgba(225, 29, 72, .08);--blue: #2563eb;--blue-bg: rgba(37, 99, 235, .08);--purple: #7c3aed;--orange: #ea580c;--chart-bg: #f8fafc;--chart-grid: #e2e8f0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}.mono{font-family:var(--font-mono)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.text-green{color:var(--green)}.text-amber{color:var(--amber)}.text-red{color:var(--red)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:border-color var(--transition)}.card:hover{border-color:color-mix(in srgb,var(--border) 70%,var(--accent))}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.card-title{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.metric-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.25rem}.metric-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.metric-value{font-family:var(--font-mono);font-size:1.75rem;font-weight:600;color:var(--text);line-height:1.2}.metric-unit{font-size:.875rem;font-weight:400;color:var(--text-muted);margin-left:.25rem}.metric-sub{font-size:.75rem;color:var(--text-secondary)}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-green{background:var(--green-bg);color:var(--green)}.badge-amber{background:var(--amber-bg);color:var(--amber)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-blue{background:var(--blue-bg);color:var(--blue)}.badge-accent{background:var(--accent-bg);color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.875rem;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all var(--transition);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:transparent;border-color:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--accent-bg)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.input{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-family:var(--font-ui);font-size:.9375rem;transition:border-color var(--transition);outline:none}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-bg)}.input-mono{font-family:var(--font-mono);font-size:1.5rem;text-align:center;letter-spacing:.5em;padding:.75rem 1rem}.label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.375rem}.field-error{font-size:.75rem;color:var(--red);margin-top:.25rem}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:30}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(--border)}.sidebar-logo{height:32px;margin-bottom:.25rem}.sidebar-subtitle{font-size:.75rem;color:var(--text-muted)}.sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:all var(--transition)}.nav-link:hover{color:var(--text);background:var(--accent-bg)}.nav-link.active{color:var(--accent);background:var(--accent-bg)}.sidebar-footer{padding:1rem .75rem;border-top:1px solid var(--border)}.main-content{flex:1;margin-left:260px;padding:2rem;max-width:calc(100vw - 260px)}.page-header{margin-bottom:2rem}.page-title{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:.25rem}.page-subtitle{font-size:.875rem;color:var(--text-secondary)}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse}th{text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-card);border-bottom:1px solid var(--border)}td{padding:.75rem 1rem;font-size:.875rem;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-card-hover)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.tab{padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition)}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .5s ease}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;gap:1rem;color:var(--text-secondary)}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:1rem}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.mobile-header{display:flex!important}}@media(min-width:769px){.mobile-header{display:none}.sidebar-overlay{display:none!important}}
