/* Mi cuenta + panel de moderación. Medidas tomadas de la demo (acc-*). */
.acc-tabs { display: grid; gap: 2px; }
.acc-tabs a, .acc-tabs button { display: flex; align-items: center; gap: 6px; padding: 7px 10px; text-align: left; color: var(--link); background: none; border: 0; border-radius: 3px; }
.acc-tabs a:hover { text-decoration: none; background: rgba(229,238,248,.5); }
.acc-tabs a.on, .acc-tabs button.on { color: #222; background: #e5eef8; font-weight: 700; }
.acc-sec h2 { margin-bottom: 12px; padding-bottom: 6px; font-size: 16px; font-weight: 700; border-bottom: 1px solid #ddd; }
.acc-form { display: grid; grid-template-columns: 170px 1fr; align-items: center; gap: 10px 14px; max-width: 560px; }
.acc-form label { text-align: right; color: #555; font-size: 11.5px; font-weight: 700; }
.acc-form .full { grid-column: 2; }
.radios { display: grid; gap: 6px; }
.radios label { display: flex; align-items: center; gap: 6px; text-align: left; color: #333; font-weight: 400; }
.saved { display: inline-flex; align-items: center; gap: 4px; margin-left: 8px; color: var(--green); font-weight: 700; }
.acc-err { margin-left: 8px; font-weight: 700; }
.danger-zone { margin-top: 16px; padding: 12px; background: #fdf5f5; border: 1px solid #f0c9c9; border-radius: 3px; }
.avatar-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 6px; max-width: 560px; }
.avatar-pick button { padding: 2px; background: #fff; border: 2px solid transparent; }
.avatar-pick button.on { border-color: #4a7db5; }
.avatar-pick img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.acc-sec .sec-t + .empty { padding-top: 0; }
@media (max-width: 720px) {
  .acc-form { grid-template-columns: 1fr; }
  .acc-form label { text-align: left; }
  .acc-form .full { grid-column: 1; }
}

/* ---------- admin ---------- */
.adm-t { margin: 0 0 8px; }
.adm-card { margin-bottom: 14px; padding: 10px 12px; background: #fff; border: 1px solid var(--line); border-radius: 3px; }
.adm-card .adm-prev { margin: 6px 0; padding: 8px 10px; background: var(--soft); border-left: 3px solid #c9d6e6; word-break: break-word; }
.adm-card .adm-prev img { max-width: 220px; max-height: 160px; margin-top: 4px; border: 1px solid #ccc; }
.adm-meta { color: var(--muted); font-size: 11px; }
.adm-act { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.adm-tbl { width: 100%; border-collapse: collapse; }
.adm-tbl th { padding: 5px 6px; text-align: left; font-size: 11px; color: #555; border-bottom: 1px solid #ddd; }
.adm-tbl td { padding: 6px; vertical-align: middle; border-bottom: 1px solid var(--line); }
.adm-tbl .adm-u { display: flex; align-items: center; gap: 8px; }
.adm-tbl .adm-u img { width: 28px; height: 28px; }
.adm-tbl .adm-btns { display: flex; flex-wrap: nowrap; gap: 4px; justify-content: flex-end; }
.adm-tbl .btn { padding: 3px 8px; font-weight: 400; }
.adm-tag { display: inline-block; padding: 0 5px; font-size: 10px; border-radius: 2px; background: #e5eef8; color: #3a6aa0; }
.adm-tag.off { background: #f6e0e0; color: #a33; }
.adm-pw { margin: 0 0 14px; padding: 10px 12px; color: #2e5a10; background: #eef7e6; border: 1px solid #bddba1; border-radius: 3px; }
.adm-pw code { padding: 1px 6px; font-size: 14px; background: #fff; border: 1px solid #bddba1; }
.adm-search { display: flex; gap: 6px; max-width: 420px; margin-bottom: 10px; }
.adm-pager { display: flex; gap: 10px; margin-top: 10px; }
.adm-copy { width: 300px; max-width: 100%; }

/* peticiones y bloqueos (Mi cuenta) */
.acc-req { gap: 10px; align-items: flex-start; padding: 8px 0; border-bottom: 1px solid var(--line); max-width: 560px; }
.acc-req-t { flex: 1; min-width: 0; word-break: break-word; }
.acc-req-b { display: flex; gap: 6px; }
.acc-blk { gap: 8px; align-items: center; padding: 5px 0; max-width: 360px; }
.acc-blk span { flex: 1; font-weight: 700; }
.acc-x { padding: 0 6px; font-size: 18px; line-height: 1; color: #999; background: none; border: 0; cursor: pointer; }
.acc-x:hover { color: #c33; }
.acc-bph { display: flex; flex-wrap: wrap; gap: 8px; }
.acc-blk-ph { position: relative; }
.acc-blk-ph img { display: block; width: 64px; height: 64px; object-fit: cover; padding: 2px; border: 1px solid #ccc; background: #fff; }
.acc-blk-ph .acc-x { position: absolute; top: 0; right: 0; padding: 0 4px; font-size: 14px; background: rgba(255,255,255,.85); }
