/* Boletín Sanchez Velasco. Identidad según el manual de marca:
   azul #2E3B5B, dorado #DD955D, dorado claro #EFBB82, tipografía Montserrat.
   Dirección visual «despacho de confianza»: azul de base, fondo hueso cálido,
   dorado solo como acento (rellenos, chips, avisos); para texto dorado se usa --oro-texto.
   CSS plano, sin compilar. */
:root{
  --azul:#2e3b5b;            /* Azul de marca (RGB 46 59 91) */
  --azul-h:#3a4a73;          /* Azul al pasar el cursor */
  --oro:#dd955d;             /* Dorado (RGB 221 149 93) */
  --oro-claro:#efbb82;       /* Dorado claro (RGB 239 187 130) */
  --oro-texto:#8a5420;       /* Derivado del dorado, más oscuro: único dorado para texto sobre claro (contraste AA) */
  --oro-f:#fbebdc;           /* Fondo dorado muy claro para etiquetas */
  --oro-f2:#fff7ee;          /* Fondo de la franja «Por vencer» */
  --oro-l:#f0d3b4;           /* Borde dorado suave */
  --fondo:#f6f4f0;           /* Hueso cálido */
  --papel:#fff;--tinta:#1f2840;--titulo:#2e3b5b;--seccion:#3a445c;--tenue:#5a6478;
  --linea:#e6e1d8;--linea-f:#f1eee8;--campo:#cfc8bb;--hueso2:#efebe4;
  --azulf:color-mix(in srgb,var(--azul) 7%,#fff);
  --pill-bg:var(--oro-f);--pill-tx:#7a4618;
  --ambar:#8a5420;--ambarf:#fbebdc;--verde:#166a47;--verdef:#e3f1e8;--rojo:#b42318;--rojof:#fde4e1;--gris:#edebe6;
  --wa:#1a7a43;
  --r-tarjeta:14px;--r-boton:10px;
  --sombra:0 6px 18px -4px rgba(46,59,91,.12),0 2px 4px -2px rgba(46,59,91,.08);--sombra-s:0 1px 2px rgba(46,59,91,.06);
  --sombra-alta:0 18px 40px rgba(10,16,32,.28);
}
*{box-sizing:border-box}
html{scroll-padding-top:5rem}
body{margin:0;background:var(--fondo);color:var(--tinta);font:15px/1.55 "Montserrat",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
a{color:var(--azul)}
a:hover{color:var(--oro-texto)}
img{max-width:100%;height:auto}
.wrap{max-width:72rem;margin:0 auto;padding:0 1.5rem}

/* ---------- Encabezado azul con la marca horizontal (lo genera page_head) ---------- */
header.top{position:sticky;top:0;z-index:20;background:var(--azul);color:#fff;border-bottom:1px solid rgba(239,187,130,.22);box-shadow:0 4px 18px rgba(46,59,91,.22)}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;min-height:4.5rem;gap:.5rem 1rem;flex-wrap:wrap;padding-top:.4rem;padding-bottom:.4rem}
header.top a{text-decoration:none}
.marca{display:flex;align-items:center;gap:.8rem;min-height:44px}
.marca-emb{width:2.5rem;height:auto}
.marca-txt{height:1.9rem;width:auto}
header.top nav{display:flex;gap:.15rem;align-items:center;font-size:.875rem;flex-wrap:wrap}
header.top nav a{color:#dce1ec;font-weight:600;padding:.6rem .85rem;border-radius:8px;min-height:44px;display:inline-flex;align-items:center}
header.top nav a:hover{background:rgba(255,255,255,.08);color:var(--oro-claro)}
header.top nav a[href="#vencen"]{color:var(--oro-claro)}
header.top form{margin:0;display:inline-flex}
header.top nav .btn.sec{background:transparent;color:#fff;border-color:rgba(255,255,255,.35);box-shadow:none;margin-left:.35rem}
header.top nav .btn.sec:hover{background:rgba(255,255,255,.1);border-color:var(--oro-claro);color:var(--oro-claro)}
main{padding:2rem 0 4rem}
main.wrap{padding-top:2rem;padding-bottom:4rem}
main.full{padding:0}

/* ---------- Tipografía ---------- */
h1{font-size:1.9rem;font-weight:800;letter-spacing:-.015em;line-height:1.15;color:var(--titulo);margin:.3rem 0 1rem}
h2{font-size:1.75rem;font-weight:800;letter-spacing:-.01em;line-height:1.2;color:var(--titulo);margin:.35rem 0 1.25rem}
.etq{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--oro-texto)}
.lead{font-size:1.1rem;color:var(--tenue);max-width:36rem;margin:0 0 1.5rem}
.meta{color:var(--tenue);margin:0 0 1rem}
.vacio{padding:1.5rem 0;color:var(--tenue)}

/* ---------- Controles ---------- */
input,select,button,textarea{font:inherit}
input[type=text],input[type=search],input[type=password],input[type=date],input[type=url],select{padding:.6rem .8rem;border:1px solid var(--campo);border-radius:var(--r-boton);background:var(--papel);color:var(--tinta);min-width:0;min-height:2.75rem}
input:hover,select:hover{border-color:var(--azul)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.75rem;padding:.5rem 1.2rem;border:1px solid var(--azul);background:var(--azul);color:#fff;border-radius:var(--r-boton);font-weight:700;font-size:.9rem;line-height:1.2;cursor:pointer;text-decoration:none;box-shadow:var(--sombra-s);vertical-align:middle}
.btn:hover{background:var(--azul-h);border-color:var(--azul-h);color:#fff}
.btn.sec{background:var(--papel);color:var(--azul);border-color:var(--campo)}
.btn.sec:hover{background:var(--azulf);border-color:var(--azul);color:var(--azul)}
.btn.peligro{background:var(--papel);color:var(--rojo);border-color:#f3b5ae}
.btn.peligro:hover{background:var(--rojof);color:var(--rojo)}
.btn.oro{background:var(--oro);border-color:var(--oro);color:var(--tinta)}
.btn.oro:hover{background:var(--oro-claro);border-color:var(--oro-claro);color:var(--tinta)}
:focus-visible{outline:3px solid var(--azul);outline-offset:2px}
header.top :focus-visible,.hero :focus-visible,.pie :focus-visible,.barra.masiva :focus-visible{outline-color:var(--oro-claro)}
.busca{display:flex;gap:.5rem;margin-bottom:1rem}
.busca input{flex:1}
.busca.grande{max-width:37rem;background:var(--papel);border-radius:14px;padding:.4rem;box-shadow:var(--sombra-alta)}
.busca.grande input{padding:.75rem .9rem;font-size:1rem;border-color:transparent;background:transparent}
.busca.grande input:hover{border-color:transparent}
.busca.grande .btn{min-height:3rem;padding:0 1.5rem;font-size:.95rem;box-shadow:none}

/* ---------- Portada: hero azul con arco dorado y logotipo vertical ---------- */
.hero{position:relative;overflow:hidden;background:var(--azul);color:#fff;padding:4rem 0 3.75rem}
.hero::before{content:"";position:absolute;right:-9rem;top:-10rem;width:30rem;height:30rem;border-radius:50%;border:3.75rem solid var(--oro);opacity:.12;pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3.5rem;align-items:center}
.hero-txt{min-width:0}
.hero .etq{color:var(--oro-claro)}
.hero h1{color:#fff;font-size:clamp(1.75rem,4.4vw,2.9rem);line-height:1.08;max-width:15ch;margin:.6rem 0 1rem}
.hero .lead{color:#d5dae6}
.hero-logo{width:15rem;height:auto}
.pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}
.pill{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .8rem;border-radius:999px;background:var(--pill-bg);color:var(--pill-tx);font-size:.78rem;font-weight:700}
.hero .pill{padding:.45rem .9rem;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.22);font-weight:600}
.hero .pill:first-child::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--oro-claro)}
.hero .pill.alerta{background:var(--oro-claro);border-color:var(--oro-claro);color:var(--tinta);font-weight:700}
@media(max-width:720px){
  .hero{padding:2.25rem 0 2rem}
  .hero::before{right:-6rem;top:-6rem;width:14rem;height:14rem;border-width:2.25rem}
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .hero-logo{display:none} /* la marca ya está en el encabezado */
  .hero .lead{font-size:1rem;margin-bottom:1.25rem}
  .busca.grande .btn{padding:0 1rem}
}

/* ---------- Secciones ---------- */
section.sec{padding:3.5rem 0 0}
section.sec:last-child{padding-bottom:4.5rem}

/* Por ramo: tarjetas con ícono */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1rem}
.card{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;background:var(--papel);border:1px solid var(--linea);border-radius:var(--r-tarjeta);padding:1.25rem;box-shadow:var(--sombra-s);text-decoration:none;color:var(--tinta);transition:border-color .15s,transform .15s,box-shadow .15s}
.card::before{content:"";width:2.5rem;height:2.5rem;border-radius:10px;background:var(--azul) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23efbb82' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E") center/1.25rem no-repeat}
.card:hover{border-color:var(--oro);transform:translateY(-2px);box-shadow:var(--sombra);color:var(--tinta)}
.card .etq{display:none} /* el ícono ya indica que es un ramo */
.card h3{font-size:1.05rem;font-weight:700;color:var(--tinta);margin:0;line-height:1.3;overflow-wrap:anywhere}
@media (prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem}
.chip{padding:.3rem .8rem;border:1px solid var(--linea);border-radius:999px;background:var(--papel);color:var(--seccion);text-decoration:none;font-size:.8rem;font-weight:600}
.chip:hover{border-color:var(--oro)}
.chip small{color:var(--tenue)}
.chip.on{background:var(--azul);border-color:var(--azul);color:#fff}
.chip.on small{color:var(--oro-claro)}

/* Selectores de mes, semana y categoría */
.filtros{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;background:var(--papel);border:1px solid var(--linea);border-radius:var(--r-tarjeta);box-shadow:var(--sombra-s);padding:1.25rem;margin:0 0 1rem}
.filtros label{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);flex:1 1 12rem;min-width:0}
.filtros select{font-size:1rem;font-weight:500;letter-spacing:0;text-transform:none;width:100%;min-height:3rem}
.filtros .btn{flex:0 0 auto;min-height:3rem}

/* Archivo por mes y por semana (desplegables) */
.mes{margin:0 0 2rem}
.mes-t{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;margin:0 0 1rem;font-size:1.6rem;font-weight:800;color:var(--titulo);letter-spacing:-.01em}
.mes-t small{font-size:.82rem;font-weight:600;color:var(--tenue);letter-spacing:0}
details.semana{background:var(--papel);border:1px solid var(--linea);border-radius:var(--r-tarjeta);box-shadow:var(--sombra-s);margin-bottom:.75rem;overflow:hidden}
details.semana[open]{border-color:var(--oro);box-shadow:var(--sombra)}
details.semana summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:1rem;align-items:center;padding:.85rem 1.25rem;cursor:pointer;list-style:none;min-height:3.25rem}
details.semana summary::-webkit-details-marker{display:none}
details.semana summary::after{content:"";width:.6rem;height:.6rem;margin:0 .3rem .2rem;border-right:2px solid var(--azul);border-bottom:2px solid var(--azul);transform:rotate(45deg);transition:transform .15s}
details.semana[open] summary::after{transform:rotate(-135deg);margin-bottom:-.2rem}
details.semana summary:hover .sem-r{color:var(--azul)}
.sem-n{display:flex;flex-direction:column;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:12px;background:var(--hueso2);color:var(--azul);line-height:1}
.sem-n small{font-size:.52rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--oro-texto)}
.sem-n b{font-size:1.25rem;font-weight:800;margin-top:.15rem}
details.semana[open] .sem-n{background:var(--azul);color:#fff}
details.semana[open] .sem-n small{color:var(--oro-claro)}
.sem-r{font-weight:700;font-size:1rem;color:var(--tinta)}
.sem-c{min-width:2rem;text-align:center;border-radius:999px;padding:.2rem .65rem;background:var(--pill-bg);color:var(--pill-tx);font-size:.8rem;font-weight:700}
details.semana .indice{border-top:1px solid var(--linea-f)}
@media (prefers-reduced-motion:reduce){details.semana summary::after{transition:none}}

/* Listado: cada documento es una fila */
.indice{list-style:none;margin:0;padding:0}
.fila a{display:grid;grid-template-columns:4rem minmax(0,1fr) 10rem 12.5rem;gap:1rem;align-items:center;padding:.9rem 1.25rem;text-decoration:none;color:var(--tinta);border-top:1px solid var(--linea-f)}
.fila:first-child a{border-top:0}
.fila a:hover{background:#fbf6ef;color:var(--tinta)}
.fila a:hover .tit{color:var(--azul);text-decoration:underline;text-decoration-color:var(--oro);text-underline-offset:3px}
.fila .tipo{justify-self:start;min-width:3.5rem;text-align:center;font-size:.68rem;font-weight:800;letter-spacing:.04em;padding:.3rem .4rem;border-radius:6px;background:var(--oro-f);color:#7a4618;white-space:nowrap}
.fila .tipo.tag-video{background:var(--azul);color:#fff}
.fila .tit{font-weight:600;font-size:.95rem;overflow-wrap:anywhere}
.fila .ramo{font-weight:700;font-size:.82rem;color:var(--azul);overflow-wrap:anywhere}
.fila .vig{color:var(--tenue);font-size:.82rem;white-space:nowrap;text-align:right}
.fila .vig.pronto{color:var(--ambar);font-weight:700}
@media(max-width:720px){
  .fila a{grid-template-columns:3.5rem minmax(0,1fr);gap:.2rem .85rem;align-items:start;padding:.9rem 1rem}
  .fila .tipo{grid-row:1/span 3;min-width:3.5rem;margin-top:.1rem}
  .fila .tit,.fila .ramo,.fila .vig{grid-column:2}
  .fila .tit{grid-row:1;line-height:1.35}
  .fila .ramo{grid-row:2}
  .fila .vig{grid-row:3;text-align:left;white-space:normal}
}

/* Atención: por vencer (siempre al final) */
#vencen{padding-bottom:4.5rem}
#vencen .wrap>.etq,#vencen .wrap>h2{position:relative}
#vencen .wrap{width:calc(100% - 3rem);max-width:69rem;background:var(--oro-f2);border:1px solid var(--oro-l);border-radius:16px;padding:1.75rem}
#vencen h2{font-size:1.5rem;margin-bottom:1rem}
#vencen .indice{display:grid;gap:.5rem}
#vencen .fila a{background:var(--papel);border:0;border-radius:var(--r-boton);box-shadow:var(--sombra-s)}
#vencen .fila .vig{justify-self:end;padding:.3rem .75rem;border-radius:999px;background:var(--azul);color:#fff}
@media(max-width:720px){
  #vencen .wrap{width:calc(100% - 2rem);padding:1.25rem 1rem;border-radius:14px}
  #vencen .fila .vig{justify-self:start}
}

/* ---------- Ficha del artículo ---------- */
.volver{margin:0 0 1.25rem}
.volver a{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;font-weight:600;font-size:.9rem;text-decoration:none}
.volver a::before{content:"";width:.5rem;height:.5rem;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.volver a:hover{text-decoration:underline}
.ficha h1{font-size:clamp(1.5rem,3.6vw,2.25rem);max-width:40ch}
.acciones{display:flex;gap:.6rem;margin:1.25rem 0;flex-wrap:wrap}
.visor{width:100%;height:80vh;border:1px solid var(--linea);border-radius:var(--r-tarjeta);background:var(--papel);box-shadow:var(--sombra)}
.visor-img{display:block;max-width:100%;border:1px solid var(--linea);border-radius:var(--r-tarjeta);background:var(--papel);box-shadow:var(--sombra)}

/* ---------- Pie con el logotipo vertical claro (lo genera page_foot) ---------- */
.pie{background:var(--azul);color:#c9d1e3;padding:2.25rem 0;font-size:.82rem;border-top:3px solid var(--oro)}
.pie .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}
.pie img{width:9.4rem;height:auto}
.pie p{margin:0}
.wa{position:fixed;right:1.25rem;bottom:1.25rem;z-index:30;display:inline-flex;align-items:center;gap:.5rem;min-height:3.25rem;padding:0 1.15rem 0 .95rem;border-radius:999px;background:var(--wa);color:#fff;text-decoration:none;font-weight:700;font-size:.95rem;box-shadow:0 10px 24px rgba(10,16,32,.28)}
.wa::before{content:"";width:1.4rem;height:1.4rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20l1.3-3.9A8 8 0 1 1 8 19z'/%3E%3Cpath d='M9.5 9.5c.4 1.8 1.9 3.4 3.8 3.9l1-1 1.7.7-.3 1.4c-2.9.3-6.1-2.8-5.9-5.9l1.4-.3.7 1.7z'/%3E%3C/svg%3E") center/contain no-repeat}
.wa:hover{background:#156638;color:#fff}
body.admin .wa{display:none} /* en el panel tapaba los botones; es para los agentes */

/* ---------- Videos ---------- */
.tag-video{display:inline-block;padding:.05rem .5rem;border-radius:6px;background:var(--azul);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.04em}
.video{position:relative;width:100%;max-width:56rem;aspect-ratio:16/9;margin-top:1rem;border-radius:var(--r-tarjeta);overflow:hidden;background:#000;box-shadow:var(--sombra)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- Administración ---------- */
.panel{background:var(--papel);border:1px solid var(--linea);border-radius:16px;box-shadow:var(--sombra-s);padding:1.5rem 1.75rem;margin-bottom:1.5rem}
.panel>strong:first-of-type{display:block;font-size:1.25rem;font-weight:800;color:var(--titulo);margin:0 0 .5rem;letter-spacing:-.01em}
.guia{background:var(--papel);color:var(--seccion);border:1px solid var(--linea);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem;font-size:.9rem;line-height:1.6}
.guia b{display:inline-block;margin-right:.6rem;padding:.15rem .75rem;border-radius:999px;background:var(--azul);color:var(--oro-claro);font-size:.72rem;font-weight:700;letter-spacing:.06em}
body.admin main.wrap>h1{margin:0 0 1.25rem}
.msg{background:#eaf4ee;border:1px solid #b9dcc6;color:#1e5a36;font-weight:600;border-radius:12px;padding:.85rem 1.1rem;margin-bottom:.75rem;overflow-wrap:anywhere}
.barra{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin:1rem 0}
.barra label{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:var(--seccion)}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;align-items:end;margin-bottom:1rem}
label.f{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:700;color:var(--seccion)}
label.f input,label.f select,.barra label select{font-weight:500;font-size:.9rem;color:var(--tinta)}
.panel.form-grid{max-width:40rem}

/* Subir información: pasos */
.subir-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:1rem 0 .5rem;padding:1.1rem;border:1px solid var(--linea);border-radius:12px;background:#fcfbf8}
.panel .f,.subir .f{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:700;color:var(--seccion)}
.subir input[type=date],.subir input[type=text],.subir input[type=url],.subir select{width:100%}
.subir input[type=file]{width:100%;min-height:4.25rem;padding:.75rem;border:2px dashed var(--oro);border-radius:12px;background:#fff9f2;color:var(--tenue);font-weight:500;cursor:pointer}
.subir input[type=file]:hover{background:#fff3e4;border-color:var(--oro-texto)}
.subir input[type=file]::file-selector-button{margin-right:.8rem;padding:.5rem 1rem;border:0;border-radius:8px;background:var(--azul);color:#fff;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}
.subir .barra{justify-content:flex-end;margin-top:1.25rem}
.subir .barra .btn{background:var(--oro);border-color:var(--oro);color:var(--tinta);padding:0 1.75rem;min-height:3rem;font-size:.95rem}
.subir .barra .btn:hover{background:var(--oro-claro);border-color:var(--oro-claro)}
#carp-info{font-size:.85rem}
.vid-bloque{margin-top:1rem;padding:1.1rem;border:1px solid var(--linea);border-radius:12px}
.paso{display:block;font-size:.95rem;color:var(--titulo);margin-bottom:.25rem}
.paso-op{font-weight:600;color:var(--tenue);font-size:.8rem}
.vid-bloque .meta{font-size:.85rem}
#vids:empty{display:none}
.vid-fila{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.6fr) minmax(0,.9fr) auto;gap:.75rem;align-items:end;margin:.6rem 0;padding:.75rem;border-radius:10px;background:#fcfbf8;border:1px solid var(--linea-f)}
.vid-fila .f{margin:0}
.vid-fila .cat-x{width:2.75rem;height:2.75rem}

/* Categorías: píldoras con ojo y eliminar */
.cat-lista{list-style:none;margin:1rem 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.cat{display:inline-flex;align-items:center;gap:.15rem;padding:.2rem .25rem .2rem .9rem;border:1px solid var(--linea);border-radius:999px;background:var(--fondo);font-size:.85rem;font-weight:600;color:var(--tinta)}
.cat small{color:var(--tenue);font-weight:600;margin-left:.15rem}
.cat form{margin:0;display:inline-flex}
.cat.oculta{background:var(--papel);border-style:dashed;border-color:#b8b0a2;color:var(--tenue)}
.cat.oculta>span{text-decoration:line-through;text-decoration-color:#b8b0a2}
.cat em{font-style:normal;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--oro-texto);margin-left:.3rem;text-decoration:none;display:inline-block}
.cat-ojo{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-left:.35rem;border:0;border-radius:50%;background:transparent;color:var(--azul);cursor:pointer}
.cat-ojo:hover{background:var(--azulf)}
.cat.oculta .cat-ojo{color:var(--tenue)}
.cat-x{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:0;border-radius:50%;background:transparent;color:var(--rojo);font-size:1.2rem;line-height:1;cursor:pointer}
.cat-x:hover:not(:disabled){background:var(--rojof)}
.cat-x:disabled{opacity:.35;cursor:not-allowed}
#categorias .barra input{width:16rem}

/* Filtros y tabla de publicaciones */
.barra.masiva{margin:0;padding:.75rem 1.25rem;background:var(--azul);border-radius:16px 16px 0 0;position:sticky;top:4.5rem;z-index:5}
.barra.masiva::before{content:"Con lo seleccionado:";color:#dce1ec;font-size:.85rem;font-weight:600;margin-right:.25rem}
.barra.masiva .btn{min-height:2.4rem;padding:.4rem 1rem;font-size:.85rem;box-shadow:none}
.barra.masiva .btn:not(.sec):not(.peligro){background:var(--oro);border-color:var(--oro);color:var(--tinta)}
.barra.masiva .btn:not(.sec):not(.peligro):hover{background:var(--oro-claro);border-color:var(--oro-claro)}
.barra.masiva .btn.sec{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.barra.masiva .btn.sec:hover{background:rgba(255,255,255,.1)}
.barra.masiva .btn.peligro{background:transparent;color:#ffd3c9;border-color:rgba(255,211,201,.5)}
.barra.masiva .btn.peligro:hover{background:rgba(255,211,201,.12)}
.barra.masiva+.tabla-scroll{border-top:0;border-radius:0 0 16px 16px}
.tabla-scroll{overflow-x:auto;background:var(--papel);border:1px solid var(--linea);border-radius:16px;box-shadow:var(--sombra-s)}
table.t{width:100%;border-collapse:collapse;font-size:.875rem}
.t th,.t td{padding:.85rem .9rem;border-bottom:1px solid var(--linea-f);text-align:left;vertical-align:top}
.t th:first-child,.t td:first-child{padding-left:1.25rem}
.t th{background:#faf8f4;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue)}
.t tr:last-child td{border-bottom:0}
.t tbody tr:hover td{background:#fdfbf7}
.t tbody tr:has(input:checked) td{background:#fff9f2}
.t td strong{font-weight:700;color:var(--tinta)}
.t td small{color:var(--tenue)}
.t td a{font-weight:600;margin-right:.6rem}
.t input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--azul)}
.badge{display:inline-block;padding:.2rem .7rem;border-radius:999px;font-size:.74rem;font-weight:700;vertical-align:middle}
.est{white-space:nowrap}
.ojo{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0 .2rem;border:1px solid var(--linea);border-radius:50%;background:var(--papel);color:var(--azul);cursor:pointer;vertical-align:middle}
.ojo:hover{border-color:var(--oro);background:var(--azulf)}
.ojo.off{color:var(--tenue);background:var(--gris)}
.b-oculto{background:var(--gris);color:#4a5163;border:1px dashed #8a8f9c}
.b-publicado{background:var(--verdef);color:var(--verde)}
.b-borrador{background:var(--oro-f);color:#7a4618}
.b-vencido{background:var(--rojof);color:var(--rojo)}
.b-programado{background:#e7eaf2;color:var(--azul)}

/* ---------- Celular (sitio para agentes) ---------- */
.pie{padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px))}
.wa{bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));right:calc(1.25rem + env(safe-area-inset-right,0px))}
@media(max-width:720px){
  .wrap{padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}
  header.top .wrap{min-height:3.75rem}
  header.top nav{width:100%;justify-content:space-between;gap:0;margin:0 -.5rem;width:calc(100% + 1rem);border-top:1px solid rgba(255,255,255,.12)}
  header.top nav a{padding:.55rem .5rem;font-size:.8rem}
  h2{font-size:1.4rem;margin-bottom:1rem}
  section.sec{padding-top:2.5rem}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
  .card{padding:1rem;gap:.6rem}
  .card::before{width:2.1rem;height:2.1rem;background-size:1.1rem}
  .card h3{font-size:.95rem}
  /* 16 px evita que iOS haga zoom al tocar un campo */
  .filtros select,.busca input,.busca.grande input,input[type=text],input[type=search],input[type=password]{font-size:16px}
  .filtros{padding:1rem;gap:.75rem}
  .filtros label{flex-basis:100%}
  .filtros .btn{flex:1 1 auto}
  details.semana summary{grid-template-columns:auto minmax(0,1fr) auto auto;gap:.75rem;padding:.75rem 1rem}
  .sem-n{width:2.85rem;height:2.85rem}
  .sem-n b{font-size:1.1rem}
  .sem-r{font-size:.92rem}
  .mes-t{font-size:1.3rem}
  .video{max-width:100%;border-radius:12px}
  .visor{height:70vh}
  h1{overflow-wrap:anywhere}
  .wa{width:3.5rem;height:3.5rem;padding:0;justify-content:center;font-size:0;gap:0}
  .wa::before{width:1.6rem;height:1.6rem}
}
@media(max-width:520px){.marca-txt{height:1.4rem}.marca-emb{width:2rem}}
@media(max-width:380px){.hero h1{font-size:1.65rem}.cards{gap:.5rem}}

/* ---------- Administración: solo escritorio ---------- */
.solo-escritorio{display:none}
@media(max-width:1023px){
  body.admin>.wrap,body.admin>main,body.admin>footer .wrap p{display:none}
  body.admin .solo-escritorio{display:grid;place-items:center;min-height:60vh;padding:2rem 1.25rem;text-align:center}
  .solo-escritorio>div{max-width:26rem;display:grid;gap:.8rem;justify-items:center;background:var(--papel);border:1px solid var(--linea);border-radius:16px;padding:2rem 1.5rem;box-shadow:var(--sombra)}
  .solo-escritorio strong{font-size:1.15rem;color:var(--titulo)}
  .solo-escritorio p{margin:0;color:var(--tenue,#5b6478)}
}
