/* Panel de administración: barra lateral + contenido a pantalla completa */
.pb-admin { display: grid; grid-template-columns: 250px minmax(0, 1fr); min-height: calc(100vh - var(--topbar-h)); }
.pb-admin-nav { background: var(--puebler-surface); border-right: 1px solid var(--puebler-border); padding: 22px 12px; display: flex; flex-direction: column; gap: 2px; position: sticky; top: var(--topbar-h); height: calc(100vh - var(--topbar-h)); overflow-y: auto; }
.pb-admin-nav .pb-eyebrow { padding: 0 12px 10px; }
.pb-admin-nav a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; color: var(--puebler-text); font-weight: 600; font-size: .9rem; }
.pb-admin-nav a span { flex: 1; }
.pb-admin-nav a b { background: var(--puebler-coral); color: #fff; font-size: .7rem; border-radius: 20px; padding: 2px 8px; }
.pb-admin-nav a:hover { background: var(--puebler-blue-light); color: var(--puebler-blue-dark); }
.pb-admin-nav a.active { background: var(--puebler-blue); color: #fff; }
.pb-admin-main { padding: 26px 28px 60px; min-width: 0; }
.pb-stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border-top: 1px solid var(--puebler-border); border-bottom: 1px solid var(--puebler-border); }
.pb-stat-row > div { padding: 16px 16px 16px 0; display: flex; flex-direction: column; border-right: 1px solid var(--puebler-border-soft); padding-left: 16px; }
.pb-stat-row > div:first-child { padding-left: 0; }
.pb-stat-row strong { font-family: var(--font-heading); font-size: 1.7rem; font-weight: 800; }
.pb-stat-row span { font-size: .76rem; text-transform: uppercase; letter-spacing: .06em; color: var(--puebler-text-muted); font-weight: 700; }
.pb-review-row { display: flex; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--puebler-border); align-items: flex-start; }
.pb-review-media { display: flex; gap: 6px; flex-shrink: 0; }
.pb-review-media img { width: 140px; height: 110px; object-fit: cover; border-radius: 10px; background: var(--puebler-border); }
.pb-review-media figure { margin: 0; }
.pb-review-media figcaption { font-size: .7rem; color: var(--puebler-text-muted); text-align: center; }
@media (max-width: 900px) {
  .pb-admin { grid-template-columns: 1fr; }
  .pb-admin-nav { position: static; height: auto; flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--puebler-border); padding: 8px; }
  .pb-admin-nav .pb-eyebrow { display: none; }
  .pb-admin-nav a { white-space: nowrap; }
  .pb-admin-main { padding: 18px 14px 40px; overflow-x: auto; }
  .pb-review-row { flex-direction: column; }
}

/* ---------------------------------------------------------------------
   Destinos: listado, filtros y formulario con mapa
   --------------------------------------------------------------------- */
.pb-admin-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 14px 0; border-top: 1px solid var(--puebler-border); border-bottom: 1px solid var(--puebler-border); margin-bottom: 10px; }
.pb-admin-filters .pb-input { width: auto; flex: 1 1 170px; min-width: 0; padding: 8px 12px; }
.pb-admin-filters input[type=search] { flex: 2 1 220px; }
.pb-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pb-admin-dest-table { min-width: 720px; }
.pb-adm-thumb-cell { width: 66px; }
.pb-adm-thumb { display: block; width: 56px; height: 42px; border-radius: 8px; overflow: hidden; background: var(--puebler-border); }
.pb-adm-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pb-adm-thumb .pb-cover-ph-name { display: none; }
.pb-adm-thumb .pb-cover-ph svg { width: 60%; }
.pb-dform-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 18px; }
.pb-dform-grid .pb-span-2 { grid-column: span 2; }
.pb-dform-grid .pb-span-all { grid-column: 1 / -1; }
.pb-dform-map { margin-bottom: 14px; }
.pb-dform-mapbox { height: 300px; border: 1px solid var(--puebler-border); border-radius: 14px; overflow: hidden; z-index: 1; }
.pb-dform-cover { display: flex; gap: 18px; align-items: flex-start; padding: 16px 0; border-top: 1px solid var(--puebler-border); }
.pb-dform-cover-prev { width: 220px; height: 140px; border-radius: 14px; overflow: hidden; flex-shrink: 0; background: var(--puebler-border); }
.pb-dform-cover-prev img, .pb-dform-cover-prev .pb-cover-ph { width: 100%; height: 100%; object-fit: cover; }
.pb-dedit { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: start; }
.pb-dedit-side { border-left: 1px solid var(--puebler-border); padding-left: 24px; position: sticky; top: calc(var(--topbar-h) + 16px); }
.pb-dedit-side .pb-qr { width: 200px; max-width: 100%; margin-bottom: 12px; }
.pb-dedit-side .pb-qr img, .pb-dedit-side .pb-qr canvas { max-width: 100%; height: auto; }
@media (max-width: 1199px) { .pb-dedit { grid-template-columns: 1fr; } .pb-dedit-side { border-left: 0; padding-left: 0; border-top: 1px solid var(--puebler-border); padding-top: 18px; position: static; } }
@media (max-width: 767px) {
  .pb-dform-grid { grid-template-columns: 1fr 1fr; }
  .pb-dform-cover { flex-direction: column; }
  .pb-dform-cover-prev { width: 100%; height: 160px; }
  .pb-dform-mapbox { height: 240px; }
}
@media (max-width: 420px) { .pb-dform-grid { grid-template-columns: 1fr; } .pb-dform-grid .pb-span-2 { grid-column: auto; } }
