:root{--bg-primary: #080c14;--bg-surface: #0f172a;--bg-surface-elevated: #162032;--bg-glass: rgba(15, 23, 42, .75);--border-subtle: rgba(255, 255, 255, .08);--border-hover: rgba(56, 189, 248, .35);--border-active: #38bdf8;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-cyan: #06b6d4;--accent-blue: #38bdf8;--accent-emerald: #10b981;--accent-amber: #f59e0b;--accent-rose: #f43f5e;--accent-purple: #8b5cf6;--font-heading: "Outfit", sans-serif;--font-sans: "Plus Jakarta Sans", sans-serif;--font-mono: "JetBrains Mono", monospace;--shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, .37);--shadow-glow: 0 0 25px -5px rgba(56, 189, 248, .25)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15% 15%,rgba(6,182,212,.08) 0%,transparent 40%),radial-gradient(circle at 85% 85%,rgba(139,92,246,.07) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(16,185,129,.04) 0%,transparent 60%);background-attachment:fixed;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#273549;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#38bdf8}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:var(--shadow-glass)}.glass-panel-elevated{background:var(--bg-surface-elevated);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:var(--shadow-glass)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700}.gradient-text{background:linear-gradient(135deg,#38bdf8,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.gradient-text-emerald{background:linear-gradient(135deg,#34d399,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-new{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.35);animation:pulse-glow 2s infinite ease-in-out}.badge-rebalance{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.35)}.badge-category{background:#38bdf81f;color:#7dd3fc;border:1px solid rgba(56,189,248,.25)}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #10b9814d}50%{box-shadow:0 0 16px #10b98199}}.btn-primary{background:linear-gradient(135deg,#0284c7,#2563eb);color:#fff;border:1px solid rgba(255,255,255,.15);padding:8px 16px;border-radius:10px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease;box-shadow:0 4px 14px #2563eb4d}.btn-primary:hover{background:linear-gradient(135deg,#0369a1,#1d4ed8);transform:translateY(-1px);box-shadow:0 6px 20px #2563eb73}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:#ffffff0d;color:var(--text-primary);border:1px solid var(--border-subtle);padding:8px 16px;border-radius:10px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content{background:var(--bg-surface);border:1px solid rgba(255,255,255,.12);border-radius:20px;max-width:680px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #000000b3;animation:modal-enter .25s cubic-bezier(.16,1,.3,1)}@keyframes modal-enter{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.input-field{width:100%;background:#0f172a99;border:1px solid var(--border-subtle);border-radius:10px;padding:10px 14px;color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;transition:all .2s ease}.input-field:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf833}
