/* Entrada do gestor alinhada à tela do cardápio; estilos restritos ao login. */
#screen-login {
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  padding: 0 !important;
  min-height: 100dvh;
  overflow-y: auto;
  background: #fff !important;
}
#screen-login .mobile-login-brand {
  flex: 0 0 57.5%;
  display: grid;
  place-items: center;
  padding: 56px;
  background: radial-gradient(720px 420px at 50% 42%, rgba(14, 165, 233, 0.22), transparent 58%), linear-gradient(160deg, #0f172a 0%, #0b1220 55%, #082f49 100%);
  color: #f8fafc;
}
.mobile-login-brand-content { max-width: 390px; text-align: center; }
.mobile-login-brand img { display: block; width: 176px; height: auto; margin: 0 auto 32px; }
.mobile-login-brand h2 { margin: 0 0 16px; font-size: clamp(24px,2vw,30px); line-height: 1.3; font-weight: 700; }
.mobile-login-brand p { margin: 0; color: #d4dfec; font-size: 16px; line-height: 1.6; }
.mobile-login-brand ul { width: fit-content; max-width: 100%; margin: 24px auto 0; padding-left: 20px; text-align: left; color: #d4dfec; font-size: 14px; line-height: 2; }
.mobile-login-brand li::marker { color: #ff8120; }
.mobile-login-panel { flex: 1; min-width: 0; display: grid; place-items: center; padding: 48px 32px; }
#screen-login .login-box {
  width: 100%; max-width: 380px; padding: 0; margin: 0;
  background: transparent !important; border: 0 !important; border-radius: 0;
  box-shadow: none !important; backdrop-filter: none; -webkit-backdrop-filter: none;
  text-align: left; color: #192a40;
}
#mobile-login-title { margin: 0 0 12px; font-size: 28px; line-height: 1.2; font-weight: 700; letter-spacing: -.5px; }
.mobile-login-intro { margin: 0 0 28px; font-size: 14px; line-height: 1.6; color: #526279; }
#screen-login .form-label-mobile { color: #394b60 !important; font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }
#screen-login .input-wrapper-mobile { padding: 0; background: #fff !important; border: 1px solid #bfc9d5 !important; border-radius: 7px; }
#screen-login .input-mobile { height: 48px; min-width: 0; padding: 12px; border: 0 !important; box-shadow: none !important; background: transparent !important; color: #192a40 !important; font-family: inherit; font-size: 16px; font-weight: 400; letter-spacing: 0; }
#screen-login .input-mobile::placeholder { color: #64748b !important; letter-spacing: 0; }
#screen-login .chave-prefixo { padding: 0 12px; border-right: 1px solid #d8dee6; color: #526279 !important; font-family: inherit; font-size: 12px; font-weight: 500; letter-spacing: 0; }
#screen-login .input-wrapper-mobile:focus-within { outline: 2px solid #b74717; outline-offset: 2px; box-shadow: none; }
#screen-login .input-mobile:focus-visible { outline: none !important; }
#screen-login #login-pin { padding-right: 52px; }
#screen-login .btn-toggle-pass { width: 44px; height: 44px; color: #526279; }
#screen-login .remember-row { margin: 20px 0; gap: 8px; justify-content: flex-start; font-size: 13px; color: #394b60 !important; }
#screen-login .remember-row input { min-height: 0; width: 16px; height: 16px; margin: 0; accent-color: #b74717; }
#screen-login .btn-login-submit { height: 44px; min-height: 44px; border: 0; border-radius: 7px; background: #ff8120 !important; color: #192a40 !important; box-shadow: none !important; font-size: 14px; font-weight: 700; transform: none; }
#screen-login .btn-login-submit:not(:disabled):hover { background: #f57412 !important; color: #192a40 !important; }
#screen-login .btn-login-submit::before { display: none; }
#screen-login .login-error-toast { background: #fff1ef; color: #962f22; border: 0; border-radius: 7px; line-height: 1.5; }
#screen-login ::selection { background: #ffdabf; color: #192a40; }
@media(max-width:760px) {
  #screen-login { flex-direction: column; justify-content: flex-start; }
  #screen-login .mobile-login-brand { flex: 0 0 auto; padding: calc(24px + env(safe-area-inset-top,0px)) 24px 24px; }
  .mobile-login-brand img { width: 104px; margin: 0; }
  .mobile-login-brand :is(h2,p,ul) { display: none; }
  .mobile-login-panel { flex: 1 0 auto; padding: 32px 24px calc(32px + env(safe-area-inset-bottom,0px)); align-items: start; }
  #mobile-login-title { font-size: 25px; }
}
@media(max-height:650px) and (min-width:761px) {
  #screen-login .mobile-login-brand { padding: 32px; }
  .mobile-login-brand img { width: 136px; margin-bottom: 20px; }
  .mobile-login-panel { padding: 28px; }
}

/* B05: estados de acesso e alvos locais, preservando a identidade do login. */
#screen-login .login-status{margin:0 0 16px;padding:12px;border:1px solid #bfc9d5;border-radius:7px;color:#394b60;background:#fff;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
#screen-login .login-status[hidden]{display:none}
#screen-login .remember-row{min-height:44px;font-size:14px}
#screen-login .login-error-toast{font-size:14px;overflow-wrap:anywhere}
#screen-login .btn-login-submit[aria-disabled="true"]{cursor:wait}
@media(min-width:993px) and (max-width:1400px){
 #screen-login .input-mobile{height:60px;font-size:20px}
 #screen-login .btn-toggle-pass{width:56px;height:56px}
 #screen-login #login-pin{padding-right:68px}
 #screen-login .btn-login-submit,#screen-login .remember-row{height:56px;min-height:56px;font-size:17.5px}
 #screen-login .login-status,#screen-login .login-error-toast{font-size:17.5px}
 #screen-login .btn-toggle-pass:focus-visible,#screen-login .btn-login-submit:focus-visible{outline-width:4.5px!important}
 #screen-login .input-wrapper-mobile:focus-within{outline-width:3.75px}
}
