/* Panel de administración (solo admins) */
.admin-view { max-width: 980px; margin: 0 auto; }
.admin-title { font-family: var(--font-display); font-weight: 800; font-size: 1.4rem; color: var(--ink); margin: 4px 0 16px; }

.admin-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; margin-bottom: 22px; }
.admin-card { display: flex; flex-direction: column; align-items: center; gap: 2px; background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--r-md); padding: 14px 10px; box-shadow: var(--shadow-sm); }
.admin-card__icon { font-size: 1.2rem; }
.admin-card__val { font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; color: var(--brand-1); font-variant-numeric: tabular-nums; }
.admin-card__label { font-size: .74rem; color: var(--ink-3); text-align: center; }

.admin-section { margin-bottom: 22px; }
.admin-section__title { font-size: 1rem; font-weight: 800; color: var(--ink); margin: 0 0 10px; }
.admin-empty { color: var(--ink-3); font-size: .85rem; }

.admin-bars { display: flex; align-items: flex-end; gap: 6px; height: 130px; padding: 8px; background: var(--surface-soft); border-radius: var(--r-md); overflow-x: auto; }
.admin-bar { flex: 1; min-width: 26px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 3px; }
.admin-bar__fill { width: 60%; min-height: 3px; background: var(--grad-hero); border-radius: 4px 4px 0 0; transition: height var(--t) var(--ease); }
.admin-bar__n { font-size: .72rem; font-weight: 700; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.admin-bar__day { font-size: .64rem; color: var(--ink-3); white-space: nowrap; }

.admin-table { border: 1px solid var(--hairline); border-radius: var(--r-md); overflow: hidden; background: var(--surface); }
.admin-tr { display: grid; grid-template-columns: 1.3fr 1.8fr .7fr 1.3fr .6fr .6fr; gap: 8px; align-items: center; padding: 9px 12px; font-size: .82rem; border-top: 1px solid var(--hairline); }
.admin-tr:first-child { border-top: 0; }
.admin-tr--head { background: var(--surface-soft); font-weight: 700; color: var(--ink-2); font-size: .74rem; text-transform: uppercase; letter-spacing: .03em; }
.admin-td__name { font-weight: 600; color: var(--ink); }
.admin-td__email { color: var(--ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-tr span { overflow: hidden; text-overflow: ellipsis; }

@media (max-width: 640px) {
  /* En móvil, colapsa a nombre + correo + registro; oculta columnas estrechas. */
  .admin-tr { grid-template-columns: 1.2fr 1.6fr 1.1fr; }
  .admin-tr > :nth-child(3), .admin-tr > :nth-child(5), .admin-tr > :nth-child(6) { display: none; }
}

/* Compositor de avisos push manuales */
.admin-push { display: flex; flex-direction: column; gap: 8px; max-width: 560px; }
.admin-push__input { font: inherit; font-size: .86rem; color: var(--ink); background: var(--surface-sunk); border: 1px solid var(--hairline); border-radius: var(--r-sm); padding: 9px 12px; }
.admin-push__input:focus { outline: 2px solid var(--brand-1); outline-offset: 1px; background: var(--surface); }
.admin-push__row { display: flex; align-items: center; gap: 12px; }
.admin-push__btn { font: inherit; font-size: .84rem; font-weight: 700; color: #fff; background: var(--grad-hero, var(--grad-brand)); border: 0; border-radius: var(--r-pill); padding: 9px 18px; cursor: pointer; box-shadow: var(--shadow-sm); transition: opacity var(--t-fast) var(--ease); }
.admin-push__btn:disabled { opacity: .5; cursor: default; }
.admin-push__status { font-size: .8rem; color: var(--ink-2); }

/* ===== Reportes y comentarios (feedback) ===== */
.admin-fb__filters { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 12px; }
.admin-fb__chip {
  border: 1px solid var(--hairline); background: var(--surface-soft);
  border-radius: var(--r-pill); padding: 5px 10px;
  font: 600 .74rem/1 var(--font-ui); color: var(--ink-2); cursor: pointer;
}
.admin-fb__chip.is-active { background: var(--ink); color: #fff; border-color: var(--ink); }
.admin-fb__pending {
  margin-left: auto; font: 700 .74rem/1 var(--font-ui); color: #fff;
  background: var(--live); border-radius: var(--r-pill); padding: 5px 10px;
}
.admin-fb__item {
  background: var(--surface); border: 1px solid var(--hairline);
  border-radius: var(--r-md); padding: 12px 14px; margin-bottom: 10px;
  box-shadow: var(--shadow-sm);
}
.admin-fb__item--nuevo { border-left: 3px solid var(--live); }
.admin-fb__item--resuelto { opacity: .65; }
.admin-fb__meta { display: flex; flex-wrap: wrap; gap: 8px; font-size: .72rem; color: var(--ink-3); margin-bottom: 6px; align-items: center; }
.admin-fb__cat { font-weight: 700; color: var(--ink-2); }
.admin-fb__view { font-family: monospace; }
.admin-fb__text { margin: 0 0 8px; font-size: .88rem; line-height: 1.5; white-space: pre-wrap; }
.admin-fb__actions { display: flex; gap: 6px; }

/* ===== Uso de la plataforma (GOLAZO Pulse) ===== */
.admin-usage__sub {
  margin: 16px 0 8px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.86rem;
  color: var(--ink-2);
}
.admin-usage__cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px 22px;
}
@media (min-width: 760px) {
  .admin-usage__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.admin-usage__row {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 5px 0;
  border-bottom: 1px solid var(--hairline);
  font-size: 0.8rem;
}
.admin-usage__row:last-child { border-bottom: 0; }
.admin-usage__name {
  color: var(--ink);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-usage__bar {
  height: 7px;
  background: var(--surface-sunk);
  border-radius: var(--r-pill);
  overflow: hidden;
}
.admin-usage__bar i {
  display: block;
  height: 100%;
  background: var(--grad-brand);
  border-radius: var(--r-pill);
}
.admin-usage__n {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: var(--ink-2);
  min-width: 2.5ch;
  text-align: right;
}
.admin-usage__note {
  margin: 14px 0 0;
  font-size: 0.72rem;
  color: var(--ink-3);
}

/* Filas de PERSONAS (app instalada / usuarios con sesión): 2 columnas, sin
   barra; el detalle (días · tiempo · última vez) va a la derecha. */
.admin-usage__row--people {
  grid-template-columns: minmax(0, 1fr) auto;
}
.admin-usage__row--people .admin-usage__name small {
  color: var(--ink-3);
  font-weight: 500;
}
.admin-usage__row--people .admin-usage__n {
  font-size: 0.74rem;
  font-weight: 600;
  white-space: nowrap;
}
