/* ============================================================================
   MR TECH — tela de entrada do LumiaMail.
   Fica FORA do bundle compilado (o fonte React está defasado; rebuildar regride o
   webmail). Só aparência: não muda um campo, um botão nem o fluxo de login.
   Funciona nos dois temas — tudo sai dos tokens do Fluent, com valor de reserva.
   ========================================================================== */

/* ---------------------------------------------------------------- fundo -- */
.lm-login {
  position: relative;
  padding: 24px;
  background:
    radial-gradient(1100px 620px at 88% -12%, rgba(0, 120, 212, .20), transparent 62%),
    radial-gradient(820px 560px at -12% 112%, rgba(126, 93, 180, .17), transparent 58%),
    var(--colorNeutralBackground2, #f5f5f5);
}
/* trama de pontos: dá textura sem virar ruído */
.lm-login::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(currentColor 1px, transparent 1px);
  background-size: 22px 22px;
  color: var(--colorNeutralForeground1, #111);
  opacity: .045;
  pointer-events: none;
}

/* ---------------------------------------------------------------- cartão -- */
.lm-login-card {
  position: relative;
  width: 420px;
  max-width: 100%;
  padding: 42px 42px 30px;
  border-radius: 16px;
  border: 1px solid var(--colorNeutralStroke2, #e3e3e3);
  background: var(--colorNeutralBackground1, #fff);
  box-shadow:
    0 1px 2px rgba(0, 0, 0, .04),
    0 10px 28px rgba(0, 0, 0, .09),
    0 30px 70px rgba(0, 0, 0, .10);
  overflow: hidden;
}
/* fio de cor no topo: assinatura discreta */
.lm-login-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #0078d4 0%, #2b88d8 45%, #7e5db4 100%);
}

/* ----------------------------------------------------------------- marca -- */
.lm-login-brand { gap: 12px; margin-bottom: 10px; }
.lm-login-brand img {
  width: 40px; height: 40px; border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 120, 212, .28);
}
.lm-login-brand span {
  font-size: 23px; font-weight: 700; letter-spacing: -.5px;
}
.lm-login-sub {
  font-size: 13.5px; line-height: 1.55; margin: 0 0 28px;
  color: var(--colorNeutralForeground2, #555);
}

/* ---------------------------------------------------------------- campos -- */
.lm-login-card .lm-field { margin-bottom: 16px; }
.lm-login-card .lm-field label {
  display: block; margin-bottom: 7px;
  font-size: 12.5px; font-weight: 600; letter-spacing: .005em;
  color: var(--colorNeutralForeground2, #555);
}
.lm-login-card .fui-Input {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
  background: var(--colorNeutralBackground1, #fff);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.lm-login-card .fui-Input:hover { border-color: var(--colorNeutralStroke1Hover, #b3b3b3); }
/* o sublinhado de foco do Fluent sai; entra um anel inteiro, mais legível */
.lm-login-card .fui-Input::after { content: none !important; }
.lm-login-card .fui-Input:focus-within {
  border-color: var(--colorBrandStroke1, #0f6cbd);
  box-shadow: 0 0 0 3px rgba(0, 120, 212, .18);
}
.lm-login-card .fui-Input__input { font-size: 14.5px; }
.lm-login-card .fui-Input__input::placeholder { color: var(--colorNeutralForeground4, #9c9c9c); }
.lm-login-card .fui-Input__contentBefore {
  margin-right: 10px; font-size: 15px;
  color: var(--colorNeutralForeground3, #767676);
}

/* mostrar/esconder a senha (botão criado pelo complemento) */
.lm-login-card .mr-ver-senha {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; margin-left: 6px; margin-right: -6px;
  border: 0; border-radius: 7px; background: transparent; cursor: pointer;
  color: var(--colorNeutralForeground3, #767676); font-size: 15px; line-height: 1;
}
.lm-login-card .mr-ver-senha:hover { background: var(--colorNeutralBackground1Hover, #f0f0f0); }
.lm-login-card .mr-ver-senha:focus-visible {
  outline: 2px solid var(--colorBrandStroke1, #0f6cbd); outline-offset: 1px;
}
.lm-login-card .mr-ver-senha svg { display: block; }

/* ----------------------------------------------------------------- botão -- */
.lm-login-card button[type="submit"] {
  height: 46px;
  margin-top: 10px !important;
  border: 0;
  border-radius: 10px;
  font-size: 15px; font-weight: 600; letter-spacing: .01em;
  color: #fff;
  background: linear-gradient(180deg, #1183de 0%, #0f6cbd 100%);
  box-shadow: 0 2px 6px rgba(15, 108, 189, .30);
  transition: transform .12s ease, box-shadow .15s ease, filter .15s ease;
}
.lm-login-card button[type="submit"]:hover {
  filter: brightness(1.06);
  box-shadow: 0 5px 16px rgba(15, 108, 189, .38);
  transform: translateY(-1px);
}
.lm-login-card button[type="submit"]:active { transform: translateY(0); box-shadow: 0 2px 6px rgba(15, 108, 189, .30); }
.lm-login-card button[type="submit"]:focus-visible {
  outline: 2px solid var(--colorBrandStroke1, #0f6cbd); outline-offset: 2px;
}

/* ------------------------------------------------- rodapé técnico: sai -- */
/* "Microsoft 365 (Graph API) · backup local / cookie httpOnly" não diz nada a
   quem vai entrar — e contar a tecnologia na porta não ajuda a segurança. */
.lm-login-foot { display: none !important; }

/* ------------------------------------------------ baixar o app (Windows) -- */
.od-desk-link {
  margin-top: 26px !important;
  padding-top: 20px;
  border-top: 1px solid var(--colorNeutralStroke2, #e3e3e3);
}
.od-desk-link a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  height: 42px;
  box-sizing: border-box;
  padding: 0 14px !important;
  border: 1px solid var(--colorNeutralStroke2, #e3e3e3) !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--colorNeutralForeground2, #555) !important;
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.od-desk-link a svg { flex: none; opacity: .85; }
.od-desk-link a:hover {
  background: var(--colorNeutralBackground1Hover, #f3f7fb) !important;
  border-color: var(--colorBrandStroke1, #0f6cbd) !important;
  color: var(--colorBrandForeground1, #0f6cbd) !important;
}

/* --------------------------------------------------------------- telinha -- */
@media (max-width: 480px) {
  .lm-login { padding: 16px; }
  .lm-login-card { padding: 32px 24px 24px; border-radius: 14px; }
  .lm-login-brand img { width: 36px; height: 36px; }
  .lm-login-brand span { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .lm-login-card button[type="submit"],
  .lm-login-card .fui-Input,
  .od-desk-link a { transition: none; }
  .lm-login-card button[type="submit"]:hover { transform: none; }
}
