/* ══════════════════════════════════════════════════════════════════════════
   ACMFacil Website — admin.css
   Estilos exclusivos da área /admin (tabela de usuários, edit modal).
   Usa os tokens do design system — responde a dark mode automaticamente.
   ══════════════════════════════════════════════════════════════════════════ */

/* ─── Badge ADMIN no topbar ─── */
.admin-badge {
  display: inline-block;
  margin-left: var(--space-3);
  padding: 2px var(--space-2);
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
  color: #1a1300;
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-widest);
  border-radius: var(--radius-sm);
  vertical-align: middle;
}

/* ─── Container principal ─── */
.admin {
  max-width: 1400px;
  margin: 0 auto;
  padding: var(--space-10) var(--space-8);
}

/* Loading + forbidden */
.admin__loading,
.admin__forbidden {
  display: grid;
  place-items: center;
  min-height: 60vh;
  text-align: center;
}
.admin__loading p {
  margin-top: var(--space-4);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  color: var(--text-muted);
}
.admin__spinner {
  width: 32px;
  height: 32px;
  border: 3px solid var(--border);
  border-top-color: var(--text);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.admin__forbidden-card {
  padding: var(--space-12);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-2xl);
  max-width: 420px;
  text-align: center;
  color: var(--text-muted);
}
.admin__forbidden-card svg {
  margin: 0 auto var(--space-5);
  color: var(--danger);
}
.admin__forbidden-card h2 {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-3);
  color: var(--text);
}
.admin__forbidden-card p {
  margin-bottom: var(--space-6);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

/* ─── Header ─── */
.admin__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--space-8);
  margin-bottom: var(--space-10);
  flex-wrap: wrap;
}
.admin__eyebrow {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-widest);
  color: var(--text-secondary);
  margin-bottom: var(--space-2);
}
.admin__title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-tighter);
  line-height: 1;
  margin-bottom: var(--space-3);
}
.admin__subtitle {
  max-width: 560px;
  font-size: var(--text-sm);
  color: var(--text-muted);
  line-height: var(--leading-relaxed);
}

/* Stats */
.admin__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-3);
  min-width: 400px;
}
.admin-stat {
  padding: var(--space-4);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  text-align: center;
}
.admin-stat__label {
  display: block;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: var(--fw-semibold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--text-muted);
  margin-bottom: var(--space-1);
}
.admin-stat__value {
  display: block;
  font-size: var(--text-2xl);
  font-weight: var(--fw-bold);
  color: var(--text);
  font-variant-numeric: tabular-nums;
}

/* ─── Toolbar (search + filters) ─── */
.admin__toolbar {
  display: flex;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
  flex-wrap: wrap;
  align-items: center;
}
.admin__search {
  position: relative;
  flex: 1;
  min-width: 280px;
  max-width: 420px;
}
.admin__search svg {
  position: absolute;
  top: 50%;
  left: var(--space-3);
  transform: translateY(-50%);
  color: var(--text-subtle);
  pointer-events: none;
  width: 16px;
  height: 16px;
}
.admin__search input {
  width: 100%;
  padding: 10px var(--space-4) 10px 36px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  color: var(--text);
  transition: border-color var(--duration-fast) var(--ease);
}
.admin__search input:focus {
  border-color: var(--text);
  box-shadow: 0 0 0 3px rgba(23,23,23,0.06);
}
.admin__filters {
  display: flex;
  gap: var(--space-2);
  align-items: center;
}
.admin__filters select {
  padding: 9px var(--space-3);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--text);
  cursor: pointer;
}
.admin__filters select:focus { border-color: var(--text); }

/* ─── Tabela ─── */
.admin__table-wrap {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-2xl);
  overflow: hidden;
}
.admin__table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}
.admin__table thead {
  background: var(--bg-subtle);
  border-bottom: 1px solid var(--border);
}
.admin__table th {
  padding: var(--space-4);
  text-align: left;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--text-secondary);
  white-space: nowrap;
}
.admin__table tbody tr {
  border-bottom: 1px solid var(--border-subtle);
  transition: background-color var(--duration-fast) var(--ease);
}
.admin__table tbody tr:hover { background: var(--bg-subtle); }
.admin__table tbody tr:last-child { border-bottom: none; }
.admin__table td {
  padding: var(--space-4);
  vertical-align: middle;
}

.admin__cell-user { min-width: 220px; }
.admin__cell-name {
  font-weight: var(--fw-semibold);
  color: var(--text);
  margin-bottom: 2px;
}
.admin__cell-email {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--text-muted);
}
.admin__cell-plan {
  font-family: var(--font-mono);
  font-weight: var(--fw-semibold);
}
.admin__cell-date {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--text-muted);
  white-space: nowrap;
}
.admin__cell-actions {
  text-align: right;
  white-space: nowrap;
}

/* Tags (role, status, trial) */
.admin__tag {
  display: inline-block;
  padding: 3px 8px;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  white-space: nowrap;
}
.admin__tag--admin {
  background: var(--gold-bg);
  color: var(--gold-dark);
  border-color: var(--gold-border);
}
.admin__tag--user {
  background: var(--bg-muted);
  color: var(--text-secondary);
  border-color: var(--border);
}
.admin__tag--active {
  background: var(--success-bg);
  color: var(--success);
  border-color: var(--success-border);
}
.admin__tag--suspended {
  background: var(--warning-bg);
  color: var(--warning);
  border-color: var(--warning-border);
}
.admin__tag--banned {
  background: var(--danger-bg);
  color: var(--danger);
  border-color: var(--danger-border);
}
.admin__tag--trial-admin {
  background: var(--gold-bg);
  color: var(--gold-dark);
  border-color: var(--gold-border);
}
.admin__tag--trial-ok {
  background: var(--info-bg);
  color: var(--info);
  border-color: var(--info-border);
}
.admin__tag--trial-warn {
  background: var(--warning-bg);
  color: var(--warning);
  border-color: var(--warning-border);
}
.admin__tag--trial-expired {
  background: var(--danger-bg);
  color: var(--danger);
  border-color: var(--danger-border);
}

.admin__empty {
  padding: var(--space-16);
  text-align: center;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

/* ─── MOBILE CARDS (accordion) ─── */
.admin__cards {
  display: none;
  flex-direction: column;
  gap: var(--space-3);
}

.admin-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  overflow: hidden;
  transition: border-color var(--duration-fast) var(--ease),
              box-shadow var(--duration-fast) var(--ease);
}
.admin-card[open] {
  border-color: var(--border-strong);
  box-shadow: var(--shadow-md);
}

.admin-card__header {
  list-style: none;
  cursor: pointer;
  padding: var(--space-4);
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: var(--space-3);
  align-items: center;
  transition: background-color var(--duration-fast) var(--ease);
}
.admin-card__header::-webkit-details-marker { display: none; }
.admin-card__header:hover { background: var(--bg-subtle); }

.admin-card__summary {
  min-width: 0;
  overflow: hidden;
}
.admin-card__name {
  font-weight: var(--fw-semibold);
  font-size: var(--text-sm);
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}
.admin-card__email {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-card__head-tags {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-end;
  flex-shrink: 0;
}
.admin-card__chevron {
  width: 16px;
  height: 16px;
  color: var(--text-muted);
  flex-shrink: 0;
  transition: transform var(--duration) var(--ease);
}
.admin-card[open] .admin-card__chevron {
  transform: rotate(180deg);
}

.admin-card__body {
  padding: var(--space-2) var(--space-4) var(--space-4);
  border-top: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.admin-card__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--border-subtle);
  gap: var(--space-3);
}
.admin-card__row:last-of-type { border-bottom: none; }
.admin-card__row--uid {
  align-items: flex-start;
  flex-direction: column;
  gap: var(--space-1);
}

.admin-card__label {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: var(--fw-semibold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--text-muted);
  flex-shrink: 0;
}
.admin-card__value {
  font-size: var(--text-sm);
  color: var(--text);
  text-align: right;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-card__value--mono {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  word-break: break-all;
  white-space: normal;
  text-align: left;
}

.admin-card__actions {
  margin-top: var(--space-3);
}

/* ─── Edit modal body ─── */
.admin-edit {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;       /* nunca força largura mínima */
  max-width: 100%;
  width: 100%;
}

/* UID/Email: SEMPRE stack vertical (labels curtos, valores longos)
   Não usa flex space-between — sempre empilha label em cima + valor embaixo */
.admin-edit__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-1);
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--border-subtle);
  min-width: 0;
  max-width: 100%;
}
.admin-edit__info-label {
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--text-muted);
  font-weight: var(--fw-bold);
}
.admin-edit__info-value {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text);
  word-break: break-all;
  overflow-wrap: anywhere;
  max-width: 100%;
  line-height: 1.4;
}
.admin-edit__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.admin-edit__field label {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--text-secondary);
}
.admin-edit__field input,
.admin-edit__field select {
  padding: 10px var(--space-3);
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  color: var(--text);
  outline: none;
  transition: border-color var(--duration-fast) var(--ease);
}
.admin-edit__field input:focus,
.admin-edit__field select:focus {
  border-color: var(--text);
}
.admin-edit__field input:disabled,
.admin-edit__field select:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.admin-edit__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
}
.admin-edit__trial-controls {
  display: flex;
  gap: var(--space-2);
  align-items: center;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}
.admin-edit__trial-controls input[type="date"] {
  flex: 1 1 100%;
  min-width: 0;
  max-width: 100%;
}
.admin-edit__trial-controls .btn {
  flex: 1 1 calc(25% - var(--space-2));
  min-width: 0;
  justify-content: center;
}
.admin-edit__help {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  margin-top: var(--space-1);
}
.admin-edit__tools {
  margin-top: var(--space-3);
  padding: var(--space-4);
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.admin-edit__machines {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-height: 240px;
  overflow-y: auto;
}
.admin-machine {
  padding: var(--space-3);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.admin-machine__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
}
.admin-machine__hash {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: var(--fw-bold);
  color: var(--text);
  letter-spacing: 0.02em;
}
.admin-machine__meta {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  margin-top: 2px;
}
.admin-machine__status {
  display: inline-block;
  padding: 1px 6px;
  border-radius: var(--radius-sm);
  font-weight: var(--fw-bold);
  margin-left: 2px;
}
.admin-machine__status--active {
  background: var(--success-bg);
  color: var(--success);
}
.admin-machine__status--expired {
  background: var(--danger-bg);
  color: var(--danger);
}
.admin-machine__status--warn {
  background: var(--warning-bg);
  color: var(--warning);
}
.admin-machine.is-blocked-limit {
  background: var(--warning-bg);
  border-color: var(--warning-border);
}

/* Picker de novo indicador (modal Alterar indicador) */
.admin-picker__list {
  margin-top: var(--space-3);
  max-height: 360px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 4px;
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.admin-picker__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 10px var(--space-3);
  background: var(--bg);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: var(--text);
  transition: background var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);
}
.admin-picker__row:hover {
  background: var(--bg-subtle);
  border-color: var(--neutral-900);
}
.admin-picker__row--orphan {
  border-style: dashed;
  color: var(--text-muted);
}
.admin-picker__main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}
.admin-picker__name {
  font-weight: var(--fw-semibold);
  font-size: var(--text-sm);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-picker__email {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-picker__tag {
  padding: 2px 8px;
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.admin-machine__others {
  margin-top: var(--space-2);
  padding-top: var(--space-2);
  border-top: 1px solid var(--border-subtle);
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  word-break: break-all;
}
.admin-machine.is-disabled {
  opacity: 0.65;
  background: var(--bg-subtle);
}
.admin-machine__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--space-2);
}
.admin-machine__toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  user-select: none;
}
.admin-machine__toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.admin-machine__toggle-track {
  position: relative;
  display: inline-block;
  width: 32px;
  height: 18px;
  background: var(--neutral-300);
  border-radius: var(--radius-full);
  transition: background var(--duration-fast) var(--ease);
}
.admin-machine__toggle-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  background: var(--neutral-0);
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-sm);
  transition: transform var(--duration-fast) var(--ease);
}
.admin-machine__toggle input:checked + .admin-machine__toggle-track {
  background: var(--success);
}
.admin-machine__toggle input:checked + .admin-machine__toggle-track .admin-machine__toggle-thumb {
  transform: translateX(14px);
}
.admin-machine__toggle input:disabled + .admin-machine__toggle-track {
  opacity: 0.5;
  cursor: wait;
}
.admin-machine__toggle-label {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.admin-edit__tools-title {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--text-secondary);
  margin-bottom: var(--space-3);
}
.admin-edit__tools .btn {
  width: 100%;
  justify-content: flex-start;
}
.admin-edit__tools .admin-edit__help {
  margin-top: var(--space-2);
}

.admin-edit__danger {
  margin-top: var(--space-3);
  padding: var(--space-4);
  background: var(--danger-bg);
  border: 1px solid var(--danger-border);
  border-radius: var(--radius-md);
}
.admin-edit__danger-title {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--danger);
  margin-bottom: var(--space-3);
}

/* ─── Responsive ─── */
@media (max-width: 960px) {
  .admin { padding: var(--space-6) var(--space-4); }
  .admin__header { flex-direction: column; align-items: stretch; }
  .admin__stats { min-width: 0; grid-template-columns: repeat(4, 1fr); }
  .admin__title { font-size: clamp(1.75rem, 6vw, 2.5rem); }
  .admin__table-wrap {
    overflow-x: auto;
    border-radius: var(--radius-xl);
    -webkit-overflow-scrolling: touch;
  }
  .admin__table { min-width: 860px; }
}

@media (max-width: 640px) {
  .admin { padding: var(--space-5) var(--space-3); }

  /* Troca tabela por lista de cards */
  .admin__table-wrap { display: none; }
  .admin__cards { display: flex; }

  .admin__stats {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-2);
  }
  .admin-stat { padding: var(--space-3); }
  .admin-stat__value { font-size: var(--text-xl); }

  /* Toolbar empilhada */
  .admin__toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-2);
  }
  .admin__search {
    max-width: none;
    min-width: 0;
  }
  .admin__filters {
    flex-wrap: wrap;
    gap: var(--space-2);
  }
  .admin__filters select {
    flex: 1;
    min-width: 0;
  }
  .admin__filters .btn {
    flex: 1;
    justify-content: center;
  }

  /* Admin badge: compacto */
  .admin-badge {
    margin-left: var(--space-2);
    padding: 1px var(--space-1);
    font-size: 8px;
  }

  /* Edit modal: full-width sem min-width */
  .admin-edit {
    min-width: 0;
    max-width: 100%;
    gap: var(--space-4);
  }
  .admin-edit__row { grid-template-columns: 1fr; }

  /* Info (UID/Email) empilha label acima do valor pra caber */
  .admin-edit__info {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
  }
  .admin-edit__info-value {
    font-size: 11px;
    word-break: break-all;
    overflow-wrap: anywhere;
    line-height: 1.4;
  }

  /* Trial controls: input 100%, 4 botões em 2x2 */
  .admin-edit__trial-controls {
    flex-wrap: wrap;
    gap: var(--space-2);
  }
  .admin-edit__trial-controls input[type="date"] {
    width: 100%;
    flex: 1 1 100%;
    min-width: 0;
  }
  .admin-edit__trial-controls .btn {
    flex: 1 1 calc(50% - var(--space-1));
    min-width: 0;
    justify-content: center;
  }

  .admin-edit__tools,
  .admin-edit__danger {
    padding: var(--space-3);
  }
  .admin-edit__tools .btn svg {
    flex-shrink: 0;
  }
  .admin-edit__tools .btn {
    white-space: normal;
    text-align: left;
    line-height: 1.3;
    padding: 10px var(--space-3);
  }

  /* Forbidden card */
  .admin__forbidden-card {
    padding: var(--space-8);
    margin: 0 var(--space-4);
  }
}

@media (max-width: 420px) {
  .admin__stats { grid-template-columns: 1fr 1fr; }
  .admin__filters { flex-direction: column; }
  .admin__filters select,
  .admin__filters .btn {
    width: 100%;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   RANK BADGE + ORPHAN TAG
   ══════════════════════════════════════════════════════════════════════════ */
.admin__rank-badge {
  display: inline-block;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  background: linear-gradient(135deg, #d4af37 0%, #b8941f 100%);
  color: #1a1a1a;
  font-size: 11px;
  font-weight: 800;
  line-height: 22px;
  border-radius: 11px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(212, 175, 55, 0.3);
}
.admin__tag--orphan {
  background: rgba(220, 38, 38, 0.12);
  color: #dc2626;
  border: 1px solid rgba(220, 38, 38, 0.3);
}
/* Órfão redirecionado automaticamente pelo sistema (referrerSource === 'orphan') */
.admin__tag--system {
  background: var(--success-bg);
  color: var(--success);
  border: 1px solid var(--success-border);
  margin-left: 4px;
}
.admin__cell-rank, .admin__cell-ref {
  font-size: 12px;
}

/* ══════════════════════════════════════════════════════════════════════════
   MLM DASHBOARD TAB
   ══════════════════════════════════════════════════════════════════════════ */
.admin-mlm { display: grid; gap: var(--space-6); }

.mlm-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-3);
}
.mlm-stat {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
}
.mlm-stat__label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: var(--space-2);
}
.mlm-stat__value {
  font-size: 32px;
  font-weight: 800;
  line-height: 1;
  color: var(--text);
}
.mlm-stat__sub {
  font-size: 11px;
  color: var(--text-muted);
  margin-top: var(--space-1);
}

.mlm-section {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
}
.mlm-section__title {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 var(--space-1);
}
.mlm-section__desc {
  font-size: 12px;
  color: var(--text-muted);
  margin: 0 0 var(--space-4);
}
.mlm-section__empty {
  color: var(--text-muted);
  font-style: italic;
  font-size: 13px;
  margin: 0;
}

.mlm-rank-list { display: grid; gap: var(--space-2); }
.mlm-rank {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  background: var(--bg);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
}
.mlm-rank__pos {
  font-size: 14px;
  font-weight: 800;
  color: #d4af37;
  min-width: 32px;
}
.mlm-rank__info { flex: 1; min-width: 0; }
.mlm-rank__name { font-weight: 600; font-size: 13px; }
.mlm-rank__email { font-size: 11px; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; }
.mlm-rank__count {
  font-size: 12px;
  font-weight: 700;
  color: var(--text);
  background: rgba(212, 175, 55, 0.12);
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
}

.mlm-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-3);
}
.mlm-pager__info {
  font-size: 12px;
  color: var(--text-muted);
  min-width: 110px;
  text-align: center;
}

.mlm-orphans { display: grid; gap: var(--space-2); }
.mlm-orphan {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3);
  background: rgba(220, 38, 38, 0.06);
  border: 1px solid rgba(220, 38, 38, 0.2);
  border-radius: var(--radius-md);
}
.mlm-orphan__name { font-weight: 600; font-size: 13px; }
.mlm-orphan__email { font-size: 11px; color: var(--text-muted); }

/* ──────────── MLM Tree (file-explorer style) ──────────── */

.mlm-tree__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
  flex-wrap: wrap;
}
.mlm-tree__controls {
  display: flex;
  gap: var(--space-2);
  align-items: center;
}
.mlm-tree__search {
  padding: 7px 10px;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  color: var(--text);
  width: 200px;
  outline: none;
}
.mlm-tree__search:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.12);
}

.mlm-tree {
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  background: var(--bg);
  padding: var(--space-2);
  max-height: 70vh;
  overflow-y: auto;
}

.mlm-treenode {
  position: relative;
}
.mlm-treenode > .mlm-treenode__row,
.mlm-treenode > summary.mlm-treenode__row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: var(--radius-md);
  cursor: pointer;
  user-select: none;
  list-style: none;
  transition: background var(--duration-fast) var(--ease);
}
.mlm-treenode > summary.mlm-treenode__row::-webkit-details-marker { display: none; }
.mlm-treenode > .mlm-treenode__row:hover {
  background: var(--bg-subtle);
}
.mlm-treenode--leaf > .mlm-treenode__row { cursor: default; }

.mlm-treenode__chevron {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: var(--text-muted);
  transition: transform var(--duration-fast) var(--ease);
}
.mlm-treenode[open] > summary > .mlm-treenode__chevron {
  transform: rotate(90deg);
}
.mlm-treenode__chevron--leaf {
  width: 14px;
  height: 14px;
  display: inline-block;
}

.mlm-treenode__avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--fw-bold);
  color: #fff;
  flex-shrink: 0;
  letter-spacing: 0;
}
.mlm-treenode__avatar--admin   { background: var(--gold); color: #1a1a1a; }
.mlm-treenode__avatar--pro     { background: var(--neutral-900, #171717); }
.mlm-treenode__avatar--trial   { background: var(--neutral-500, #737373); }
.mlm-treenode__avatar--expired { background: var(--neutral-300, #d4d4d4); color: var(--text-muted); }

.mlm-treenode__info {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.mlm-treenode__name {
  font-size: var(--text-sm);
  font-weight: var(--fw-semibold);
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mlm-treenode__email {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mlm-treenode__status {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  padding: 3px 8px;
  border-radius: var(--radius-full);
  border: 1px solid transparent;
  flex-shrink: 0;
}
.mlm-treenode__status--admin   { background: rgba(212, 175, 55, 0.12); color: var(--gold-dark, #b8941f); border-color: rgba(212, 175, 55, 0.35); }
.mlm-treenode__status--pro     { background: var(--success-bg, #ecfdf5); color: var(--success, #059669); border-color: var(--success-border, #d1fae5); }
.mlm-treenode__status--trial   { background: var(--bg-subtle); color: var(--text-secondary); border-color: var(--border); }
.mlm-treenode__status--expired { background: var(--danger-bg, #fef2f2); color: var(--danger, #dc2626); border-color: var(--danger-border, #fee2e2); }

.mlm-treenode__count {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: var(--fw-bold);
  min-width: 24px;
  height: 22px;
  padding: 0 7px;
  display: grid;
  place-items: center;
  background: var(--neutral-900, #171717);
  color: #fff;
  border-radius: var(--radius-full);
  flex-shrink: 0;
}
.mlm-treenode__count--zero {
  background: var(--bg-subtle);
  color: var(--text-subtle);
}

/* Container dos filhos: linha vertical sutil ligando pai aos filhos */
.mlm-treenode__children {
  position: relative;
  padding-left: 28px;
}
.mlm-treenode__children::before {
  content: '';
  position: absolute;
  left: 22px;
  top: 0;
  bottom: 8px;
  width: 1px;
  background: var(--border);
}
/* Cada filho tem uma linha horizontal saindo da vertical */
.mlm-treenode__children > .mlm-treenode::before {
  content: '';
  position: absolute;
  left: -6px;
  top: 19px;
  width: 8px;
  height: 1px;
  background: var(--border);
}

/* Search: highlight + dim */
.mlm-treenode.is-match > .mlm-treenode__row,
.mlm-treenode.is-match > summary.mlm-treenode__row {
  background: rgba(212, 175, 55, 0.10);
}
.mlm-treenode.is-dimmed > .mlm-treenode__row,
.mlm-treenode.is-dimmed > summary.mlm-treenode__row {
  opacity: 0.35;
}

@media (max-width: 720px) {
  .mlm-tree__head { flex-direction: column; align-items: stretch; }
  .mlm-tree__search { width: 100%; }
  .mlm-treenode__email { display: none; }   /* economiza largura */
  .mlm-treenode__status { font-size: 9px; padding: 2px 6px; }
}

/* ══════════════════════════════════════════════════════════════════════════
   ADMIN PAYMENTS TAB
   ══════════════════════════════════════════════════════════════════════════ */
.admin-payments { display: grid; gap: var(--space-5); }
.admin-payments__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-4);
  flex-wrap: wrap;
}
.admin-payments__title { font-size: 22px; font-weight: 800; margin: 0 0 var(--space-1); }
.admin-payments__desc { font-size: 12px; color: var(--text-muted); margin: 0; max-width: 600px; }

.admin-payments__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-3);
}

.admin-payments__list { display: grid; gap: var(--space-3); }
.admin-payments__empty {
  padding: var(--space-8);
  text-align: center;
  color: var(--text-muted);
  background: var(--bg-elevated);
  border: 1px dashed var(--border);
  border-radius: var(--radius-lg);
  font-size: 13px;
}

.admin-payment {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  position: relative;
}
.admin-payment--foreign {
  border-color: rgba(212,175,55,0.5);
  box-shadow: 0 0 0 1px rgba(212,175,55,0.2) inset, 0 2px 8px rgba(212,175,55,0.08);
  background: linear-gradient(135deg, rgba(212,175,55,0.06) 0%, var(--bg-elevated) 60%);
}
.admin-payment__flag {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: rgba(34,197,94,0.15);
  color: #22c55e;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  vertical-align: middle;
}
.admin-payment__amount-orig {
  display: block;
  font-size: 11px;
  font-weight: 500;
  color: var(--text-muted);
  margin-top: 2px;
}
.admin-payment__commission--foreign {
  background: linear-gradient(135deg, rgba(212,175,55,0.08) 0%, rgba(212,175,55,0.02) 100%) !important;
  border: 1px solid rgba(212,175,55,0.3);
}
.admin-payment__commission--foreign .admin-payment__commission-amount small {
  display: block;
  color: var(--text-muted);
  font-weight: 500;
  font-size: 10px;
}
.admin-payment__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}
.admin-payment__payer { font-size: 14px; font-weight: 700; }
.admin-payment__meta { font-size: 11px; color: var(--text-muted); margin-top: 2px; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.admin-payment__amount {
  font-size: 20px;
  font-weight: 800;
  color: #22c55e;
  white-space: nowrap;
}
.admin-payment__commissions {
  padding-top: var(--space-3);
  border-top: 1px dashed var(--border);
}
.admin-payment__commissions-title {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: var(--space-2);
}
.admin-payment__commission {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: var(--space-3);
  align-items: center;
  padding: 6px 8px;
  background: var(--bg);
  border-radius: var(--radius-md);
  font-size: 12px;
  margin-bottom: 4px;
}
.admin-payment__commission-level {
  display: inline-block;
  min-width: 26px;
  padding: 2px 8px;
  background: rgba(212, 175, 55, 0.15);
  color: #d4af37;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  text-align: center;
}
.admin-payment__commission-name { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-payment__commission-rate { color: var(--text-muted); font-size: 11px; }
.admin-payment__commission-amount { font-weight: 700; color: #22c55e; text-align: right; }

@media (max-width: 640px) {
  .admin-payment__commission {
    grid-template-columns: auto 1fr;
    row-gap: 2px;
  }
  .admin-payment__commission-rate,
  .admin-payment__commission-amount {
    grid-column: 2;
    text-align: left;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   WITHDRAWALS TAB (admin)
   ══════════════════════════════════════════════════════════════════════════ */
.admin__tab-badge {
  display: inline-block;
  min-width: 18px;
  padding: 1px 6px;
  margin-left: 6px;
  background: #d4af37;
  color: #1a1a1a;
  border-radius: 9px;
  font-size: 10px;
  font-weight: 800;
  line-height: 16px;
  text-align: center;
  box-shadow: 0 0 0 2px var(--bg);
}
.admin-withdrawals { display: grid; gap: var(--space-5); }
.admin-withdrawals__section { display: grid; gap: var(--space-3); }
.admin-withdrawals__section-title {
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin: 0;
}
.admin-withdrawals__list { display: grid; gap: var(--space-3); }
.admin-wd__filters {
  display: flex;
  gap: var(--space-2);
  padding: var(--space-1);
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  margin-bottom: var(--space-4);
  overflow-x: auto;
}
.admin-wd__filter {
  flex: 1;
  min-width: fit-content;
  padding: 10px 18px;
  background: transparent;
  border: 0;
  border-radius: calc(var(--radius-lg) - 4px);
  color: var(--text-muted);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  white-space: nowrap;
  transition: background 120ms, color 120ms;
}
.admin-wd__filter:hover {
  color: var(--text);
}
.admin-wd__filter.is-active {
  background: var(--bg);
  color: var(--text);
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.admin-wd__filter-count {
  display: inline-block;
  min-width: 20px;
  padding: 2px 8px;
  background: rgba(212,175,55,0.15);
  color: #d4af37;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
}
.admin-wd__filter.is-active .admin-wd__filter-count {
  background: #d4af37;
  color: #1a1a1a;
}

.admin-wd {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  position: relative;
  overflow: hidden;
}
.admin-wd--paid {
  background: linear-gradient(135deg, rgba(34,197,94,0.05) 0%, var(--bg-elevated) 50%);
  border-color: rgba(34,197,94,0.3);
}
.admin-wd--rejected {
  background: linear-gradient(135deg, rgba(220,38,38,0.05) 0%, var(--bg-elevated) 50%);
  border-color: rgba(220,38,38,0.3);
}
.admin-wd__amount-wrap {
  text-align: right;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}
.admin-wd__stamp {
  display: inline-block;
  padding: 4px 14px;
  border: 3px solid currentColor;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  transform: rotate(-8deg);
  opacity: 0.85;
  user-select: none;
  font-family: ui-monospace, Menlo, Consolas, monospace;
  box-shadow: 0 0 0 1px currentColor inset;
}
.admin-wd__stamp--paid {
  color: #22c55e;
  border-color: #22c55e;
  background: rgba(34,197,94,0.05);
}
.admin-wd__stamp--rejected {
  color: #dc2626;
  border-color: #dc2626;
  background: rgba(220,38,38,0.05);
}
.admin-wd__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 1px dashed var(--border);
  margin-bottom: var(--space-3);
}
.admin-wd__user { font-size: 15px; font-weight: 700; }
.admin-wd__meta { font-size: 11px; color: var(--text-muted); }
.admin-wd__amount { font-size: 22px; font-weight: 800; color: #d4af37; white-space: nowrap; }
.admin-wd__details {
  display: grid;
  gap: 4px;
  font-size: 12px;
}
.admin-wd__detail { color: var(--text); }
.admin-wd__detail strong { color: var(--text-muted); font-weight: 600; margin-right: 4px; }
.admin-wd__detail small { color: var(--text-muted); font-size: 10px; }
.admin-wd__actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-2);
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px dashed var(--border);
}

/* Esconde a coluna "Indicado por" e "Rank" no desktop quando tabela aperta */
@media (max-width: 1200px) {
  .admin__table th:nth-child(6),
  .admin__table td:nth-child(6),
  .admin__table th:nth-child(7),
  .admin__table td:nth-child(7) {
    display: none;
  }
}

/* ════════════════════════════════════════════════════════════════════════
   LAND PAGE — admin tab (galeria + textos editáveis)
   ════════════════════════════════════════════════════════════════════════ */

.lp-items {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-4);
}

.lp-empty {
  padding: var(--space-12) var(--space-6);
  text-align: center;
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  color: var(--text-muted);
  background: var(--bg-subtle);
  border: 1px dashed var(--border);
  border-radius: var(--radius-xl);
}

.lp-row {
  display: grid;
  grid-template-columns: auto auto auto 1fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  transition: border-color var(--duration-fast) var(--ease);
}
.lp-row:hover { border-color: var(--border-strong); }

.lp-row__order {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 24px;
}
.lp-row__btn {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
  cursor: pointer;
  transition: all var(--duration-fast) var(--ease);
}
.lp-row__btn:hover:not(:disabled) {
  border-color: var(--text);
  color: var(--text);
}
.lp-row__btn:disabled { opacity: 0.3; cursor: not-allowed; }
.lp-row__num {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--fw-semibold);
  color: var(--text-muted);
}

.lp-row__thumb {
  width: 64px;
  height: 64px;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--bg-muted);
  border: 1px solid var(--border);
  position: relative;
  flex-shrink: 0;
}
.lp-row__thumb img,
.lp-row__thumb video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lp-row__thumb--empty {
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-subtle);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
}
.lp-row__badge {
  position: absolute;
  top: 4px;
  right: 4px;
  padding: 1px 5px;
  background: var(--gold);
  color: #000;
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-wide);
  border-radius: var(--radius-sm);
}

.lp-row__icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  color: var(--text);
  flex-shrink: 0;
}

.lp-row__body { min-width: 0; }
.lp-row__title {
  font-size: var(--text-sm);
  font-weight: var(--fw-semibold);
  color: var(--text);
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lp-row__desc {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lp-row__actions {
  display: flex;
  gap: var(--space-2);
  flex-shrink: 0;
}

.lp-status {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}
.lp-status--info { color: var(--text-muted); }
.lp-status--ok   { color: var(--success); }
.lp-status--err  { color: var(--danger); }

/* ────────── Editor Modal ────────── */

.lp-edit__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: grid;
  place-items: center;
  padding: var(--space-4);
  z-index: var(--z-modal, 500);
  animation: lpFadeIn 0.2s var(--ease-out);
}
@keyframes lpFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.lp-edit__modal {
  width: min(900px, 100%);
  max-height: 90vh;
  overflow: auto;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-2xl);
  animation: lpSlideUp 0.3s var(--ease-out);
}
@keyframes lpSlideUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.lp-edit__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-5) var(--space-6);
  border-bottom: 1px solid var(--border);
}
.lp-edit__head h3 {
  margin: 0;
  font-size: var(--text-lg);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--tracking-tight);
}

.lp-edit__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
  padding: var(--space-6);
}
@media (max-width: 720px) {
  .lp-edit__body { grid-template-columns: 1fr; }
}

.lp-edit__col {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.lp-edit__preview {
  width: 100%;
  aspect-ratio: 16 / 10;
  background: var(--bg-muted);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  overflow: hidden;
  display: grid;
  place-items: center;
}
.lp-edit__preview img,
.lp-edit__preview video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lp-edit__no-media {
  text-align: center;
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  color: var(--text-muted);
  padding: var(--space-6);
}

.lp-edit__upload-hint {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--text-muted);
  margin-top: var(--space-2);
  line-height: 1.5;
}

.lp-edit__progress {
  margin-top: var(--space-3);
}
.lp-edit__progress-bar {
  width: 100%;
  height: 6px;
  background: var(--bg-muted);
  border-radius: var(--radius-full);
  overflow: hidden;
}
.lp-edit__progress-fill {
  height: 100%;
  background: var(--gold);
  width: 0%;
  transition: width 0.3s var(--ease);
}
.lp-edit__progress-text {
  margin-top: var(--space-2);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--text-muted);
}

.lp-edit__foot {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-6);
  border-top: 1px solid var(--border);
  background: var(--bg-subtle);
}

/* Icon picker grid */
.lp-icon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(44px, 1fr));
  gap: var(--space-2);
}
.lp-icon-btn {
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  color: var(--text-secondary);
  cursor: pointer;
  transition: all var(--duration-fast) var(--ease);
}
.lp-icon-btn:hover {
  border-color: var(--text);
  color: var(--text);
}
.lp-icon-btn.is-active {
  background: var(--gold-bg, var(--bg-subtle));
  border-color: var(--gold);
  color: var(--gold-dark, var(--gold));
  box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.15);
}

/* ════════════════════════════════════════════════════════════════════════
   BULK DELETE — checkboxes na tabela + modal de confirmação
   ════════════════════════════════════════════════════════════════════════ */

.admin__th-check { width: 36px; padding-right: 0; }
.admin__cell-check {
  width: 36px;
  padding-right: 0;
  text-align: center;
}
.admin__cell-check input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--gold);
  cursor: pointer;
}
.admin__cell-self {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--text-subtle);
}
#admin_select_all {
  width: 16px;
  height: 16px;
  accent-color: var(--gold);
  cursor: pointer;
}

.admin-card__check {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-right: var(--space-2);
  flex-shrink: 0;
}
.admin-card__check input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--gold);
  cursor: pointer;
}
.admin-card__check--self {
  color: var(--text-subtle);
  font-size: 8px;
}

/* ────────── Modal: lista de quem vai ser apagado ────────── */
.bulk-del__list {
  max-height: 260px;
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg-subtle);
  margin-bottom: var(--space-4);
}
.bulk-del__row {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 8px var(--space-3);
  border-bottom: 1px solid var(--border-subtle);
  font-size: var(--text-sm);
}
.bulk-del__row:last-child { border-bottom: none; }
.bulk-del__name {
  font-weight: var(--fw-semibold);
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bulk-del__email {
  font-family: var(--font-mono);
  color: var(--text-muted);
  font-size: var(--text-xs);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bulk-del__more {
  padding: 8px var(--space-3);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--text-muted);
  text-align: center;
}

/* ────────── Caixa do código de confirmação ────────── */
.bulk-del__code-box {
  margin-top: var(--space-4);
  padding: var(--space-4);
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  text-align: center;
}
.bulk-del__code-label {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--fw-semibold);
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  margin-bottom: var(--space-2);
}
.bulk-del__code {
  font-family: var(--font-mono);
  font-size: 32px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.4em;
  color: var(--danger);
  margin-bottom: var(--space-3);
  padding: 4px 0;
}
.bulk-del__input {
  width: 140px;
  padding: 10px 12px;
  font-family: var(--font-mono);
  font-size: 22px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.3em;
  text-align: center;
  background: var(--bg);
  color: var(--text);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-md);
  outline: none;
}
.bulk-del__input:focus {
  border-color: var(--danger);
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}
.bulk-del__hint {
  margin-top: var(--space-3);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--text-muted);
}
.bulk-del__hint--ok  { color: var(--success); }
.bulk-del__hint--err { color: var(--danger); }

/* Botão danger no footer do modal */
.modal__footer .btn--danger {
  background: var(--danger);
  color: #fff;
  border-color: var(--danger);
}
.modal__footer .btn--danger:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ────────── Stats ────────── */

.lp-stats__totals {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-4);
  margin-bottom: var(--space-5);
}
.lp-stats__total {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--space-4) var(--space-5);
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
}
.lp-stats__total-label {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--fw-semibold);
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
}
.lp-stats__total-value {
  font-size: var(--text-3xl);
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-tighter);
  color: var(--text);
}
.lp-stats__total-sub {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--text-muted);
}

.lp-stats {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.lp-stats__row {
  display: grid;
  grid-template-columns: 32px minmax(120px, 1.4fr) 2fr auto auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
}
.lp-stats__icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  color: var(--text);
}
.lp-stats__name {
  font-size: var(--text-sm);
  font-weight: var(--fw-semibold);
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lp-stats__bar {
  height: 8px;
  background: var(--bg-muted);
  border-radius: var(--radius-full);
  overflow: hidden;
}
.lp-stats__bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--text) 0%, var(--neutral-700, var(--text-secondary)) 100%);
  border-radius: var(--radius-full);
  transition: width var(--duration-slow) var(--ease);
}
.lp-stats__num {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 60px;
}
.lp-stats__num strong {
  font-size: var(--text-base);
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-tight);
  color: var(--text);
}
.lp-stats__num span {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
}
.lp-stats__num--gold strong {
  color: var(--gold-dark, var(--gold));
}

@media (max-width: 720px) {
  .lp-stats__row {
    grid-template-columns: 24px 1fr auto;
    grid-template-areas:
      "icon name name"
      "bar  bar  bar"
      "c1   c1   c2";
    gap: var(--space-2);
  }
  .lp-stats__icon { grid-area: icon; }
  .lp-stats__name { grid-area: name; }
  .lp-stats__bar  { grid-area: bar;  }
  .lp-stats__row .lp-stats__num:nth-of-type(1) { grid-area: c1; align-items: flex-start; }
  .lp-stats__row .lp-stats__num:nth-of-type(2) { grid-area: c2; }
}

/* ══════════════════════════════════════════════════════════════════════════
   DOWNLOADS — pastas + arquivos (aba Downloads do admin)
   ══════════════════════════════════════════════════════════════════════════ */
.dl-folders { display: flex; flex-direction: column; gap: var(--space-4); }

.dl-folder {
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  background: var(--bg);
  overflow: hidden;
}
.dl-folder__head {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4);
  background: var(--bg-subtle);
  border-bottom: 1px solid var(--border-subtle);
}
.dl-folder__icon {
  flex-shrink: 0;
  width: 38px; height: 38px;
  display: grid; place-items: center;
  color: var(--text-secondary);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.dl-folder__icon svg { width: 20px; height: 20px; }
.dl-folder__info { flex: 1; min-width: 0; }
.dl-folder__title { font-size: var(--text-base); font-weight: var(--fw-semibold); color: var(--text); }
.dl-folder__sub { font-size: var(--text-sm); color: var(--text-secondary); margin-top: 2px; }
.dl-folder__desc { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-muted); margin-top: 4px; }
.dl-folder__plans { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 8px; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-muted); }
.dl-folder__actions { display: flex; flex-wrap: wrap; gap: 6px; flex-shrink: 0; }

.dl-files { display: flex; flex-direction: column; }
.dl-files__empty {
  padding: var(--space-4);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--text-muted);
  text-align: center;
}
.dl-file {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--border-subtle);
}
.dl-file:last-child { border-bottom: none; }
.dl-file__icon { flex-shrink: 0; width: 26px; height: 26px; color: var(--text-subtle); }
.dl-file__icon svg { width: 20px; height: 20px; }
.dl-file__info { flex: 1; min-width: 0; }
.dl-file__title { font-size: var(--text-sm); font-weight: var(--fw-medium); color: var(--text); }
.dl-file__sub { font-size: var(--text-xs); color: var(--text-secondary); margin-top: 1px; }
.dl-file__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 4px; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-muted); }
.dl-file__inherit { color: var(--text-subtle); }
.dl-file__actions { display: flex; gap: 6px; flex-shrink: 0; }
.dl-file__current { margin-top: 8px; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-muted); }

.dl-plan {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: var(--radius-full);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: var(--fw-semibold);
  border: 1px solid transparent;
}
.dl-plan--pro        { background: var(--warning-bg); color: var(--warning); border-color: var(--warning-border); }
.dl-plan--enterprise { background: var(--info-bg);    color: var(--info);    border-color: var(--info-border); }

.dl-plan-checks { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.dl-plan-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  cursor: pointer;
}
.dl-plan-check input { accent-color: var(--text); }

/* ══════════════════════════════════════════════════════════════════════════
   NOTIFICAÇÕES — aba do admin
   ══════════════════════════════════════════════════════════════════════════ */
.notif-admin__pushrow { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.notif-admin__pushstate {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--fw-semibold);
  border-radius: var(--radius-full);
  border: 1px solid transparent;
}
.notif-admin__pushstate--granted { background: var(--success-bg); color: var(--success); border-color: var(--success-border); }
.notif-admin__pushstate--default { background: var(--warning-bg); color: var(--warning); border-color: var(--warning-border); }
.notif-admin__pushstate--denied  { background: var(--danger-bg);  color: var(--danger);  border-color: var(--danger-border); }

.notif-admin__list {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.notif-admin__list .notif__item:last-child { border-bottom: none; }
