/* v41 — entrada única, cadastro e Google */
body.auth-locked .layout,
body.auth-locked #theme-toggle{visibility:hidden;filter:none;pointer-events:none;user-select:none}
.auth-overlay{
  --auth-blue:#7da2ff;
  --auth-blue-strong:#4e7cff;
  --logo-background-dark:#03112B;
  --logo-background-navy:#071A3D;
  --logo-circle-top:#155FFF;
  --logo-circle-center:#0B42B8;
  --logo-circle-bottom:#061E5E;
  --logo-border-blue:#32B9FF;
  --logo-border-electric:#176BFF;
  --logo-white:#F7F9FF;
  --logo-shadow:rgba(0,0,0,.40);
  --logo-blue-glow:rgba(24,111,255,.65);
  display:grid;
  place-items:center;
  padding:32px;
  overflow:auto;
  color:#fff;
  background:
    radial-gradient(circle at 75% 15%,rgba(48,88,190,.20),transparent 32%),
    radial-gradient(circle at 18% 92%,rgba(20,112,137,.14),transparent 30%),
    linear-gradient(115deg,#02040a 0%,#060b17 58%,#030610 100%);
}
.auth-overlay::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.38;background:repeating-linear-gradient(90deg,transparent 0 72px,rgba(70,108,220,.14) 73px,transparent 76px),linear-gradient(90deg,transparent 0 25%,rgba(38,75,177,.15) 38%,transparent 52%,rgba(47,79,177,.12) 72%,transparent 88%);mask-image:linear-gradient(90deg,transparent,#000 22%,#000 85%,transparent)}
.auth-shell{position:relative;z-index:1;width:min(1120px,100%);display:grid;grid-template-columns:minmax(320px,1fr) minmax(390px,440px);align-items:center;gap:72px}
.auth-story{max-width:470px;text-align:center;justify-self:center}
.auth-story h1{font-size:clamp(38px,4.2vw,58px);line-height:.98;letter-spacing:-.055em;font-weight:800;margin:0 auto 24px;max-width:450px}
.auth-story p{font-size:16px;line-height:1.55;color:#9ba4b7;max-width:410px;margin:0 auto}
.auth-benefits{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:40px}
.auth-benefit{border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:9px 15px;font-size:13px;color:#c9d0dd;background:rgba(13,19,31,.35);backdrop-filter:blur(8px)}
.auth-card{width:100%;min-height:510px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(155deg,rgba(25,34,56,.97),rgba(12,16,24,.98));box-shadow:0 28px 90px rgba(0,0,0,.52);border-radius:28px;padding:34px 32px 24px;color:#fff;display:flex;flex-direction:column}
.auth-brand{text-align:center;margin-bottom:24px}
.auth-mark{position:relative;width:74px;height:74px;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;background:radial-gradient(circle at 35% 25%,var(--logo-circle-top) 0%,var(--logo-circle-center) 42%,var(--logo-circle-bottom) 100%);border:2px solid var(--logo-border-blue);box-shadow:0 0 5px var(--logo-border-blue),0 0 17px var(--logo-blue-glow),0 12px 24px var(--logo-shadow),inset 0 1px 5px rgba(255,255,255,.25),inset 0 -7px 15px rgba(0,0,0,.25);isolation:isolate}
.auth-mark::after{content:"";position:absolute;width:66px;height:66px;border-radius:50%;border:1px solid color-mix(in srgb,var(--logo-border-electric) 65%,transparent);pointer-events:none}
.auth-mark-monogram{position:relative;z-index:1;color:var(--logo-white);font-family:Arial,Helvetica,sans-serif;font-size:28px;font-weight:700;letter-spacing:-3.5px;line-height:1;text-shadow:0 3px 5px var(--logo-shadow),0 0 4px rgba(255,255,255,.25);transform:translateX(-1px)}
.auth-product{font-size:20px;font-weight:800;letter-spacing:-.025em}
.auth-view{display:none;animation:authFade .2s ease}
.auth-view.active{display:block}
@keyframes authFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.auth-heading{text-align:center;font-size:22px;font-weight:800;letter-spacing:-.025em;margin:0 0 4px;color:#fff}
.auth-sub{text-align:center;font-size:13px;line-height:1.5;color:#9da6b9;margin:0 auto 22px;max-width:330px}
.auth-form{display:grid;gap:13px}
.auth-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#d9deea}
.auth-input-wrap{position:relative}
.auth-form input{width:100%;height:auto;border:1px solid rgba(255,255,255,.15);background:#080d16;color:#fff;border-radius:12px;padding:12px 42px 12px 13px;font:inherit;outline:none;transition:border-color .16s,box-shadow .16s}
.auth-form input::placeholder{color:#697286}
.auth-form input:focus{border-color:var(--auth-blue)!important;box-shadow:0 0 0 4px rgba(125,162,255,.12)!important}
.auth-pass-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#929caf;cursor:pointer;font-size:16px;display:grid;place-items:center}
.auth-pass-toggle:hover{color:#fff;background:rgba(255,255,255,.06)}
.auth-btn{width:100%;border:1px solid rgba(255,255,255,.10);border-radius:999px;padding:13px 18px;background:#1A56DB;color:#fff;font-weight:900;cursor:pointer;font:inherit;margin-top:3px;transition:transform .16s,filter .16s,opacity .16s}
.auth-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.auth-btn:disabled{opacity:.62;cursor:wait;transform:none}
body.auth-locked .auth-overlay .auth-card .auth-btn.secondary{background:linear-gradient(180deg,#292929,#1e1e1e)!important;border-color:rgba(255,255,255,.1)!important;color:#fff!important}
body.auth-locked .auth-overlay .auth-card .auth-btn.google{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff!important;border-color:#fff!important;color:#202124!important}
.auth-google-letter{font-family:Arial,sans-serif;font-size:17px;font-weight:900;color:#4285f4;line-height:1}
.auth-divider{height:1px;background:rgba(255,255,255,.10);margin:16px 0}
.auth-divider-label{display:flex;align-items:center;gap:10px;color:#717b8e;font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin:15px 0}
.auth-divider-label::before,.auth-divider-label::after{content:"";height:1px;background:rgba(255,255,255,.10);flex:1}
.auth-error,.auth-success{display:none;min-height:0;border-radius:10px;padding:9px 11px;font-size:12px;font-weight:700;line-height:1.4}
.auth-error:not(:empty){display:block;color:#ffc0c0;background:rgba(184,50,50,.15);border:1px solid rgba(255,142,142,.18)}
.auth-success:not(:empty){display:block;color:#a9efca;background:rgba(26,122,74,.18);border:1px solid rgba(114,216,165,.18)}
.auth-switch{text-align:center;color:#929caf;font-size:12px;margin-top:18px}
.auth-link{border:0;padding:0;background:none;color:#fff;text-decoration:underline;text-underline-offset:3px;font:inherit;font-weight:800;cursor:pointer}
.auth-back{display:inline-flex;align-items:center;gap:5px;margin-bottom:14px;color:#aab3c4;text-decoration:none;font-size:12px;font-weight:700;background:none;border:0;cursor:pointer}
.auth-note{text-align:center;font-size:11px;color:#737d90;margin-top:auto;padding-top:22px;line-height:1.5;border:0}
.auth-account-note{text-align:center;color:#8f98aa;font-size:11px;line-height:1.45;margin:2px 0 0}
.reset-hint{color:#9da6b9;margin-bottom:4px}
@media(max-width:900px){.auth-overlay{padding:24px}.auth-shell{grid-template-columns:1fr;gap:24px;max-width:520px}.auth-story{display:none}.auth-card{min-height:0}}
@media(max-width:520px){.auth-overlay{padding:14px;place-items:start center}.auth-shell{margin:auto 0}.auth-card{border-radius:22px;padding:26px 18px 20px}.auth-mark{width:62px;height:62px;margin-bottom:14px}.auth-mark::after{width:54px;height:54px}.auth-mark-monogram{font-size:24px;letter-spacing:-3px}.auth-product{font-size:18px}.auth-brand{margin-bottom:19px}.auth-heading{font-size:20px}}
