/* LOGIN — identidade visual alinhada ao Portal de Acompanhamento */
:root {
  color-scheme: light;
  --se-blue:#342fa5;
  --se-blue-dark:#211e78;
  --se-blue-deeper:#17155f;
  --se-purple:#5b48fc;
  --se-green:#43f461;
  --se-green-ui:#2dbb62;
  --se-ink:#111842;
  --se-muted:#727b98;
  --se-line:#e5e8f2;
  --se-soft:#f5f7fb;
  --se-surface:#ffffff;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;min-width:320px;background:#f4f6fb;color:var(--se-ink);-webkit-font-smoothing:antialiased}
button,input{font:inherit}
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(430px,.86fr) minmax(500px,1.14fr);padding:76px max(32px,calc((100vw - 1120px)/2));position:relative;overflow:hidden;background:radial-gradient(circle at 78% 13%,rgba(91,72,252,.06),transparent 26%),#f4f6fb}
.login-page::before{content:"";position:absolute;width:310px;height:310px;left:-224px;top:10px;transform:rotate(45deg);border:42px solid var(--se-green);opacity:.95;pointer-events:none}
.login-page::after{content:"";position:absolute;width:300px;height:300px;left:-230px;bottom:-190px;transform:rotate(45deg);border:42px solid var(--se-purple);opacity:.95;pointer-events:none}
.login-showcase,.login-access{position:relative;z-index:1;min-height:650px}
.login-showcase{display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:52px 48px;background:linear-gradient(155deg,var(--se-blue) 0%,#29268f 54%,var(--se-blue-deeper) 100%);color:#fff;border-radius:24px 0 0 24px;box-shadow:0 25px 70px rgba(23,21,95,.13)}
.login-showcase::before{content:"";position:absolute;width:330px;height:330px;right:-240px;top:55px;transform:rotate(45deg);border:47px solid var(--se-green);opacity:.92;pointer-events:none}
.login-showcase::after{content:"";position:absolute;width:290px;height:290px;left:-220px;bottom:-130px;transform:rotate(45deg);border:1px solid rgba(75,247,99,.45);pointer-events:none}
.showcase-glow{display:none}
.showcase-brand,.showcase-content,.showcase-footer{position:relative;z-index:2}
.showcase-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.brand-symbol{display:grid;width:74px;height:74px;place-items:center;border:1px solid rgba(255,255,255,.30);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.34),rgba(255,255,255,.92));box-shadow:0 14px 35px rgba(10,14,60,.22);overflow:hidden}
.brand-symbol img{width:64px;height:64px;object-fit:contain}
.brand-copy{display:grid;gap:3px}.brand-copy strong{font-size:18px;font-weight:800;letter-spacing:-.025em}.brand-copy small{font-size:11px;color:rgba(255,255,255,.72)}
.showcase-content{width:min(100%,540px);padding:8px 0 18px}
.showcase-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--se-green);font-size:10px;font-weight:800;letter-spacing:.13em}.showcase-kicker::before{content:"";width:22px;height:2px;background:var(--se-green);border-radius:2px}
.showcase-content h1{max-width:510px;margin:18px 0 18px;font-size:clamp(40px,4.1vw,58px);line-height:1.03;font-weight:800;letter-spacing:-.05em}.showcase-content>p{max-width:510px;margin:0;color:rgba(255,255,255,.76);font-size:15px;line-height:1.65}
.showcase-points{display:grid;gap:12px;margin-top:28px}.showcase-points span{display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:#fff;font-size:12px;font-weight:600}.showcase-points i{display:grid;width:19px;height:19px;place-items:center;border-radius:50%;background:rgba(67,244,97,.16);color:var(--se-green);font-style:normal;font-size:11px}
.showcase-preview{display:none}
.showcase-footer{margin-top:22px;color:rgba(255,255,255,.48);font-size:10px}.footer-dot{display:inline-block;width:4px;height:4px;margin:0 7px;border-radius:50%;background:var(--se-green)}
.login-access{display:grid;place-items:center;padding:54px 64px;background:#fff;border-radius:0 24px 24px 0;box-shadow:0 25px 70px rgba(23,21,95,.13)}
.login-access::after{content:"";position:absolute;width:150px;height:150px;right:-90px;top:-90px;transform:rotate(45deg);border:16px solid #f5f6fb;pointer-events:none}
.login-card{width:min(100%,480px);position:relative;z-index:2}.mobile-brand{display:none}
.login-heading{margin-bottom:30px}.access-label{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--se-blue);font-size:10px;font-weight:800;letter-spacing:.12em}.access-label i{width:7px;height:7px;border-radius:50%;background:var(--se-green-ui);box-shadow:0 0 0 4px rgba(45,187,98,.10)}
.login-heading h2{margin:0;color:#101741;font-size:clamp(30px,3vw,40px);font-weight:800;letter-spacing:-.04em}.login-heading p{margin:10px 0 0;color:var(--se-muted);font-size:13px}
.field-group{margin-bottom:18px}.field-group label{display:block;margin-bottom:7px;color:#4b5572;font-size:11px;font-weight:700}.field-control{position:relative;display:flex;align-items:center}.field-control>svg{position:absolute;left:15px;z-index:1;width:17px;height:17px;fill:none;stroke:#7e88a5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;pointer-events:none}
.field-control input{width:100%;height:52px;padding:0 15px 0 44px;border:1px solid #dfe4ef;border-radius:11px;outline:0;background:#edf3ff;color:#15204e;font-size:13px;box-shadow:0 3px 10px rgba(52,37,72,.02);transition:.18s ease}.field-control input::placeholder{color:#9aa3ba}.field-control input:hover{border-color:#cfd5e3}.field-control input:focus{border-color:var(--se-purple);background:#fff;box-shadow:0 0 0 3px rgba(91,72,252,.12)}.field-control:focus-within>svg{stroke:var(--se-purple)}.field-password input{padding-right:78px}
.password-toggle{position:absolute;right:9px;height:34px;padding:0 9px;border:0;border-radius:7px;background:transparent;color:var(--se-blue);cursor:pointer;font-size:10px;font-weight:700}.password-toggle:hover{background:#f2f4fa}.caps-warning{display:block;margin-top:6px;color:#b36a12;font-size:10px}
.login-message{display:none;min-height:39px;margin:-2px 0 14px;padding:10px 12px;border:1px solid #f3c7cc;border-radius:9px;background:#fff4f5;color:#a53542;font-size:11px;line-height:1.45}.login-message:not(:empty){display:block}
.login-button{position:relative;display:flex;width:100%;height:51px;align-items:center;justify-content:center;border:0;border-radius:10px;background:linear-gradient(90deg,var(--se-blue),var(--se-purple));color:#fff;cursor:pointer;box-shadow:0 11px 26px rgba(62,47,177,.20);font-size:12px;font-weight:800;transition:transform .15s ease,box-shadow .15s ease}.login-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(62,47,177,.25)}.login-button:disabled{opacity:.7;cursor:wait;transform:none}.button-spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:se-spin .65s linear infinite}.login-button.is-loading .button-label{display:none}.login-button.is-loading .button-spinner{display:block}@keyframes se-spin{to{transform:rotate(360deg)}}
.security-note{display:flex;align-items:center;gap:10px;margin-top:22px;padding:12px 14px;border:1px solid #dfeee6;border-radius:10px;background:#f7fcf9;color:#66776e;font-size:10px}.security-note svg{width:17px;height:17px;fill:none;stroke:#18a56f;stroke-width:1.8}
.login-footer{display:flex;justify-content:space-between;gap:15px;margin-top:27px;padding-top:18px;border-top:1px solid #e7eaf2;color:#8a92a8;font-size:10px}
@media(max-width:940px){.login-page{grid-template-columns:1fr;padding:24px;align-items:center}.login-showcase{display:none}.login-access{min-height:auto;border-radius:22px;padding:34px 26px}.mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:26px}.mobile-brand img{width:48px;height:48px;object-fit:contain;border-radius:14px}.mobile-brand span{display:grid;gap:2px}.mobile-brand strong{color:var(--se-blue);font-size:14px}.mobile-brand small{color:var(--se-muted);font-size:9px}.login-page::before{left:-260px}.login-page::after{left:-255px}}
@media(max-width:520px){.login-page{padding:14px;background:#f4f6fb}.login-access{padding:28px 20px;border-radius:18px;box-shadow:0 14px 34px rgba(23,21,95,.10)}.login-heading h2{font-size:29px}.field-control input{height:50px}.login-footer{font-size:9px}}
/* LOGIN_COMPACTO */
@media (min-width: 941px) {
  .login-page {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    padding: 32px max(24px, calc((100% - 960px) / 2));
    align-content: center;
  }
  .login-showcase,
  .login-access {
    min-height: 540px;
  }
  .login-showcase {
    padding: 30px;
  }
  .showcase-brand {
    margin-bottom: 24px;
  }
  .showcase-content h1 {
    font-size: 38px;
    line-height: 1.12;
  }
  .showcase-content p {
    font-size: 13px;
    line-height: 1.5;
  }
  .login-access {
    padding: 30px 36px;
  }
  .login-heading {
    margin-bottom: 22px;
  }
  .login-heading h2 {
    font-size: 28px;
  }
  .field-control input {
    height: 44px;
  }
  .login-button {
    height: 44px;
  }
  .security-note {
    margin-top: 16px;
  }
  .login-footer {
    margin-top: 18px;
    padding-top: 14px;
  }
}

/* BOTAO_PAINEL_ACOMPANHAMENTO */
.login-portal-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin-top: 12px;
  padding: 10px 14px;
  border: 1px solid #342fa5;
  border-radius: 10px;
  background: transparent;
  color: #342fa5;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}
.login-portal-button:hover {
  background: #f0efff;
}
.login-portal-button:focus-visible {
  outline: 3px solid #5b48fc;
  outline-offset: 3px;
}
/* BOTAO_ACOMPANHAMENTO_VERDE */
#btnPortalAcompanhamento.login-portal-button {
  background: #4bf763;
  border-color: #4bf763;
  color: #111842;
  font-weight: 800;
}
#btnPortalAcompanhamento.login-portal-button:hover {
  background: #38df50;
  border-color: #38df50;
}
#btnPortalAcompanhamento.login-portal-button:focus-visible {
  outline-color: #26c957;
}
