:root{--font-brand:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Inter", -apple-system, BlinkMacSystemFont, monospace;--bg:#0b0f19;--bg-deep:#070a11;--surface-low:#111827;--surface:#171b26;--surface-card:#1c1f2a;--surface-high:#262a35;--surface-highest:#313540;--text-primary:#dfe2f1;--text-secondary:#94a3b8;--text-muted:#64748b;--primary:#4edea3;--primary-container:#10b981;--primary-on:#003824;--primary-glow:#10b98140;--secondary:#c0c1ff;--secondary-container:#6366f1;--secondary-glow:#6366f140;--tertiary:#ffb95f;--tertiary-container:#e29100;--tertiary-glow:#f59e0b40;--quaternary:#a855f7;--danger:#ffb4ab;--danger-container:#93000a;--border:#ffffff14;--border-subtle:#ffffff0a;--border-focus:#4edea380;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 16px 40px #0009;--glass-header:#0f131dd9}[data-theme=light]{--bg:#f8f9ff;--bg-deep:#f1f4fc;--surface-low:#fff;--surface:#f1f5f9;--surface-card:#fff;--surface-high:#e2e8f0;--surface-highest:#cbd5e1;--text-primary:#0b1c30;--text-secondary:#475569;--text-muted:#64748b;--primary:#00874a;--primary-container:#10b981;--primary-on:#fff;--primary-glow:#10b98126;--secondary:#4f46e5;--secondary-container:#6366f1;--secondary-glow:#4f46e526;--tertiary:#b45309;--tertiary-container:#f59e0b;--tertiary-glow:#d9770626;--quaternary:#9333ea;--danger:#dc2626;--danger-container:#fee2e2;--border:#e2e8f0;--border-subtle:#f1f5f9;--border-focus:#00874a66;--shadow-sm:0 1px 3px #0f172a0d;--shadow-md:0 4px 16px #0f172a14;--shadow-lg:0 12px 32px #0f172a1f;--glass-header:#ffffffe6}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}body{background-color:var(--bg);color:var(--text-primary);font-family:var(--font-brand);min-height:100vh;line-height:1.5;transition:background-color .25s,color .25s;overflow-x:hidden}.tnum,.metric-value,.currency,[data-tabular]{font-family:var(--font-mono);font-feature-settings:"tnum" 1, "zero" 1}.app-container{width:100%;min-height:100vh;display:flex}.sidebar{background-color:var(--surface-low);border-right:1px solid var(--border);z-index:40;flex-direction:column;flex-shrink:0;width:270px;height:100vh;padding:24px 16px;transition:all .25s;display:flex;position:sticky;top:0}.brand-section{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:20px;padding:8px 12px 24px;display:flex}.brand-logo-img{width:38px;height:38px;box-shadow:0 0 16px var(--primary-glow);border-radius:10px}.brand-info h2{letter-spacing:-.01em;color:var(--text-primary);font-size:17px;font-weight:700}.brand-info span{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);font-size:11px;font-weight:600}.nav-links{flex-direction:column;flex:1;gap:6px;display:flex;overflow-y:auto}.nav-btn{color:var(--text-secondary);font-family:var(--font-brand);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;width:100%;padding:11px 14px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.nav-btn:hover{background:var(--surface);color:var(--text-primary)}.nav-btn.active{background:var(--surface-card);color:var(--primary);border-color:#4edea340;font-weight:600;box-shadow:0 4px 12px #00000026}.nav-badge{color:var(--primary);background:#10b98126;border-radius:9999px;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:600}.nav-badge.amber{color:var(--tertiary);background:#f59e0b26}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding-top:16px;display:flex}.profile-card{background:var(--surface);border-radius:12px;align-items:center;gap:12px;padding:8px 10px;display:flex}.profile-avatar{object-fit:cover;border:1.5px solid var(--primary);border-radius:50%;width:36px;height:36px}.profile-details h4{color:var(--text-primary);font-size:13px;font-weight:600}.profile-details p{color:var(--text-secondary);font-size:11px}.main-wrapper{flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.top-bar{border-bottom:1px solid var(--border);background:var(--glass-header);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30;justify-content:space-between;align-items:center;height:68px;padding:0 32px;display:flex;position:sticky;top:0}.top-bar-left{align-items:center;gap:16px;display:flex}.page-title{letter-spacing:-.015em;color:var(--text-primary);font-size:20px;font-weight:700}.sync-pill{color:var(--primary);background:#10b9811f;border:1px solid #10b98140;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.sync-dot{background-color:var(--primary);border-radius:50%;width:6px;height:6px;animation:2s infinite pulseGlow}@keyframes pulseGlow{0%{transform:scale(.95);box-shadow:0 0 #4edea3b3}70%{transform:scale(1.1);box-shadow:0 0 0 6px #4edea300}to{transform:scale(.95);box-shadow:0 0 #4edea300}}.top-bar-right{align-items:center;gap:12px;display:flex}.icon-btn{background:var(--surface);border:1px solid var(--border);width:38px;height:38px;color:var(--text-primary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;transition:all .15s;display:flex}.icon-btn:hover{background:var(--surface-high);border-color:var(--border-focus)}.content-area{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:32px}.card{background:var(--surface-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:18px;padding:24px;transition:border-color .2s,transform .2s}.card:hover{border-color:#ffffff24}.card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-header h3{letter-spacing:-.01em;color:var(--text-primary);font-size:16px;font-weight:600}.card-header .subtitle{color:var(--text-secondary);font-size:13px}.stat-group{flex-direction:column;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:4px;font-size:12px;font-weight:600}.stat-value{letter-spacing:-.02em;color:var(--text-primary);font-size:28px;font-weight:700;font-family:var(--font-mono)}.stat-value.large{font-size:36px}.stat-value.emerald{color:var(--primary)}.stat-value.indigo{color:var(--secondary)}.stat-value.amber{color:var(--tertiary)}.stat-delta{font-size:12px;font-weight:600;font-family:var(--font-mono);align-items:center;gap:4px;margin-top:4px;display:inline-flex}.stat-delta.positive{color:var(--primary)}.stat-delta.negative{color:var(--danger)}.btn{font-family:var(--font-brand);cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background:var(--primary-container);color:#042f1a;box-shadow:0 4px 16px var(--primary-glow)}.btn-primary:hover{background:#34d399;transform:translateY(-1px)}.btn-secondary{background:var(--surface-high);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{background:var(--surface-highest)}.btn-outline{border-color:var(--border);color:var(--text-primary);background:0 0}.btn-outline:hover{background:var(--surface);border-color:var(--primary)}.modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#0b0f19bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface-low);border:1px solid var(--border);width:100%;max-width:540px;box-shadow:var(--shadow-lg);border-radius:20px;padding:28px;animation:.2s cubic-bezier(.16,1,.3,1) modalEnter}@keyframes modalEnter{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.mobile-nav{background:var(--surface-low);border-top:1px solid var(--border);z-index:50;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px)) 12px;display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=900px){.sidebar{display:none}.mobile-nav{justify-content:space-around;display:flex}.content-area{padding:20px 16px 88px}.top-bar{padding:0 16px}}.version-update-banner{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40;background:linear-gradient(135deg,#171b26fa,#0f131dfa);border:1px solid #4edea359;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:14px 20px;display:flex;position:relative;box-shadow:0 10px 30px -10px #0009,0 0 20px #4edea31f}[data-theme=light] .version-update-banner{background:linear-gradient(135deg,#fff,#f0fdf4);border:1px solid #05966959;box-shadow:0 10px 25px -5px #05966926}.update-banner-content{flex:1;align-items:center;gap:14px;display:flex}.update-icon-wrapper{color:#4edea3;background:#4edea326;border:1px solid #4edea34d;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}[data-theme=light] .update-icon-wrapper{color:#059669;background:#0596691f;border-color:#05966940}.update-text-group{flex-direction:column;gap:3px;display:flex}.update-title-row{align-items:center;gap:8px;display:flex}.update-badge{letter-spacing:.08em;color:#4edea3;text-transform:uppercase;background:#4edea333;border:1px solid #4edea34d;border-radius:6px;padding:2px 7px;font-size:.65rem;font-weight:700}[data-theme=light] .update-badge{color:#059669;background:#05966926;border-color:#0596694d}.update-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.update-description{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.4}.update-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.btn-update-refresh{color:#0b130e;cursor:pointer;background:linear-gradient(135deg,#4edea3,#22c55e);border:none;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #4edea34d}.btn-update-refresh:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #4edea373}.btn-update-refresh:disabled{opacity:.7;cursor:wait}.btn-update-dismiss{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.btn-update-dismiss:hover{background:var(--surface-card);color:var(--text-primary);border-color:var(--text-muted)}.spin-icon{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-slide-down{animation:.35s cubic-bezier(.16,1,.3,1) slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
