/* =============================================================
   app.css — clasificados.diariolafaena.com · Fase 1
   Paleta P2 aprobada (usa tokens.css). Mobile-first. WCAG AA.
   Incluye barra inferior fija §4.7. Sin Bootstrap visual.
   ============================================================= */

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);background:var(--color-bg-base);color:var(--color-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:-.02em}
a{color:inherit}
img{max-width:100%;height:auto}

/* ---------- Header ---------- */
.lf-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--color-surface);border-bottom:1px solid #E6E9F0;position:sticky;top:0;z-index:20}
.lf-brand{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:700;color:var(--color-accent-primary);font-size:15px;text-decoration:none}
.lf-brand--center{justify-content:center;margin-bottom:18px;font-size:16px}
.lf-brand__mark{width:28px;height:28px;border-radius:7px;background:var(--color-accent-primary);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}
.lf-brand__mark b{color:var(--color-accent-secondary)}
.lf-nav{display:none;gap:18px;font-size:14px;font-weight:500}
.lf-nav a{text-decoration:none;color:var(--color-text-primary-2)}
.lf-nav__cta{color:var(--color-accent-primary);font-weight:600}
.lf-back{font-size:12px;color:var(--color-text-secondary);text-decoration:none;border:1px solid #E1E5ED;border-radius:999px;padding:6px 12px;min-height:36px;display:inline-flex;align-items:center}
.lf-header__right{display:flex;align-items:center;gap:12px}
.lf-user{display:none;font-size:12.5px;color:var(--color-text-secondary)}
.lf-logout button{border:1px solid #E1E5ED;background:#fff;border-radius:999px;padding:7px 14px;font-family:var(--font-display);font-weight:600;font-size:12.5px;color:var(--color-accent-primary);cursor:pointer;min-height:44px}

/* ---------- Main / footer ---------- */
.lf-main{max-width:1180px;margin:0 auto;padding:22px 16px 30px}
.has-botnav .lf-main{padding-bottom:calc(78px + env(safe-area-inset-bottom))} /* reserva la barra §4.7 */
.lf-footer{max-width:1180px;margin:0 auto;padding:18px 16px calc(90px + env(safe-area-inset-bottom));color:var(--color-text-secondary);font-size:12.5px}

/* ---------- Hero (P2: gradiente navy + filete naranja) ---------- */
.hero{background:var(--hero-gradient);color:#fff;border-bottom:var(--hero-keyline);border-radius:16px;padding:30px 20px;overflow:hidden}
.hero__eyebrow{font-family:var(--font-display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent-secondary);font-weight:600}
.hero__title{font-size:clamp(26px,6vw,42px);line-height:1.1;margin:10px 0 10px;font-weight:700}
.hero__title span{color:var(--color-accent-secondary)}
.hero__lead{color:#C6CEE6;max-width:560px;margin-bottom:18px;font-size:14.5px}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 20px;border:0;border-radius:11px;font-family:var(--font-display);font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}
.btn--primary{background:var(--cta-bg);color:var(--cta-fg);box-shadow:var(--shadow-cta)}
.btn--primary:hover{transform:translateY(-1px)}
.btn--block{width:100%}

/* ---------- Categorías ---------- */
.section__title{font-family:var(--font-display);font-size:20px;color:var(--color-accent-primary);margin:26px 0 14px}
.cats__grid{display:grid;grid-template-columns:1fr;gap:12px}
.cat-card{position:relative;display:flex;align-items:center;gap:12px;background:var(--color-surface);border:1px solid #E7EAF0;border-top:var(--card-top-accent) solid var(--cat);border-radius:14px;padding:16px;text-decoration:none;box-shadow:0 1px 2px rgba(2,19,91,.05);transition:transform .2s ease,box-shadow .2s ease;min-height:44px}
.cat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-1)}
.cat-card__dot{width:14px;height:14px;border-radius:5px;background:var(--cat);flex:none}
.cat-card__name{font-family:var(--font-display);font-weight:600;color:var(--color-accent-primary)}
.cat-card__flag{margin-left:auto;font-size:11px;color:var(--color-text-secondary);background:var(--cat-soft);border-radius:999px;padding:4px 9px}
.cats__note{color:var(--color-text-secondary);font-size:13px;margin-top:16px}

/* ---------- Formularios / alertas ---------- */
.form{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field__label{font-size:12.5px;font-weight:600;color:var(--color-text-primary-2)}
.field__input{border:1px solid #DDE3EE;border-radius:10px;padding:12px 13px;font-family:var(--font-body);font-size:15px;min-height:44px;background:#fff;color:var(--color-text-primary)}
.field__input:focus{outline:2px solid var(--color-accent-tertiary);outline-offset:1px;border-color:var(--color-accent-tertiary)}
.alert{border-radius:10px;padding:11px 13px;font-size:13.5px;margin-bottom:6px}
.alert--error{background:#FDECEC;color:#8A1F1F;border:1px solid #F3C6C6}
.alert--ok{background:var(--cat-clasificados-soft);color:#7a4a00;border:1px solid #F3D9A8}
.alert--ok a{color:var(--color-accent-primary);font-weight:600;margin-left:6px}

/* ---------- Auth ---------- */
.auth{background:var(--hero-gradient);min-height:100vh;display:flex}
.auth__wrap{margin:auto;width:100%;max-width:420px;padding:24px 18px}
.auth__card{background:#fff;border-radius:18px;padding:26px 22px;box-shadow:0 18px 50px rgba(2,19,91,.28);border-top:var(--hero-keyline)}
.auth__title{font-size:22px;color:var(--color-accent-primary);text-align:center}
.auth__sub{font-size:13.5px;color:var(--color-text-secondary);text-align:center;margin:6px 0 6px}

/* ---------- Panel ---------- */
.panel-cards{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}
.panel-card{background:#fff;border:1px solid #E7EAF0;border-radius:12px;padding:16px;display:flex;justify-content:space-between;align-items:center}
.panel-card__k{font-family:var(--font-display);font-weight:600;color:var(--color-accent-primary)}
.panel-card__v{font-size:12px;color:var(--color-text-secondary);background:var(--color-bg-base);border-radius:999px;padding:4px 10px}
.muted{color:var(--color-text-secondary)}

/* ---------- §4.7 Barra inferior fija (móvil) ---------- */
.botnav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:space-around;align-items:stretch;height:60px;background:var(--color-surface);border-top:1px solid #E6E9F0;box-shadow:0 -2px 14px rgba(2,19,91,.07);padding-bottom:env(safe-area-inset-bottom)}
.botnav__item{flex:1;min-width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--color-text-secondary);font-family:var(--font-display);font-weight:600;font-size:10px;letter-spacing:.02em;position:relative}
.botnav__ic{font-size:18px;line-height:1}
.botnav__item.is-active{color:var(--color-accent-primary)}
.botnav__item.is-active::before{content:"";position:absolute;top:0;width:26px;height:3px;border-radius:0 0 3px 3px;background:var(--color-accent-secondary)}
.botnav__item--cta{color:var(--color-accent-primary)}
.botnav__item--cta .botnav__ic{background:var(--color-accent-secondary);color:var(--color-accent-primary);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:22px;margin-top:-18px;border:3px solid var(--color-surface);box-shadow:0 5px 14px rgba(255,153,0,.42)}
.botnav__item:focus-visible{outline:2px solid var(--color-accent-tertiary);outline-offset:-2px;border-radius:8px}

/* ---------- Reveal (GSAP progresivo) ---------- */
[data-reveal]{opacity:0;transform:translateY(14px)}
.no-js [data-reveal]{opacity:1;transform:none}

/* ---------- Desktop (>=768px) ---------- */
@media (min-width:768px){
  .lf-nav{display:flex}
  .lf-user{display:inline}
  .botnav{display:none}                 /* §4.7: barra inferior SOLO en móvil */
  .has-botnav .lf-main{padding-bottom:30px}
  .lf-footer{padding-bottom:24px}
  .cats__grid{grid-template-columns:repeat(3,1fr);gap:16px}
  .panel-cards{grid-template-columns:repeat(2,1fr)}
  .hero{padding:44px 40px}
}
@media (min-width:1024px){
  .cats__grid{grid-template-columns:repeat(4,1fr)}
  .panel-cards{grid-template-columns:repeat(4,1fr)}
}

/* ---------- Accesibilidad: movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  [data-reveal]{opacity:1;transform:none}
}

/* ============================================================= */
/* FASE 2 — sitio público                                        */
/* ============================================================= */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Buscador (hero + página) */
.buscador{display:flex;gap:8px;background:#fff;border-radius:12px;padding:6px;box-shadow:0 6px 20px rgba(2,19,91,.12);max-width:560px}
.buscador__field{flex:1;display:flex}
.buscador__input{flex:1;border:0;background:transparent;font-family:var(--font-body);font-size:15px;padding:10px 12px;min-height:44px;color:var(--color-text-primary);outline:none;min-width:0}
.buscador__btn{white-space:nowrap}

/* Migas / cabeceras */
.crumbs{font-size:12.5px;color:var(--color-text-secondary);margin-bottom:14px}
.crumbs a{color:var(--color-accent-tertiary);text-decoration:none}
.crumbs span{margin:0 6px}
.listado-head{margin-bottom:16px;padding-left:14px;border-left:4px solid var(--cat, var(--color-accent-primary))}
.listado-head__title{font-family:var(--font-display);font-size:clamp(22px,5vw,32px);color:var(--color-accent-primary)}
.listado-head__count{color:var(--color-text-secondary);font-size:13.5px;margin-top:4px}

/* Filtros */
.filtros{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#fff;border:1px solid #E7EAF0;border-radius:14px;padding:14px;margin-bottom:20px}
.filtros__f{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--color-text-primary-2);font-weight:600}
.filtros__f select,.filtros__f input{border:1px solid #DDE3EE;border-radius:9px;padding:10px 11px;font-family:var(--font-body);font-size:14px;min-height:44px;background:#fff;color:var(--color-text-primary)}
.filtros__f--grow{flex:1;min-width:180px}
.filtros__f select:focus,.filtros__f input:focus{outline:2px solid var(--color-accent-tertiary);outline-offset:1px}

/* Grid de anuncios + card */
.anuncios-grid{display:grid;grid-template-columns:1fr;gap:14px}
.anuncio-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid #E7EAF0;border-top:var(--card-top-accent) solid var(--cat, var(--color-accent-secondary));border-radius:14px;overflow:hidden;text-decoration:none;box-shadow:0 1px 2px rgba(2,19,91,.05);transition:transform .2s ease,box-shadow .2s ease}
.anuncio-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-1)}
.anuncio-card__thumb{height:120px;background:var(--cat-soft, #EEF);position:relative;display:grid;place-items:center}
.anuncio-card__thumb::after{content:"";width:42px;height:42px;border-radius:12px;background:var(--cat, var(--color-accent-primary));opacity:.18}
.anuncio-card__badge{position:absolute;top:10px;left:10px;font-family:var(--font-display);font-weight:700;font-size:10.5px;letter-spacing:.03em;color:#fff;background:var(--cat, var(--color-accent-primary));border-radius:999px;padding:4px 10px}
.anuncio-card__body{padding:13px 14px 15px;display:flex;flex-direction:column;gap:6px;flex:1}
.anuncio-card__title{font-family:var(--font-display);font-weight:600;font-size:15.5px;color:var(--color-accent-primary)}
.anuncio-card__meta{display:flex;gap:8px;font-size:11.5px;color:var(--color-text-secondary)}
.anuncio-card__excerpt{font-size:12.5px;color:var(--color-text-primary-2);flex:1}
.anuncio-card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:4px}
.anuncio-card__code{font-family:var(--font-display);font-size:11px;color:var(--color-text-secondary)}
.anuncio-card__cta{font-family:var(--font-display);font-weight:700;font-size:12px;color:var(--color-accent-tertiary)}

/* Paginación / vacíos */
.pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px}
.pager__b{text-decoration:none;font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--color-accent-primary);border:1px solid #DDE3EE;border-radius:999px;padding:9px 15px;min-height:44px;display:inline-flex;align-items:center}
.pager__info{font-size:12.5px;color:var(--color-text-secondary)}
.empty{background:#fff;border:1px dashed #CFD6E4;border-radius:12px;padding:22px;text-align:center;color:var(--color-text-secondary)}
.empty a{color:var(--color-accent-tertiary)}

/* Botón fantasma / alertas informativas */
.btn--ghost{background:#fff;color:var(--color-accent-primary);border:1px solid #DDE3EE}
.alert--info{background:var(--cat-comunicados-soft);color:#134a7a;border:1px solid #BBD6EE;border-radius:10px;padding:12px 14px;margin-bottom:16px}

/* Ficha */
.ficha{background:#fff;border:1px solid #E7EAF0;border-radius:16px;padding:20px;box-shadow:var(--shadow-1)}
.ficha--documento{border-top:4px solid var(--cat, var(--color-accent-primary));font-family:var(--font-body)}
.ficha__badge{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:11px;color:#fff;background:var(--cat, var(--color-accent-primary));border-radius:999px;padding:4px 11px}
.ficha__title{font-family:var(--font-display);font-size:clamp(22px,5vw,32px);color:var(--color-accent-primary);margin:10px 0 6px}
.ficha__meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12.5px;color:var(--color-text-secondary)}
.ficha__folio{margin-left:auto;font-family:var(--font-display);color:var(--color-accent-primary)}
.ficha__gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:16px 0}
.ficha__thumb{border:0;padding:0;background:var(--cat-soft,#EEF);border-radius:12px;overflow:hidden;cursor:pointer;aspect-ratio:4/3}
.ficha__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ficha__thumb--placeholder{display:grid;place-items:center;color:var(--cat,var(--color-accent-primary));font-family:var(--font-display);font-weight:700}
.ficha__body{font-size:15px;line-height:1.7;color:var(--color-text-primary-2);margin:14px 0}
.ficha--documento .ficha__body{white-space:normal;background:#FCFCFE;border:1px solid #ECEFF5;border-radius:10px;padding:18px}
.ficha__contacto{margin-top:18px;padding-top:16px;border-top:1px solid #EEF0F5}
.ficha__contacto h2{font-family:var(--font-display);font-size:16px;color:var(--color-accent-primary);margin-bottom:6px}
.ficha__anunciante{font-weight:600;margin-bottom:10px}
.ficha__acciones{display:flex;flex-wrap:wrap;gap:10px}
.ficha__nota-doc{margin-top:16px;font-size:13px;color:var(--color-text-secondary)}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:60;background:rgba(2,10,35,.9);display:flex;align-items:center;justify-content:center;padding:24px}
.lightbox[hidden]{display:none}
.lightbox__img{max-width:92vw;max-height:86vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lightbox__close{position:absolute;top:18px;right:20px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:18px;cursor:pointer}

/* Tarifas */
.tarifas-grid{display:grid;grid-template-columns:1fr;gap:16px}
.tarifa-card{background:#fff;border:1px solid #E7EAF0;border-top:4px solid var(--cat,var(--color-accent-primary));border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px}
.tarifa-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tarifa-card__head h2{font-family:var(--font-display);font-size:18px;color:var(--color-accent-primary)}
.tarifa-card__flag{font-size:10.5px;color:var(--color-text-secondary);background:var(--cat-soft,#EEF);border-radius:999px;padding:4px 9px}
.tarifa-row{border-top:1px dashed #E4E8F0;padding-top:10px}
.tarifa-row__main{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.tarifa-row__name{font-weight:600;color:var(--color-text-primary)}
.tarifa-row__price{font-family:var(--font-display);font-weight:700;color:var(--color-accent-primary);font-size:18px}
.tarifa-row__det{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;font-size:12px;color:var(--color-text-secondary)}

/* Buscar (agrupado) */
.buscar-total{margin:14px 0;color:var(--color-text-secondary)}
.buscar-grupo{margin-bottom:22px}
.buscar-grupo__title{font-family:var(--font-display);font-size:18px;color:var(--color-accent-primary);margin-bottom:12px}
.buscar-grupo__title span{color:var(--color-text-secondary);font-weight:500;font-size:14px}
.error-page{text-align:center;padding:40px 16px}

@media (min-width:768px){
  .anuncios-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .tarifas-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1024px){
  .anuncios-grid{grid-template-columns:repeat(3,1fr)}
  .tarifas-grid{grid-template-columns:repeat(3,1fr)}
}

/* ============================================================= */
/* FASE 3 — publicación y pagos                                  */
/* ============================================================= */
.form-pub{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid #E7EAF0;border-radius:16px;padding:18px;box-shadow:var(--shadow-1)}
.form-pub .field__hint{color:var(--color-text-secondary);font-size:11.5px}
.form-pub textarea.field__input{resize:vertical;line-height:1.5}
.field-group{border-left:3px solid var(--color-accent-secondary);padding-left:12px}
.form-row{display:grid;grid-template-columns:1fr;gap:14px}
.field-set{border:1px solid #E7EAF0;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:14px}
.field-set legend{font-family:var(--font-display);font-weight:600;color:var(--color-accent-primary);font-size:13px;padding:0 6px}

.pub-resumen{background:#fff;border:1px solid #E7EAF0;border-radius:14px;padding:16px;margin:16px 0;display:flex;flex-direction:column;gap:8px}
.pub-resumen__row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--color-text-primary-2)}
.pub-resumen__row span{color:var(--color-text-secondary);font-size:13.5px}
.pub-resumen__row--total{border-top:1px dashed #E4E8F0;padding-top:10px}
.pub-resumen__row--total strong{font-family:var(--font-display);font-size:20px;color:var(--color-accent-primary)}

.pub-acciones{display:flex;gap:12px;align-items:stretch;margin-top:6px}
.pub-ok__badge{width:52px;height:52px;border-radius:50%;background:var(--cat-clasificados-soft);color:#7a4a00;display:grid;place-items:center;font-size:26px;font-weight:700;margin-bottom:8px}
.pub-pasos{margin:8px 0 18px 18px;color:var(--color-text-primary-2);display:flex;flex-direction:column;gap:6px}

@media (min-width:768px){
  .form-row{grid-template-columns:1fr 1fr}
}

/* ============================================================= */
/* FASE 4 — panel de administración                              */
/* ============================================================= */
.lf-main--panel{max-width:1180px}
.panel-nav{max-width:1180px;margin:0 auto;padding:0 16px;display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #E6E9F0}
.panel-nav a{padding:12px 14px;text-decoration:none;color:var(--color-text-secondary);font-family:var(--font-display);font-weight:600;font-size:13.5px;border-bottom:3px solid transparent;min-height:44px;display:inline-flex;align-items:center}
.panel-nav a.is-active{color:var(--color-accent-primary);border-bottom-color:var(--color-accent-secondary)}

/* Botones extra */
.btn--sm{min-height:36px;padding:7px 13px;font-size:12.5px;border-radius:9px}
.btn--danger{background:#B4231F;color:#fff}
.mono{font-family:var(--font-display);letter-spacing:.02em}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0}
.kpi{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #E7EAF0;border-left:4px solid var(--color-accent-tertiary);border-radius:12px;padding:14px;text-decoration:none}
.kpi__n{font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--color-accent-primary)}
.kpi__l{font-size:12px;color:var(--color-text-secondary)}
.kpi--pendiente{border-left-color:#A65F00}.kpi--verificado{border-left-color:#1E73BE}
.kpi--pagado{border-left-color:#0E4C7A}.kpi--publicado{border-left-color:#1f8f4e}
.kpi--expirado{border-left-color:#5A6470}.kpi--rechazado{border-left-color:#B4231F}
.kpi--ingreso{border-left-color:var(--color-accent-secondary)}

/* Cajas / columnas */
.panel-cols{display:grid;grid-template-columns:1fr;gap:16px;margin-top:8px}
.panel-box{background:#fff;border:1px solid #E7EAF0;border-radius:14px;padding:16px}
.panel-box__title{font-family:var(--font-display);font-size:15px;color:var(--color-accent-primary);margin-bottom:10px}
.panel-box__sub{font-family:var(--font-display);font-size:13px;color:var(--color-accent-primary);margin:14px 0 6px}

/* Barras */
.barchart{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:8px}
.barchart__col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.barchart__bar{width:70%;background:linear-gradient(180deg,var(--color-accent-tertiary),var(--color-accent-primary));border-radius:4px 4px 0 0;min-height:4px}
.barchart__x{font-size:9px;color:var(--color-text-secondary)}
.ranklist{list-style:none;display:flex;flex-direction:column;gap:8px}
.ranklist li{display:flex;justify-content:space-between;border-bottom:1px dashed #E4E8F0;padding-bottom:6px}
.ranklist strong{color:var(--color-accent-primary)}

/* Tabs */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}
.tab{padding:8px 12px;border:1px solid #E1E5ED;border-radius:999px;text-decoration:none;color:var(--color-text-primary-2);font-size:12.5px;font-weight:600;min-height:36px;display:inline-flex;align-items:center;gap:6px}
.tab.is-active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}
.tab__n{background:rgba(0,0,0,.08);border-radius:999px;padding:1px 7px;font-size:11px}
.tab.is-active .tab__n{background:rgba(255,255,255,.22)}

/* Tabla */
.table-wrap{overflow-x:auto;border:1px solid #E7EAF0;border-radius:12px;background:#fff}
.table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}
.table th,.table td{text-align:left;padding:11px 12px;border-bottom:1px solid #EEF0F5;vertical-align:top}
.table th{font-family:var(--font-display);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);background:#FAFBFD}
.table tr:last-child td{border-bottom:0}
.row-actions{display:flex;gap:6px;white-space:nowrap}

/* Estados */
.estado{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:3px 9px;color:#fff}
.estado--pendiente{background:#A65F00}.estado--verificado{background:#1E73BE}.estado--pagado{background:#0E4C7A}
.estado--publicado{background:#1f8f4e}.estado--expirado{background:#5A6470}.estado--rechazado{background:#B4231F}

/* Ver anuncio */
.ver-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.deflist{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px}
.deflist dt{color:var(--color-text-secondary)}
.deflist dd{color:var(--color-text-primary)}
.doclist{list-style:none;display:flex;flex-direction:column;gap:6px}
.doclist a{color:var(--color-accent-tertiary)}
.acciones-box{background:#fff;border:1px solid #E7EAF0;border-radius:14px;padding:16px;margin-top:16px}
.acciones-grid{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rechazo-form{display:flex;gap:8px;align-items:center;flex:1;min-width:240px}
.rechazo-form .field__input{min-height:40px}

@media (min-width:768px){
  .kpis{grid-template-columns:repeat(4,1fr)}
  .panel-cols{grid-template-columns:3fr 2fr}
}

/* Hoja del menú (☰ de la barra inferior §4.7) */
.menu-sheet{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end}
.menu-sheet[hidden]{display:none}
.menu-sheet__backdrop{position:absolute;inset:0;background:rgba(2,10,35,.5)}
.menu-sheet__panel{position:relative;width:100%;background:#fff;border-radius:18px 18px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(2,19,91,.25);max-height:80vh;overflow-y:auto;animation:sheetUp .25s ease}
@keyframes sheetUp{from{transform:translateY(20px);opacity:.6}to{transform:none;opacity:1}}
.menu-sheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.menu-sheet__head strong{font-family:var(--font-display);color:var(--color-accent-primary);font-size:16px}
.menu-sheet__x{width:40px;height:40px;border:0;background:var(--color-bg-base);border-radius:50%;font-size:15px;cursor:pointer;color:var(--color-text-secondary)}
.menu-sheet__cta{display:block;text-align:center;background:var(--cta-bg);color:var(--cta-fg);font-family:var(--font-display);font-weight:700;border-radius:11px;padding:12px;text-decoration:none;margin-bottom:14px}
.menu-sheet__label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);font-weight:600;margin-bottom:8px}
.menu-sheet__cats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.menu-sheet__cats a{text-decoration:none;color:var(--color-accent-primary);font-weight:600;font-size:13.5px;border:1px solid #E7EAF0;border-left:4px solid var(--cat,var(--color-accent-primary));border-radius:10px;padding:11px 12px;min-height:44px;display:flex;align-items:center}
.menu-sheet__links{display:flex;flex-direction:column}
.menu-sheet__links a{text-decoration:none;color:var(--color-text-primary-2);padding:12px 4px;border-top:1px solid #EEF0F5;min-height:44px;display:flex;align-items:center}

/* Checkbox de "publicar directamente" (carga desde panel) */
.check{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--color-text-primary-2);padding:6px 0;font-weight:600}
.check input{width:20px;height:20px;accent-color:var(--color-accent-secondary)}
