*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#000,#1a1a1a,#000);min-height:100vh;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.03) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.02) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,255,255,.01) 0%,transparent 50%),url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="kitchenPattern" width="60" height="60" patternUnits="userSpaceOnUse"><!-- Grãos de arroz --><ellipse cx="15" cy="15" rx="2" ry="4" fill="rgba(255,255,255,0.015)" transform="rotate(45 15 15)"/><ellipse cx="45" cy="25" rx="1.5" ry="3" fill="rgba(255,255,255,0.01)" transform="rotate(30 45 25)"/><ellipse cx="25" cy="45" rx="1.8" ry="3.5" fill="rgba(255,255,255,0.012)" transform="rotate(60 25 45)"/><!-- Especiarias --><circle cx="35" cy="15" r="0.8" fill="rgba(255,255,255,0.008)"/><circle cx="5" cy="35" r="0.6" fill="rgba(255,255,255,0.006)"/><circle cx="55" cy="45" r="0.7" fill="rgba(255,255,255,0.007)"/><!-- Utensílios pequenos --><rect x="10" y="5" width="1" height="8" fill="rgba(255,255,255,0.01)" transform="rotate(45 10 5)"/><rect x="50" y="10" width="0.8" height="6" fill="rgba(255,255,255,0.008)" transform="rotate(30 50 10)"/><!-- Pontos de sal --><circle cx="20" cy="30" r="0.3" fill="rgba(255,255,255,0.005)"/><circle cx="40" cy="50" r="0.4" fill="rgba(255,255,255,0.006)"/><circle cx="10" cy="55" r="0.2" fill="rgba(255,255,255,0.004)"/><circle cx="50" cy="5" r="0.3" fill="rgba(255,255,255,0.005)"/></pattern></defs><rect width="100" height="100" fill="url(%23kitchenPattern)"/></svg>');z-index:-1;animation:subtleGlow 8s ease-in-out infinite alternate}@keyframes subtleGlow{0%{opacity:.3}to{opacity:.7}}.bg-animation{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background:linear-gradient(135deg,#000,#1a1a1a)}.bg-animation:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="10" r="0.5" fill="rgba(255,255,255,0.05)"/><circle cx="10" cy="60" r="0.5" fill="rgba(255,255,255,0.05)"/><circle cx="90" cy="40" r="0.5" fill="rgba(255,255,255,0.05)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>') repeat;animation:grain 20s linear infinite}@keyframes grain{0%{transform:translate(0)}to{transform:translate(-100px,-100px)}}.floating-elements{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.floating-circle{position:absolute;border-radius:50%;background:#ffffff1a;animation:float 6s ease-in-out infinite;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border:1px solid rgba(255,255,255,.05)}.floating-circle:before{content:"";position:absolute;top:50%;left:50%;width:30%;height:30%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 70%);border-radius:50%;transform:translate(-50%,-50%);animation:innerGlow 3s ease-in-out infinite alternate}@keyframes innerGlow{0%{opacity:.3;transform:translate(-50%,-50%) scale(.8)}to{opacity:.8;transform:translate(-50%,-50%) scale(1.2)}}.floating-circle:nth-child(1){width:80px;height:80px;top:20%;left:10%;animation-delay:0s}.floating-circle:nth-child(2){width:120px;height:120px;top:60%;right:15%;animation-delay:2s}.floating-circle:nth-child(3){width:60px;height:60px;top:80%;left:20%;animation-delay:4s}.floating-circle:nth-child(4){width:100px;height:100px;top:10%;right:30%;animation-delay:1s}.floating-circle:nth-child(5){width:40px;height:40px;top:40%;left:5%;animation-delay:3s}.floating-circle:nth-child(6){width:60px;height:60px;top:70%;right:5%;animation-delay:5s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}.particles{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.particle{position:absolute;width:2px;height:2px;background:#ffffff4d;border-radius:50%;animation:particleFloat 8s linear infinite}@keyframes particleFloat{0%{transform:translateY(100vh) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100px) translate(100px);opacity:0}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 25px 50px #00000026,0 0 0 1px #ffffff1a,inset 0 1px #fff3;padding:3rem 2.5rem;width:100%;max-width:420px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.2);transform:translateY(0);transition:all .3s ease}.login-card:hover{box-shadow:0 35px 70px #0003,0 0 0 1px #ffffff26,inset 0 1px #ffffff4d}.login-card:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent 0%,rgba(0,0,0,.02) 50%,transparent 100%);border-radius:24px;opacity:0;transition:opacity .3s ease;pointer-events:none}.login-card:hover:after{opacity:1}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#000,#333,#666);border-radius:24px 24px 0 0}.logo-section{text-align:center;margin-bottom:2.5rem}.logo{width:120px;height:80px;margin:0 auto 1rem;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));transition:all .3s ease;position:relative}.logo img{width:100%;height:100%}.logo:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;background:radial-gradient(circle,rgba(0,0,0,.1) 0%,transparent 70%);border-radius:50%;opacity:0;transition:opacity .3s ease;z-index:-1}.logo:hover{transform:scale(1.05) rotate(5deg)}.logo:hover:before{opacity:1}.logo-title{font-size:2rem;font-weight:700;color:#2d3748;margin-bottom:.5rem;letter-spacing:-.025em}.logo-subtitle{font-size:.875rem;color:#718096;font-weight:500}.form-group{margin-bottom:1.5rem;position:relative}.form-label{display:block;font-size:.875rem;font-weight:600;color:#4a5568;margin-bottom:.5rem;transition:color .3s ease}.form-control{width:100%;padding:.875rem 3rem .875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;outline:none!important}.form-control.valid{border-color:#10b981!important;background:#10b9810d!important;box-shadow:0 0 0 3px #10b9811a!important}.form-control.invalid{border-color:#ef4444!important;background:#ef44440d!important;box-shadow:0 0 0 3px #ef44441a!important}.form-control:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent,rgba(0,0,0,.02),transparent);border-radius:12px;opacity:0;transition:opacity .3s ease;pointer-events:none}.form-control:focus:before{opacity:1}.form-control:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a;background:#fffffff2}.form-control::-moz-placeholder{color:#a0aec0;font-weight:400}.form-control::placeholder{color:#a0aec0;font-weight:400}.password-input-wrapper,.input-wrapper{position:relative}.validation-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;font-weight:700;transition:all .3s ease;opacity:0;pointer-events:none}.password-input-wrapper .validation-icon{right:1rem}.validation-icon.valid{background:#10b981;color:#fff;opacity:1;animation:checkBounce .5s ease-out}.validation-icon.valid:before{content:"";width:8px;height:4px;border:2px solid white;border-top:none;border-right:none;transform:rotate(-45deg);position:absolute;top:50%;left:50%;margin-top:-2px;margin-left:-4px}.validation-icon.invalid{background:#ef4444;color:#fff;opacity:1;animation:errorShake .5s ease-out}.validation-icon.invalid:before{content:"";width:12px;height:2px;background:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(45deg)}.validation-icon.invalid:after{content:"";width:12px;height:2px;background:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg)}@keyframes checkBounce{0%{transform:translateY(-50%) scale(0)}50%{transform:translateY(-50%) scale(1.2)}to{transform:translateY(-50%) scale(1)}}@keyframes errorShake{0%,to{transform:translateY(-50%) translate(0)}25%{transform:translateY(-50%) translate(-3px)}75%{transform:translateY(-50%) translate(3px)}}.login-btn{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#000,#333);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;margin-top:1rem;box-shadow:0 4px 15px #0003,inset 0 1px #ffffff1a}.login-btn:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .6s ease}.login-btn:hover:after{left:100%}.login-btn: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 .5s ease}.login-btn:hover:before{left:100%}.login-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000004d}.login-btn:active{transform:translateY(0)}.login-btn.loading{pointer-events:none;opacity:.8}.login-btn.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.remember-me{display:flex;align-items:center;margin:1rem 0}.remember-me input[type=checkbox]{width:18px;height:18px;margin-right:.5rem;accent-color:#000000}.remember-me label{font-size:.875rem;color:#4a5568;cursor:pointer}.forgot-password{text-align:right;margin-top:1rem}.forgot-password a{color:#4a5568;text-decoration:none;font-size:.875rem;transition:color .3s ease}.forgot-password a:hover{color:#000;text-decoration:underline}.back-to-login{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.1)}.back-to-login a{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;color:#4a5568;text-decoration:none;font-size:.875rem;font-weight:500;background:#00000005;border:1px solid rgba(0,0,0,.1);border-radius:10px;transition:all .3s ease;position:relative;overflow:hidden}.back-to-login a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,0,0,.05),transparent);transition:left .5s ease}.back-to-login a:hover:before{left:100%}.back-to-login a:hover{color:#000;background:#0000000d;border-color:#0003;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.back-to-login a:active{transform:translateY(0)}.back-to-login a svg{transition:transform .3s ease}.back-to-login a:hover svg{transform:translate(-3px)}.error-message{color:#e53e3e;font-size:.875rem;margin-top:.5rem;display:none}.form-control.error{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.success-animation{animation:successPulse .6s ease-out}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@media(max-width:480px){.login-card{padding:2rem 1.5rem;margin:1rem}.logo-title{font-size:1.75rem}.form-control{padding:.75rem 1rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-control:focus,.password-toggle:focus{outline:2px solid #000000;outline-offset:2px}.login-btn:focus{outline:none;box-shadow:0 4px 15px #0003,inset 0 1px #ffffff1a,0 0 0 3px #0000001a}.login-btn:active{transform:translateY(1px);box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff1a}
