﻿@font-face{font-family:LoginRoboto;src:url('/login-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:LoginRoboto;src:url('/login-bold.woff2') format('woff2');font-weight:700 900;font-display:swap}
/* Exclusivo do acesso. Autenticação, recuperação e painel mantêm seus controles e estilos existentes. */
body:has(#login:not(.hidden)){margin:0;min-height:100svh;display:flex;padding:24px 16px;background:#030a18;isolation:isolate}
body:has(#login:not(.hidden))>.top{display:none}
body:has(#login:not(.hidden))::before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#02061126,#00123a1a),url('/login-restaurant-reference.png') center/cover no-repeat}
#login:not(.hidden){position:relative;display:grid;grid-template-columns:minmax(0,440fr) minmax(0,412fr);gap:28px;align-items:center;width:min(936px,100%);max-width:none;min-height:572px;margin:auto;padding:28px 22px 28px 34px;border:1.5px solid #00aaff;border-radius:23px;background:linear-gradient(110deg,#020c1d80,#00142cc7);box-shadow:0 0 2px #4acaff,inset 0 0 35px #006eff20,0 10px 24px #0007;backdrop-filter:blur(3px);font-family:LoginRoboto,'Segoe UI',sans-serif;text-align:center}
#login .login-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}
#login .login-logo{display:block;width:min(100%,390px);height:auto;object-fit:contain}
#login .login-tag{margin:14px 0 24px;color:#14d7ff;font-family:'Segoe UI',sans-serif;font-size:19px;line-height:1.3;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
#login .login-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;width:100%;margin:0;padding:0;list-style:none}
#login .login-features li{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:110px;padding:10px 2px 8px;border:1px solid #008fff;border-radius:14px;background:linear-gradient(130deg,#001630b3,#000918d9);box-shadow:inset 0 0 12px #0066ff18}
#login .login-features svg{width:36px;height:36px;margin-bottom:8px;fill:none;stroke:#00bbff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #007aff66)}
#login .login-features b{color:#fff;font-size:16px;font-weight:700;line-height:1.25}
#login .login-features span{margin-top:4px;color:#f0f6ff;font-size:14px;line-height:1.25}
#login .login-form-wrap{min-width:0;min-height:500px;padding:30px 24px 22px;border:1px solid #8cbded;border-right-color:#1166b0;border-bottom-color:#1166b0;border-radius:18px;background:linear-gradient(130deg,#040c19c9,#001b39bf);box-shadow:inset 0 0 30px #004d9912}
#login .login-lock{display:grid;place-items:center;width:58px;height:62px;margin:0 auto 12px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#00b6ff;filter:drop-shadow(0 3px 2px #001542)}
#login .login-lock svg{width:54px;height:58px;stroke-width:2.2}
#login h1{margin:0;color:#fff;font-size:29px;font-weight:700;line-height:1.2;letter-spacing:0;text-transform:none}
#login .login-product{margin:4px 0 18px;color:#95dcff;font-size:18px;line-height:1.3}
#login form{margin:0;max-width:none;background:none;border:0;padding:0}
#login .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#loginForm{display:grid;gap:13px}
#loginForm label.future-user,#loginForm label.future-password{position:relative;display:block;margin:0}
#loginForm .fi{position:absolute;left:14px;top:14px;width:26px;height:26px;fill:none;stroke:#b7dcff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
#loginForm .future-user input,#loginForm .future-password input{display:block;width:100%;height:55px;margin:0;padding:0 48px 0 61px;border:1px solid #7faedc;border-radius:12px;background:linear-gradient(100deg,#04101cb3,#06182b99);box-shadow:inset 0 0 8px #0005;color:#fff;font-family:inherit;font-size:21px}
#loginForm .future-password input{letter-spacing:.12em}
#loginForm #toggleLoginPin{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:38px;height:38px;min-height:0;margin:0;padding:6px;border:0;background:transparent;color:#a7d9ff;box-shadow:none}
#toggleLoginPin svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#loginForm label.future-remember{display:flex;align-items:center;gap:10px;margin:0 5px;color:#c9eaff;font-size:18px;line-height:30px}
#loginForm .future-remember input{width:27px;height:27px;min-height:0;margin:0;accent-color:#00b6ee}
#loginForm button.future-submit{position:relative;height:62px;margin:0;border:1px solid #00d4ff;border-radius:15px;background:linear-gradient(170deg,#009dff,#0060ff 70%);box-shadow:0 0 15px #007bff9c,inset 0 1px 4px #68eaff;color:#fff;font-family:inherit;font-size:24px;font-weight:700}
#loginForm button.future-submit::after{content:'→';position:absolute;right:22px;top:50%;transform:translateY(-53%);font-family:system-ui;font-size:32px;font-weight:400}
#loginForm #forgotBtn{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;min-height:26px;margin:9px 0 0;padding:7px 10px;background:transparent;border:0;box-shadow:none;color:#9bdbff;font-family:inherit;font-size:14px;font-weight:400;letter-spacing:0;white-space:nowrap}
#loginForm #forgotBtn::before,#loginForm #forgotBtn::after{content:'';flex:1;height:1px;background:#6cadd3}
#loginForm #loginError{margin:0;text-align:center;color:#ffb2b2;font-size:15px}
#loginForm #loginError:empty{display:none}
#loginForm .pin-dots,#loginForm .keypad{display:none!important}
#login .login-foot{display:none}
#login :is(input,button):focus-visible{outline:2px solid #55ddff;outline-offset:3px}
#login :is(#recoveryForm,#pinSetupForm){text-align:left}
#login .login-form-wrap:has(#recoveryForm:not(.hidden)),#login .login-form-wrap:has(#pinSetupForm:not(.hidden)){height:auto}
@media(max-width:700px){
body:has(#login:not(.hidden)){padding:16px 12px}
#login:not(.hidden){grid-template-columns:minmax(0,1fr);gap:22px;width:min(450px,100%);min-height:0;padding:22px 18px;border-radius:20px}
#login .login-logo{width:220px;max-width:85%}
#login .login-tag{font-size:13px;margin:9px 0 16px}
#login .login-features{gap:6px}#login .login-features li{min-height:82px;border-radius:10px;padding:8px 2px}#login .login-features svg{width:27px;height:27px;margin-bottom:5px}#login .login-features b{font-size:13px}#login .login-features span{font-size:11px}
#login .login-form-wrap{min-height:0;padding:21px 17px 15px}#login .login-lock{width:42px;height:44px;margin-bottom:8px}#login .login-lock svg{width:38px;height:42px}#login h1{font-size:26px}#login .login-product{font-size:16px;margin-bottom:16px}
#loginForm .future-user input,#loginForm .future-password input{height:49px;font-size:19px;padding-left:51px}#loginForm .fi{top:12px;width:24px;height:24px}#loginForm #toggleLoginPin{top:5px}#loginForm label.future-remember{font-size:16px;line-height:25px}#loginForm .future-remember input{width:23px;height:23px}#loginForm button.future-submit{height:54px;font-size:21px}#loginForm #forgotBtn{font-size:13px;margin-top:3px;gap:12px}
}
@media(min-width:701px) and (max-width:1000px){#login:not(.hidden){gap:20px;padding:24px}#login .login-tag{font-size:16px}#login .login-features b{font-size:14px}#login .login-features span{font-size:12px}#login .login-form-wrap{padding-left:20px;padding-right:20px}}

#loginForm button.future-submit{letter-spacing:0}
/* Ajuste fino da referência: borda neon luminosa e ícones sólidos dos cards */
#login:not(.hidden){border:2px solid #1c9dff;box-shadow:0 0 4px #39b8ff,0 0 16px #0a7bffa6,0 0 38px #0057ff40,inset 0 0 30px #006eff2b,0 14px 30px #0008}
#login .login-features li{border-color:#1585f0;box-shadow:inset 0 0 14px #0066ff22,0 0 6px #0070ff38}
#login .login-features svg{stroke-width:2.4}
#login .login-features svg.solid{fill:#1aa6ff;stroke:none}
#login .login-form-wrap{border-color:#5f8fcb #1a5fa6 #1a5fa6 #5f8fcb}
@media(max-width:700px){#login .login-features b{font-size:clamp(10.5px,3.1vw,13px)}#login .login-features span{font-size:clamp(9.5px,2.7vw,11px)}}
