/* Acesso Tres e Lanzarini: formulário compacto inspirado no portal Inpasa. */
html[data-appearance="light"] { background:#e9edf0;color-scheme:light; }
body.login-page {
  --fachinello-red:#087c96;--fachinello-red-hover:#06677d;
  --login-white:#233648;--login-muted:#667581;--login-graphite-raised:#fff;
  --login-focus:rgb(8 124 150 / .16);
  margin:0;overflow:auto;background:#e9edf0!important;color:#233648;
}
.login-page .login-shell {
  display:flex;width:100%;min-height:100svh;height:auto;
  align-items:flex-start;justify-content:center;overflow:visible;
  padding:max(60px,env(safe-area-inset-top)) 24px max(32px,env(safe-area-inset-bottom));
  background:transparent;
}
.login-page .login-panel {
  flex:none;display:block;width:min(100%,316px);min-height:0;overflow:visible;
  padding:0;border:0;border-radius:0;background:none;box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
.login-page .panel-edge,.login-page .field-icon { display:none; }
.login-page .login-card { width:100%;max-width:none;margin:0;background:none;box-shadow:none;animation:none; }
.login-page .brand-header { margin:0 0 32px; }
.login-page .brand-lockup { width:100%;max-width:none;height:auto;margin:0;padding:0;background:transparent; }
.login-page .brand-lockup img { display:block;width:min(300px,100%);max-width:none;height:auto;margin:0 auto;filter:none!important; }
.login-page #login-form { display:grid;gap:22px; }
.login-page .field-group { display:block; }
.login-page .input-frame {
  display:grid;grid-template-columns:minmax(0,1fr);min-height:40px;overflow:visible;
  border:0;border-bottom:1px solid #8b969d;border-radius:0;background:transparent;box-shadow:none;
}
.login-page .password-frame { grid-template-columns:minmax(0,1fr) 40px; }
.login-page .input-frame input {
  height:39px;padding:0 13px;border:0;border-radius:0;background:transparent;
  color:#233648;caret-color:#087c96;font-size:14px;font-weight:400;
}
.login-page .input-frame input::placeholder { color:#677782;opacity:1; }
.login-page .input-frame:focus-within { border-color:#087c96;background:transparent;box-shadow:0 1px 0 #087c96; }
.login-page .input-frame.has-error { border-color:#b42332; }
.login-page .input-frame input:-webkit-autofill,
.login-page .input-frame input:-webkit-autofill:hover,
.login-page .input-frame input:-webkit-autofill:focus { -webkit-text-fill-color:#233648;box-shadow:0 0 0 1000px #e9edf0 inset; }
.login-page .password-toggle { width:40px;height:38px;align-self:center;border:0;border-radius:5px;background:transparent;color:#087c96; }
.login-page .password-toggle:hover { background:#edf7fa;color:#06677d; }
.login-page .password-toggle:focus-visible { outline:2px solid #087c96;outline-offset:-2px; }
.login-page .login-submit {
  display:flex;align-items:center;justify-content:center;justify-self:center;
  width:auto;min-width:84px;min-height:36px;margin-top:2px;padding:0 20px;
  border:1px solid #606c75;border-radius:9px;background:transparent;box-shadow:none;
  color:#465965;font-size:14px;font-weight:400;letter-spacing:0;
}
.login-page .login-submit::before,.login-page .login-submit::after { content:none; }
.login-page .login-submit:hover:not(:disabled) { background:#edf7fa;border-color:#087c96;color:#06677d;box-shadow:none;transform:none; }
.login-page .login-submit:focus-visible { outline:2px solid #087c96;outline-offset:4px;box-shadow:none; }
.login-page .login-submit:disabled { background:#f3f6f8;border-color:#a7b5bf;color:#5b6e80;box-shadow:none;cursor:wait; }
.login-page .login-submit[aria-busy="true"] { padding-right:40px; }
.login-page .submit-loader { right:13px;width:15px;height:15px;border-color:rgb(8 124 150 / .2);border-top-color:#087c96; }
.login-page .login-feedback { display:flex;align-items:flex-start;justify-content:center;min-height:20px;gap:7px;margin:-7px 0 0;color:#5b6e80;font-size:12px;line-height:1.5;text-align:center; }
.login-page .feedback-marker { flex:0 0 6px;width:6px;height:6px;margin-top:6px;box-shadow:none; }
.login-page .login-feedback[data-state="error"] { color:#b42332; }
.login-page .login-feedback[data-state="success"] { color:#176b46; }
.login-page .login-feedback[data-state="error"] .feedback-marker { background:#b42332; }
.login-page .login-feedback[data-state="success"] .feedback-marker { background:#176b46; }
.tres-visually-hidden { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
@media(max-width:600px) {
  .login-page .login-shell { padding:max(48px,env(safe-area-inset-top)) 24px max(28px,env(safe-area-inset-bottom)); }
  .login-page .login-panel { width:min(100%,316px);min-height:0;padding:0; }
  .login-page .brand-lockup { height:auto; }
  .login-page .brand-lockup img { width:min(300px,100%); }
}
@media(max-height:500px) {
  .login-page .login-shell { padding-top:24px;padding-bottom:24px; }
  .login-page .brand-header { margin-bottom:22px; }
  .login-page .brand-lockup img { width:min(240px,100%);margin:0 auto; }
  .login-page #login-form { gap:18px; }
}

.login-page .plx-pwa-titlebar { background:#e9edf0;border-bottom:1px solid #cbd3dc;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none; }
.login-page .plx-pwa-titlebar::before { display:none; }
