/*
 * BEQ Guest QR — Design System v1.1.0
 * Especificidade alta para sobrepor temas WP.
 * Desenvolvido por DriveWeb – Rodrigo Soares — https://driveweb.pt
 */

/* ══════════════════════════════════════════════
   TOKENS
══════════════════════════════════════════════ */
:root {
  --beq-bg:           #FFFFFF;
  --beq-bg2:          #F9FAFB;
  --beq-card:         #FFFFFF;
  --beq-border:       rgba(139,92,246,.2);
  --beq-border-focus: rgba(139,92,246,.6);
  --beq-primary:      #8B5CF6;
  --beq-primary-h:    #7C3AED;
  --beq-glow:         rgba(139,92,246,.14);
  --beq-accent:       #A78BFA;
  --beq-success:      #10B981;
  --beq-success-bg:   rgba(16,185,129,.1);
  --beq-error:        #EF4444;
  --beq-error-bg:     rgba(239,68,68,.1);
  --beq-warning:      #F59E0B;
  --beq-warning-bg:   rgba(245,158,11,.1);
  --beq-text:         #111827;
  --beq-text2:        #6B7280;
  --beq-text3:        #9CA3AF;
  --beq-r:            12px;
  --beq-rl:           18px;
  --beq-shadow:       0 4px 24px rgba(0,0,0,.08);
  --t:                .18s ease;
}

/* ══════════════════════════════════════════════
   PÁGINA BASE
══════════════════════════════════════════════ */
body.beq-fullscreen,
body.beq-fullscreen .beq-page-wrapper {
  background: var(--beq-bg) !important;
  color: var(--beq-text) !important;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

body.beq-fullscreen #wpadminbar { display: none !important; }
body.beq-fullscreen html { margin-top: 0 !important; }

body.beq-fullscreen .beq-page-footer {
  background: var(--beq-bg2) !important;
  border-top: 1px solid var(--beq-border) !important;
  color: var(--beq-text3) !important;
  padding: 1rem !important;
  text-align: center !important;
  font-size: .75rem !important;
}
body.beq-fullscreen .beq-page-footer a { color: var(--beq-text3) !important; text-decoration: none !important; }
body.beq-fullscreen .beq-page-footer a:hover { color: var(--beq-primary) !important; }

/* ══════════════════════════════════════════════
   WRAPPERS AUTH — centrar card no ecrã
══════════════════════════════════════════════ */
body.beq-fullscreen .beq-login-wrap,
body.beq-fullscreen .beq-register-wrap,
body.beq-fullscreen .beq-verify-wrap,
body.beq-fullscreen .beq-2fa-wrap {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 2.5rem 1rem 5rem !important;
  background: var(--beq-bg2) !important;
  box-sizing: border-box !important;
}

/* Card dentro dos wrappers auth */
body.beq-fullscreen .beq-login-wrap > .beq-card,
body.beq-fullscreen .beq-register-wrap > .beq-card,
body.beq-fullscreen .beq-verify-wrap > .beq-card,
body.beq-fullscreen .beq-2fa-wrap > .beq-card {
  width: 100% !important;
  max-width: 420px !important;
}

/* ══════════════════════════════════════════════
   CARD
══════════════════════════════════════════════ */
body.beq-fullscreen .beq-card {
  background: linear-gradient(170deg, rgba(255,248,235,.025) 0%, transparent 45%), var(--beq-card) !important;
  border: 1px solid var(--beq-border) !important;
  border-top: 1px solid rgba(201,169,110,.35) !important;
  border-radius: var(--beq-rl) !important;
  box-shadow: var(--beq-shadow), 0 0 0 1px rgba(201,169,110,.1), 0 8px 32px rgba(0,0,0,.08) !important;
  overflow: hidden !important;
  animation: beq-rise .5s cubic-bezier(.22,1,.36,1) both !important;
  position: relative !important;
}
/* Gold top ribbon */
body.beq-fullscreen .beq-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent 0%, #8B5CF6 30%, #E8C07A 50%, #8B5CF6 70%, transparent 100%) !important;
  z-index: 1 !important;
}

body.beq-fullscreen .beq-card__header {
  padding: 2rem 2rem 1.4rem !important;
  border-bottom: 1px solid var(--beq-border) !important;
  position: relative !important;
}

/* Ícone decorativo */
body.beq-fullscreen .beq-card__header::before {
  content: '✦  ✦  ✦' !important;
  display: block !important;
  font-size: .55rem !important;
  color: var(--beq-primary) !important;
  margin-bottom: .9rem !important;
  letter-spacing: 8px !important;
  opacity: .7 !important;
}

/* TÍTULO — forçar sobre o tema */
body.beq-fullscreen .beq-card__header h1,
body.beq-fullscreen .beq-card__header h2,
body.beq-fullscreen .beq-card__title,
body.beq-fullscreen .beq-card .beq-card__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-size: 2.1rem !important;
  color: var(--beq-text) !important;
  letter-spacing: -.01em !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  text-transform: none !important;
}

body.beq-fullscreen .beq-card__header p {
  margin: .5rem 0 0 !important;
  font-size: .875rem !important;
  color: var(--beq-text2) !important;
  font-family: 'Poppins', sans-serif !important;
}

body.beq-fullscreen .beq-card__footer {
  padding: 1rem 2rem !important;
  border-top: 1px solid var(--beq-border) !important;
  text-align: center !important;
  font-size: .8rem !important;
  color: var(--beq-text3) !important;
}

body.beq-fullscreen .beq-card__footer a,
body.beq-fullscreen .beq-card__footer small {
  color: var(--beq-text3) !important;
  font-size: .8rem !important;
  text-decoration: none !important;
}

body.beq-fullscreen .beq-card__footer a:hover { color: var(--beq-primary) !important; }

/* ══════════════════════════════════════════════
   FORMULÁRIO
══════════════════════════════════════════════ */
body.beq-fullscreen .beq-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.1rem !important;
  padding: 1.75rem 2rem !important;
  margin: 0 !important;
  background: none !important;
}

body.beq-fullscreen .beq-form__group {
  display: flex !important;
  flex-direction: column !important;
  gap: .4rem !important;
  margin: 0 !important;
}

body.beq-fullscreen .beq-form__label {
  font-size: .72rem !important;
  font-weight: 600 !important;
  color: var(--beq-text2) !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  font-family: 'Poppins', sans-serif !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* INPUT — forçar sobre tema (branco padrão) */
body.beq-fullscreen .beq-form__input,
body.beq-fullscreen input.beq-form__input,
body.beq-fullscreen textarea.beq-form__input,
body.beq-fullscreen select.beq-form__input {
  display: block !important;
  width: 100% !important;
  padding: .78rem 1rem !important;
  background: #F9FAFB !important;
  transition: background-color 600000s ease-in-out 0s !important;
  border: 1px solid var(--beq-border) !important;
  border-radius: var(--beq-r) !important;
  color: var(--beq-text) !important;
  font-size: .95rem !important;
  font-family: 'Poppins', sans-serif !important;
  outline: none !important;
  transition: border-color var(--t), box-shadow var(--t), background var(--t) !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-shadow: none !important;
}

body.beq-fullscreen .beq-form__input::placeholder { color: var(--beq-text3) !important; opacity: 1 !important; }

body.beq-fullscreen .beq-form__input:focus {
  border-color: var(--beq-border-focus) !important;
  background: #FFFFFF !important;
  box-shadow: 0 0 0 3px var(--beq-glow) !important;
}

/* Autofill override */
body.beq-fullscreen input.beq-form__input:-webkit-autofill,
body.beq-fullscreen input.beq-form__input:-webkit-autofill:hover,
body.beq-fullscreen input.beq-form__input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 100px #F9FAFB inset !important;
  -webkit-text-fill-color: var(--beq-text) !important;
  caret-color: var(--beq-text) !important;
  border-color: var(--beq-border) !important;
  transition: background-color 600000s ease-in-out 0s !important;
}


body.beq-fullscreen .beq-form__input--error {
  border-color: rgba(239,68,68,.55) !important;
  background: #FFF7F7 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.09) !important;
}

body.beq-fullscreen .beq-form__error {
  display: block !important;
  margin-top: .1rem !important;
  color: #DC2626 !important;
  font-size: .78rem !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

body.beq-fullscreen .beq-form__hint {
  font-size: .76rem !important;
  color: var(--beq-text3) !important;
  line-height: 1.35 !important;
}

body.beq-fullscreen .beq-form__links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  gap: .5rem !important;
  font-size: .85rem !important;
  padding-top: .25rem !important;
}

/* ══════════════════════════════════════════════
   BOTÕES — forçar sobre tema
══════════════════════════════════════════════ */
body.beq-fullscreen .beq-btn,
body.beq-fullscreen button.beq-btn,
body.beq-fullscreen a.beq-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .4rem !important;
  padding: .75rem 1.5rem !important;
  border-radius: var(--beq-r) !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  font-family: 'Poppins', sans-serif !important;
  cursor: pointer !important;
  border: none !important;
  text-decoration: none !important;
  transition: all var(--t) !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

body.beq-fullscreen .beq-btn--primary { background: linear-gradient(135deg,#8B5CF6 0%,#7C3AED 100%) !important; color: #FFFFFF !important; font-weight: 700 !important; letter-spacing: .05em !important; box-shadow: 0 2px 22px rgba(139,92,246,.18) !important; }
body.beq-fullscreen .beq-btn--primary:hover { background: linear-gradient(135deg,#D4B87A 0%,#C09050 100%) !important; transform: translateY(-1px) !important; box-shadow: 0 6px 32px rgba(201,169,110,.32) !important; }
body.beq-fullscreen .beq-btn--primary:active { transform: translateY(0) !important; }

body.beq-fullscreen .beq-btn--secondary { background: rgba(139,92,246,.06) !important; color: var(--beq-primary) !important; border: 1px solid rgba(139,92,246,.2) !important; }
body.beq-fullscreen .beq-btn--secondary:hover { background: rgba(201,169,110,.16) !important; color: var(--beq-primary) !important; }

body.beq-fullscreen .beq-btn--outline { background: transparent !important; color: var(--beq-text2) !important; border: 1px solid var(--beq-border) !important; }
body.beq-fullscreen .beq-btn--outline:hover { border-color: rgba(255,255,255,.2) !important; color: var(--beq-text) !important; }

body.beq-fullscreen .beq-btn--full { width: 100% !important; }
body.beq-fullscreen .beq-btn--sm { padding: .38rem .8rem !important; font-size: .8rem !important; }

/* ══════════════════════════════════════════════
   LINKS
══════════════════════════════════════════════ */
body.beq-fullscreen .beq-link,
body.beq-fullscreen .beq-form__links a {
  color: var(--beq-primary) !important;
  text-decoration: none !important;
  font-size: .85rem !important;
  transition: color var(--t) !important;
}
body.beq-fullscreen .beq-link:hover,
body.beq-fullscreen .beq-form__links a:hover { color: #c4b5fd !important; }

/* ══════════════════════════════════════════════
   ALERTAS
══════════════════════════════════════════════ */
body.beq-fullscreen .beq-alert {
  display: flex !important;
  align-items: flex-start !important;
  gap: .6rem !important;
  padding: .85rem 1rem !important;
  border-radius: var(--beq-r) !important;
  font-size: .875rem !important;
  line-height: 1.5 !important;
  border: 1px solid transparent !important;
  margin: 0 2rem 1rem !important;
  box-sizing: border-box !important;
}

body.beq-fullscreen .beq-alert--success { background: #ECFDF5 !important; border-color: rgba(16,185,129,.22) !important; color: #065F46 !important; }
body.beq-fullscreen .beq-alert--success::before { content: '✓  ' !important; font-weight: 700 !important; color: var(--beq-success) !important; flex-shrink: 0 !important; }
body.beq-fullscreen .beq-alert--error { background: #FEF2F2 !important; border-color: rgba(239,68,68,.22) !important; color: #991B1B !important; }
body.beq-fullscreen .beq-alert--error::before { content: '✕  ' !important; font-weight: 700 !important; color: var(--beq-error) !important; flex-shrink: 0 !important; }

/* ══════════════════════════════════════════════
   DASHBOARD WRAP
══════════════════════════════════════════════ */
body.beq-fullscreen .beq-dashboard-wrap {
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 2.5rem 1.5rem 4rem !important;
  font-family: 'Poppins', sans-serif !important;
}

body.beq-fullscreen .beq-dashboard-header {
  margin-bottom: 2rem !important;
  padding-bottom: 1.25rem !important;
  border-bottom: 1px solid var(--beq-border) !important;
}

body.beq-fullscreen .beq-dashboard-header h1,
body.beq-fullscreen .beq-dashboard-header h2 {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 2.1rem !important;
  color: var(--beq-text) !important;
  margin: 0 !important;
  letter-spacing: -.02em !important;
}

body.beq-fullscreen .beq-dashboard-header h1::before {
  content: '◆ ' !important;
  color: var(--beq-primary) !important;
  font-size: 1rem !important;
  vertical-align: middle !important;
}

/* ══════════════════════════════════════════════
   TABELA
══════════════════════════════════════════════ */
body.beq-fullscreen .beq-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: .875rem !important;
  font-family: 'Poppins', sans-serif !important;
}

body.beq-fullscreen .beq-table th {
  padding: .7rem 1rem !important;
  text-align: left !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: var(--beq-text3) !important;
  border-bottom: 1px solid var(--beq-border) !important;
  background: rgba(255,255,255,.025) !important;
}

body.beq-fullscreen .beq-table td {
  padding: .85rem 1rem !important;
  color: var(--beq-text2) !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
  vertical-align: middle !important;
  background: none !important;
}

body.beq-fullscreen .beq-table tbody tr:hover td { background: rgba(255,255,255,.03) !important; }
body.beq-fullscreen .beq-table tbody tr:last-child td { border-bottom: none !important; }

/* ══════════════════════════════════════════════
   GATE SCANNER
══════════════════════════════════════════════ */
body.beq-fullscreen .beq-gate-wrap {
  max-width: 520px !important;
  margin: 0 auto !important;
  padding: 2rem 1.25rem 4rem !important;
  font-family: 'Poppins', sans-serif !important;
}

body.beq-fullscreen .beq-gate-title {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 1.9rem !important;
  color: var(--beq-text) !important;
  margin: 0 0 .35rem !important;
  letter-spacing: -.02em !important;
}

body.beq-fullscreen .beq-gate-sub { color: var(--beq-text2) !important; font-size: .9rem !important; margin: 0 !important; }

body.beq-fullscreen .beq-gate-scanner-box {
  border-radius: var(--beq-rl) !important;
  overflow: hidden !important;
  border: 1px solid var(--beq-border) !important;
  background: #000 !important;
  margin-bottom: 1.25rem !important;
}

body.beq-fullscreen .beq-gate-result {
  background: var(--beq-card) !important;
  border: 1px solid var(--beq-border) !important;
  border-radius: var(--beq-rl) !important;
  padding: 1.75rem !important;
  text-align: center !important;
}

/* ══════════════════════════════════════════════
   WALLET
══════════════════════════════════════════════ */
body.beq-fullscreen .beq-wallet-wrap {
  max-width: 420px !important;
  margin: 0 auto !important;
  padding: 2rem 1.25rem 4rem !important;
}

/* ══════════════════════════════════════════════
   PLACEHOLDER
══════════════════════════════════════════════ */
body.beq-fullscreen .beq-placeholder {
  padding: 2rem !important;
  text-align: center !important;
  color: var(--beq-text2) !important;
  background: var(--beq-card) !important;
  border: 1px dashed var(--beq-border) !important;
  border-radius: var(--beq-r) !important;
  font-family: 'Poppins', sans-serif !important;
}

/* ══════════════════════════════════════════════
   BADGE
══════════════════════════════════════════════ */
body.beq-fullscreen .beq-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: .18rem .6rem !important;
  border-radius: 3px !important;
  font-size: .62rem !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-family: 'Space Mono', monospace !important;
}

/* ══════════════════════════════════════════════
   ANIMAÇÃO
══════════════════════════════════════════════ */
@keyframes beq-rise {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ══════════════════════════════════════════════
   SCROLLBAR
══════════════════════════════════════════════ */
body.beq-fullscreen ::-webkit-scrollbar { width: 6px; }
body.beq-fullscreen ::-webkit-scrollbar-track { background: var(--beq-bg); }
body.beq-fullscreen ::-webkit-scrollbar-thumb { background: rgba(201,169,110,.28); border-radius: 2px; }

/* ══════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════ */
/* ──────────────────────────────────────────────
   MOBILE ≤ 768px — tap targets, spacing
────────────────────────────────────────────── */
@media (max-width: 768px) {
  /* Bigger tap targets on mobile */
  body.beq-fullscreen .beq-btn,
  body.beq-fullscreen button.beq-btn,
  body.beq-fullscreen a.beq-btn {
    min-height: 48px !important;
    padding: .85rem 1.25rem !important;
    font-size: .95rem !important;
  }

  /* Prevent zoom on input focus (iOS) */
  body.beq-fullscreen .beq-form__input,
  body.beq-fullscreen input.beq-form__input,
  body.beq-fullscreen textarea.beq-form__input,
  body.beq-fullscreen select.beq-form__input {
    font-size: 16px !important;
    min-height: 48px !important;
  }

  /* Gate scanner — full width camera on mobile */
  body.beq-fullscreen .beq-gate-wrap { padding: 1.25rem .9rem 3rem !important; }
  body.beq-fullscreen .beq-gate-scanner-box { margin-bottom: 1rem !important; }
  body.beq-fullscreen .beq-gate-scanner-controls { display: flex !important; gap: .5rem !important; flex-wrap: wrap !important; }
  body.beq-fullscreen .beq-gate-scanner-controls .beq-btn { flex: 1 !important; min-width: 120px !important; }
  body.beq-fullscreen .beq-gate-manual__row { flex-direction: column !important; }
  body.beq-fullscreen .beq-gate-manual__row .beq-btn { width: 100% !important; }

  /* Audit log — filters stack vertically */
  body.beq-fullscreen .beq-audit-wrap form[method="get"] { flex-direction: column !important; align-items: stretch !important; }
  body.beq-fullscreen .beq-audit-wrap form[method="get"] .beq-form__input,
  body.beq-fullscreen .beq-audit-wrap form[method="get"] select.beq-form__input { max-width: unset !important; width: 100% !important; }

  /* Audit tabs */
  body.beq-fullscreen .beq-tabs { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  body.beq-fullscreen .beq-tabs a { white-space: nowrap !important; }

  /* Table horizontal scroll */
  body.beq-fullscreen .beq-table-wrap,
  body.beq-fullscreen [style*="overflow-x:auto"] { -webkit-overflow-scrolling: touch !important; }
}

/* ──────────────────────────────────────────────
   MOBILE ≤ 560px — compact view
────────────────────────────────────────────── */
@media (max-width: 560px) {
  body.beq-fullscreen .beq-card__header,
  body.beq-fullscreen .beq-form { padding-left: 1rem !important; padding-right: 1rem !important; }
  body.beq-fullscreen .beq-alert { margin-left: 1rem !important; margin-right: 1rem !important; }
  body.beq-fullscreen .beq-login-wrap,
  body.beq-fullscreen .beq-register-wrap,
  body.beq-fullscreen .beq-verify-wrap,
  body.beq-fullscreen .beq-2fa-wrap { padding: 1.5rem .6rem 5rem !important; justify-content: flex-start !important; }
  body.beq-fullscreen .beq-card { border-radius: 14px !important; margin: 0 !important; }
  body.beq-fullscreen .beq-card__header { padding: 1.5rem 1.1rem 1.1rem !important; }
  body.beq-fullscreen .beq-card__header h1,
  body.beq-fullscreen .beq-card__title { font-size: 1.45rem !important; }
  body.beq-fullscreen .beq-card__header::before { font-size: 1rem !important; letter-spacing: 4px !important; }
  body.beq-fullscreen .beq-form { padding: 1.25rem 1rem !important; gap: .9rem !important; }
  
body.beq-fullscreen .beq-form__input--error {
  border-color: rgba(239,68,68,.55) !important;
  background: #FFF7F7 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.09) !important;
}

body.beq-fullscreen .beq-form__error {
  display: block !important;
  margin-top: .1rem !important;
  color: #DC2626 !important;
  font-size: .78rem !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

body.beq-fullscreen .beq-form__hint {
  font-size: .76rem !important;
  color: var(--beq-text3) !important;
  line-height: 1.35 !important;
}

body.beq-fullscreen .beq-form__links { flex-direction: column !important; align-items: center !important; gap: .5rem !important; text-align: center !important; }
  body.beq-fullscreen .beq-card__footer { padding: .85rem 1rem !important; }

  /* Gate compact */
  body.beq-fullscreen .beq-gate-title { font-size: 1.5rem !important; }
  body.beq-fullscreen .beq-gate-result { padding: 1.25rem !important; }
  body.beq-fullscreen .beq-gate-result__icon { font-size: 3rem !important; }

  /* Dashboard legacy */
  body.beq-fullscreen .beq-dashboard-header h1 { font-size: 1.4rem !important; }
  body.beq-fullscreen .beq-dashboard-wrap { padding: 1.25rem .85rem 3rem !important; }

  /* Tables */
  body.beq-fullscreen .beq-table th,
  body.beq-fullscreen .beq-table td { padding: .5rem .5rem !important; font-size: .76rem !important; }

  /* 2FA code input */
  body.beq-fullscreen input[name="beq_totp_code"],
  body.beq-fullscreen input[name="beq_otp_code"] {
    font-size: 1.5rem !important;
    text-align: center !important;
    letter-spacing: .35em !important;
  }
}


@media (max-width: 560px) {
  body.beq-fullscreen .beq-page-wrapper { overflow-x: hidden !important; }
  body.beq-fullscreen .beq-register-wrap { padding-top: 1rem !important; }
  body.beq-fullscreen .beq-card { box-shadow: 0 10px 30px rgba(0,0,0,.08) !important; }
  body.beq-fullscreen .beq-card__header { padding-top: 1.15rem !important; }
  body.beq-fullscreen .beq-card__header::before { margin-bottom: .55rem !important; }
  body.beq-fullscreen .beq-form__group { gap: .35rem !important; }
  body.beq-fullscreen .beq-form__label { font-size: .8rem !important; letter-spacing: .05em !important; }
  body.beq-fullscreen .beq-alert { font-size: .88rem !important; padding: .95rem 1rem !important; }
}

/* ══ NEXTEND SOCIAL LOGIN — Dark theme ══ */
body.beq-fullscreen .nsl-container{display:flex!important;flex-direction:column!important;gap:.5rem!important;}
body.beq-fullscreen .nsl-button{width:100%!important;min-height:46px!important;border-radius:10px!important;border:1px solid rgba(255,255,255,.1)!important;background:rgba(255,255,255,.05)!important;color:var(--beq-text)!important;font-family:'Poppins',sans-serif!important;font-size:.9rem!important;font-weight:600!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.6rem!important;transition:background .15s!important;text-decoration:none!important;cursor:pointer!important;box-sizing:border-box!important;}
body.beq-fullscreen .nsl-button:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.25)!important;}
body.beq-fullscreen .nsl-button-icon{width:20px!important;height:20px!important;flex-shrink:0!important;}

/* === BEQ APP UI extras (v1.3.2) === */
.beq-cap-wrap{margin-top:.6rem;}
.beq-cap-bar{height:10px;border-radius:999px;background:rgba(17,24,39,.08);border:1px solid rgba(139,92,246,.18);overflow:hidden;}
.beq-cap-bar span{display:block;height:100%;background:linear-gradient(90deg,#8B5CF6,#A78BFA);border-radius:999px;}
.beq-cap-meta{margin-top:.35rem;font-size:.78rem;color:rgba(17,24,39,.68);}

.beq-selfie-thumb{width:38px;height:38px;border-radius:10px;object-fit:cover;border:1px solid rgba(139,92,246,.18);box-shadow:0 8px 18px rgba(0,0,0,.08);cursor:pointer;}

.beq-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:999999;}
.beq-modal{width:min(560px,92vw);background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden;border:1px solid rgba(17,24,39,.08);}
.beq-modal-h{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(17,24,39,.08);font-weight:800;}
.beq-modal-b{padding:14px 16px;}
.beq-modal-f{display:flex;gap:.5rem;justify-content:flex-end;padding:14px 16px;border-top:1px solid rgba(17,24,39,.08);}
.beq-x{border:1px solid rgba(17,24,39,.12);background:rgba(17,24,39,.04);border-radius:10px;width:34px;height:34px;cursor:pointer;font-weight:800;}

.beq-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:640px){.beq-edit-grid{grid-template-columns:1fr;} }


/* ══════════════════════════════════════════════
   APP UI MOBILE BOOST — fase 2.4
══════════════════════════════════════════════ */
@media (max-width: 768px) {
  body.beq-fullscreen .beq-card { border-radius: 18px !important; }
  body.beq-fullscreen .beq-card__header h1,
  body.beq-fullscreen .beq-card__title { font-size: 1.7rem !important; line-height: 1.1 !important; }
  body.beq-fullscreen .beq-card__subtitle,
  body.beq-fullscreen .beq-form__hint,
  body.beq-fullscreen .beq-link,
  body.beq-fullscreen .beq-form__links a { font-size: .95rem !important; }
  body.beq-fullscreen .beq-form { gap: 1rem !important; }
  body.beq-fullscreen .beq-form__group { gap: .45rem !important; }
  body.beq-fullscreen .beq-form__label { font-size: .95rem !important; font-weight: 700 !important; letter-spacing: .04em !important; }
  body.beq-fullscreen .beq-form__input,
  body.beq-fullscreen input.beq-form__input,
  body.beq-fullscreen textarea.beq-form__input,
  body.beq-fullscreen select.beq-form__input {
    min-height: 54px !important;
    padding: .95rem 1rem !important;
    font-size: 16px !important;
    border-radius: 16px !important;
  }
  body.beq-fullscreen .beq-alert { font-size: .98rem !important; padding: 1rem 1rem !important; }
  body.beq-fullscreen .beq-btn,
  body.beq-fullscreen button.beq-btn,
  body.beq-fullscreen a.beq-btn { min-height: 52px !important; font-size: 1rem !important; border-radius: 16px !important; }
}
@media (max-width: 560px) {
  body.beq-fullscreen .beq-login-wrap,
  body.beq-fullscreen .beq-register-wrap,
  body.beq-fullscreen .beq-verify-wrap,
  body.beq-fullscreen .beq-2fa-wrap { padding: 1.2rem .7rem 6.25rem !important; }
  body.beq-fullscreen .beq-card__header,
  body.beq-fullscreen .beq-form { padding-left: 1.05rem !important; padding-right: 1.05rem !important; }
  body.beq-fullscreen .beq-card__header h1,
  body.beq-fullscreen .beq-card__title { font-size: 1.55rem !important; }
  body.beq-fullscreen .beq-form__label { font-size: .9rem !important; }
  body.beq-fullscreen .beq-form__hint,
  body.beq-fullscreen .beq-form__error { font-size: .84rem !important; }
}


/* Ajustes Brasil + crédito discreto */
body.beq-fullscreen .beq-card__footer,
body.beq-fullscreen .beq-card__footer small,
body.beq-fullscreen .beq-card__footer a {
  font-size: .74rem !important;
  line-height: 1.45 !important;
}

body.beq-fullscreen #beq_whatsapp { letter-spacing: .01em !important; }

@media (max-width: 768px) {
  body.beq-fullscreen .beq-form__label {
    font-size: .86rem !important;
    letter-spacing: .03em !important;
  }
  body.beq-fullscreen .beq-form__input,
  body.beq-fullscreen input.beq-form__input,
  body.beq-fullscreen textarea.beq-form__input,
  body.beq-fullscreen select.beq-form__input {
    font-size: 1rem !important;
  }
}


/* Google Login / Nextend */
.beq-social-btns .nsl-container, .beq-social-btns .nsl-container-block { width:100% !important; }
.beq-social-btns .nsl-button, .beq-social-btns .nsl-button-google { width:100% !important; border-radius:14px !important; overflow:hidden !important; }
.beq-social-btns .nsl-button-default { border-radius:14px !important; }
.beq-social-btns .nsl-button-label-container { font-weight:700 !important; }
