/**
 * Mesa do Sócio — entrada convidada (login / cadastro).
 * Layout institucional, coerente com a shell premium; dark + clean.
 * Depende dos tokens em theme-override.css; carregar depois de mesa-premium-ui.css.
 */

.mesa-guest-shell--entry.login-root{
  min-height:100dvh;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:clamp(20px, 4.5vw, 48px) clamp(16px, 3.5vw, 36px);
  background:var(--bg);
}

.mesa-guest-shell--entry .mesa-guest-shell__inner.login-card{
  width:100%;
  max-width:520px;
  min-height:580px;
  margin:0 auto;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  container-type:inline-size;
}

/* Bloco superior: marca + aparência (secundário) + mensagem — menos “banner pesado” */
.mesa-guest-shell--entry .mesa-guest-hero{
  border:1px solid var(--border);
  border-bottom:none;
  border-radius:10px 10px 0 0;
  padding:clamp(22px, 3.5cqi, 30px) clamp(20px, 4cqi, 28px) clamp(18px, 2.5cqi, 22px);
  background:
    linear-gradient(
      165deg,
      color-mix(in srgb, var(--surface) 88%, var(--gold) 5%) 0%,
      var(--surface2) 42%,
      color-mix(in srgb, var(--bg-root) 94%, var(--surface) 6%) 100%
    );
  box-shadow:var(--shadow-xs);
}

.mesa-guest-shell--entry .mesa-guest-hero__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:clamp(14px, 3cqi, 22px);
}

.mesa-guest-shell--entry .mesa-guest-brand{
  margin:0;
  min-width:0;
  flex:1;
  text-align:left;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}

.mesa-guest-shell--entry .mesa-guest-brand__crest{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:14px;
  margin:0;
  max-width:none;
}

.mesa-guest-shell--entry .mesa-guest-brand__mark{
  width:clamp(44px, 12cqi, 52px);
  height:clamp(44px, 12cqi, 52px);
  margin:0;
  flex-shrink:0;
  box-shadow:none;
  border-radius:0;
}

.mesa-guest-shell--entry .mesa-guest-brand__kicker{
  font-family:'DM Sans','Inter',system-ui,sans-serif;
  font-size:9px;
  letter-spacing:0.36em;
  font-weight:700;
  text-transform:uppercase;
  color:var(--label-accent);
  margin:0;
  padding:0;
  line-height:1;
  opacity:0.95;
}

.mesa-guest-shell--entry .mesa-guest-brand__title{
  font-family:'DM Serif Display','Cormorant Garamond',serif;
  font-size:clamp(1.55rem, 5.2cqi, 2rem);
  font-weight:700;
  letter-spacing:0.02em;
  line-height:1.15;
  color:var(--gold-soft);
  margin:0;
  padding:0;
  border:none;
  max-width:20ch;
  text-align:left;
  text-shadow:0 0 20px rgba(212, 175, 55, 0.08);
}

.mesa-guest-shell--entry .mesa-guest-hero__tagline{
  margin:clamp(14px, 2.5cqi, 18px) 0 0;
  padding-top:clamp(12px, 2cqi, 16px);
  border-top:1px solid color-mix(in srgb, var(--border) 70%, var(--gold) 18%);
  font-family:'DM Sans','Inter',system-ui,sans-serif;
  font-size:clamp(14px, 2.9cqi, 16px);
  font-weight:450;
  line-height:1.55;
  letter-spacing:0.01em;
  color:var(--text-mid);
  max-width:42em;
}

/* Aparência: discreta, não compete com Entrar/Criar conta */
.mesa-guest-shell--entry .mesa-guest-theme-slot{
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  padding-top:2px;
}

.mesa-guest-shell--entry .mesa-guest-theme-slot .mesa-guest-theme-label{
  font-family:'DM Sans','Inter',system-ui,sans-serif;
  font-size:8px;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--text-dim);
  margin:0;
}

.mesa-guest-shell--entry .mesa-guest-theme-slot .mesa-guest-theme-toggle{
  border-radius:6px;
  border:1px solid color-mix(in srgb, var(--border) 82%, var(--gold) 18%);
  background:color-mix(in srgb, var(--surface) 55%, transparent);
  box-shadow:none;
}

.mesa-guest-shell--entry .mesa-guest-theme-slot .mesa-guest-theme-btn{
  font-family:'DM Sans','Inter',system-ui,sans-serif;
  padding:6px 10px;
  font-size:9px;
  font-weight:650;
  letter-spacing:0.1em;
  text-transform:uppercase;
}

/* Painel de acesso: uma peça contínua ao hero, raio contido */
.mesa-guest-shell--entry .mesa-guest-panel{
  border:1px solid var(--border);
  border-top:1px solid color-mix(in srgb, var(--border) 75%, transparent 25%);
  border-radius:0 0 10px 10px;
  background:var(--surface);
  padding:clamp(22px, 3.5cqi, 28px) clamp(20px, 4cqi, 28px) clamp(22px, 3.5cqi, 28px);
  box-shadow:var(--shadow-sm);
}

.mesa-guest-shell--entry .mesa-guest-panel__hint,
.mesa-guest-shell--entry .mesa-guest-card__hint{
  font-size:12px;
  line-height:1.45;
  color:var(--gold-soft);
  margin:0 0 16px;
}

.mesa-guest-shell--entry .mesa-guest-mode-toggle{
  display:flex;
  gap:0;
  margin:0 0 clamp(18px, 2.5cqi, 22px);
  border-radius:8px;
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--surface2);
}

.mesa-guest-shell--entry .mesa-guest-mode-btn{
  flex:1;
  border:none;
  font-family:'DM Sans','Inter',system-ui,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:none;
  padding:13px 14px;
  cursor:pointer;
  color:var(--text-mid);
  background:transparent;
  transition:background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.mesa-guest-shell--entry .mesa-guest-mode-btn:hover:not(:disabled):not(.active){
  background:color-mix(in srgb, var(--surface) 40%, transparent);
  color:var(--text);
}

.mesa-guest-shell--entry .mesa-guest-mode-btn.active{
  color:var(--text);
  background:color-mix(in srgb, var(--gold) 14%, var(--surface));
  box-shadow:inset 0 -2px 0 0 var(--gold-soft);
}

.mesa-guest-shell--entry .mesa-guest-panel .field.field--float.mesa-guest-field{
  margin-bottom:clamp(12px, 2cqi, 16px);
}

.mesa-guest-shell--entry .mesa-guest-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:4px;
}

.mesa-guest-shell--entry .mesa-guest-actions .btn-seleto,
.mesa-guest-shell--entry .mesa-guest-actions .btn-seleto-ghost{
  width:100%;
  min-height:48px;
  border-radius:8px;
  font-family:'DM Sans','Inter',system-ui,sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:none;
}

.mesa-guest-shell--entry .mesa-guest-manual-line{
  margin:clamp(18px, 2.5cqi, 22px) 0 0;
  padding-top:clamp(16px, 2cqi, 20px);
  border-top:1px solid var(--border-subtle, var(--border));
  font-family:'DM Sans','Inter',system-ui,sans-serif;
  font-size:12px;
  line-height:1.5;
  color:var(--text-mid);
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 10px;
  justify-content:space-between;
}

.mesa-guest-shell--entry .mesa-guest-manual-line__lead{
  color:var(--text-dim);
  font-size:11px;
  letter-spacing:0.02em;
}

.mesa-guest-shell--entry .mesa-guest-manual-line__link{
  font-weight:650;
  color:var(--text);
  text-decoration:none;
  border-bottom:1px solid color-mix(in srgb, var(--gold) 35%, var(--border));
  padding-bottom:1px;
}

.mesa-guest-shell--entry .mesa-guest-manual-line__link:hover{
  color:var(--gold);
  border-bottom-color:var(--gold);
}

.mesa-guest-shell--entry > .login-footer.mesa-guest-footer{
  width:100%;
  margin:0;
  margin-top:24px;
  padding:0;
  padding-bottom:max(24px, env(safe-area-inset-bottom, 0px));
  border:none;
  text-align:center;
  font-family:'DM Sans','Inter',system-ui,sans-serif;
  font-size:9px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--text-dim);
}

.mesa-guest-shell--entry .mesa-guest-theme-btn.active{
  background:color-mix(in srgb, var(--gold) 18%, var(--surface2));
  color:var(--gold-soft);
}

/* Ícone olho — mais técnico, menos “pill genérico” */
.mesa-guest-shell--entry .mesa-password-toggle{
  border-radius:6px;
  width:36px;
  height:32px;
  background:color-mix(in srgb, var(--surface2) 70%, transparent);
  border:1px solid transparent;
}

.mesa-guest-shell--entry .mesa-password-toggle:hover{
  border-color:color-mix(in srgb, var(--border) 80%, var(--gold) 20%);
  color:var(--gold-soft);
}

/* ========== Tema clean — login: cartão fixo 520×580, tokens institucionais (theme-override) ========== */
[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry{
  --input-bg:#FFFFFF;
  --input-border:var(--border);
  --label-accent:var(--text-mid);
  background:var(--bg-root);
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-shell__inner.login-card{
  padding:32px;
  background:var(--bg-surface);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:0 1px 3px rgba(0, 0, 0, 0.06), 0 8px 24px rgba(0, 0, 0, 0.06);
  overflow:visible;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-hero{
  flex-shrink:0;
  padding:0 0 20px;
  margin:0;
  background:transparent;
  border:none;
  border-bottom:1px solid var(--border);
  border-radius:0;
  box-shadow:none;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-brand__kicker{
  color:var(--text-dim);
  letter-spacing:0.34em;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-brand__title{
  font-family:'DM Serif Display','Cormorant Garamond',Georgia,serif;
  font-size:32px;
  font-weight:700;
  line-height:1.15;
  letter-spacing:0.02em;
  color:var(--text);
  text-shadow:none;
  max-width:none;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-hero__tagline{
  margin:16px 0 0;
  padding:0;
  border:none;
  font-family:'DM Sans','Inter',system-ui,sans-serif;
  font-size:15px;
  font-weight:450;
  line-height:1.6;
  color:var(--text-mid);
  overflow-wrap:anywhere;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-theme-slot .mesa-guest-theme-label{
  font-size:10px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--text-dim);
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-theme-slot .mesa-guest-theme-toggle{
  border:1px solid var(--border);
  background:var(--bg-subtle);
  border-radius:8px;
  padding:2px;
  gap:2px;
  display:inline-flex;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-theme-btn{
  border-radius:4px;
  color:var(--text-dim);
  background:transparent;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-theme-btn:hover:not(.active){
  color:var(--text);
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-theme-btn.active{
  background:var(--text);
  color:var(--bg-surface);
  box-shadow:none;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-brand__mark rect{
  fill:var(--text) !important;
  stroke:color-mix(in srgb, var(--border) 55%, var(--text-mid) 45%) !important;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-brand__mark path{
  stroke:var(--accent) !important;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-panel{
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:0;
  margin-top:24px;
  padding:32px;
  background:var(--bg-subtle);
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow:none;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-panel__hint,
[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-card__hint{
  color:var(--text-mid);
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-mode-toggle{
  gap:6px;
  padding:4px;
  margin:0 0 20px;
  border:none;
  border-radius:8px;
  background:color-mix(in srgb, var(--bg-surface) 55%, transparent);
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-mode-btn{
  border-radius:6px;
  color:var(--text-mid);
  background:transparent;
  box-shadow:none;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-mode-btn:hover:not(:disabled):not(.active){
  background:color-mix(in srgb, var(--text) 06%, transparent);
  color:var(--text-mid);
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-mode-btn.active{
  background:var(--text);
  color:var(--bg-surface);
  box-shadow:none;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-mode-btn.active:hover:not(:disabled){
  background:#2A2A28;
  color:var(--bg-surface);
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-actions .btn-seleto-ghost,
[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-actions .btn-seleto{
  min-height:auto;
  padding:15px;
  font-size:15px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  border-radius:6px;
  background:var(--text);
  color:var(--bg-surface);
  border:1px solid var(--text);
  filter:none;
  transition:background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-actions .btn-seleto-ghost:hover:not(:disabled),
[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-actions .btn-seleto:hover:not(:disabled){
  background:#2A2A28;
  border-color:#2A2A28;
  color:var(--bg-surface);
  filter:none;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-manual-line{
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid var(--border-subtle);
  color:var(--text-dim);
  font-size:12px;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-manual-line__lead{
  color:var(--text-dim);
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-manual-line__link{
  font-weight:600;
  color:var(--text);
  text-decoration:underline;
  text-underline-offset:3px;
  border-bottom:none;
  padding-bottom:0;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-manual-line__link:hover{
  color:#2A2A28;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry > .login-footer.mesa-guest-footer{
  margin-top:24px;
  font-size:10px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--text-dim);
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-password-toggle{
  background:transparent;
  color:var(--text-dim);
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-password-toggle:hover{
  background:color-mix(in srgb, var(--text) 06%, transparent);
  color:var(--text);
  border-color:transparent;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > input[type="email"],
[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > input[type="text"],
[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > input[type="password"]{
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  padding:0 16px !important;
  border-radius:8px !important;
  background:#FFFFFF !important;
  border:1px solid var(--border) !important;
  box-sizing:border-box !important;
  color:var(--text) !important;
  transition:border-color 0.15s ease, box-shadow 0.15s ease;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > input::placeholder{
  color:var(--text-dim);
  opacity:1;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > input:focus{
  border-color:var(--accent) !important;
  box-shadow:0 0 0 3px rgba(44, 95, 138, 0.1) !important;
  outline:none;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > .mesa-password-wrap{
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  border-radius:8px !important;
  background:#FFFFFF !important;
  border:1px solid var(--border) !important;
  box-sizing:border-box !important;
  transition:border-color 0.15s ease, box-shadow 0.15s ease;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > .mesa-password-wrap:focus-within{
  border-color:var(--accent) !important;
  box-shadow:0 0 0 3px rgba(44, 95, 138, 0.1) !important;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > .mesa-password-wrap .mesa-password-input{
  height:100% !important;
  padding:0 44px 0 16px !important;
  border-radius:8px !important;
  box-sizing:border-box !important;
  color:var(--text) !important;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > .mesa-password-wrap .mesa-password-input::placeholder{
  color:var(--text-dim);
  opacity:1;
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > label{
  top:18px;
  font-size:11px;
  color:var(--text-dim);
}

[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > input:focus + label,
[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > input:not(:placeholder-shown) + label,
[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > .mesa-password-wrap:focus-within + label,
[data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry.mesa-guest-shell .mesa-guest-panel .field--float > .mesa-password-wrap:has(.mesa-password-input:not(:placeholder-shown)) + label{
  top:6px;
  left:12px;
  padding:0 4px;
  z-index:2;
  border-radius:3px;
  background:#FFFFFF;
  color:var(--text-mid);
}

@media (max-width:520px){
  .mesa-guest-shell--entry .mesa-guest-hero__head{
    flex-direction:column;
    align-items:stretch;
  }
  .mesa-guest-shell--entry .mesa-guest-theme-slot{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding-top:4px;
    border-top:1px solid color-mix(in srgb, var(--border) 55%, transparent);
    margin-top:4px;
  }
  [data-theme="clean"] #mesaGuestShell.mesa-guest-shell--entry .mesa-guest-theme-slot{
    border-top-color:var(--border);
  }
}

@media (prefers-reduced-motion:reduce){
  .mesa-guest-shell--entry .mesa-guest-mode-btn,
  .mesa-guest-shell--entry .mesa-guest-theme-btn{
    transition:none;
  }
}
