:root{--login-bg-primary:gold;--login-bg-secondary:#00aeef;--login-bg-accent:#ed1c24;--login-card-bg:#fffffff2;--login-card-border:#ffd7004d;--login-text:#1a1a2e;--login-text-secondary:#666;--login-input-bg:#f8f9fa;--login-input-border:#e0e0e0;--login-input-focus:#00aeef;--login-shadow:#0000001a;--login-glass:#ffffff40}@media (prefers-color-scheme:dark){:root{--login-bg-primary:#1a1a2e;--login-bg-secondary:#16213e;--login-bg-accent:#ed1c24;--login-card-bg:#1e1e32f2;--login-card-border:#ffd7004d;--login-text:#e6e6e6;--login-text-secondary:#a0a0a0;--login-input-bg:#ffffff14;--login-input-border:#ffffff26;--login-input-focus:#00aeef;--login-shadow:#0006;--login-glass:#ffffff1a}}.login-page{background:linear-gradient(-45deg,gold,#ffec80,#00aeef,#66d9ff,#ed1c24,#ff6b6b,gold) 0 0/400% 400%;justify-content:center;align-items:center;min-height:100vh;padding:20px;animation:20s infinite gradientShift;display:flex;position:relative;overflow:hidden}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.login-page:before{content:"";pointer-events:none;background-image:radial-gradient(circle at 20% 80%,#ffffff26 0%,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff1a 0%,#0000 50%),radial-gradient(circle at 40% 40%,#ffffff14 0%,#0000 40%),radial-gradient(circle at 90% 90%,#ffffff1f 0%,#0000 40%);animation:20s ease-in-out infinite float;position:absolute;inset:0}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-20px)rotate(2deg)}66%{transform:translateY(10px)rotate(-2deg)}}.login-page:after{content:"";pointer-events:none;background-image:radial-gradient(2px 2px at 100px 100px,#fffc,#0000),radial-gradient(2px 2px at 200px 300px,#fff9,#0000),radial-gradient(2px 2px at 400px 200px,#ffffffb3,#0000),radial-gradient(2px 2px at 500px 400px,#ffffff80,#0000),radial-gradient(2px 2px at 300px 500px,#fff9,#0000),radial-gradient(2px 2px at 700px 150px,#fff6,#0000),radial-gradient(2px 2px at 600px 350px,#ffffff80,#0000),radial-gradient(3px 3px at 150px 450px,#ffffffb3,#0000),radial-gradient(2px 2px at 250px 250px,#ffffff80,#0000),radial-gradient(2px 2px at 350px 150px,#fff9,#0000);animation:8s linear infinite sparkle;position:absolute;inset:0}@keyframes sparkle{0%,to{opacity:.5}50%{opacity:1}}.login-card{background:var(--login-card-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--login-card-border);width:100%;max-width:420px;box-shadow:0 25px 50px var(--login-shadow),0 0 0 1px var(--login-glass),inset 0 1px 0 #fff3;color:var(--login-text);z-index:10;border-radius:24px;padding:45px 40px;transition:transform .3s,box-shadow .3s;animation:.6s ease-out cardAppear;position:relative}@keyframes cardAppear{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.login-card:hover{box-shadow:0 35px 60px var(--login-shadow),0 0 0 1px var(--login-glass),inset 0 1px 0 #ffffff4d;transform:translateY(-5px)}.login-brand{align-items:center;gap:16px;margin-bottom:10px;display:flex}.logo-small{background:linear-gradient(135deg,#fff,#fffde7) padding-box padding-box,linear-gradient(90deg,gold,#00aeef,#ed1c24) border-box;border:3px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;animation:4s ease-in-out infinite logoGlow;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #ffd70080}@keyframes logoGlow{0%,to{box-shadow:0 4px 15px #ffd70066}50%{box-shadow:0 4px 25px #00aeefb3}}.logo-small img{object-fit:cover;width:100%;height:100%}.login-title{color:#000;letter-spacing:-.5px;margin:0;font-size:1.85rem;font-weight:900}@media (prefers-color-scheme:dark){.login-title{color:#fff}}.login-sub{color:var(--login-text-secondary);margin-bottom:30px;font-size:.95rem;line-height:1.6}.login-form{flex-direction:column;gap:20px;display:flex}.login-label{color:var(--login-text);letter-spacing:.3px;flex-direction:column;gap:10px;font-size:.9rem;font-weight:700;display:flex}.login-input{border:2px solid var(--login-input-border);background:var(--login-input-bg);color:var(--login-text);border-radius:12px;outline:none;padding:14px 18px;font-family:inherit;font-size:1rem;font-weight:600;transition:all .3s}.login-input::placeholder{color:var(--login-text-secondary);opacity:.6}.login-input:focus{border-color:var(--login-input-focus);background:var(--login-card-bg);box-shadow:0 0 0 4px #00aeef26}.login-input:hover{border-color:var(--login-input-focus)}.login-actions{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.login-actions .btn{cursor:pointer;border:none;border-radius:12px;flex:1;min-width:130px;padding:14px 20px;font-size:.95rem;font-weight:800;transition:all .3s}.login-actions .btn-primary{color:#000;background:gold;border:2px solid gold;font-weight:900;box-shadow:0 4px 15px #ffd70099}.login-actions .btn-primary:hover{background:#ffed4e;border-color:#ffed4e;transform:translateY(-2px);box-shadow:0 6px 25px #ffd700cc}.login-actions .btn-primary:active{transform:translateY(0)}.login-actions .btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-actions .btn-ghost{color:var(--login-text-secondary);border:2px solid var(--login-input-border);background:0 0}.login-actions .btn-ghost:hover{background:var(--login-input-bg);color:var(--login-text);border-color:var(--login-input-focus)}.login-error{color:#f5576c;text-align:center;background:#f5576c1a;border:2px solid #f5576c4d;border-radius:12px;margin-top:5px;padding:14px 18px;font-weight:700;animation:.5s shakeError}@keyframes shakeError{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@media (prefers-color-scheme:dark){.login-page{background:linear-gradient(-45deg,#1a1a2e,#2d1f1f,#1a2a3a,#2d2d1a,#1a1a2e) 0 0/400% 400%}.login-page:before{background-image:radial-gradient(circle at 20% 80%,#ffd70026 0%,#0000 50%),radial-gradient(circle at 80% 20%,#00aeef1f 0%,#0000 50%),radial-gradient(circle at 40% 40%,#ed1c2414 0%,#0000 40%),radial-gradient(circle at 90% 90%,#ffd7001a 0%,#0000 40%)}.login-page:after{background-image:radial-gradient(2px 2px at 100px 100px,#ffd700cc,#0000),radial-gradient(2px 2px at 200px 300px,#00aeef99,#0000),radial-gradient(2px 2px at 400px 200px,#ed1c24b3,#0000),radial-gradient(2px 2px at 500px 400px,#ffd70080,#0000),radial-gradient(2px 2px at 300px 500px,#00aeef99,#0000),radial-gradient(2px 2px at 700px 150px,#ed1c2466,#0000),radial-gradient(2px 2px at 600px 350px,#ffd70080,#0000),radial-gradient(3px 3px at 150px 450px,#00aeef66,#0000),radial-gradient(2px 2px at 250px 250px,#ed1c2480,#0000),radial-gradient(2px 2px at 350px 150px,#ffd70099,#0000)}.logo-small{background:linear-gradient(135deg,#1a1a2e,#16213e) padding-box padding-box,linear-gradient(135deg,gold,#00aeef,#ed1c24) border-box}.login-actions .btn-ghost{color:var(--login-text-secondary)}}@media (max-width:480px){.login-card{border-radius:20px;margin:10px;padding:35px 25px}.login-title{font-size:1.5rem}.logo-small{width:54px;height:54px}.login-actions{flex-direction:column}.login-actions .btn{width:100%}.login-input{padding:12px 16px}}.login-actions .btn-primary:disabled:after{content:"";border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin-left:8px;animation:.8s linear infinite buttonSpin;display:inline-block}@keyframes buttonSpin{to{transform:rotate(360deg)}}
