*{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#05564f,#0a8a7d,#0f9d8e);min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}body:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 20% 80%,rgba(15,157,142,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(5,86,79,.4) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(10,138,125,.2) 0%,transparent 50%);animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.card-login{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;box-shadow:0 25px 50px #00000026,0 0 0 1px #ffffff1a,inset 0 1px #fff9;animation:slideInUp 1s cubic-bezier(.16,1,.3,1);position:relative;z-index:10;transition:all .3s cubic-bezier(.16,1,.3,1)}.card-login:hover{transform:translateY(-5px);box-shadow:0 35px 70px #0003,0 0 0 1px #ffffff26,inset 0 1px #ffffffb3}.card-login h2{font-weight:700;color:#05564f;font-size:1.75rem;line-height:1.3;margin-bottom:2rem;text-align:center;background:linear-gradient(135deg,#05564f,#0a8a7d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInDown .8s cubic-bezier(.16,1,.3,1) .2s both}.form-label{font-weight:600;color:#2d3748;font-size:.875rem;margin-bottom:.5rem;letter-spacing:.025em;animation:fadeInLeft .6s cubic-bezier(.16,1,.3,1) .4s both}.input-group{position:relative;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) .5s both}.input-group-text{background:linear-gradient(135deg,#e6f4f1,#f0f9f7);border:2px solid #e2e8f0;border-right:none;color:#05564f;border-radius:12px 0 0 12px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:center}.form-control.input-custom{border:2px solid #e2e8f0;border-left:none;border-radius:0 12px 12px 0;padding:.875rem 1rem;font-size:1rem;font-weight:500;transition:all .3s cubic-bezier(.16,1,.3,1);background:#fffc}.form-control.input-custom:focus{border-color:#05564f;box-shadow:0 0 0 4px #05564f1a,0 4px 12px #05564f26;background:#fff;transform:translateY(-1px)}.form-control.input-custom:focus+.input-group-text,.input-group:focus-within .input-group-text{border-color:#05564f;background:linear-gradient(135deg,#05564f,#0a8a7d);color:#fff;transform:translateY(-1px)}.password-toggle{background:linear-gradient(135deg,#e6f4f1,#f0f9f7);border:2px solid #e2e8f0;border-left:none;border-radius:0 12px 12px 0;color:#05564f;transition:all .3s cubic-bezier(.16,1,.3,1);cursor:pointer;position:relative;overflow:hidden}.password-toggle:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s}.password-toggle:hover:before{left:100%}.password-toggle:hover{background:linear-gradient(135deg,#05564f,#0a8a7d);color:#fff;transform:translateY(-1px)}.password-toggle:active{transform:translateY(0) scale(.98)}.btn-primary-custom{background:linear-gradient(135deg,#05564f,#0a8a7d);border:none;border-radius:16px;padding:1rem 2rem;font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:.025em;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.16,1,.3,1);animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) .8s both}.btn-primary-custom:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s}.btn-primary-custom:hover:before{left:100%}.btn-primary-custom:hover{background:linear-gradient(135deg,#07776b,#0c9d8f);transform:translateY(-3px) scale(1.02);box-shadow:0 15px 35px #05564f66,0 5px 15px #0000001a}.btn-primary-custom:active{transform:translateY(-1px) scale(1.01);transition:all .1s}.form-check{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) .7s both}.form-check-input{width:1.25rem;height:1.25rem;border:2px solid #cbd5e0;border-radius:6px;transition:all .3s cubic-bezier(.16,1,.3,1)}.form-check-input:checked{background:linear-gradient(135deg,#05564f,#0a8a7d);border-color:#05564f;transform:scale(1.1)}.form-check-label{font-weight:500;color:#4a5568;margin-left:.5rem;cursor:pointer;transition:color .3s ease}.form-check-label:hover{color:#05564f}.alert-danger{border-radius:12px;background:linear-gradient(135deg,#fed7d7,#feb2b2);color:#c53030;font-weight:600;border:2px solid #fc8181;animation:shake .5s ease-in-out,fadeInDown .6s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.alert-danger:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#c53030,#e53e3e,#c53030);animation:shimmer 2s infinite}@keyframes slideInUp{0%{transform:translateY(100px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes fadeInDown{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInLeft{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(max-width:768px){.card-login{margin:1rem;border-radius:20px}.card-login h2{font-size:1.5rem}}.btn-primary-custom:focus,.form-control:focus,.password-toggle:focus{outline:2px solid #05564f;outline-offset:2px}
