@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--font-family:"Outfit", sans-serif;--bg-gradient:linear-gradient(135deg, #74ebd5 0%, #9face6 100%);--card-bg:#ffffff40;--card-border:#fff6;--text-primary:#1e293b;--text-secondary:#334155;--accent-color:#2563eb;--green:#22c55e;--light-green:#84cc16;--yellow:#eab308;--orange:#f97316;--red:#ef4444;--dark-red:#7f1d1d}body.theme-night{--bg-gradient:linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%);--card-bg:#0006;--card-border:#ffffff1a;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--accent-color:#60a5fa}body.theme-rainy{--bg-gradient:linear-gradient(135deg, #373b44 0%, #4286f4 100%);--card-bg:#ffffff26;--card-border:#fff3;--text-primary:#f8fafc;--text-secondary:#e2e8f0;--accent-color:#93c5fd}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--bg-gradient);color:var(--text-primary);background-attachment:fixed;min-height:100vh;transition:background .8s,color .3s;overflow-x:hidden}#root{flex-direction:column;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem 1rem;display:flex}.glass-panel{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:20px;padding:1.5rem;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 32px #0000001a}.glass-panel:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.text-green{color:var(--green)}.text-light-green{color:var(--light-green)}.text-yellow{color:var(--yellow)}.text-orange{color:var(--orange)}.text-red{color:var(--red)}.text-dark-red{color:var(--dark-red)}h1,h2,h3,h4{margin-bottom:.5rem;font-weight:600}p{color:var(--text-secondary)}.grid{gap:1.5rem;display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.col-span-full{grid-column:1/-1}.horizontal-scroll{scrollbar-width:thin;scrollbar-color:#ffffff4d transparent;gap:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.horizontal-scroll::-webkit-scrollbar{height:6px}.horizontal-scroll::-webkit-scrollbar-track{background:0 0}.horizontal-scroll::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:10px}.metrics-grid{border-top:1px solid var(--card-border);grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:3rem;padding-top:2rem;display:grid}@media (width>=640px){.metrics-grid{grid-template-columns:repeat(4,1fr)}}@media (width>=768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.dashboard-layout{grid-template-columns:1fr 350px;align-items:start;gap:2rem;display:grid}}input{border:1px solid var(--card-border);background:var(--card-bg);width:100%;color:var(--text-primary);font-family:var(--font-family);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50px;outline:none;padding:1rem 1.5rem;font-size:1rem;transition:all .3s}input::placeholder{color:var(--text-secondary)}input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #2563eb33}button{cursor:pointer;color:var(--text-primary);font-family:var(--font-family);background:0 0;border:none;justify-content:center;align-items:center;gap:.5rem;transition:all .2s;display:flex}.btn-primary{background:var(--accent-color);color:#fff;border-radius:50px;padding:.75rem 1.5rem;font-weight:500;box-shadow:0 4px 14px #2563eb4d}.btn-primary:hover{background:#1d4ed8;transform:translateY(-1px)}.btn-icon{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50px;padding:.75rem}.btn-icon:hover{background:#ffffff4d}.toggle-switch{background:var(--card-bg);border:1px solid var(--card-border);border-radius:30px;align-items:center;padding:.25rem;display:flex}.toggle-btn{color:var(--text-secondary);border-radius:20px;padding:.5rem 1rem;font-weight:600}.toggle-btn.active{background:var(--accent-color);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s cubic-bezier(.4,0,.2,1) forwards fadeIn}@keyframes pulse{0%{opacity:.6}50%{opacity:.3}to{opacity:.6}}.skeleton{background:var(--card-bg);border-radius:12px;animation:2s ease-in-out infinite pulse}
