
@font-face{font-family:"New Spirit Condensed";src:url("fonts/new-spirit-light-condensed.otf") format("opentype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("fonts/space-grotesk-latin-300-normal.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("fonts/space-grotesk-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("fonts/space-grotesk-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("fonts/space-grotesk-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --paper:#faf7f1;
  --surface:#ffffff;
  --ink:#241c1b;
  --on-ink:#faf7f1;
  --accent:#ba2329;
  --sel:#1f6f8b;
  --sel-suave:rgba(31,111,139,.10);
  --margen:clamp(16px,3vw,56px);
  --fill:#e6e1d8;
  --rule:#d5d2cb;
  --band:#f2f1ed;
  --lab:300px;
  --serif:"New Spirit Condensed","DejaVu Serif Condensed",Georgia,serif;
  --sans:"Space Grotesk","DejaVu Sans","Helvetica Neue",Arial,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#1b1514;--surface:#241c1b;--ink:#f3eee6;--on-ink:#241c1b;--accent:#e5484e;--sel:#6cb8d6;--sel-suave:rgba(108,184,214,.14);
    --fill:#3d3331;--rule:#4d423f;--band:#2e2524;color-scheme:dark;
  }
  :root:not([data-theme="light"]) .isotipo img{filter:invert(1);mix-blend-mode:screen}
}
:root[data-theme="dark"]{
  --paper:#1b1514;--surface:#241c1b;--ink:#f3eee6;--on-ink:#241c1b;--accent:#e5484e;--sel:#6cb8d6;--sel-suave:rgba(108,184,214,.14);
  --fill:#3d3331;--rule:#4d423f;--band:#2e2524;color-scheme:dark;
}
:root[data-theme="dark"] .isotipo img{filter:invert(1);mix-blend-mode:screen}

html{scroll-padding-top:env(safe-area-inset-top,0px);background:var(--paper);-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:15px;line-height:1.55}
button{font:inherit;color:inherit}
button:focus-visible,input:focus-visible{outline:2px solid var(--sel);outline-offset:2px}

.pagina{max-width:none;margin:0;padding:40px var(--margen) 48px}

/* Cabecera: rótulo sobre titular, referencia con cuadrado, isotipo a la derecha */
.cab{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}
.cab-txt{flex:1;min-width:0}
.rotulo{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
h1{font-family:var(--serif);font-weight:300;font-size:clamp(36px,5.4vw,64px);line-height:1.02;margin:10px 0 12px;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.ref{font-size:11px;font-weight:500;letter-spacing:.09em;text-transform:uppercase}
.cuadro{display:inline-block;width:9px;height:9px;background:var(--ink);margin-right:9px;vertical-align:0}
.entrada{max-width:64ch;font-size:16px;margin:18px 0 0}
.isotipo img{width:72px;height:auto;display:block;mix-blend-mode:multiply}

/* Ficha de datos */
.datos{display:grid;grid-template-columns:repeat(3,1fr);column-gap:28px;margin-top:30px;border-top:1px solid var(--ink)}
.dato{padding:10px 0 11px;border-bottom:.5px solid var(--rule)}
.et{display:block;font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.dato .va{font-size:14px;font-weight:400}
.dato input{font:inherit;font-size:14px;font-weight:400;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);padding:0 0 1px;border-radius:0}

/* Controles */
.controles{display:flex;flex-wrap:wrap;gap:14px 36px;align-items:flex-end;margin:26px 0 10px}
.control .et{margin-bottom:6px}
.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--ink)}
.seg button{font-size:12.5px;font-weight:400;padding:6px 11px;background:transparent;border:0;border-right:1px solid var(--ink);cursor:pointer}
.seg button:last-child{border-right:0}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--on-ink)}
.clave{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12px;font-weight:400;margin:0 0 14px}
.clave span{display:inline-flex;align-items:center;gap:7px}
.sw{display:inline-block;width:24px;height:10px}
.sw.efe{background:var(--ink)}
.sw.col{border:1px solid var(--ink);background:var(--surface)}
.sw.nat{background:var(--fill)}
.sw.ter{border:1.5px dotted var(--ink);background:var(--surface)}
.sw.opt{border:1px dashed var(--ink)}
.sw.glo{width:12px;height:12px;border:1px solid var(--ink);border-radius:50%}
.sw.via{width:10px;height:10px;background:var(--ink)}
.sw.pau{width:16px;height:12px;background:var(--band);outline:.5px solid var(--rule)}

/* Gráfico */
.grafico-scroll{overflow-x:auto;background:var(--surface);border-top:1px solid var(--ink);border-bottom:.5px solid var(--rule)}
.grafico{position:relative;min-width:1320px}
.capa{position:absolute;top:0;bottom:0;left:var(--lab);right:0;pointer-events:none;z-index:0}
.festivo{position:absolute;top:0;bottom:0;background:var(--band)}
.despues{position:absolute;top:0;bottom:0;right:0;border-left:1px dashed var(--ink);background:var(--band);opacity:.7}
.guia{position:absolute;bottom:0;width:0;border-left:1px dashed var(--rule)}
.guia.sel{border-left:1px solid var(--sel)}

.fila{display:grid;grid-template-columns:var(--lab) 1fr;min-height:30px;position:relative;z-index:1}
.lab{position:sticky;left:0;z-index:3;background:var(--surface);display:flex;align-items:center;gap:8px;padding:0 12px 0 16px;border:0;border-right:.5px solid var(--rule);text-align:left;font-size:13px;font-weight:400;line-height:1.25;cursor:pointer;min-width:0}
.lab .cod{flex:none;width:30px;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
.lab .nom{min-width:0}
.lab:hover .nom{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:.5px}
.lab.sel{font-weight:700}
div.lab{cursor:default}
.trk{position:relative;min-width:0}

.fila.eje{min-height:24px}
.fila.eje .lab .et{margin:0}
.fila.hitos{min-height:98px}
.fila.viajes{min-height:34px;border-bottom:.5px solid var(--rule)}
.fila.festivos{min-height:26px;border-top:.5px solid var(--rule)}
.fila.grupo{min-height:46px;border-top:.5px solid var(--ink)}
.fila.grupo .lab{align-items:flex-end;padding-bottom:6px;font-family:var(--serif);font-weight:300;font-size:20px;line-height:1.1}
.fila.grupo .lab .cod{font-family:var(--sans);font-size:12px;font-weight:500;padding-bottom:3px}
.fila.grupo .lab.sel{font-weight:300;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

.marca-mes,.sem,.fest{position:absolute;top:50%;transform:translateY(-50%);font-size:10.5px;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}
.sem{transform:translate(-50%,-50%)}
.sem.desp,.fest{transform:translate(-50%,-50%);font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:10px}
.marca-mes::before{content:"";position:absolute;left:0;top:-3px;bottom:-3px;border-left:.5px solid var(--ink)}
.marca-mes{padding-left:5px}

.barra{position:absolute;top:8px;height:14px;padding:0;border:0;cursor:pointer;background:transparent}
.barra.efe{background:var(--ink)}
.barra.col{background:var(--surface);border:1px solid var(--ink)}
.barra.nat{background:var(--fill)}
.barra.ter{background:var(--surface);border:1.5px dotted var(--ink)}
.barra.opt,.barra.ghost,.barra.rec{border:1px dashed var(--ink)}
.barra.coord{top:13px;height:4px;background:var(--ink)}
.barra.abierta{border-right:0}
.barra.abierta::after{content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%);border-left:7px solid var(--ink);border-top:5px solid transparent;border-bottom:5px solid transparent}
.barra.sel{background:var(--sel);border-color:var(--sel)}
.barra.sel.abierta::after{border-left-color:var(--sel)}
.etq{position:absolute;top:50%;transform:translateY(-50%);font-size:11px;font-weight:500;white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums}
.etq.dentro{font-weight:400}
.barra.sel ~ .etq.dentro{color:var(--on-ink)}

.tramo{position:absolute;bottom:9px;height:7px;padding:0;background:transparent;border:1px solid var(--ink);border-top:0;cursor:pointer}
.tramo.abierta{border-right:0}
.tramo.sel{border-color:var(--sel)}
.etq-g{top:auto;bottom:19px;transform:none;font-size:10.5px;font-weight:500;letter-spacing:.02em}

.globo{position:absolute;bottom:4px;width:24px;height:30px;padding:0;border:0;background:transparent;cursor:pointer;transform:translateX(-50%)}
.globo.lv0{z-index:3}
.globo.lv1{bottom:34px;z-index:2}
.globo.lv2{bottom:64px;z-index:1}
.globo svg{display:block;overflow:visible}
.globo path{fill:var(--surface);stroke:var(--ink);stroke-width:1}
.globo text{fill:var(--ink);font-family:var(--sans);font-size:10px;font-weight:500}
.globo.sel path{fill:var(--sel);stroke:var(--sel)}
.globo.sel text{fill:#fff}
.globo.lv1::after,.globo.lv2::after{content:"";position:absolute;left:50%;top:30px;height:30px;border-left:1px dashed var(--ink)}
.globo.lv2::after{height:60px}

.viaje{position:absolute;top:11px;width:11px;height:11px;padding:0;transform:translateX(-50%);border:1px solid var(--ink);background:var(--ink);cursor:pointer}
.viaje.opt{background:var(--surface)}
.viaje.sel{background:var(--sel);border-color:var(--sel)}
.vcod{position:absolute;top:50%;transform:translateY(-50%);font-size:10.5px;font-weight:500;pointer-events:none}
.oculto{display:none}

.fila.dim .trk > *{opacity:.18}
.fila.dim .lab .nom,.fila.dim .lab .cod{opacity:.4}

.nota{font-size:13px;max-width:92ch;margin:10px 0 0}

/* Resumen */
.resumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:40px 56px;margin-top:48px}
.bloque h2{font-family:var(--serif);font-weight:300;font-size:28px;line-height:1.1;margin:0 0 10px;padding-bottom:6px;border-bottom:.5px solid var(--ink)}
table{width:100%;border-collapse:collapse;font-size:13px;font-weight:400}
th{font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:6px 8px 6px 0;border-bottom:.5px solid var(--ink)}
td{padding:6px 8px 6px 0;border-bottom:.5px solid var(--rule);vertical-align:top}
th.n,td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:0;padding-left:14px}
tr.total td{border-top:1px solid var(--ink);font-weight:700}
tr.sub td{font-weight:500}
tr.clic{cursor:pointer}
tr.clic:hover td{background:var(--band)}
tr.fuera td{opacity:.4}
tr.sel td{font-weight:700}
ul.lista{list-style:none;margin:0;padding:0;font-size:13.5px}
ul.lista li{position:relative;padding:5px 0 5px 16px;border-bottom:.5px solid var(--rule)}
ul.lista li::before{content:"·";position:absolute;left:3px;font-weight:700}
ol.lista{margin:0;padding:0 0 0 22px;font-size:13.5px}
ol.lista li{padding:5px 0;border-bottom:.5px solid var(--rule)}
.pie{margin-top:56px;padding-top:10px;border-top:.5px solid var(--ink);font-size:10.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase}

/* Cajón con la ficha */
.cajon{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:2px solid var(--sel);max-height:48vh;overflow:auto;padding:14px var(--margen) calc(16px + env(safe-area-inset-bottom,0px))}
.cajon-in{max-width:none;margin:0}
.vacio{font-size:13.5px;font-weight:400;padding:2px 0}
.cajon-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:12px}
.cajon-cab h2{font-family:var(--serif);font-weight:300;font-size:30px;line-height:1.05;margin:4px 0 0}
.cerrar{border:1px solid var(--ink);background:transparent;cursor:pointer;font-size:12.5px;font-weight:400;padding:5px 10px;flex:none}
.cuerpo{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.5fr) minmax(220px,1fr);gap:28px}
dl.fd{margin:0;display:grid;grid-template-columns:auto 1fr;column-gap:14px;font-size:13px}
dl.fd dt{font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:5px 0;border-bottom:.5px solid var(--rule)}
dl.fd dd{margin:0;font-weight:400;padding:4px 0;border-bottom:.5px solid var(--rule)}
.cuerpo h3{font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px}
.cuerpo h3 + *{margin-top:0}
.cuerpo .sep{margin-top:14px}
.cuerpo p{margin:0 0 8px;font-size:13.5px}
.enlaces{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.enlace{border:0;background:transparent;padding:3px 0;cursor:pointer;font-size:13.5px;font-weight:400;text-align:left;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:.5px}

@media (max-width:900px){
  .datos{grid-template-columns:repeat(2,1fr)}
  .cuerpo{grid-template-columns:1fr;gap:16px}
  .cajon{max-height:58vh;padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:700px){
  :root{--lab:190px}
  .datos{grid-template-columns:1fr}
  .pagina{padding:26px 16px 40px}
  .cab{gap:16px}
  .isotipo img{width:48px}
  .resumen{grid-template-columns:1fr}
  .grafico{min-width:980px}
  .fila.grupo .lab{font-size:17px}
  .lab{font-size:12px;padding-left:10px}
}
@media (prefers-reduced-motion:no-preference){
  .barra,.globo path,.viaje{transition:background-color .15s,fill .15s,border-color .15s}
}

/* v3: revisiones, etiquetas de interno, vista del cliente, entregables */
.rev{position:absolute;top:50%;width:7px;height:7px;background:var(--surface);border:1px solid var(--ink);transform:translate(-50%,-50%) rotate(45deg);pointer-events:none;z-index:2}
.sw.rv{width:8px;height:8px;border:1px solid var(--ink);transform:rotate(45deg);margin:0 3px}
.tag{display:inline-block;font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:.5px solid var(--ink);padding:0 4px;line-height:15px;margin-left:8px;flex:none;vertical-align:2px}
.fila .lab .tag{margin-left:6px}
.aviso{display:block;margin:0 0 12px;padding:9px 0;border-top:1px solid var(--ink);border-bottom:.5px solid var(--ink);font-size:12.5px;font-weight:400}
.aviso b{font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:10.5px;margin-right:10px}
body.modo-cliente .solo-estudio{display:none!important}
.entregable .ent-n{font-family:var(--serif);font-weight:300;font-size:21px;line-height:1.1;margin:2px 0 6px}
.cuerpo h3.sep{margin-top:14px}
@media (max-width:700px){.grafico{min-width:1080px}}

/* v4: dedicación editable */
.cajon-btns{display:flex;gap:8px;flex:none}
.desc{font-weight:300;font-size:12.5px;line-height:1.45;margin-top:2px}
td.ind{padding-left:12px}
.dedicacion{margin-top:64px}
.ded-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--ink);padding-bottom:8px}
.ded-top h2{font-family:var(--serif);font-weight:300;font-size:36px;line-height:1.05;margin:0}
.ded-acc{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12.5px;font-weight:400}
.ded-acc button{border:1px solid var(--ink);background:transparent;padding:6px 12px;cursor:pointer;font-size:12.5px;font-weight:400}
#btn-editar{background:var(--ink);color:var(--on-ink)}
.ded-intro{max-width:86ch;font-size:14px;margin:12px 0 0}
.params{display:grid;grid-template-columns:repeat(4,1fr);column-gap:24px;border-bottom:.5px solid var(--rule);padding:12px 0;margin:14px 0 6px}
.param .valor{font-size:15px;font-weight:400}
.ded-grupo{margin-top:30px}
.ded-grupo h3{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;font-family:var(--serif);font-weight:300;font-size:25px;line-height:1.1;border-bottom:.5px solid var(--ink);padding-bottom:5px;margin:0 0 4px}
.ded-grupo h3 .calc{font-family:var(--sans);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
.ded-item{padding:12px 0 14px;border-bottom:.5px solid var(--rule);scroll-margin-top:24px}
.ded-item.marca{background:var(--band)}
.ded-cab{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;margin-bottom:6px}
.ded-cab .enlace{font-size:15px;font-weight:500;text-decoration:none;padding:0}
.ded-cab .enlace:hover{text-decoration:underline}
.ded-cab .modo{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.ded-cab .calc{margin-left:auto;font-size:13px;font-weight:400;font-variant-numeric:tabular-nums}
table.ded-t td{border-bottom:.5px solid var(--band);padding:7px 10px 7px 0}
table.ded-t td.tt{width:24%;font-weight:400}
table.ded-t td.dd{font-weight:300;font-size:13px;line-height:1.5}
table.ded-t td.n{width:120px;vertical-align:top}
.ded-extra{display:flex;justify-content:flex-end;gap:14px;align-items:baseline;font-size:13px;font-weight:400;padding-top:8px}
.campo{display:inline-flex;align-items:baseline;gap:5px}
.campo input{width:78px;font:inherit;font-size:14px;font-weight:400;text-align:right;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);padding:1px 2px}
.campo span{font-size:12px}
.valor{font-variant-numeric:tabular-nums}
.valor.txt{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
@media (max-width:760px){
  .params{grid-template-columns:1fr 1fr;row-gap:10px}
  table.ded-t tr{display:grid;grid-template-columns:1fr auto;border-bottom:.5px solid var(--band)}
  table.ded-t td{border:0}
  table.ded-t td.tt{width:auto}
  table.ded-t td.dd{grid-column:1/-1;grid-row:2;padding-top:0}
  table.ded-t td.n{width:auto}
}
.solo-cliente,.clave .solo-cliente,.et .solo-cliente{display:none}
body.modo-cliente .solo-cliente,body.modo-cliente .clave .solo-cliente,body.modo-cliente .et .solo-cliente{display:inline}
dl.fd{align-content:start}

/* ---------- Portal ---------- */
[hidden]{display:none!important}
#barra{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:.5px solid var(--ink)}
.barra-in{max-width:none;margin:0;padding:10px var(--margen);display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.marca{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.marca img{mix-blend-mode:multiply}
.demo{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:.5px solid var(--ink);padding:1px 6px}
.usuario{margin-left:auto;display:flex;gap:14px;align-items:center;font-size:12.5px;font-weight:400}
.usuario button,.caja button,.barra-pub button,.ded-acc button{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:6px 12px;cursor:pointer;font-size:12.5px;font-weight:400;border-radius:0}
button.prim{background:var(--ink);color:var(--on-ink)}
button.enlace{border:0;padding:4px 0;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:.5px;background:transparent}
.barra-pub{border-top:.5px solid var(--rule);background:var(--surface)}
.barra-pub .barra-in{padding-top:8px;padding-bottom:8px;font-size:13px;font-weight:400}
.barra-pub .pub-txt{flex:1}
.caja{max-width:440px;margin:12vh auto 0;padding:32px;border-top:1px solid var(--ink);background:var(--surface);display:flex;flex-direction:column;gap:14px}
.caja.ancha{max-width:720px}
.caja h1{font-family:var(--serif);font-weight:300;font-size:36px;line-height:1.05;margin:0}
.caja p{margin:0;font-size:14px}
.caja label{display:flex;flex-direction:column;gap:5px;font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.caja input{font:inherit;font-size:15px;font-weight:400;letter-spacing:0;text-transform:none;padding:6px 0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink)}
.caja .botones{display:flex;gap:10px;flex-wrap:wrap}
.caja .error{color:var(--accent);font-weight:500}
.caja .pie-caja{font-size:12px}
.proyectos{list-style:none;margin:0;padding:0}
.proyectos a{display:flex;flex-direction:column;padding:12px 0;border-bottom:.5px solid var(--rule);color:var(--ink);text-decoration:none}
.proyectos b{font-family:var(--serif);font-weight:300;font-size:22px}
.proyectos span{font-size:12.5px}
.preview{margin:18px 0 0;display:inline-block;font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border:.5px solid var(--ink);padding:3px 8px}
.pagina .pie{margin-top:56px}
@media (max-width:700px){.barra-in{padding:10px 16px}.caja{margin:6vh 16px 0;padding:24px}}

/* ---------- Ancho completo y selección ---------- */
.datos{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.entrada{max-width:96ch}
.resumen{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.grafico{min-width:1180px}
.fila.activa > .trk{background:var(--sel-suave)}
.fila.activa > .lab{background:color-mix(in srgb,var(--sel) 10%,var(--surface))}
.lab.sel .nom,.lab.sel .cod{color:var(--sel)}
tr.sel td{background:var(--sel-suave)}
tr.clic:hover td{background:var(--sel-suave)}
.enlace:hover{color:var(--sel)}
.cajon .rotulo{color:var(--sel)}
@media (min-width:1500px){
  .cuerpo{grid-template-columns:minmax(260px,1fr) minmax(360px,1.6fr) minmax(300px,1.2fr)}
  .ded-grupo{columns:1}
}
@media (max-width:900px){.datos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.datos{grid-template-columns:1fr}}

/* ---------- Retoque de lo que ve el cliente ---------- */
.ed{display:block;width:100%;font:inherit;font-size:13.5px;font-weight:400;line-height:1.5;color:var(--ink);background:transparent;border:0;border-bottom:1px dashed var(--sel);border-radius:0;padding:3px 2px;resize:vertical}
.ed:hover{background:var(--sel-suave)}
.ed:focus{outline:none;background:var(--sel-suave);border-bottom:1px solid var(--sel)}
textarea.ed{field-sizing:content;min-height:3.2em}
input.ed-titulo{font-family:var(--serif);font-weight:300;font-size:30px;line-height:1.1;padding:2px 0}
.cab-ed{flex:1;min-width:0}
.ayuda{font-size:11px;font-weight:400;margin-top:3px;opacity:.7}
.dd-ed{padding-top:2px}
.rev-ed{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;padding:3px 0}
.rev-ed span{font-size:12px;font-weight:400;white-space:nowrap}
.vis-cli{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px;padding-top:10px;border-top:1px dashed var(--sel)}
.vis-cli .et{margin:0;color:var(--sel)}
.vis-cli .seg button{font-size:12px;padding:4px 10px}
.vis-cli .enlace{font-size:12.5px;color:var(--sel)}
.retocado{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--sel);border:.5px solid var(--sel);padding:1px 6px}
.aviso{border-top-color:var(--sel)}
.aviso b{color:var(--sel)}

/* ---------- Versión y revisión de la traducción ---------- */
.version{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;opacity:.6}
#revision{position:fixed;inset:0;z-index:50;background:rgba(36,28,27,.45);display:flex;align-items:flex-start;justify-content:center;padding:6vh var(--margen) 4vh;overflow:auto}
.rev-panel{background:var(--surface);border-top:2px solid var(--sel);width:min(1200px,100%);max-height:88vh;display:flex;flex-direction:column}
.rev-cab{padding:20px 24px 12px;border-bottom:.5px solid var(--rule)}
.rev-cab h2{font-family:var(--serif);font-weight:300;font-size:32px;line-height:1.05;margin:4px 0 6px}
.rev-cab p{margin:0 0 4px;font-size:13.5px;font-weight:400}
.rev-cab .rotulo{color:var(--sel)}
.rev-cab .error{color:var(--accent);font-weight:500}
.rev-lista{overflow:auto;padding:6px 24px}
.rev-fila{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:10px 0;border-bottom:.5px solid var(--rule)}
.rev-es{font-size:13.5px;font-weight:400;line-height:1.5}
.rev-pie{display:flex;justify-content:flex-end;gap:10px;padding:12px 24px;border-top:.5px solid var(--rule)}
.rev-pie button{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:7px 14px;cursor:pointer;font-size:13px;font-weight:400}
.rev-pie button.prim{background:var(--ink);color:var(--on-ink)}
.rev-pie button[disabled]{opacity:.4;cursor:default}
@media (max-width:760px){.rev-fila{grid-template-columns:1fr;gap:6px}}
