:root{
  --white:#fff; --ink:#0f172a; --muted:#64748b;
  --blue:#325BA7; --green:#45B58B;
  --bg:#F5F7FA; --input:#F8FAFC; --line:#CBD5E1;
  --r-lg:16px; --r-md:12px; --t:.25s;
  --shadow:0 10px 28px rgba(0,0,0,.10); --glow:0 0 12px rgba(50,91,167,.6);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.login-container{height:100%;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{width:100%;max-width:430px;background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:28px;text-align:center;transition:box-shadow var(--t)}
.login-card:hover{box-shadow:0 12px 34px rgba(0,0,0,.12)}
.title{font-size:2rem;font-weight:800;letter-spacing:.2px;color:var(--green);margin-bottom:.25rem}
.title-accent{color:var(--blue)}
.subtitle{font-size:1.1rem;font-weight:700;color:var(--blue);margin-bottom:.25rem}
.subtitle-small{font-size:.92rem;color:var(--muted);margin-bottom:18px}

/* Abas */
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--input);border:1px solid var(--line);border-radius:var(--r-md);padding:4px;margin-bottom:14px}
.tab{background:transparent;border:0;padding:.6rem .8rem;font-weight:700;border-radius:10px;color:var(--muted);cursor:pointer;transition:all var(--t)}
.tab.active{background:#fff;color:var(--blue);box-shadow:inset 0 0 0 1px var(--line)}
.tab-panel{display:none}.tab-panel.active{display:block}

/* Campos */
.field-group{margin-bottom:12px;text-align:left}
.field-group label{display:block;font-size:.92rem;color:#475569;margin-bottom:.25rem}
.field-group input{width:100%;padding:.75rem 1rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--input);font-size:.95rem;transition:all var(--t)}
.field-group input::placeholder{color:#94A3B8}
.field-group input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 8px rgba(50,91,167,.25);background:#fff}

/* grid e senha */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media (max-width:520px){.grid-2{grid-template-columns:1fr}}
.password-wrap{display:grid;grid-template-columns:1fr auto;align-items:center;background:var(--input);border:1px solid var(--line);border-radius:var(--r-md)}
.password-wrap input{border:0;background:transparent;padding:.75rem 1rem}
.btn-eye{border:0;background:transparent;padding:0 .8rem;cursor:pointer;font-size:1rem;opacity:.7;transition:all var(--t)}
.btn-eye:hover,.btn-eye.on{opacity:1;transform:scale(1.05)}

/* lembrar/esqueci */
.row-between{display:flex;align-items:center;justify-content:space-between;margin:.25rem 0 .75rem}
.remember{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.92rem}
.link{color:#325BA7;text-decoration:none;font-weight:700}
.link:hover{text-decoration:underline}

/* ajuda */
.help{display:block;margin-top:.35rem;font-size:.82rem;color:var(--muted)}

/* botão */
.btn-primary{width:100%;padding:.8rem 1rem;background:#325BA7;color:#fff;font-size:1rem;font-weight:700;border:0;border-radius:var(--r-md);box-shadow:var(--glow);cursor:pointer;transition:all var(--t)}
.btn-primary:hover{filter:brightness(92%);box-shadow:0 0 20px rgba(50,91,167,.75)}
.btn-primary:active{transform:translateY(1px)}

/* erro */
.error{min-height:1.2rem;margin-bottom:.75rem;font-size:.9rem;color:#EF4444}
[aria-live="polite"]{outline:none}

.radio-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;justify-content:space-between}
.radio-pill{position:relative;flex:1;display:flex;justify-content:center;align-items:center;padding:.7rem 1rem;border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--white);cursor:pointer;user-select:none;transition:all var(--t);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.radio-pill:hover{border-color:var(--blue);background:#f2f6fb}
.radio-pill input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;position:absolute;inset:0;opacity:0;cursor:pointer}
.radio-pill span{font-weight:600;color:var(--ink);font-size:.95rem;letter-spacing:.02em}
.radio-pill:has(input[type=radio]:checked){border-color:var(--blue);background:linear-gradient(to bottom right,#f5f8fb,#edf2fa);box-shadow:0 0 0 3px rgba(50,91,167,.15)}
.radio-pill:has(input[type=radio]:checked) span{color:var(--blue);font-weight:700}
.radio-pill input[type=radio]:focus-visible+span,.radio-pill:focus-within{outline:none;box-shadow:0 0 0 3px rgba(50,91,167,.25)}
fieldset.field-group{border:none;padding:0;margin:0}
@media(max-width:480px){.radio-row{flex-direction:column}.radio-pill{width:100%}}
