*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background:linear-gradient(135deg,#115879,#000);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow-x:hidden}body:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(252,212,10,.1) 0%,transparent 70%);top:-150px;right:-150px;animation:float 6s ease-in-out infinite}body:after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(17,88,121,.1) 0%,transparent 70%);bottom:-100px;left:-100px;animation:float 8s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}.auth-container{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:3.5rem 3rem;border-radius:24px;width:100%;max-width:450px;box-shadow:0 25px 50px #0006,0 15px 30px #1158794d,inset 0 1px #ffffff80;text-align:center;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.2);animation:slideUp .8s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-container:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#fcd40a,#115879,#fcd40a);background-size:200% 100%;animation:gradientShift 3s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.logo{font-size:3rem;margin-bottom:1rem;color:#115879;text-shadow:0 2px 4px rgba(17,88,121,.2);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.auth-container h2{color:#115879;font-size:2.2rem;font-weight:800;margin-bottom:.5rem;letter-spacing:-.025em;text-shadow:0 1px 2px rgba(17,88,121,.1)}.subtitle{color:#666;font-size:1.1rem;margin-bottom:2.5rem;font-weight:400;opacity:.9}.form-group{margin-bottom:2rem;text-align:left;position:relative}.form-group label{display:block;margin-bottom:.75rem;color:#115879;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.input-wrapper{position:relative}.auth-container input{width:100%;padding:1.25rem 1.5rem;border:2px solid #e1e5e9;border-radius:16px;font-size:1.05rem;font-family:inherit;font-weight:500;transition:all .4s cubic-bezier(.4,0,.2,1);background:#ffffffe6;box-shadow:inset 0 2px 4px #0000000d}.auth-container input:focus{outline:none;border-color:#fcd40a;box-shadow:0 0 0 4px #fcd40a26,inset 0 2px 4px #0000000d,0 4px 12px #fcd40a33;transform:translateY(-2px);background:#fff}.auth-container input::placeholder{color:#9ca3af;font-weight:400}.password-wrapper{position:relative}.toggle-password{position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);cursor:pointer;font-size:1.3rem;color:#115879;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;padding:8px;border-radius:8px}.toggle-password:hover{color:#fcd40a;transform:translateY(-50%) scale(1.15);background:#fcd40a1a}.auth-container button{width:100%;background:linear-gradient(135deg,#fcd40a,#f0c107);border:none;padding:1.25rem 2rem;border-radius:16px;font-size:1.15rem;font-weight:700;color:#115879;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:1px;margin-top:1.5rem;position:relative;overflow:hidden;box-shadow:0 4px 15px #fcd40a4d,0 2px 5px #0000001a}.auth-container button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s cubic-bezier(.4,0,.2,1)}.auth-container button:hover:before{left:100%}.auth-container button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #fcd40a66,0 4px 10px #0000001a;background:linear-gradient(135deg,#fcd40a,#e6b800)}.auth-container button:active{transform:translateY(-1px)}.auth-links{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(225,229,233,.5);position:relative}.auth-links:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:50px;height:2px;background:linear-gradient(90deg,#115879,#fcd40a);border-radius:1px}.auth-links p{color:#666;font-size:1rem;font-weight:500}.auth-links a{color:#115879;text-decoration:none;font-weight:700;transition:all .3s ease;position:relative}.auth-links a:after{content:"";position:absolute;width:0;height:2px;bottom:-2px;left:0;background:#fcd40a;transition:width .3s ease}.auth-links a:hover{color:#fcd40a}.auth-links a:hover:after{width:100%}.loading{opacity:.8;pointer-events:none}.loading button{background:linear-gradient(135deg,#ccc,#999);cursor:not-allowed;transform:none}@media(max-width:480px){.auth-container{padding:2.5rem 2rem;margin:1rem;border-radius:20px}.auth-container h2{font-size:1.9rem}.logo{font-size:2.5rem}.auth-container input{padding:1.1rem 1.25rem;font-size:1rem}.auth-container button{padding:1.1rem 1.75rem;font-size:1.05rem}}.error-message{background:linear-gradient(135deg,#fee,#fef2f2);color:#c53030;padding:1rem 1.25rem;border-radius:12px;margin-bottom:1.5rem;font-size:.95rem;font-weight:500;border:1px solid #fed7d7;box-shadow:0 2px 8px #c530301a;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.success-message{background:linear-gradient(135deg,#f0fff4,#ecfdf5);color:#2f855a;padding:1rem 1.25rem;border-radius:12px;margin-bottom:1.5rem;font-size:.95rem;font-weight:500;border:1px solid #c6f6d5;box-shadow:0 2px 8px #2f855a1a;animation:slideDown .5s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
