/* Telas públicas (login / redefinir senha) · mesmo design system do tema Fresh */
:root{--primary:#284667;--primary-dark:color-mix(in srgb,var(--primary) 82%,#000);--accent:#16a37f;--danger:#e5484d;--warning:#e8a33d;--info:#3b82f6;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--font-display:'Sora',var(--font)}
html[data-theme="light"]{--bg:#f6f7f9;--surface:#fff;--surface-2:#f1f3f6;--border:#e3e6ec;--text:#18202f;--muted:#6a7486;--shadow:0 1px 2px rgba(16,24,40,.04),0 16px 40px rgba(16,24,40,.10);color-scheme:light}
html[data-theme="dark"]{--bg:#0c0f17;--surface:#141925;--surface-2:#1b2130;--border:rgba(255,255,255,.09);--text:#ecedf0;--muted:#98a1b3;--shadow:0 16px 50px rgba(0,0,0,.55);color-scheme:dark}

body.login-page,body.reset-page,body{font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased}
body.login-page,body.reset-page{
  display:flex;justify-content:center;align-items:center;min-height:100vh;margin:0;overflow:auto;position:relative;
  background:radial-gradient(900px 520px at 50% -10%,color-mix(in srgb,var(--primary) 20%,transparent),transparent),var(--bg) !important;
}
body.login-page::before,body.login-page::after,body.reset-page::before,body.reset-page::after{display:none !important}
.login-wrapper,.reset-wrapper{width:100%;display:flex;justify-content:center;padding:24px;box-sizing:border-box}
.login-container,.reset-container{
  width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:36px 32px;
  box-shadow:var(--shadow);text-align:center;animation:none;box-sizing:border-box;
}
.login-container img.logo,.reset-container img.logo{display:block;margin:0 auto 22px;height:72px;width:auto;max-width:220px;object-fit:contain}
html[data-theme="dark"] .login-container img.logo,html[data-theme="dark"] .reset-container img.logo{content:url("logo-branca.png")}
.login-container h1,.reset-container h1{font-family:var(--font-display);font-size:22px;letter-spacing:-.02em;color:var(--text);margin:0 0 6px}
.login-container .subtitle,.reset-container .subtitle{color:var(--muted);margin:0 0 24px;font-size:14px}
.login-container .form-group,.reset-container .form-group{text-align:left;margin-bottom:16px}
.login-container label,.reset-container label,.modal-content label{display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.input-group{position:relative}
.input-group .input-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px;pointer-events:none}
.login-container input[type=email],.login-container input[type=password],.login-container input[type=text],
.reset-container input[type=email],.reset-container input[type=password],.reset-container input[type=text],.modal-content input[type=email]{
  width:100%;box-sizing:border-box;padding:11px 12px 11px 38px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);
  font:inherit;font-size:14px;outline:none;transition:.15s;
}
.login-container input:focus,.reset-container input:focus,.modal-content input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent);background:var(--surface)}
.btn-login,.btn-reset{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border-radius:10px;border:1px solid var(--primary);
  background:var(--primary);color:#fff;font:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:.15s;box-shadow:none;text-transform:none;letter-spacing:0;
}
.btn-login:hover,.btn-reset:hover{background:var(--primary-dark);border-color:var(--primary-dark);transform:none;box-shadow:none}
.forgot-password{display:inline-block;margin-top:14px;color:var(--muted);font-size:13px;text-decoration:none}
.forgot-password:hover{color:var(--primary)}
.error-message,.success-message,.info-message{padding:12px 14px;border-radius:12px;font-size:13.5px;margin-bottom:16px;text-align:left;border:1px solid var(--border)}
.error-message{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger)}
.success-message{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent)}
.info-message{background:color-mix(in srgb,var(--info) 10%,transparent);border-color:color-mix(in srgb,var(--info) 40%,transparent);color:var(--info)}
.divider{position:relative;text-align:center;margin:22px 0;height:1px;background:var(--border)}
.divider::before{display:none}
.divider span{position:relative;top:-9px;background:var(--surface);padding:0 12px;color:var(--muted);font-size:12px}
.footer-text{color:var(--muted);font-size:13px;margin:8px 0 0;text-align:center}
.footer-text a{color:var(--primary);font-weight:600;text-decoration:none}
.footer-text a:hover{text-decoration:underline}
.password-strength{font-size:12px;margin-top:6px;color:var(--muted)}
.password-requirements{color:var(--muted) !important}

/* modal de recuperação */
.modal{display:none;position:fixed;inset:0;z-index:100;background:rgba(8,10,18,.66);backdrop-filter:blur(3px);overflow-y:auto;padding:40px 16px}
.modal-content{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:18px;max-width:440px;margin:0 auto;box-shadow:var(--shadow);overflow:hidden;animation:none}
.modal-header{padding:18px 22px;border-bottom:1px solid var(--border);background:transparent;color:var(--text);position:relative}
.modal-header h2{margin:0;font-family:var(--font-display);font-size:17px;color:var(--text)}
.modal-body{padding:20px 22px}.modal-body p{color:var(--muted);margin-top:0}
.modal-footer{padding:0 22px 22px;background:transparent;border:0}
.close{position:absolute;right:18px;top:14px;font-size:24px;color:var(--muted);cursor:pointer;line-height:1}
.close:hover{color:var(--text)}
.modal-footer .btn-login[style]{background:var(--surface-2) !important;color:var(--text);border-color:var(--border)}
@media(max-width:480px){.login-container,.reset-container{padding:28px 20px}}

/* ícone alinhado ao campo + sem zoom do iOS no celular */
.login-container .input-group input,.reset-container .input-group input,.modal-content .input-group input{margin-bottom:0}
@media(max-width:700px){
  .login-container input,.reset-container input,.modal-content input{font-size:16px;min-height:46px}
  .btn-login,.btn-reset{min-height:48px}
  .login-wrapper,.reset-wrapper{padding:16px}
  .login-container,.reset-container{padding:26px 20px;border-radius:18px}
  .forgot-password{padding:10px 6px}
}

/* experimentar.php: caixas de aceite */
.guest-check{display:flex !important;gap:10px;align-items:flex-start;text-align:left;margin:0 0 12px;font-size:13.5px !important;font-weight:400 !important;text-transform:none !important;letter-spacing:0 !important;color:var(--muted) !important;line-height:1.45}
.guest-check input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;accent-color:var(--primary)}
.guest-check a{color:var(--primary);font-weight:600}

.info-message a,.success-message a,.error-message a{color:inherit;font-weight:600;text-decoration:underline}

/* Aviso depois de errar a senha: leva direto para "esqueci minha senha" */
.forgot-hint{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:-6px 0 16px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,transparent);font-size:14px;line-height:1.4;text-align:left}
.forgot-hint span{flex:1;min-width:200px}
.btn-forgot-now{min-height:44px;padding:10px 14px;border:0;border-radius:10px;background:var(--primary,#284667);color:#fff;font:600 14px/1.2 inherit;cursor:pointer}
