@import "https://fonts.googleapis.com/css2?family=Fredoka+One&family=Nunito:wght@400;600;700;800&display=swap";:root{--pink-50:#fdf2f8;--pink-100:#fce7f3;--pink-200:#fbcfe8;--pink-300:#f9a8d4;--pink-400:#f472b6;--pink-500:#ec4899;--pink-600:#db2777;--pink-700:#be185d;--purple-50:#faf5ff;--purple-100:#f3e8ff;--purple-200:#e9d5ff;--purple-300:#d8b4fe;--purple-400:#c084fc;--purple-500:#a855f7;--purple-600:#9333ea;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--green-500:#22c55e;--amber-500:#f59e0b;--red-500:#ef4444;--font-display:"Fredoka One", cursive;--font-body:"Nunito", sans-serif;--gradient-main:linear-gradient(135deg, var(--pink-500) 0%, var(--purple-500) 100%);--gradient-soft:linear-gradient(135deg, var(--pink-50) 0%, var(--purple-50) 100%);--gradient-card:linear-gradient(145deg, #fff 0%, var(--pink-50) 100%);--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-glow:0 0 30px #ec489926;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--slate-700);background:#fff;min-height:100vh;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:var(--font-body)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.text-gradient{background:var(--gradient-main);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{border-radius:var(--radius-full);border:none;justify-content:center;align-items:center;gap:8px;padding:14px 32px;font-size:1rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-main);color:#fff;box-shadow:0 4px 15px #ec48994d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ec489966}.btn-primary:active{transform:translateY(0)}.btn-outline{color:var(--pink-600);border:2px solid var(--pink-300);background:0 0}.btn-outline:hover{background:var(--pink-50);border-color:var(--pink-500);transform:translateY(-2px)}.btn-white{color:var(--pink-600);box-shadow:var(--shadow-md);background:#fff}.btn-white:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-sm{padding:10px 24px;font-size:.875rem}.btn-lg{padding:18px 40px;font-size:1.125rem}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--slate-600);font-size:.875rem;font-weight:700}.form-input{border:2px solid var(--slate-200);border-radius:var(--radius-md);font-family:var(--font-body);color:var(--slate-800);background:#fff;outline:none;padding:14px 18px;font-size:1rem;transition:all .2s}.form-input:focus{border-color:var(--pink-400);box-shadow:0 0 0 3px #ec48991a}.form-input::placeholder{color:var(--slate-400)}.form-input.error{border-color:var(--red-500)}.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--slate-100);background:#fff;padding:32px;transition:all .3s}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.auth-page{background:var(--gradient-soft);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--pink-100);background:#fff;width:100%;max-width:460px;padding:48px 40px}.auth-card .logo{text-align:center;margin-bottom:32px}.auth-card .logo h1{color:var(--pink-600);font-size:1.75rem}.auth-card .logo p{color:var(--slate-500);margin-top:4px;font-size:.875rem}.auth-form{flex-direction:column;gap:20px;display:flex}.auth-footer{text-align:center;color:var(--slate-500);margin-top:24px;font-size:.875rem}.auth-footer a{color:var(--pink-600);font-weight:700;transition:color .2s}.auth-footer a:hover{color:var(--pink-700)}.alert{border-radius:var(--radius-md);align-items:center;gap:10px;padding:14px 18px;font-size:.875rem;font-weight:600;display:none}.alert.show{display:flex}.alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-loading{pointer-events:none;opacity:.8}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in-up{opacity:0;animation:.6s ease-out forwards fadeInUp}.animate-fade-in{opacity:0;animation:.5s ease-out forwards fadeIn}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}@media (width<=768px){.auth-card{padding:32px 24px}.container{padding:0 16px}}
