/* Alumia 2.1 — Entrada obrigatória, sem mostrar o painel antes da autenticação */
body.auth-pending .app-shell, body.auth-pending .mobile-nav,
body.auth-required .app-shell, body.auth-required .mobile-nav { display:none !important; }
body.auth-signedin #authGate { display:none !important; }
.auth-gate { min-height:100vh; min-height:100dvh; width:100%; display:grid; place-items:center; position:relative; overflow:hidden; background: #0e0d0c; color:#f8f0e4; }
.auth-background-light { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 55% 55% at 50% 4%,rgba(189,139,66,.13),transparent 75%),radial-gradient(ellipse 40% 40% at 92% 90%,rgba(198,164,99,.035),transparent); }
.auth-shell { position:relative; width:min(100%,1100px); min-height:100vh; min-height:100dvh; padding:32px 52px; display:flex; flex-direction:column; }
.auth-brand { display:flex; align-items:center; gap:12px; font-family:Georgia,serif; font-size:21px; letter-spacing:3.5px; font-weight:bold; color:#fff6e6; }
.auth-brand img { width:45px; height:45px; }
.auth-content { width:min(100%,480px); margin:auto; padding:52px 0 58px; }
.auth-sun { display:block; width:100px; height:60px; object-fit:contain; margin-bottom:8px; }
.auth-eyebrow { color:#d1a964; letter-spacing:3px; font-size:10px; font-weight:700; margin:17px 0 16px; }
.auth-content h1 { margin:0; color:#fbf3e7; font:normal clamp(37px,5vw,58px)/1.13 Georgia,serif; letter-spacing:-1px; }
.auth-content h1 em { font-style:normal; color:#dfc28b; }
.auth-content > p { color:#bdb09e; line-height:1.65; font-size:14px; margin:20px 0 31px; max-width:420px; }
.auth-card { border:1px solid #5c482c; background:linear-gradient(160deg,#1e1b17,#171512); box-shadow:0 20px 65px rgba(0,0,0,.4); border-radius:16px; padding:29px; }
.auth-card h2 { color:#f7eddf; font:normal 25px/1.2 Georgia,serif; margin:0 0 10px; }
.auth-card p { color:#ad9e8a; font-size:13px; line-height:1.55; margin:0 0 22px; }
.auth-card label { display:block; color:#e9d4b5; font-size:12px; font-weight:600; margin-bottom:9px; }
.auth-card input { width:100%; box-sizing:border-box; border:1px solid #59462f; border-radius:9px; padding:14px 13px; color:#fff4df; background:#29231c; font:14px system-ui,sans-serif; min-height:48px; }
.auth-card input:focus { outline:2px solid #d4b575; outline-offset:1px; }
.auth-card button { width:100%; min-height:49px; margin-top:15px; background:linear-gradient(110deg,#e9cb8e,#bc8c42); border:0; border-radius:9px; color:#221609; font-weight:700; cursor:pointer; }
.auth-card button:disabled { opacity:.58; cursor:wait; }
.auth-card button.auth-reset { color:#ead6b2; background:#29231c; border:1px solid #57442b; }
.auth-note { display:block; color:#9d8f7f; font-size:11px; line-height:1.5; margin-top:18px; }
.auth-message { border:1px solid #5b5135; color:#eddaa9; background:#302919; padding:12px; border-radius:9px; margin-bottom:14px; font-size:12px; line-height:1.5; }
.auth-error { border-color:#9a5346; background:#34221f; color:#ffbdaf; }
.auth-loading { text-align:center; padding:34px 6px; color:#ddc59d; font-size:13px; }
.auth-footer { border-top:1px solid #4b3b27; margin-top:35px; padding-top:18px; display:flex; justify-content:space-between; color:#8f7855; font-size:9px; letter-spacing:1.2px; }
@media(max-width:680px) { .auth-shell { padding:22px 24px; min-height:100dvh; } .auth-brand { font-size:18px; } .auth-brand img{width:37px;height:37px} .auth-content {padding:38px 0 55px;} .auth-sun{width:80px;height:47px} .auth-content h1{font-size:40px} .auth-card{padding:23px} .auth-content>p{font-size:13px} }

/* Login direto por senha */
.auth-field-gap { margin-top:15px; }
.auth-links { display:flex; align-items:center; gap:14px; justify-content:space-between; margin-top:17px; }
.auth-links span { font-size:12px; color:#a89a87; }
.auth-card .auth-links button { width:auto; margin:0; padding:0; min-height:auto; border:0; border-radius:0; background:transparent; color:#e1c389; font-size:12px; font-weight:600; text-decoration:underline; text-decoration-color:#826b44; }
.auth-card .auth-links button:hover { color:#fff0cf; }
.auth-password-wrap { position:relative; }
.auth-password-wrap input { padding-right:83px; }
.auth-card .auth-password-wrap button.auth-show-password { position:absolute; right:7px; top:6px; width:auto; min-height:36px; padding:0 10px; margin:0; background:#423527; color:#f4dcae; border:0; font-size:11px; }
.password-settings-form { display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items:end; gap:12px; margin-top:18px; }
.password-settings-form .field { min-width:0; }
.password-settings-form button { grid-column:span 2; justify-self:start; }
@media(max-width:680px){ .password-settings-form{grid-template-columns:1fr}.password-settings-form button{grid-column:auto} }
/* iPhone: evita zoom automático nos campos e respeita notch/barra de gestos · v2.3 */
@media(max-width:680px) {
  .auth-card input { font-size:16px; }
  .auth-shell {
    padding-top:calc(22px + env(safe-area-inset-top));
    padding-bottom:calc(22px + env(safe-area-inset-bottom));
  }
}
