/* Páginas de acesso do site público (login, convite, lista de espera, convite de equipe) na identidade do Lemur 2.0.
   Dono: frente A. Usa os tokens do 2.0 (static/v2/tokens.css, escopados em body.v2) quando a casca pública os carrega; sem eles, cai
   nos mesmos valores do tema escuro. Tudo escopado em .lm-acesso: não vaza para a casca. */
.lm-acesso {
  --a-card: var(--v2-card, #16161a);
  --a-linha: var(--v2-linha, rgba(255, 255, 255, 0.08));
  --a-linha-forte: var(--v2-linha-forte, rgba(255, 255, 255, 0.16));
  --a-ink: var(--v2-ink, #f5f5f7);
  --a-ink-2: var(--v2-ink-2, #d2d2d7);
  --a-muted: var(--v2-muted, #86868b);
  --a-azul: var(--v2-azul, #0071e3);
  --a-azul-2: var(--v2-azul-2, #2997ff);
  --a-azul-soft: var(--v2-azul-soft, rgba(0, 113, 227, 0.16));
  --a-alerta: var(--v2-alerta, #ff9f0a);
  --a-alerta-soft: var(--v2-alerta-soft, rgba(255, 159, 10, 0.14));
  --a-raio: var(--v2-raio, 14px);
  --a-raio-p: var(--v2-raio-p, 10px);
  --a-fonte: var(--v2-fonte, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Manrope", system-ui, sans-serif);
  box-sizing: border-box;
  width: 100%;
  max-width: 420px;
  margin: 48px auto;
  padding: 32px 28px 26px;
  background: var(--a-card);
  color: var(--a-ink);
  border: 1px solid var(--a-linha);
  border-radius: var(--a-raio);
  box-shadow: var(--v2-sombra, 0 12px 32px rgba(0, 0, 0, 0.42));
  font-family: var(--a-fonte);
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}
.lm-acesso.largo { max-width: 560px; }
.lm-acesso *, .lm-acesso *::before, .lm-acesso *::after { box-sizing: border-box; }
.lm-acesso a { color: var(--a-azul-2); text-decoration: none; }
.lm-acesso a:hover { text-decoration: underline; }
.lm-marca { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; }
.lm-marca b { font-size: 17px; letter-spacing: -0.2px; color: var(--a-ink); }
.lm-marca small { display: block; font-size: 12px; color: var(--a-muted); }
.lm-marca .lm-logo { width: 30px; height: 30px; border-radius: 8px; background: var(--a-azul); display: grid; place-items: center;
  color: #fff; font-weight: 700; font-size: 15px; }
.lm-acesso h1 { font-size: 22px; letter-spacing: -0.3px; line-height: 1.25; margin: 0 0 6px; color: var(--a-ink); }
.lm-acesso h2 { font-size: 15px; margin: 22px 0 8px; color: var(--a-ink); }
.lm-acesso p { margin: 0 0 14px; color: var(--a-ink-2); }
.lm-acesso .lm-sub { color: var(--a-muted); margin-bottom: 22px; }
.lm-acesso .lm-pequeno { font-size: 12.5px; color: var(--a-muted); }
.lm-btn { display: flex; width: 100%; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 10px 16px;
  border-radius: var(--a-raio-p); border: 1px solid var(--a-linha-forte); background: transparent; color: var(--a-ink);
  font: 600 14.5px/1.2 var(--a-fonte); cursor: pointer; text-decoration: none; }
.lm-btn:hover { border-color: var(--a-azul-2); text-decoration: none; }
.lm-btn.prim { background: var(--a-azul); border-color: var(--a-azul); color: #fff; }
.lm-btn.prim:hover { background: #0077ed; }
.lm-btn + .lm-btn, form + .lm-btn, .lm-btn + form { margin-top: 10px; }
.lm-link { background: none; border: 0; padding: 0; color: var(--a-azul-2); font: inherit; cursor: pointer; }
.lm-link:hover { text-decoration: underline; }
.lm-aviso { padding: 10px 12px; border-radius: var(--a-raio-p); background: var(--a-alerta-soft); color: var(--a-ink);
  border: 1px solid var(--a-alerta); font-size: 13px; margin: 0 0 14px; }
.lm-nota { padding: 10px 12px; border-radius: var(--a-raio-p); background: var(--a-azul-soft); color: var(--a-ink); font-size: 13px;
  margin: 0 0 14px; }
.lm-rodape { margin: 22px 0 0; padding-top: 14px; border-top: 1px solid var(--a-linha); font-size: 12.5px; color: var(--a-muted);
  display: flex; flex-wrap: wrap; gap: 6px 14px; }
.lm-legal { font-size: 12px; color: var(--a-muted); margin: 14px 0 0; }
.lm-numeros { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; }
.lm-numeros div { border: 1px solid var(--a-linha); border-radius: var(--a-raio-p); padding: 10px 12px; }
.lm-numeros b { display: block; font-size: 21px; color: var(--a-ink); }
.lm-numeros span { font-size: 12px; color: var(--a-muted); }
/* formulários de acesso (login, cadastro, senha, lista de espera) */
.lm-form label { display: block; font-size: 12.5px; color: var(--a-muted); margin: 12px 0 4px; }
.lm-form label small { font-weight: 400; color: var(--a-muted); }
.lm-form input[type="text"], .lm-form input[type="email"], .lm-form input[type="password"], .lm-form input:not([type]), .lm-form select {
  width: 100%; min-height: 40px; padding: 8px 11px; border-radius: var(--a-raio-p); border: 1px solid var(--a-linha-forte);
  background: transparent; color: var(--a-ink); font: 14px var(--a-fonte); }
.lm-form input:focus, .lm-form select:focus { outline: none; border-color: var(--a-azul-2); box-shadow: 0 0 0 2px var(--a-azul-soft); }
.lm-label-linha { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 12px 0 4px; }
.lm-label-linha label { margin: 0; }
.lm-divisor { display: flex; align-items: center; gap: 10px; margin: 18px 0 14px; color: var(--a-muted); font-size: 12px; }
.lm-divisor::before, .lm-divisor::after { content: ""; flex: 1; height: 1px; background: var(--a-linha); }
.lm-troca { margin: 16px 0 0; font-size: 13px; color: var(--a-muted); text-align: center; }
.lm-abas { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 4px; margin: 0 0 18px; border-radius: var(--a-raio-p);
  background: rgba(255, 255, 255, 0.04); border: 1px solid var(--a-linha); }
.lm-abas a { display: block; text-align: center; padding: 7px 10px; border-radius: 7px; font-size: 13px; font-weight: 600;
  color: var(--a-muted); text-decoration: none; }
.lm-abas a.on { background: var(--a-card); color: var(--a-ink); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25); }
.lm-form select option { color: #1d1d1f; }
.lm-form fieldset { border: 0; padding: 0; margin: 0 0 6px; }
.lm-form legend { font-size: 12.5px; color: var(--a-muted); margin-bottom: 6px; }
.lm-publico { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; align-items: baseline; padding: 10px 12px; margin: 0 0 8px;
  border: 1px solid var(--a-linha); border-radius: var(--a-raio-p); cursor: pointer; color: var(--a-ink) !important; font-size: 14px !important; }
.lm-publico:has(input:checked) { border-color: var(--a-azul-2); background: var(--a-azul-soft); }
.lm-publico span { grid-column: 2; font-size: 12.5px; color: var(--a-muted); }
.lm-form .lm-inst { display: none; }
.lm-form:has(input[value="institucional"]:checked) .lm-inst { display: block; }
.lm-form details { margin-top: 12px; }
.lm-form summary { cursor: pointer; font-size: 13px; color: var(--a-muted); }
@media (max-width: 520px) {
  .lm-acesso { margin: 20px auto; padding: 24px 18px 20px; border-radius: var(--a-raio-p); }
}

/* /conta/equipe (casca do 2.0) */
.lm-equipe h2 { margin: 0 0 12px; font-size: 15px; }
.lm-equipe-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.lm-equipe-form input, .lm-equipe-form select { min-height: 34px; padding: 6px 10px; border-radius: 9px; border: 1px solid var(--v2-linha-forte);
  background: transparent; color: var(--v2-ink); font: 13.5px var(--v2-fonte); }
.lm-equipe-form input { flex: 1 1 240px; min-width: 0; }
.lm-equipe-form select option { color: #1d1d1f; }
.lm-equipe-nota { margin: 10px 0 0; font-size: 12.5px; color: var(--v2-muted); }
.lm-equipe-url, .lm-equipe-link code { font-size: 11px; word-break: break-all; }
.lm-equipe-priv label { display: flex; gap: 8px; align-items: baseline; margin: 0 0 10px; font-size: 13px; color: var(--v2-ink-2); }
.lm-equipe-priv input { width: auto; }
.lm-equipe .v2-tabela small { color: var(--v2-muted); }
