@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-round:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -1px #0000000a;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a}:root[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--glass-bg:#ffffffb3;--glass-border:#e2e8f0cc;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--border-color:#e2e8f0;--border-focus:#3b82f6;--accent-primary:#2563eb;--accent-primary-hover:#1d4ed8;--accent-secondary:#0ea5e9;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#3b82f6;--color-purple:#8b5cf6;--card-shadow:0 8px 30px #00000008}:root[data-theme=dark]{--bg-primary:#0b0f19;--bg-secondary:#131a26;--bg-tertiary:#1c2533;--glass-bg:#131a2699;--glass-border:#ffffff0f;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-tertiary:#64748b;--border-color:#ffffff14;--border-focus:#3b82f6;--accent-primary:#3b82f6;--accent-primary-hover:#2563eb;--accent-secondary:#38bdf8;--color-success:#34d399;--color-warning:#fbbf24;--color-danger:#f87171;--color-info:#60a5fa;--color-purple:#a78bfa;--card-shadow:0 8px 30px #0003}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-normal), color var(--transition-normal);min-height:100vh;overflow-x:hidden}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-round)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border var(--transition-normal);padding:24px}.glass-card:hover{box-shadow:var(--shadow-xl)}.interactive-card:hover{cursor:pointer;transform:translateY(-2px)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:24px;display:grid}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background-color:var(--accent-primary);color:#fff}.btn-primary:hover{background-color:var(--accent-primary-hover);box-shadow:0 4px 12px #3b82f64d}.btn-secondary{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border-color)}.badge{border-radius:var(--radius-round);text-transform:uppercase;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-success{color:var(--color-success);background-color:#10b9811f}.badge-warning{color:var(--color-warning);background-color:#f59eab1f}.badge-danger{color:var(--color-danger);background-color:#ef44441f}.badge-info{color:var(--color-info);background-color:#3b82f61f}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}
