/* Southern Digital · página de revisión del cliente (revision.html). Misma paleta que la app (app.css), sin depender de ella */
:root{--bg:#0b0a10;--surface:#14121b;--surface-2:#1b1924;--surface-3:#24212f;--hover:#2d2a3a;
  --ink:#f4f2fa;--ink-2:#c9c5d8;--muted:#9d98b1;--faint:#6f6a84;
  --lime:#d4f55a;--lime-hover:#e2ff7a;--lime-ink:#12140a;--lime-soft:rgba(212,245,90,.1);--acento:#d4f55a;
  --line:#2a2736;--line-2:#3a3649;--line-3:#55506b;
  --danger:#ff6b6b;--warn:#f5b94a;--ok:#4ade80;
  --top-bg:rgba(11,10,16,.92);--velo:rgba(5,4,8,.72);--sombra:0 20px 60px rgba(0,0,0,.5);--sombra-dura:6px 6px 0 #000;
  /* estados (los mismos tonos que los de la app por defecto) */
  --e-revision:#facc15;--e-cambios:#fb923c;--e-aprobado:#4ade80;--e-programado:#7aa7ff;--e-publicado:#22c55e;
  --mezcla:#fff;--tinte:72%;
  color-scheme:dark}
:root[data-tema="claro"]{--bg:#f4f3f8;--surface:#fff;--surface-2:#f6f5fa;--surface-3:#ebe9f1;--hover:#e1dfe9;
  --ink:#16141d;--ink-2:#3b3848;--muted:#676275;--faint:#8e899c;
  --lime-hover:#c6ea3c;--lime-soft:rgba(98,128,0,.1);--acento:#5a7800;
  --line:#e5e3eb;--line-2:#d5d2de;--line-3:#b5b1c3;
  --danger:#d43a3f;--warn:#b26b00;--ok:#15803d;
  --top-bg:rgba(255,255,255,.92);--velo:rgba(22,20,29,.45);--sombra:0 20px 50px rgba(22,20,29,.18);--sombra-dura:6px 6px 0 #16141d;
  --e-revision:#c99a00;--e-cambios:#e0701d;--e-aprobado:#16a34a;--e-programado:#2f63d6;--e-publicado:#15803d;
  --mezcla:#16141d;--tinte:62%;
  color-scheme:light}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,sans-serif;-webkit-text-size-adjust:100%}
body{min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}
button,input,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:"Bricolage Grotesque",sans-serif;letter-spacing:-.02em;margin:0}
a{color:var(--ink);text-underline-offset:3px}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--acento);outline-offset:2px}

/* barra de arriba: logo y el botón sol/luna */
.rv-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px;padding-top:env(safe-area-inset-top);background:var(--top-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.rv-top img{height:22px;display:block}
.logo-c,:root[data-tema="claro"] .logo-o{display:none!important}
:root[data-tema="claro"] .logo-c{display:block!important}
.rv-tema{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface-2);cursor:pointer;color:var(--ink-2)}
.rv-tema svg{width:19px;height:19px}
.rv-tema .ic-luna,:root[data-tema="claro"] .rv-tema .ic-sol{display:none}
:root[data-tema="claro"] .rv-tema .ic-luna{display:block}

.rv-wrap{max-width:640px;margin:0 auto;padding:18px 16px 40px}
.rv-cargando{color:var(--muted);text-align:center;padding:60px 0}
.mono{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* encabezado: para quién es y el mes */
.rv-hero{margin:4px 0 16px}
.rv-hero h1{font-size:30px;font-weight:800;line-height:1.1;margin:6px 0 0;overflow-wrap:anywhere}
.rv-hero h1 em{font-style:normal;display:inline-block;background:var(--lime);color:var(--lime-ink);padding:0 8px;transform:skewX(-12deg);margin-left:2px}
.rv-hero h1 em span{display:inline-block;transform:skewX(12deg)}
.rv-mes{display:flex;align-items:center;gap:6px;margin:14px 0 0}
.rv-mes h2{flex:1;font-size:20px;text-align:center}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface-3);font-weight:600;font-size:15px;cursor:pointer;color:var(--ink);text-decoration:none;-webkit-tap-highlight-color:transparent}
.btn:hover{background:var(--hover)}
.btn:disabled{opacity:.5;cursor:default}
.btn.primary{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}
.btn.primary:hover{background:var(--lime-hover)}
.btn.sm{min-height:38px;padding:0 12px;font-size:14px;border-radius:10px}
.btn.icon{width:44px;padding:0}
.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}
.btn.ghost:hover{background:var(--surface-2)}
.btn svg{width:18px;height:18px;flex-shrink:0}
.link{background:none;border:0;padding:0;color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px;cursor:pointer;font-size:14px}

/* avisos y resumen */
.rv-aviso{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);margin:0 0 12px;font-size:14px}
.rv-aviso p{margin:0;flex:1}
.rv-aviso svg{width:18px;height:18px;color:var(--ok);vertical-align:-4px}
.rv-centro{justify-content:center;margin-top:18px}
.rv-pend{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--line);margin:0 0 14px}
.rv-pend p{margin:0;flex:1 1 200px}
.rv-pend b{font-family:"Bricolage Grotesque",sans-serif;font-size:22px;display:block;line-height:1.15}
.rv-pend .btn.primary{box-shadow:var(--sombra-dura)}
.rv-pend .btn.primary:active{box-shadow:none;transform:translate(3px,3px)}
.rv-listo{color:var(--muted);font-size:14px}
.rv-cuenta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}

/* chips de estado */
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;
  color:color-mix(in srgb,var(--ec) var(--tinte),var(--mezcla));background:color-mix(in srgb,var(--ec) 14%,transparent);border:1px solid color-mix(in srgb,var(--ec) 32%,transparent)}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ec)}
.e-revision{--ec:var(--e-revision)}.e-cambios{--ec:var(--e-cambios)}.e-aprobado{--ec:var(--e-aprobado)}.e-programado{--ec:var(--e-programado)}.e-publicado{--ec:var(--e-publicado)}

/* pestañas Lista / Grilla */
.rv-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);margin:0 0 16px}
.rv-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:0;border-radius:9px;background:none;color:var(--muted);font-weight:600;cursor:pointer}
.rv-tabs button svg{width:17px;height:17px}
.rv-tabs button[aria-selected="true"]{background:var(--surface-3);color:var(--ink);box-shadow:0 1px 0 var(--line-2)}

/* lista por día */
.rv-dia{margin:0 0 22px}
.rv-dia > h3{font-size:16px;margin:0 0 10px;color:var(--ink-2)}
.rv-dia > h3 small{font:500 13px Inter,sans-serif;color:var(--muted);margin-left:6px}
.rv-vacio{text-align:center;color:var(--muted);padding:40px 16px;border:1px dashed var(--line-2);border-radius:16px}

/* cada post */
.rv-post{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:0 0 14px;scroll-margin-top:72px}
.rv-post.destacar{animation:destacar 1.6s ease}
@keyframes destacar{0%,40%{box-shadow:0 0 0 3px var(--acento)}100%{box-shadow:0 0 0 0 transparent}}
.rv-post.e-revision{border-color:color-mix(in srgb,var(--e-revision) 45%,var(--line))}

/* carrusel: se desliza con el dedo; puntos abajo y número arriba */
.rv-media{position:relative;background:var(--surface-3)}
.rv-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.rv-track::-webkit-scrollbar{display:none}
.rv-slide{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;background:#000}
.r-11 .rv-slide{aspect-ratio:1/1}
.r-916 .rv-slide{aspect-ratio:9/16;max-height:78vh}
.r-169 .rv-slide{aspect-ratio:16/9}
.rv-slide img,.rv-slide video{width:100%;height:100%;object-fit:contain;display:block;background:#000}
.r-916 .rv-slide{margin:0 auto}
.rv-sin{color:#9d98b1;font-size:13px;display:grid;place-items:center;gap:6px;text-align:center;padding:20px}
.rv-sin svg{width:28px;height:28px}
.rv-num{position:absolute;top:10px;right:10px;padding:2px 9px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:600;pointer-events:none}
.rv-puntos{display:flex;justify-content:center;gap:5px;padding:8px 0 0}
.rv-puntos i{width:6px;height:6px;border-radius:50%;background:var(--line-3);transition:transform .2s,background .2s}
.rv-puntos i.on{background:var(--acento);transform:scale(1.25)}
.rv-flecha{position:absolute;top:50%;translate:0 -50%;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.85);color:#111;display:none;place-items:center;cursor:pointer;font-size:18px}
.rv-flecha.ant{left:8px}.rv-flecha.sig{right:8px}
@media (hover:hover) and (pointer:fine){.rv-media:hover .rv-flecha:not(:disabled){display:grid}}

.rv-cuerpo{padding:14px 16px 16px}
.rv-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--ink-2);font-size:13px;font-weight:500}
.rv-meta .hora{font-family:"JetBrains Mono",monospace;font-weight:700;color:var(--ink)}
.rv-redes{display:inline-flex;gap:3px;color:var(--ink-2)}
.rv-redes svg{width:16px;height:16px}
.rv-meta .chip{margin-left:auto}
.rv-cambio{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--e-revision) 12%,transparent);border:1px solid color-mix(in srgb,var(--e-revision) 35%,transparent);font-size:13.5px}
.rv-copy{margin:12px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.55}
.rv-copy.corto{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.rv-copy-vacio{margin:12px 0 0;color:var(--muted);font-style:italic;font-size:14px}
.rv-vermas{margin-top:4px}

.rv-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 0}
.rv-acts .btn{width:100%;padding:0 8px;gap:6px;white-space:nowrap}
.rv-estado-txt{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:14px 0 0;font-size:14px;color:var(--ink-2)}
.rv-estado-txt svg{width:18px;height:18px;color:var(--ok);flex-shrink:0}
.rv-form{margin:14px 0 0;display:grid;gap:8px}
.rv-form label{font-size:13px;font-weight:600;color:var(--ink-2)}
textarea,.rv-input{width:100%;min-height:46px;padding:11px 12px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface-2);font-size:16px;resize:vertical}
textarea{min-height:92px}
textarea:focus,.rv-input:focus{border-color:var(--acento);outline:none}
.rv-form-btns{display:flex;justify-content:flex-end;gap:8px}

/* hilo de comentarios */
.rv-hilo-btn{display:flex;align-items:center;gap:8px;width:100%;margin:14px 0 0;padding:10px 0 0;border:0;border-top:1px solid var(--line);background:none;color:var(--ink-2);font-weight:600;font-size:14px;cursor:pointer;text-align:left}
.rv-hilo-btn svg{width:18px;height:18px}
.rv-hilo-btn .flecha{margin-left:auto;transition:transform .2s}
.rv-hilo-btn[aria-expanded="true"] .flecha{transform:rotate(180deg)}
.rv-hilo{display:grid;gap:10px;margin:12px 0 0}
.rv-msj{max-width:88%;padding:9px 12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);font-size:14px}
.rv-msj p{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.rv-msj small{color:var(--muted);font-size:12px}
.rv-msj.cliente{justify-self:end;background:var(--lime-soft);border-color:color-mix(in srgb,var(--acento) 30%,transparent)}
.rv-msj.evento{justify-self:center;max-width:100%;background:none;border:0;padding:0;color:var(--muted);font-size:12.5px;text-align:center}
.rv-msj.evento.cambios{justify-self:end;max-width:88%;padding:9px 12px;border:1px solid color-mix(in srgb,var(--e-cambios) 40%,transparent);background:color-mix(in srgb,var(--e-cambios) 10%,transparent);color:var(--ink);text-align:left;font-size:14px}

/* grilla tipo Instagram (3 columnas, como el perfil) */
.rv-grilla{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;border-radius:12px;overflow:hidden}
.rv-tile{position:relative;aspect-ratio:3/4;border:0;padding:0;background:var(--surface-3);cursor:pointer;overflow:hidden}
.rv-tile img{width:100%;height:100%;object-fit:cover;display:block}
.rv-tile .ic{position:absolute;top:6px;right:6px;width:18px;height:18px;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
.rv-tile .rv-tile-txt{position:absolute;inset:0;display:grid;place-items:center;padding:8px;font-size:11px;color:var(--muted);text-align:center;overflow:hidden}
.rv-tile .marca{position:absolute;left:6px;bottom:6px;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:700;background:var(--ec);color:#111}
.rv-tile .fecha{position:absolute;right:6px;bottom:6px;padding:1px 6px;border-radius:999px;font-size:10.5px;font-weight:600;color:#fff;background:rgba(0,0,0,.55)}
.rv-grilla-hint{color:var(--muted);font-size:13px;margin:10px 0 0;text-align:center}

/* pie: quién revisa */
.rv-pie{margin:26px 0 0;padding:16px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px;display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between}

/* diálogo del nombre */
.rv-velo{position:fixed;inset:0;z-index:50;background:var(--velo);display:grid;align-items:end;justify-items:center;padding:0}
.rv-dialogo{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--line-2);border-radius:20px 20px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:var(--sombra)}
.rv-dialogo h2{font-size:22px}
.rv-dialogo p{color:var(--ink-2);margin:6px 0 14px;font-size:14px}
.rv-dialogo .rv-form-btns{margin-top:14px}
@media (min-width:600px){.rv-velo{align-items:center;padding:16px}.rv-dialogo{border-radius:20px}}

/* avisos cortos */
.rv-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));translate:-50% 0;z-index:60;max-width:calc(100% - 32px);padding:12px 16px;border-radius:12px;background:var(--ink);color:var(--bg);font-weight:600;font-size:14px;box-shadow:var(--sombra);animation:entra .2s ease}
@keyframes entra{from{opacity:0;translate:-50% 8px}}

.rv-error{text-align:center;padding:50px 10px}
.rv-error h1{font-size:24px;margin:0 0 8px}
.rv-error p{color:var(--ink-2);margin:0 auto;max-width:360px}

@media (min-width:700px){
  .rv-wrap{padding-top:28px}
  .rv-hero h1{font-size:38px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv-track{scroll-behavior:auto}}

/* ---------- escritorio (900 px o más) ----------
   Todo cuelga de .rv-pc (revision.js lo pone en el <html> solo con 900 px o más) o de clases pc-* que en el celular no existen:
   el celular se ve igual que siempre. De 900 a 1280 px el post se abre en un panel encima; desde 1281 px, dos columnas. */
.rv-pc .rv-top{display:none}
.rv-pc .rv-wrap{max-width:none;margin:0;padding:0}
.rv-pc-lock{overflow:hidden}

/* barra de arriba fija */
.pc-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:18px;height:64px;padding:0 24px;background:var(--top-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.pc-marca{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
.pc-marca img{height:22px;display:block;flex-shrink:0}
.pc-sep{width:1px;height:28px;background:var(--line-2);flex-shrink:0}
.pc-cli{display:grid;min-width:0}
.pc-cli .mono{font-size:10px;line-height:1.3}
.pc-cli b{font-family:"Bricolage Grotesque",sans-serif;font-size:18px;font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-mes{display:flex;align-items:center;gap:2px;flex-shrink:0}
.pc-mes .btn{width:38px;min-height:38px;font-size:18px}
.pc-mes span{min-width:150px;text-align:center;font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:16px}
.pc-prog{display:grid;gap:5px;flex-shrink:0;min-width:136px;font-size:13px;color:var(--ink-2)}
.pc-prog > span b{color:var(--ink)}
.pc-prog i{display:block;height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}
.pc-prog i b{display:block;height:100%;width:0;border-radius:inherit;background:var(--acento);transition:width .3s ease}
.pc-top #rvTodos{flex-shrink:0;min-height:42px}
.pc-top .rv-tema{flex-shrink:0}
.pc-corto{display:none}
@media (max-width:1120px){.pc-top{gap:12px;padding:0 16px}.pc-largo,.pc-cli .mono{display:none}.pc-corto{display:inline}.pc-mes span{min-width:132px}}

/* columnas */
.pc-cuerpo{max-width:1320px;margin:0 auto;padding:20px 24px}
.pc-izq{min-width:0}
/* encabezado en una sola franja: el mes con su resumen y, a la derecha, las vistas */
.pc-cab{display:grid;gap:10px;margin:0 0 12px}
.pc-cab-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.pc-cab-tit{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;min-width:0}
.pc-cab h1{font-size:30px;font-weight:800;line-height:1.1}
.pc-cab-info{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pc-otro{display:inline-flex;align-items:center;gap:4px;padding:3px 11px;border-radius:999px;border:1px solid var(--line-3);background:var(--surface);color:var(--ink);font-size:12px;font-weight:600;cursor:pointer}
.pc-otro:hover{background:var(--hover)}
.pc-ok{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--ink-2)}
.pc-ok svg{width:15px;height:15px;color:var(--ok)}
.pc-tabs{grid-template-columns:repeat(3,auto);margin:0}
.pc-tabs button{min-height:36px;padding:0 14px}
/* en la vista Calendario la columna ocupa justo el alto de la pantalla (debajo de la barra) y el mes entra sin scroll */
.pc-izq.cal{display:flex;flex-direction:column;height:calc(100vh - 104px);min-height:500px}
.pc-izq.cal .pc-vista{flex:1;min-height:0;display:flex;flex-direction:column}
.pc-izq.cal .pc-cal{flex:1;min-height:0;display:flex;flex-direction:column}
.pc-izq.cal .pc-cal-grilla{flex:1;min-height:0;grid-auto-rows:minmax(0,1fr)}
.pc-izq.cal .pc-dia{min-height:0;overflow:hidden}
.pc-izq.cal .rv-pie{margin-top:10px;padding-top:10px}
.pc-vista [data-ir]{scroll-margin:88px 0 24px}
.pc-izq .rv-pie{margin-top:24px}
.pc-der{--pc-alto:60vh;background:var(--surface)}
@media (min-width:1281px){
  .pc-cuerpo{display:grid;grid-template-columns:minmax(0,1fr) clamp(420px,34vw,600px);gap:28px;align-items:start;max-width:1880px}
  .pc-der{position:sticky;top:84px;max-height:calc(100vh - 104px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:18px}
  .pc-velo{display:none}
}
@media (max-width:1280px){
  .pc-der{position:fixed;top:0;right:0;bottom:0;z-index:40;width:min(580px,94vw);overflow:auto;overscroll-behavior:contain;border-left:1px solid var(--line-2);box-shadow:var(--sombra);transform:translateX(102%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
  .pc-der.abierto{transform:none;visibility:visible;transition:transform .25s ease}
  .pc-velo{position:fixed;inset:0;z-index:35;background:var(--velo);opacity:0;pointer-events:none;transition:opacity .2s}
  .pc-velo.abierto{opacity:1;pointer-events:auto}
}

/* el post elegido */
.pc-post{margin:0;border:0;border-radius:0;overflow:visible;background:none}
.pc-post-cab{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 18px;background:var(--surface);border-bottom:1px solid var(--line)}
.pc-post-tit{display:grid;min-width:0}
.pc-post-tit b{font-family:"Bricolage Grotesque",sans-serif;font-size:17px;letter-spacing:-.01em}
.pc-post-tit span{font-size:13px;color:var(--muted)}
.pc-nav{display:flex;align-items:center;gap:2px;flex-shrink:0;font-size:13px;color:var(--muted)}
.pc-nav .btn{width:38px;min-height:38px;font-size:18px}
.pc-nav span{min-width:58px;text-align:center;white-space:nowrap}
.pc-media{display:grid;justify-items:center;padding:16px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.pc-media .rv-media{width:min(100%,calc(var(--pc-alto) * .8));border-radius:10px;overflow:hidden}
.pc-media .rv-media.r-11{width:min(100%,var(--pc-alto))}
.pc-media .rv-media.r-916{width:min(100%,calc(var(--pc-alto) * .5625))}
.pc-media .rv-media.r-169{width:100%}
.pc-media .r-916 .rv-slide{max-height:none}
.pc-media .rv-flecha:not(:disabled){display:grid}
.pc-media .rv-flecha{box-shadow:0 2px 8px rgba(0,0,0,.35)}
.pc-media .rv-puntos{padding-top:10px}
.pc-sin{place-items:center;gap:8px;min-height:220px;color:var(--muted);font-size:14px}
.pc-sin svg{width:32px;height:32px}
.pc-post .rv-cuerpo{padding:16px 18px 24px}
.pc-redes{display:inline-flex;align-items:center;gap:6px}
.pc-copy{margin:14px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.6}
.pc-copy .tag{color:var(--e-programado)}
.pc-hilo-tit{display:flex;align-items:center;gap:8px;margin:20px 0 0;padding-top:14px;border-top:1px solid var(--line);font:600 14px Inter,sans-serif;letter-spacing:0;color:var(--ink-2)}
.pc-hilo-tit svg{width:18px;height:18px}
.pc-nada,.pc-fin{display:grid;justify-items:center;gap:10px;padding:72px 28px;text-align:center;color:var(--muted)}
.pc-nada p,.pc-fin p{margin:0;max-width:300px;color:var(--ink-2)}
.pc-nada svg{width:38px;height:38px}
.pc-fin svg{width:46px;height:46px;color:var(--ok)}
.pc-fin h2{font-size:26px;color:var(--ink)}
.pc-fin .btn{margin-top:8px}

/* calendario */
.pc-vacio-cal{margin:0 0 14px;padding:16px}
.pc-cal{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.pc-cal-cab,.pc-cal-grilla{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.pc-cal-cab{background:var(--surface-2);border-bottom:1px solid var(--line)}
.pc-cal-cab span{padding:8px 10px;font:700 11px "JetBrains Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pc-dia{--mini:clamp(28px,min(5.2vh,2.6vw),60px);display:flex;flex-wrap:wrap;align-content:flex-start;gap:3px;min-width:0;min-height:116px;padding:5px 6px 6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.pc-dia:nth-child(7n){border-right:0}
.pc-cal-grilla .pc-dia:nth-last-child(-n+7){border-bottom:0}
.pc-dia.fuera{background:var(--bg)}
.pc-dnum{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:20px;height:18px;padding:0 2px;font-size:11.5px;font-weight:600;color:var(--muted)}
.pc-dnum b{font-size:12.5px;color:var(--ink-2)}
.pc-dia.hoy .pc-dnum{color:var(--acento)}
.pc-dia.hoy .pc-dnum b{padding:0 7px;border-radius:999px;background:var(--lime);color:var(--lime-ink)}
.pc-cal-post{position:relative;display:block;width:calc(var(--mini) * .8);height:var(--mini);flex-shrink:0;padding:0;border-radius:7px;border:1px solid var(--line-2);background:var(--surface-3);overflow:hidden;cursor:pointer;color:var(--muted)}
.pc-cal-post:hover{filter:brightness(1.1)}
.pc-cal-post.e-revision{border-color:var(--e-revision)}
.pc-cal-post img{width:100%;height:100%;object-fit:cover;display:block}
.pc-cal-post svg{width:16px;height:16px;margin:auto;position:absolute;inset:0}
.pc-dot{position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-radius:50%;background:var(--ec);box-shadow:0 0 0 1.5px var(--surface)}
.pc-mas{display:grid;place-items:center;width:calc(var(--mini) * .8);height:var(--mini);flex-shrink:0;padding:0;border-radius:7px;border:1px dashed var(--line-3);background:none;color:var(--ink-2);font-size:12px;font-weight:700;cursor:pointer}
.pc-mas:hover{background:var(--surface-2)}
.pc-cal-post.sel{border-color:var(--acento);box-shadow:0 0 0 2px var(--acento)}
.pc-mini{position:relative;display:grid;place-items:center;width:32px;height:40px;flex-shrink:0;border-radius:6px;overflow:hidden;background:var(--surface-3);color:var(--muted)}
.pc-mini img{width:100%;height:100%;object-fit:cover;display:block}
.pc-mini svg{width:16px;height:16px}

/* feed (3 columnas, como el perfil de Instagram) */
.pc-feed{max-width:760px;margin:0 auto}
.pc-feed .rv-tile:hover img{opacity:.85}
.pc-feed .rv-tile.sel{outline:3px solid var(--acento);outline-offset:-3px;z-index:1}

/* lista con filtros */
.pc-filtros{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.pc-filtros button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 8px 0 13px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font-weight:600;font-size:13.5px;cursor:pointer}
.pc-filtros button:hover{background:var(--surface-2)}
.pc-filtros button span{min-width:22px;padding:0 7px;border-radius:999px;background:var(--surface-3);font-size:12px;color:var(--muted);text-align:center}
.pc-filtros button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.pc-filtros button[aria-selected="true"] span{background:color-mix(in srgb,var(--bg) 22%,transparent);color:inherit}
.pc-lista{display:grid;gap:6px}
.pc-fila{display:grid;grid-template-columns:auto 72px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:7px 12px 7px 7px;border-radius:14px;border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer}
.pc-fila:hover{background:var(--surface-2)}
.pc-fila.e-revision{border-color:color-mix(in srgb,var(--e-revision) 40%,var(--line))}
.pc-fila.sel{border-color:var(--acento);box-shadow:0 0 0 1px var(--acento);background:var(--lime-soft)}
.pc-fila .pc-mini{width:44px;height:55px;border-radius:8px}
.pc-fila-f{display:grid;font-size:14px}
.pc-fila-f small{font:700 12px "JetBrains Mono",monospace;color:var(--muted)}
.pc-fila-t{display:grid;gap:2px;min-width:0}
.pc-fila-meta{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--muted)}
.pc-fila-copy{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* aviso discreto cuando el cliente tiene usuario del portal (en el link de revisión y en el de seguimiento) */
.rv-portal{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 14px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font-size:13.5px;text-decoration:none}
.rv-portal b{color:var(--acento);white-space:nowrap}
.rv-portal:hover{border-color:var(--acento)}
.rv-pc .rv-portal{margin:12px 24px 0}
