:root{
  --page:#edf4f7;
  --text:#172033;
  --muted:#66758a;
  --line:#dce6ef;
  --blue:#1473e6;
  --green:#18a957;
  --amber:#e99a1a;
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:
  linear-gradient(135deg,rgba(20,115,230,.12),rgba(24,169,87,.12) 44%,rgba(233,154,26,.10)),
  repeating-linear-gradient(90deg,rgba(7,27,51,.045) 0 1px,transparent 1px 30px),
  var(--page);color:var(--text)}
button,input{font:inherit}
a{color:inherit;text-decoration:none}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-panel{width:min(390px,100%);border:1px solid rgba(130,177,207,.48);border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(13,37,65,.18);padding:26px}
.login-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px;color:#0d3158}
.login-brand>span{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;font-size:20px;box-shadow:0 12px 25px rgba(20,115,230,.22)}
.login-brand strong{display:block;font-size:18px;letter-spacing:.08em}
.login-brand small{display:block;font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;text-align:center}
h1{font-size:23px;text-align:center;margin:0 0 7px;color:#152238}
p{font-size:13px;line-height:1.45;text-align:center;color:var(--muted);margin:0 0 18px}
.login-alert{border:1px solid #f0d39b;background:#fff8e9;color:#765510;border-radius:8px;padding:9px 10px;font-size:12px;font-weight:800;text-align:center;margin-bottom:12px}
.login-alert.error{border-color:#efc2c8;background:#fff0f1;color:#a52836}
.login-form{display:grid;gap:11px}
.login-form label{display:grid;gap:5px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:900;color:#536274}
.login-form input{height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);padding:0 12px;outline:none}
.login-form input:focus{border-color:#78afe9;box-shadow:0 0 0 3px rgba(20,115,230,.12)}
.login-form button{height:43px;border:0;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--green) 68%,var(--amber));color:#fff;font-size:13px;font-weight:900;cursor:pointer;box-shadow:0 12px 25px rgba(20,115,230,.20)}
.login-form button:hover{filter:brightness(1.05);transform:translateY(-1px)}
.login-links{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:17px}
.login-links a{font-size:11px;font-weight:850;color:#236aa8}
.login-links a:hover{text-decoration:underline}
@media(max-width:520px){.login-shell{padding:14px}.login-panel{padding:20px}}

/* V1.0.1 · alinhamento visual com a Agenda Profissional */
body{
  background:
    linear-gradient(135deg,rgba(20,115,230,.08),rgba(24,169,87,.07) 48%,rgba(233,154,26,.06)),
    repeating-linear-gradient(90deg,rgba(7,27,51,.035) 0 1px,transparent 1px 32px),
    #f3f7fb!important;
}
.login-panel{
  border-radius:8px!important;
  border-color:#dce6ef!important;
  background:linear-gradient(180deg,#fff,#f8fbfe)!important;
  box-shadow:0 18px 50px rgba(13,37,65,.16)!important;
}
.login-brand>span{
  border-radius:10px!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.16),transparent),
    linear-gradient(135deg,var(--blue),var(--green) 64%,var(--amber))!important;
}
h1,p,.login-links{text-align:center}
.login-form input,.login-form button,.login-alert{
  border-radius:8px!important;
}
.login-form input:focus{
  border-color:#70b8ee!important;
  box-shadow:0 0 0 3px rgba(20,115,230,.12),0 0 0 1px rgba(72,213,209,.12)!important;
}
.login-form button{
  background:linear-gradient(135deg,var(--blue),var(--green) 68%,var(--amber))!important;
}
