/* The Client Hub | estilos base
   Identidad HIPOPOTESIS: Montserrat en títulos, Inter en texto,
   degradado #0077FF → #00DDAA, radio 8 px, tarjetas con sombra y sin líneas finas.
   Tipografías servidas desde el propio Hub (sin llamadas a terceros). */

@font-face{font-family:Montserrat;font-weight:600;font-style:normal;font-display:swap;src:url("../fonts/montserrat-latin-600-normal.9e606da1cbeb.woff2") format("woff2")}
@font-face{font-family:Montserrat;font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/montserrat-latin-700-normal.1c0792ac34ef.woff2") format("woff2")}
@font-face{font-family:Montserrat;font-weight:800;font-style:normal;font-display:swap;src:url("../fonts/montserrat-latin-800-normal.9e624ca74fb3.woff2") format("woff2")}
@font-face{font-family:Inter;font-weight:300;font-style:normal;font-display:swap;src:url("../fonts/inter-latin-300-normal.a473493e759c.woff2") format("woff2")}
@font-face{font-family:Inter;font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/inter-latin-400-normal.da03732a27e1.woff2") format("woff2")}
@font-face{font-family:Inter;font-weight:500;font-style:normal;font-display:swap;src:url("../fonts/inter-latin-500-normal.51205681a1ba.woff2") format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-style:normal;font-display:swap;src:url("../fonts/inter-latin-600-normal.2ede57db1a3a.woff2") format("woff2")}

:root{
  --azul:#0077FF; --verde-marca:#00DDAA;
  --qual:#3CC492; --quant:#0077FF; --social:#FB9DA7;
  --tinta:#0F1A1F; --texto:#1F2937; --suave:#4B5563; --tenue:#6B7280;
  --fondo:#F4F8FC; --panel:#FFFFFF; --hover:#F1F7FE; --activo:#EAF3FE; --enlace:#0F5FB5;
  --degradado:linear-gradient(90deg,#0077FF,#00DDAA);
  --degradado-boton:linear-gradient(90deg,#0077FF,#00BFA5);
  --sombra:0 1px 3px rgba(15,26,31,.06),0 18px 36px -26px rgba(15,26,31,.28);
  --radio:8px;
}

*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--texto);font:400 15px/1.55 Inter,system-ui,sans-serif}
a{color:var(--enlace)}
a:hover{color:#0A4A8F}
.m,h1,h2,h3{font-family:Montserrat,system-ui,sans-serif}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Estructura */
.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;background:linear-gradient(90deg,#fff 0 248px,var(--fondo) 248px)}
.side{background:var(--panel);box-shadow:1px 0 0 #E8EEF5;padding:22px 16px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}
.brand{display:flex;flex-direction:column;gap:2px;padding:4px 10px 18px;text-decoration:none}
.brand .t{font:800 21px Montserrat,sans-serif;letter-spacing:-.02em;background:var(--degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand .s{font-size:12px;color:var(--tenue)}
.nav{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 12px;border-radius:var(--radio);color:#35506B;text-decoration:none;font-weight:500;font-size:14px}
.nav:hover{background:var(--hover);color:#35506B}
.nav.on{background:var(--activo);color:#0A4A8F;font-weight:600}
.nav svg{flex:none}
.by{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px 10px 0;box-shadow:0 -1px 0 #EEF2F6}
.by .h{height:30px}
.by .hy-marca{display:inline-flex;height:auto}
.hy-marca[data-hype-montado] img{display:none}
.cg-hype-av{display:inline-flex}
.by .bar{width:1.5px;height:22px;background:linear-gradient(180deg,#0077FF,#00DDAA)}
.by .w{height:11px}
.main{padding:22px 36px 60px;min-width:0}
.top{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.who{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--suave)}
.av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 12.5px Montserrat,sans-serif;color:#fff;background:linear-gradient(135deg,#0077FF,#00DDAA)}

/* Tipografía de página */
.eyebrow{font:700 11.5px Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--tenue);margin:0 0 8px}
h1.h{font:800 34px/1.12 Montserrat,sans-serif;letter-spacing:-.02em;color:var(--tinta);margin:0 0 6px}
.g{background:var(--degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:15px;color:var(--suave);margin:0 0 22px;max-width:760px}
h2.s{font:700 18px Montserrat,sans-serif;color:var(--tinta);margin:28px 0 12px}
.note{font-size:13px;color:var(--suave)}

/* Componentes */
.card{background:var(--panel);border-radius:var(--radio);box-shadow:var(--sombra)}
.pad{padding:22px 24px}
.pad>:first-child{margin-top:0}
.pad>:last-child{margin-bottom:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:var(--radio);font:600 14px Inter,sans-serif;cursor:pointer;text-decoration:none}
.btn.p{background:var(--degradado-boton);color:#fff}
.btn.p:hover{filter:brightness(.95);color:#fff}
.btn.s{background:var(--activo);color:#0A4A8F}
.btn.s:hover{background:#DDEBFC}
.btn.sm{min-height:36px;padding:0 12px;font-size:13px}
.btn.full{width:100%}
.inline{display:inline}

/* Formularios */
.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.fld label{font-size:13px;font-weight:600;color:#35506B}
.fld input,.fld select,.fld textarea{font:500 15px Inter,sans-serif;border:0;border-radius:var(--radio);background:var(--fondo);padding:12px 14px;min-height:44px;color:var(--tinta);box-shadow:inset 0 0 0 1px #E1E8F0}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--azul);outline-offset:1px}
.err{background:#FDECEC;color:#8A1C1C;border-radius:var(--radio);padding:12px 14px;font-size:14px;margin-bottom:16px}

/* Acceso (pantalla de inicio de sesión) */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.auth .box{width:min(440px,100%)}
.auth .brand{padding:0 0 22px;align-items:flex-start}
.auth .brand .t{font-size:28px}
.h-auth{font-size:24px}
.auth .foot{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:22px}


/* Cabecera, menú y avisos */
.navlabel{font:700 10.5px Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8A94A6;padding:16px 12px 6px}
.top{justify-content:space-between}
.demo{display:inline-flex;align-items:center;font-size:12.5px;color:#7A5B00;background:#FFF6D6;border-radius:var(--radio);padding:7px 12px}
.orgsel{display:flex;gap:8px;align-items:center}
.orgsel select{font:500 13.5px Inter,sans-serif;border:0;border-radius:var(--radio);background:var(--panel);box-shadow:var(--sombra);min-height:36px;padding:0 10px;color:var(--tinta)}
.quien{display:flex;flex-direction:column;text-decoration:none;color:var(--suave);line-height:1.3}
.rolchip{font-size:11.5px;color:var(--tenue)}
.msgs{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.msgs>div{border-radius:var(--radio);padding:12px 14px;font-size:14px}
.msg-success{background:#E8F8F1;color:#0B5E45}
.msg-error{background:#FDECEC;color:#8A1C1C}
.msg-info,.msg-warning{background:#FFF6D6;color:#6B4E00}

/* Indicadores y listas */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.kpi{padding:18px 20px}
.kpi .n{font:800 30px/1 Montserrat,sans-serif;letter-spacing:-.03em;background:var(--degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi .d{font-size:13px;color:var(--suave);margin-top:8px;line-height:1.4}
.list{display:flex;flex-direction:column;overflow:hidden}
.hd,.act{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px 140px;gap:16px;align-items:center;padding:12px 20px}
.hd{font:700 10.5px Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8A94A6}
.act{min-height:64px;text-decoration:none;color:inherit}
.act:nth-child(even){background:#F9FBFD}
.act:hover{background:var(--hover);color:inherit}
.act .t,.user .t{display:block;font-weight:600;color:var(--tinta);font-size:14.5px}
.act .c{display:block;font-size:12.5px;color:var(--tenue);margin-top:3px}
.vacio{padding:22px 20px;color:var(--suave);font-size:14px}
.chip{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:5px 10px;border-radius:6px;background:#F1F7FE;color:#35506B;white-space:nowrap}
.chip.qual{background:#EBF8F2;color:#1F6E51}.chip.quant{background:#EEF5FF;color:#0058C7}.chip.soc{background:#FFF1F3;color:#A33B47}.chip.ux{background:#F3F0FF;color:#5B3FC4}
.chip.off{background:#FDECEC;color:#8A1C1C}.chip.pend{background:#FFF6D6;color:#6B4E00}
.chips{margin:10px 0 18px}
.st{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;white-space:nowrap}
.st i{width:8px;height:8px;border-radius:50%;display:inline-block}
.st-solicitada{color:#4B5563}.st-solicitada i{background:#8A94A6}
.st-propuesta{color:#8A5A00}.st-propuesta i{background:#F0A020}
.st-campo{color:#0058C7}.st-campo i{background:#0077FF}
.st-analisis{color:#5B3FC4}.st-analisis i{background:#7C5CE0}
.st-entregada{color:#0B7A62}.st-entregada i{background:#00B894}
.st-cerrada{color:#4B5563}.st-cerrada i{background:#6B7280}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.f{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:var(--radio);background:var(--panel);box-shadow:0 1px 2px rgba(15,26,31,.08);font:500 13px Inter,sans-serif;color:#35506B;text-decoration:none}
.f:hover{color:#35506B;background:var(--hover)}
.f.on{background:var(--tinta);color:#fff}
.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* Ficha de activación */
.volver{margin-bottom:14px}
.steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:20px;margin-bottom:20px}
.step{display:flex;flex-direction:column;gap:8px}
.step .b{height:6px;border-radius:3px;background:#E6EDF5}
.step.done .b{background:var(--degradado)}
.step.now .b{background:linear-gradient(90deg,#0077FF 0%,#00DDAA 50%,#E6EDF5 50%)}
.step .n{font-size:12.5px;color:var(--tenue)}
.step.done .n,.step.now .n{color:var(--tinta);font-weight:600}
.grid2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px}
.pregunta{font:600 17px/1.5 Inter,sans-serif;color:var(--tinta);margin:0 0 16px}
.ficha{display:grid;grid-template-columns:120px 1fr;gap:10px 14px;margin:0;font-size:14px}
.ficha dt{font-weight:600;color:#35506B}.ficha dd{margin:0;color:var(--suave)}
.hist{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}

/* Usuarios */
.user{display:grid;grid-template-columns:40px minmax(0,1fr) 170px 200px 80px;gap:14px;align-items:center;padding:12px 20px}
.user:nth-child(even){background:#F9FBFD}
.user .av,.av{width:40px;height:40px}
.av.ext{background:linear-gradient(135deg,#8A94A6,#B8C2D1)}
.form2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.form2 .full{grid-column:1/-1}
.fld ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.fld ul label{font-weight:500;color:var(--texto);display:flex;gap:8px;align-items:center}
.fld.check{flex-direction:row;align-items:center;gap:10px}
.fld input[type=checkbox]{min-height:auto;width:18px;height:18px;padding:0;margin:0;box-shadow:none;accent-color:var(--azul);flex:none}
.fld.check input{min-height:auto;width:20px;height:20px}
.ferr{color:#8A1C1C;font-size:13px}
.scroll-x{overflow-x:auto}
table.pm{width:100%;border-collapse:collapse;font-size:13.5px}
table.pm thead th{font:700 10.5px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8A94A6;text-align:center;padding:12px 10px}
table.pm th[scope=row]{font-weight:500;text-align:left;padding:12px 10px 12px 20px;color:var(--texto)}
table.pm thead th:first-child{text-align:left;padding-left:20px}
table.pm td{padding:12px 10px;text-align:center}
table.pm tbody tr:nth-child(even){background:#F9FBFD}
.narrow{max-width:560px}
.mt{margin-top:14px}
.center{text-align:center}

/* Doble factor */
.pasos{padding-left:20px;margin:0 0 14px;font-size:14px;color:var(--suave);display:flex;flex-direction:column;gap:6px}
.qr{display:flex;justify-content:center;margin:8px 0}
.qr img{border-radius:var(--radio);background:#fff}
.clave{display:inline-block;margin-top:6px;font-size:13px;letter-spacing:.06em;background:var(--fondo);padding:6px 10px;border-radius:6px;word-break:break-all}
.codigos{list-style:none;padding:0;margin:16px 0 20px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.codigos code{display:block;text-align:center;font-size:15px;letter-spacing:.06em;background:var(--fondo);padding:10px;border-radius:var(--radio)}


/* Repositorio */
.repo{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px;align-items:start}
.tree{padding:14px 10px;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
.tree-act{display:flex;flex-direction:column;gap:2px;padding:4px 8px 12px;text-decoration:none;color:var(--tinta);font-weight:600;font-size:14px;line-height:1.35}
.tree-act .eyebrow{margin:0}
.tree ul{list-style:none;margin:0;padding:0}
.tree ul ul{padding-left:14px}
.node{display:flex;align-items:center;gap:8px;min-height:34px;padding:5px 8px;border-radius:6px;text-decoration:none;color:#35506B;font-size:13.5px}
.node:hover{background:var(--hover);color:#35506B}
.node.on{background:var(--activo);color:#0A4A8F;font-weight:600}
.node.empty{color:#8A94A6}
.node .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.node .ct{font-size:11.5px;background:#EEF2F6;color:#4B5563;border-radius:10px;padding:1px 7px}
.node svg{flex:none;color:#6B9BD1}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--tenue);margin-bottom:6px}
.crumbs a{color:var(--tenue);text-decoration:none}.crumbs a:hover{color:var(--enlace)}
.h-repo{font-size:28px}
.vis{background:#FFF6D6;color:#6B4E00;display:inline-block;padding:4px 10px;border-radius:6px}
.subs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:16px 0 8px}
.sub{display:flex;flex-direction:column;gap:6px;padding:16px 18px;text-decoration:none;color:var(--texto);min-height:96px}
.sub:hover{box-shadow:0 2px 6px rgba(15,26,31,.08),0 18px 36px -22px rgba(15,26,31,.35)}
.sub svg{color:#0077FF}
.sub .t{font-weight:600;color:var(--tinta);font-size:14.5px;line-height:1.3}
.sub.empty{opacity:.6}
.roots .sub:nth-child(1) svg{color:#6B7280}
.toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin:18px 0 16px}
.files .file{display:grid;grid-template-columns:36px minmax(0,1fr) 90px auto;gap:12px;align-items:center;padding:10px 16px}
.files .file:nth-child(even){background:#F9FBFD}
.files .hdr{font:700 10.5px Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8A94A6;min-height:40px}
.chk input{width:18px;height:18px;accent-color:var(--azul)}
.fn{display:flex;align-items:center;gap:12px;min-width:0}
.fn .t,.file.link .t{font-weight:600;color:var(--tinta);font-size:14px;text-decoration:none;word-break:break-word}
.fn .t:hover,.file.link .t:hover{color:var(--enlace)}
.file .c{font-size:12.5px;color:var(--tenue);margin-top:2px}
.file.link{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 16px}
.file.link:nth-child(even){background:#F9FBFD}
.ok{color:#0B7A62}.ko{color:#A33B47}
.ext{flex:none;width:48px;font:800 10.5px Montserrat,sans-serif;letter-spacing:.04em;border-radius:6px;padding:8px 0;text-align:center;color:#fff;background:#6B7280}
.ext.pdf{background:#C93A3A}.ext.word,.ext.texto{background:#2563C9}.ext.excel,.ext.csv{background:#1E7F49}.ext.presentacion{background:#C9631A}
.ext.video{background:#6B4FD8}.ext.audio{background:#0E8A9E}.ext.imagen{background:#B44E82}.ext.web{background:#4552C4}
.acts{gap:8px;flex-wrap:nowrap}
.upload{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.upload .t{font-weight:600;color:var(--tinta);width:100%}
.upload input[type=file]{font:500 14px Inter,sans-serif;flex:1;min-width:220px}
.upload .note{width:100%;margin:0}
.viewer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.visor{display:block;width:100%;border:0;overflow:hidden}
.visor.pdf,.visor.web{height:78vh;background:#fff}
.visor.media{background:#0F1A1F}
.visor video{display:block;width:100%;max-height:72vh}
.visor.img{padding:12px;text-align:center}.visor.img img{max-width:100%;height:auto}
audio{width:100%}
.doc{font-size:15px;line-height:1.65;max-width:860px}
.doc table{border-collapse:collapse}.doc td,.doc th{padding:6px 10px;box-shadow:inset 0 0 0 1px #E6EDF5}
.doc img{max-width:100%;height:auto}
table.grid{border-collapse:collapse;font-size:13px;width:100%}
table.grid th{position:sticky;top:0;background:#EEF5FF;color:#0A4A8F;text-align:left;padding:8px 10px;font-weight:600}
table.grid td{padding:7px 10px;box-shadow:inset 0 -1px 0 #EEF2F6;white-space:nowrap;max-width:420px;overflow:hidden;text-overflow:ellipsis}
.textview{white-space:pre-wrap;font:400 14px/1.6 Inter,sans-serif;max-height:75vh;overflow:auto;margin:0}

.pdfv{background:#E9EEF4}
.pdf-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fff;position:sticky;top:0;z-index:1;box-shadow:0 1px 0 #E6EDF5}
.pdf-paginas{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px;max-height:78vh;overflow:auto}
.pdf-pag{max-width:100%;height:auto;background:#fff;box-shadow:0 1px 4px rgba(15,26,31,.15)}

/* Buscador */
.buscador{display:flex;flex-direction:column;gap:14px}
.bq{display:flex;gap:10px}
.bq input{flex:1;min-width:0;min-height:48px;padding:0 16px;border:0;border-radius:var(--radio);background:var(--fondo);box-shadow:inset 0 0 0 1px #DCE5EF;font:400 16px Inter,sans-serif;color:var(--texto)}
.bq input:focus{outline:2px solid var(--azul);outline-offset:1px;background:#fff}
.bfiltros{display:flex;gap:12px;flex-wrap:wrap}
.bfiltros label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--suave)}
.bfiltros select{min-height:38px;min-width:170px;max-width:280px;padding:0 10px;border:0;border-radius:var(--radio);background:var(--fondo);box-shadow:inset 0 0 0 1px #DCE5EF;font:400 14px Inter,sans-serif;color:var(--texto)}
.f .n{margin-left:6px;font-size:12px;opacity:.7}
.resultados{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.res{padding:16px 18px}
.res-hd{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center}
.res-hd .t{font-weight:600;text-decoration:none;word-break:break-word}
.res-hd .t:hover{text-decoration:underline}
.res-hd .c{font-size:12.5px;color:var(--tenue);margin-top:2px}
.pasajes{list-style:none;margin:12px 0 0;padding:0 0 0 60px;display:flex;flex-direction:column;gap:10px}
.pasajes li{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:baseline}
.pasajes p{margin:0;font-size:14px;line-height:1.55;color:var(--suave)}
.donde{display:inline-block;font:600 12.5px Inter,sans-serif;color:var(--enlace);text-decoration:none;background:var(--activo);border-radius:6px;padding:3px 8px;white-space:nowrap;text-align:center}
.donde:hover{background:#D9E9FD}
mark{background:#FFF1A8;color:inherit;border-radius:3px;padding:0 1px}
.mas{margin:10px 0 0 60px}
.ayuda ul{margin:6px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--suave)}
.buscar-act{display:flex;gap:10px;margin:0 0 18px}
.buscar-act input{flex:1;min-width:0;min-height:42px;padding:0 14px;border:0;border-radius:var(--radio);background:#fff;box-shadow:0 1px 3px rgba(15,26,31,.08),inset 0 0 0 1px #DCE5EF;font:400 15px Inter,sans-serif}
.navsearch{display:flex}
.navsearch input{width:220px;min-height:36px;padding:0 12px;border:0;border-radius:var(--radio);background:#fff;box-shadow:inset 0 0 0 1px #DCE5EF;font:400 14px Inter,sans-serif}

/* Consumos y créditos (paleta validada: consumido #0062D1, comprometido #00A88A, con etiquetas visibles) */
.sin-margen{margin-top:0}
.bolsa{display:flex;gap:2px;height:22px;margin:14px 0 12px;border-radius:6px;overflow:hidden;background:#fff}
.bolsa .seg{display:block;height:100%;min-width:4px;flex:none}
.bolsa .seg.libre{flex:1 1 auto;background:#E6ECF3}
.consumido{background:#0062D1}.comprometido{background:#00A88A}.libre{background:#E6ECF3}
.leyenda{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:var(--suave)}
.leyenda li{display:flex;align-items:center;gap:8px}
.leyenda b{color:var(--tinta)}
.leyenda i{width:12px;height:12px;border-radius:3px;display:inline-block}
.hbars{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.hb-top{display:flex;justify-content:space-between;font-size:14px;color:var(--suave);margin-bottom:6px}
.hb-top b{color:var(--tinta)}
.hb-tr{height:10px;background:#EEF2F6;border-radius:5px}
.hb-fl{height:100%;background:#0077FF;border-radius:0 4px 4px 0;min-width:0}
.vbars{display:flex;align-items:flex-end;gap:6px;height:190px;margin-top:16px;overflow-x:auto;padding-bottom:2px}
.vbar{flex:1 0 34px;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}
.vbar .v{font-size:11px;color:var(--suave);min-height:14px;white-space:nowrap}
.vbar .col{flex:1;width:70%;max-width:30px;display:flex;align-items:flex-end;box-shadow:inset 0 -1px 0 #D5DEE8}
.vbar .fl{width:100%;background:#0077FF;border-radius:4px 4px 0 0;min-height:0}
.vbar .l{font-size:11px;color:var(--tenue);white-space:nowrap}
.vbar.futuro .l{opacity:.55}
table.consumo td{white-space:normal}
table.consumo .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mini{display:inline-block;width:70px;height:8px;background:#EEF2F6;border-radius:4px;vertical-align:middle;overflow:hidden}
.mini span{display:block;height:100%;background:#0062D1;border-radius:0 4px 4px 0}
.filtro-act{margin-bottom:12px}
.filtro-act select{min-height:38px;padding:0 10px;border:0;border-radius:var(--radio);background:#fff;box-shadow:inset 0 0 0 1px #DCE5EF;font:400 14px Inter,sans-serif;max-width:100%}
.conceptos{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}

/* Porcentajes como clases: la CSP no admite estilos en línea (style="..."). */
.w-0{width:0%}.w-1{width:1%}.w-2{width:2%}.w-3{width:3%}.w-4{width:4%}.w-5{width:5%}.w-6{width:6%}.w-7{width:7%}.w-8{width:8%}.w-9{width:9%}.w-10{width:10%}.w-11{width:11%}.w-12{width:12%}.w-13{width:13%}.w-14{width:14%}.w-15{width:15%}.w-16{width:16%}.w-17{width:17%}.w-18{width:18%}.w-19{width:19%}.w-20{width:20%}.w-21{width:21%}.w-22{width:22%}.w-23{width:23%}.w-24{width:24%}.w-25{width:25%}.w-26{width:26%}.w-27{width:27%}.w-28{width:28%}.w-29{width:29%}.w-30{width:30%}.w-31{width:31%}.w-32{width:32%}.w-33{width:33%}.w-34{width:34%}.w-35{width:35%}.w-36{width:36%}.w-37{width:37%}.w-38{width:38%}.w-39{width:39%}.w-40{width:40%}.w-41{width:41%}.w-42{width:42%}.w-43{width:43%}.w-44{width:44%}.w-45{width:45%}.w-46{width:46%}.w-47{width:47%}.w-48{width:48%}.w-49{width:49%}.w-50{width:50%}.w-51{width:51%}.w-52{width:52%}.w-53{width:53%}.w-54{width:54%}.w-55{width:55%}.w-56{width:56%}.w-57{width:57%}.w-58{width:58%}.w-59{width:59%}.w-60{width:60%}.w-61{width:61%}.w-62{width:62%}.w-63{width:63%}.w-64{width:64%}.w-65{width:65%}.w-66{width:66%}.w-67{width:67%}.w-68{width:68%}.w-69{width:69%}.w-70{width:70%}.w-71{width:71%}.w-72{width:72%}.w-73{width:73%}.w-74{width:74%}.w-75{width:75%}.w-76{width:76%}.w-77{width:77%}.w-78{width:78%}.w-79{width:79%}.w-80{width:80%}.w-81{width:81%}.w-82{width:82%}.w-83{width:83%}.w-84{width:84%}.w-85{width:85%}.w-86{width:86%}.w-87{width:87%}.w-88{width:88%}.w-89{width:89%}.w-90{width:90%}.w-91{width:91%}.w-92{width:92%}.w-93{width:93%}.w-94{width:94%}.w-95{width:95%}.w-96{width:96%}.w-97{width:97%}.w-98{width:98%}.w-99{width:99%}.w-100{width:100%}
.h-0{height:0%}.h-1{height:1%}.h-2{height:2%}.h-3{height:3%}.h-4{height:4%}.h-5{height:5%}.h-6{height:6%}.h-7{height:7%}.h-8{height:8%}.h-9{height:9%}.h-10{height:10%}.h-11{height:11%}.h-12{height:12%}.h-13{height:13%}.h-14{height:14%}.h-15{height:15%}.h-16{height:16%}.h-17{height:17%}.h-18{height:18%}.h-19{height:19%}.h-20{height:20%}.h-21{height:21%}.h-22{height:22%}.h-23{height:23%}.h-24{height:24%}.h-25{height:25%}.h-26{height:26%}.h-27{height:27%}.h-28{height:28%}.h-29{height:29%}.h-30{height:30%}.h-31{height:31%}.h-32{height:32%}.h-33{height:33%}.h-34{height:34%}.h-35{height:35%}.h-36{height:36%}.h-37{height:37%}.h-38{height:38%}.h-39{height:39%}.h-40{height:40%}.h-41{height:41%}.h-42{height:42%}.h-43{height:43%}.h-44{height:44%}.h-45{height:45%}.h-46{height:46%}.h-47{height:47%}.h-48{height:48%}.h-49{height:49%}.h-50{height:50%}.h-51{height:51%}.h-52{height:52%}.h-53{height:53%}.h-54{height:54%}.h-55{height:55%}.h-56{height:56%}.h-57{height:57%}.h-58{height:58%}.h-59{height:59%}.h-60{height:60%}.h-61{height:61%}.h-62{height:62%}.h-63{height:63%}.h-64{height:64%}.h-65{height:65%}.h-66{height:66%}.h-67{height:67%}.h-68{height:68%}.h-69{height:69%}.h-70{height:70%}.h-71{height:71%}.h-72{height:72%}.h-73{height:73%}.h-74{height:74%}.h-75{height:75%}.h-76{height:76%}.h-77{height:77%}.h-78{height:78%}.h-79{height:79%}.h-80{height:80%}.h-81{height:81%}.h-82{height:82%}.h-83{height:83%}.h-84{height:84%}.h-85{height:85%}.h-86{height:86%}.h-87{height:87%}.h-88{height:88%}.h-89{height:89%}.h-90{height:90%}.h-91{height:91%}.h-92{height:92%}.h-93{height:93%}.h-94{height:94%}.h-95{height:95%}.h-96{height:96%}.h-97{height:97%}.h-98{height:98%}.h-99{height:99%}.h-100{height:100%}

/* Teléfono */
@media (max-width:900px){
  .app{grid-template-columns:1fr}
  .side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;padding:12px}
  .side .brand{width:100%;padding-bottom:6px}
  .side .by{display:none}
  .nav{width:auto}
  .main{padding:18px 16px 60px}
  h1.h{font-size:28px}
  .app{background:var(--fondo)}
  .hd,.act{grid-template-columns:minmax(0,1fr) auto}
  .kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .kpi{padding:14px}
  .kpi .n{font-size:24px}
  .kpi .d{font-size:12px}
  .hide{display:none}
  .user{grid-template-columns:40px minmax(0,1fr) auto}
  .grid2,.form2{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .side .navlabel{display:none}
  .repo{grid-template-columns:1fr}
  .tree{position:static;max-height:none}
  .files .file{grid-template-columns:30px minmax(0,1fr)}
  .files .file .acts{grid-column:2}
  .pasajes,.mas{padding-left:0;margin-left:0}
  .pasajes li{grid-template-columns:1fr;gap:4px}
  .donde{justify-self:start}
  .res-hd{grid-template-columns:40px minmax(0,1fr)}
  .res-hd .chip{grid-column:2;justify-self:start}
  .navsearch input{width:100%}
  .top .row{width:100%}
  .orgsel,.navsearch{width:100%;min-width:0}
  .orgsel select{flex:1;min-width:0;max-width:100%}
  .bfiltros select{min-width:0;width:100%}
  .bfiltros label{flex:1 1 140px}
}
.aparece{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;padding:12px 16px}
.kpi-link{text-decoration:none;color:inherit}.kpi-link:hover{box-shadow:0 0 0 2px #CFE3FB,var(--sombra)}

/* --- Asistente IA (punto 6) --- */
[hidden]{display:none!important}
.ia-off p{margin:12px 0 0;max-width:72ch}
.ia-garantias{margin:12px 0 0;padding-left:20px;color:var(--suave);font-size:14px;line-height:1.6}
.ia-form{display:flex;flex-direction:column;gap:14px}
.ia-campos{display:grid;gap:10px}
.ia-ambito{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--suave);max-width:520px}
.ia-form textarea,.ia-form select{font:500 15px/1.5 Inter,sans-serif;border:0;border-radius:var(--radio);background:var(--fondo);padding:12px 14px;min-height:44px;color:var(--tinta);box-shadow:inset 0 0 0 1px #E1E8F0}
.ia-form textarea{width:100%;min-height:84px;resize:vertical}
.ia-form textarea:focus,.ia-form select:focus{outline:2px solid var(--azul);outline-offset:1px}
.ejemplos{margin:0}
.ejemplos .f{cursor:pointer;border:0;text-align:left}
.ia-respuesta{background:#F9FBFD}
.msg-u{padding:8px 12px;margin-bottom:16px;border-radius:12px;background:color-mix(in srgb,var(--azul) 7%,var(--panel))}
.msg-u .note{font-size:12px}
.ia-texto{font-size:15px;line-height:1.65;color:var(--texto);max-width:78ch}
.ia-texto p{margin:0 0 12px}.ia-texto ul{margin:0 0 12px;padding-left:20px}.ia-texto li{margin-bottom:6px}
.ia-texto h3{font:600 15px Montserrat,sans-serif;margin:16px 0 8px;color:var(--tinta)}
.cita{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;margin:0 1px;border-radius:5px;background:var(--activo);color:var(--enlace);font:600 11px Inter,sans-serif;text-decoration:none;vertical-align:2px}
a.cita:hover{background:var(--azul);color:#fff}
.ia-fuentes-t{font:600 14px Montserrat,sans-serif;margin:20px 0 8px;color:var(--tinta)}
.ia-fuentes{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ia-fuentes li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;background:#fff;border-radius:var(--radio);padding:10px 12px;box-shadow:0 1px 2px rgba(15,26,31,.06)}
.ia-fuentes a{font-weight:500;word-break:break-word}
.ia-fuentes .c{font-size:12px;color:var(--tenue);margin-top:2px}
.ia-fuentes p{margin:6px 0 0;font-size:13px}
.ia-fuentes li:target{outline:2px solid var(--azul)}
.aviso-ia{margin:16px 0 0;padding:10px 12px;border-radius:var(--radio);background:#FFF6D6;color:#6B4E00;font-size:13px}
.ia-historial{list-style:none;margin:0;padding:6px 0}
.ia-historial li{display:flex;justify-content:space-between;gap:12px;padding:10px 18px;flex-wrap:wrap}
.ia-historial li:nth-child(even){background:#F9FBFD}
.ia-historial a[aria-current]{font-weight:600}
.ia-form,.ia-campos,.ia-ambito{min-width:0}
.ia-form textarea,.ia-form select{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
@media (max-width:640px){.ia-historial li{padding:10px 14px}.ia-fuentes li{padding:10px}}
.medio-proceso p{margin:10px 0 0;max-width:70ch}

/* ===== Ajustes de navegación y detalle (3-10-2026) ===== */
.js .sin-js{display:none}
h1,h2,.lead,.note,p{text-wrap:pretty}
h1.h{text-wrap:balance}
.lead{max-width:none}

/* Desplegables: flecha propia con aire a la derecha, en toda la plataforma */
select{-webkit-appearance:none;appearance:none;background-image:url("../img/chevron.2718a306c5e5.svg");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px;padding-right:40px!important}
select[multiple]{background-image:none;padding-right:12px!important}
.orgsel select{padding-left:14px;max-width:420px;text-overflow:ellipsis}
.navsearch input{width:260px}

/* Migas de pan y botón de volver */
.migas{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;color:var(--tenue);margin:-4px 0 14px}
.migas a{color:var(--suave);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.migas a:hover{color:var(--enlace)}
.migas .sep{color:#B8C2D1}
.migas [aria-current]{color:var(--tinta);font-weight:500}
.volver{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px 0 10px;margin-bottom:14px;border-radius:var(--radio);background:var(--activo);color:#0A4A8F;font:600 13px Inter,sans-serif;text-decoration:none}
.volver svg{transition:transform .2s ease}
.volver:hover{background:#DDEBFC;color:#0A4A8F}
.volver:hover svg{transform:translateX(-3px)}

/* Menú lateral plegable */
.side-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.brand{flex-direction:row;align-items:center;gap:10px;min-width:0}
.brand .bt{display:flex;flex-direction:column;gap:2px;min-width:0}
.brand .pastilla{height:30px;width:auto;flex:none}
.plegar{flex:none;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radio);background:transparent;color:#6B7F95;cursor:pointer;margin-top:2px}
.plegar:hover{background:var(--hover);color:#0A4A8F}
.app,.side{transition:grid-template-columns .25s ease,padding .25s ease}
.menu-plegado .app{grid-template-columns:76px minmax(0,1fr);background:linear-gradient(90deg,#fff 0 76px,var(--fondo) 76px)}
.menu-plegado .side{padding:22px 10px}
.menu-plegado .side-hd{flex-direction:column;align-items:center}
.menu-plegado .brand{padding:4px 0 6px;justify-content:center}
.menu-plegado .brand .bt,.menu-plegado .side .lbl,.menu-plegado .navlabel,.menu-plegado .by .bar,.menu-plegado .by .w{display:none}
.menu-plegado .plegar svg{transform:scaleX(-1)}
.menu-plegado .nav{justify-content:center;padding:10px 0}
.menu-plegado .by{justify-content:center;padding:14px 0 0}

/* Iconos que se dibujan al pasar el ratón (como en la web) */
.ico [pathLength]{stroke-dasharray:1;stroke-dashoffset:0}
.is-draw .ico [pathLength]{animation:dibujar .9s cubic-bezier(.45,.05,.35,1) both}
.is-draw .ico [pathLength]:nth-child(2){animation-delay:.08s}
.is-draw .ico [pathLength]:nth-child(3){animation-delay:.16s}
.is-draw .ico [pathLength]:nth-child(4){animation-delay:.24s}
@keyframes dibujar{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}

/* Pantalla de carga al cambiar de organización */
.cargando{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 30% 20%,rgba(0,119,255,.10),transparent 60%),radial-gradient(900px 600px at 80% 90%,rgba(0,221,170,.12),transparent 60%),rgba(247,250,253,.96);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s ease}
.cargando.on{opacity:1}
.cg-caja{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:24px}
.cg-hype{width:84px;height:auto;animation:flotar 2.4s ease-in-out infinite}
.cg-t{font:600 17px Montserrat,sans-serif;color:var(--tinta);margin:0;max-width:520px}
.cg-t b{background:var(--degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
.cg-barra{width:200px;height:4px;border-radius:2px;background:#E3EAF3;overflow:hidden}
.cg-barra span{display:block;width:40%;height:100%;border-radius:2px;background:var(--degradado);animation:barrido 1.1s ease-in-out infinite}
@keyframes flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes barrido{from{transform:translateX(-110%)}to{transform:translateX(260%)}}

/* Lista de activaciones: franja con el número */
.hd,.act{grid-template-columns:72px minmax(0,1fr) 150px 150px 140px;padding-left:0}
.hd-num{text-align:center}
.act .num{align-self:stretch;display:flex;align-items:center;justify-content:center;gap:2px;margin:-12px 0;background:linear-gradient(180deg,#EEF5FF,#E8F7F2);font:800 24px/1 Montserrat,sans-serif;letter-spacing:-.03em;color:#0A4A8F}
.act .num .pre{font-size:12px;font-weight:700;color:#5C7A99;margin-right:2px;align-self:center}
.act:hover .num{background:linear-gradient(180deg,#DDEBFC,#D6F2E8)}

/* Avance de la activación */
.avance{padding:18px 20px;margin-bottom:20px}
.avance-hd{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.avance-hd .eyebrow{margin:0}
.avance-hd select{min-height:36px;border:0;border-radius:var(--radio);background:var(--fondo);box-shadow:inset 0 0 0 1px #DCE5EF;font:500 13.5px Inter,sans-serif;padding-left:12px}
ol.steps{list-style:none;margin:0;padding:0;box-shadow:none}
.steps{padding:0;margin-bottom:0}
.step.now .b{background:var(--degradado);box-shadow:0 0 0 3px rgba(0,119,255,.14)}
.step.now .n{color:#0A4A8F}
.step .fe{font-size:11.5px;color:var(--tenue);min-height:16px}
.avance-pie{margin:12px 0 0}

/* Índice de carpetas con jerarquía */
.tree li.lv0>.node{font-weight:600;color:var(--tinta)}
.tree li.lv0+li.lv0{margin-top:2px}
.tree li.rama{background:rgba(0,119,255,.045);border-radius:8px}
.tree li.rama li.rama{background:rgba(0,119,255,.05)}
.tree li.lv0.rama.sec-cuali{background:#EBF8F2}.tree li.lv0.rama.sec-cuali li.rama{background:rgba(60,196,146,.12)}
.tree li.lv0.rama.sec-social{background:#FFF1F3}.tree li.lv0.rama.sec-social li.rama{background:rgba(251,157,167,.16)}
.tree li.lv0.rama.sec-cuanti{background:#EEF5FF}.tree li.lv0.rama.sec-cuanti li.rama{background:rgba(0,119,255,.08)}
.tree li.rama>ul{padding-bottom:4px}
.node.on{background:#fff;box-shadow:0 1px 3px rgba(15,26,31,.12);color:#0A4A8F}

@media (max-width:900px){
  .hd,.act{grid-template-columns:56px minmax(0,1fr) auto}
  .act .num{font-size:19px}
  .side-hd{width:100%}
  .plegar{display:none}
  .menu-plegado .app{grid-template-columns:1fr}
  .menu-plegado .side .lbl,.menu-plegado .brand .bt{display:inline}
}
.brand .pastilla{display:none;height:34px}
.menu-plegado .brand .pastilla{display:block}
/* Estado como etiqueta suave, sin punto de color (sistema de diseño) */
.st{padding:4px 10px;border-radius:6px;font-size:12px}
.st i{display:none}
.st-solicitada{background:#F1F4F8}.st-propuesta{background:#FFF4DC}.st-campo{background:#EEF5FF}
.st-analisis{background:#F3F0FF}.st-entregada{background:#E6F7F1}.st-cerrada{background:#EEF0F3}

/* ===== Asistente IA en directo y gráficos (3-10-2026) ===== */
.msg-u{border-left:0;padding:0;margin-bottom:14px}
.msg-u .note{display:block;font:700 11px Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--tenue);margin-bottom:4px}
.ia-respuesta.en-curso{min-height:220px}
.ia-pasos{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px}
.ia-pasos li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;font-size:14px;color:var(--suave)}
.ia-pasos .ic{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#EEF5FF;color:#0077FF}
.ia-pasos li.vivo .ic::after{content:"";width:12px;height:12px;border-radius:50%;border:2px solid #BFD8FF;border-top-color:#0077FF;animation:girar .8s linear infinite}
.ia-pasos li.hecho .ic{background:#E6F7F1;color:#0B7A62}
.ia-pasos li.hecho .tx{color:var(--texto)}
.ia-pasos .cuerpo{display:flex;flex-direction:column;gap:6px;padding-top:2px}
.ia-pasos .note{margin:0}
.ia-terminos{display:flex;flex-wrap:wrap;gap:6px}
.ia-terminos .chip{font-size:11.5px;padding:3px 8px}
@keyframes girar{to{transform:rotate(360deg)}}
.brillo{background:linear-gradient(90deg,#4B5563 0%,#4B5563 40%,#00A3D9 50%,#4B5563 60%,#4B5563 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:brillar 1.8s linear infinite}
@keyframes brillar{from{background-position:100% 0}to{background-position:-150% 0}}
.ia-texto .nuevo{animation:aparecer .7s ease-out both}
@keyframes aparecer{from{filter:blur(5px);opacity:.15}to{filter:blur(0);opacity:1}}
.ia-como{margin:0 0 16px;font-size:13px}
.ia-como summary{cursor:pointer;color:var(--suave);font-weight:500}
.ia-como .ia-pasos{margin:12px 0 0}
.ia-acciones{margin-top:14px}
.tabla-ia{overflow-x:auto;margin:0 0 14px}
.tabla-ia table{border-collapse:collapse;font-size:13.5px;min-width:60%}
.tabla-ia th{background:#EEF5FF;color:#0A4A8F;text-align:left;padding:8px 12px;font-weight:600}
.tabla-ia td{padding:7px 12px;box-shadow:inset 0 -1px 0 #EEF2F6}

.grafico-ia{margin:6px 0 18px;padding:16px 18px;background:#fff;border-radius:var(--radio);box-shadow:var(--sombra)}
.grafico-ia figcaption{font:700 15px/1.35 Montserrat,sans-serif;color:var(--tinta);margin-bottom:10px}
.grafico-ia.preparando{min-height:120px;display:flex;align-items:center}
.g-controles{display:flex;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.g-leyenda,.g-herr,.g-acciones{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.g-serie{display:inline-flex;align-items:center;gap:7px;border:0;background:#F4F8FC;border-radius:6px;padding:5px 10px;font:500 12.5px Inter,sans-serif;color:var(--texto);cursor:pointer}
.g-serie i{width:14px;height:3px;border-radius:2px;display:inline-block}
.g-serie[aria-pressed=false]{opacity:.45;text-decoration:line-through}
.g-btn{border:0;background:var(--activo);color:#0A4A8F;border-radius:6px;padding:6px 10px;font:600 12px Inter,sans-serif;cursor:pointer}
.g-btn:hover,.g-btn[aria-pressed=true]{background:#DDEBFC}
.g-umbral{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--suave)}
.g-umbral input{width:120px;accent-color:#0077FF}
.g-umbral output{min-width:44px;font-weight:600;color:var(--tinta)}
.g-lienzo{position:relative}
.g-lienzo svg{display:block;width:100%;height:auto}
.g-barra,.g-col{transition:opacity .2s ease}
.g-listo .g-barra{animation:crecerX .7s cubic-bezier(.2,.8,.2,1) both;transform-box:fill-box;transform-origin:left center}
.g-listo .g-col{animation:crecerY .7s cubic-bezier(.2,.8,.2,1) both;transform-box:fill-box;transform-origin:center bottom}
@keyframes crecerX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes crecerY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.g-tip{position:absolute;z-index:3;pointer-events:none;background:#0F1A1F;color:#fff;border-radius:6px;padding:7px 10px;font-size:12px;display:flex;flex-direction:column;gap:2px;max-width:220px;box-shadow:0 8px 20px -10px rgba(0,0,0,.5)}
.g-tip b{font:700 14px Montserrat,sans-serif}
.g-tabla{overflow-x:auto;margin-top:10px}
.g-tabla table{border-collapse:collapse;font-size:12.5px;width:100%}
.g-tabla th,.g-tabla td{padding:6px 10px;text-align:left;box-shadow:inset 0 -1px 0 #EEF2F6}
.g-tabla thead th{background:#EEF5FF;color:#0A4A8F}
.g-tabla td{text-align:right}
.g-pie{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;margin-top:8px}
.g-pie .note{margin:0;font-size:12px}
.g-pie .cita{margin-right:3px}
@media (prefers-reduced-motion:reduce){.ia-texto .nuevo,.g-listo .g-barra,.g-listo .g-col,.brillo,.cg-hype,.cg-barra span{animation:none}.brillo{color:var(--suave);background:none}}
.toolbar-act{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.tit-act{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.form-sol{max-width:980px}
.form-sol .fld textarea{min-height:84px;resize:vertical}
.req{color:#C44D5A}
.lbl-grupo{font-size:13px;font-weight:600;color:#35506B}
.lentes-check{display:flex;flex-wrap:wrap;gap:6px 22px}
.lentes-check .fld{margin:0}
.fld>.note{margin:0;font-size:12.5px;color:var(--tenue)}

/* ===== Ajustes de cuenta ===== */
.av.foto{object-fit:cover;padding:0;background:#E6EDF5}
.who .av{width:36px;height:36px}
.quien-av{display:inline-flex;border-radius:50%}
.perfil{display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;align-items:start;margin-top:14px}
.perfil-foto .av{width:96px;height:96px;font-size:28px}
.temas{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:14px}
.tema-op{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radio);background:var(--fondo);cursor:pointer;font-size:13.5px;color:var(--texto);box-shadow:inset 0 0 0 1px #E1E8F0}
.tema-op:has(input:checked){box-shadow:inset 0 0 0 2px var(--azul)}
.tema-op input{position:absolute;opacity:0;pointer-events:none}
.tema-op .muestra{display:grid;grid-template-columns:26px 1fr;grid-template-rows:12px 22px;gap:5px;height:44px;padding:6px;border-radius:6px;background:#F4F8FC}
.tema-op .muestra i{border-radius:3px;background:#fff}
.tema-op .muestra i:first-child{grid-row:1/3;background:#fff}
.tema-op .muestra i:nth-child(2){background:linear-gradient(90deg,#0077FF,#00DDAA)}
.tema-oscuro .muestra{background:#0E151B}.tema-oscuro .muestra i{background:#1C2833}.tema-oscuro .muestra i:first-child{background:#151E26}
.tema-auto .muestra{background:linear-gradient(135deg,#F4F8FC 50%,#0E151B 50%)}
@media (max-width:640px){.perfil{grid-template-columns:1fr}}

/* ===== Modo oscuro ===== */
html.oscuro{color-scheme:dark;
  --fondo:#0E151B;--panel:#151E26;--texto:#D5DEE8;--tinta:#F1F5F9;--suave:#A8B3C2;--tenue:#8593A3;
  --hover:#1C2833;--activo:#1A2E45;--enlace:#7DB9FF;
  --sombra:0 1px 2px rgba(0,0,0,.35),0 18px 36px -26px rgba(0,0,0,.7)}
.oscuro body{background:var(--fondo)}
.oscuro a:hover{color:#A9D0FF}
.oscuro .app{background:linear-gradient(90deg,var(--panel) 0 248px,var(--fondo) 248px)}
.oscuro.menu-plegado .app{background:linear-gradient(90deg,var(--panel) 0 76px,var(--fondo) 76px)}
@media (max-width:900px){.oscuro .app,.oscuro.menu-plegado .app{background:var(--fondo)}}
.oscuro .side{box-shadow:1px 0 0 #1F2B36}
.oscuro .by{box-shadow:0 -1px 0 #1F2B36}
.oscuro .nav,.oscuro .plegar{color:#B8C7D6}
.oscuro .nav.on,.oscuro .btn.s,.oscuro .volver,.oscuro .g-btn{color:#A9D0FF}
.oscuro .btn.s:hover,.oscuro .volver:hover,.oscuro .g-btn:hover{background:#21385A}
.oscuro select{background-image:url("../img/chevron-claro.91c434f4eebb.svg")}
.oscuro .fld input,.oscuro .fld select,.oscuro .fld textarea,.oscuro .ia-form textarea,.oscuro .ia-form select,.oscuro .tema-op,.oscuro .avance-hd select{box-shadow:inset 0 0 0 1px #2A3846;color:var(--tinta)}
.oscuro .navsearch input,.oscuro .filtro-act select,.oscuro .buscar-act input,.oscuro .bq input{background:var(--panel);color:var(--tinta);box-shadow:inset 0 0 0 1px #2A3846}
.oscuro .orgsel select{color:var(--tinta)}
.oscuro .fld label,.oscuro .lbl-grupo{color:#B8C7D6}
.oscuro .act:nth-child(even),.oscuro .user:nth-child(even),.oscuro .files .file:nth-child(even),.oscuro .file.link:nth-child(even),.oscuro table.pm tbody tr:nth-child(even),.oscuro .ia-historial li:nth-child(even){background:#18222B}
.oscuro .act .num{background:linear-gradient(180deg,#132438,#11302A);color:#A9D0FF}
.oscuro .act:hover .num{background:linear-gradient(180deg,#1A3150,#16403A)}
.oscuro .chip{background:#1C2A38;color:#B9CCE0}
.oscuro .chip.qual{background:#12302A;color:#7FE0B9}.oscuro .chip.quant{background:#14263E;color:#8DC2FF}.oscuro .chip.soc{background:#3A1E24;color:#F6A9B3}.oscuro .chip.ux{background:#251E45;color:#C2B3FF}
.oscuro .chip.off{background:#3A1A1A;color:#F3A3A3}.oscuro .chip.pend{background:#3A3214;color:#F2D58A}
.oscuro .st-solicitada{background:#1C2430}.oscuro .st-propuesta{background:#3A3214;color:#F2C46A}.oscuro .st-campo{background:#14263E;color:#8DC2FF}
.oscuro .st-analisis{background:#251E45;color:#C2B3FF}.oscuro .st-entregada{background:#12302A;color:#7FE0B9}.oscuro .st-cerrada{background:#1C2430;color:#A8B3C2}
.oscuro .f{background:var(--panel);color:#B8C7D6}.oscuro .f.on{background:#E8EEF4;color:#0F1A1F}
.oscuro .step:not(.done) .b{background:#24313D}
.oscuro .msg-success{background:#12302A;color:#9BE8C8}.oscuro .msg-error,.oscuro .err{background:#3A1A1A;color:#F3B0B0}.oscuro .msg-info,.oscuro .msg-warning,.oscuro .demo,.oscuro .vis{background:#3A3214;color:#F2D58A}
.oscuro table.grid th,.oscuro .tabla-ia th,.oscuro .g-tabla thead th{background:#1B2A3A;color:#9CC7FF}
.oscuro table.grid td,.oscuro .tabla-ia td{box-shadow:inset 0 -1px 0 #1F2B36}
.oscuro .tree li.rama{background:rgba(125,185,255,.06)}
.oscuro .tree li.lv0.rama.sec-cuali{background:#10261F}.oscuro .tree li.lv0.rama.sec-social{background:#2A171C}.oscuro .tree li.lv0.rama.sec-cuanti{background:#11213A}
.oscuro .node{color:#B8C7D6}.oscuro .node.on{background:#22303D;color:#A9D0FF}.oscuro .node .ct{background:#22303D;color:#B8C7D6}
.oscuro .ia-respuesta{background:#131C24}.oscuro .ia-fuentes li{background:var(--panel)}
.oscuro .aviso-ia{background:#3A3214;color:#F2D58A}
.oscuro .ia-pasos .ic{background:#14263E}.oscuro .ia-pasos li.hecho .ic{background:#12302A;color:#7FE0B9}
.oscuro .brillo{background:linear-gradient(90deg,#A8B3C2 0%,#A8B3C2 40%,#7DE3FF 50%,#A8B3C2 60%,#A8B3C2 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text}
/* Los gráficos se quedan sobre papel claro: así se leen igual en pantalla, en PDF y al descargarlos. */
.oscuro .grafico-ia{background:#F4F8FC;color:#1F2937}
.oscuro .grafico-ia figcaption{color:#0F1A1F}
.oscuro .grafico-ia .note{color:#4B5563}
.oscuro .grafico-ia .g-btn{background:#EAF3FE;color:#0A4A8F}
.oscuro .grafico-ia .g-serie{background:#fff;color:#1F2937}
.oscuro .cargando{background:radial-gradient(1200px 600px at 30% 20%,rgba(0,119,255,.16),transparent 60%),radial-gradient(900px 600px at 80% 90%,rgba(0,221,170,.14),transparent 60%),rgba(14,21,27,.96)}
.oscuro .cg-barra{background:#24313D}
.oscuro .sub:hover{box-shadow:0 2px 6px rgba(0,0,0,.4),0 18px 36px -22px rgba(0,0,0,.8)}
.oscuro .tema-op .muestra{box-shadow:inset 0 0 0 1px #2A3846}
.oscuro .doc td,.oscuro .doc th{box-shadow:inset 0 0 0 1px #24313D}
.oscuro .mini{background:#24313D}
.oscuro .by .w{filter:invert(1) brightness(1.6)}

/* Flecha de los desplegables, por encima de cualquier "background" abreviado */
select{background-image:url("../img/chevron.2718a306c5e5.svg")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px 16px!important}
.oscuro select{background-image:url("../img/chevron-claro.91c434f4eebb.svg")!important}
select[multiple]{background-image:none!important}
.oscuro .ficha dt{color:#B8C7D6}
.oscuro .tema-op .muestra i{background:#1C2833}
.oscuro .step.now .n{color:#A9D0FF}

/* Recursos y carpetas con candado */
.sub-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.chip.cand-chip{gap:5px;background:#F3F0FF;color:#5B3FC4}
.recursos-pie{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:28px;align-items:start}
h2.s.s0{margin-top:0}
.candado-info .note{margin:0 0 10px;line-height:1.55}
.candado-ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#F3F0FF;color:#5B3FC4;margin-bottom:12px}
.candado-caja{text-align:center;margin:40px auto}
.candado-caja .candado-ico{margin:0 auto 14px}
.candado-caja form{text-align:left;margin-top:18px}
.node .cand{color:#5B3FC4;flex:none;margin-left:2px}
.gestion{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.gestion input[name=nombre]{font:500 14px Inter,sans-serif;border:0;border-radius:var(--radio);background:var(--fondo);padding:10px 12px;min-height:40px;flex:1;min-width:160px;color:var(--tinta);box-shadow:inset 0 0 0 1px #E1E8F0}
html.oscuro .chip.cand-chip,html.oscuro .candado-ico{background:#2A2346;color:#C9BDFF}
html.oscuro .node .cand{color:#C9BDFF}
html.oscuro .gestion input[name=nombre]{box-shadow:inset 0 0 0 1px #2B3A4A}

/* Calidad y seguridad */
.cal-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 0 14px}
.cal-hd h2.s{margin:0}
.cal-total{display:inline-flex;align-items:center;gap:8px;font:600 13px Inter,sans-serif;padding:7px 12px;border-radius:8px;background:#FFF6D6;color:#6B4E00}
.cal-total.ok{background:#EBF8F2;color:#1F6E51}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.bento.dos{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.check{padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.check-hd{display:flex;align-items:center;justify-content:space-between}
.check-ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:#EEF5FF;color:#0077FF;flex:none}
.bento .check-ico{margin-bottom:12px}
.check-t{font:700 15.5px Montserrat,sans-serif;color:var(--tinta);margin:4px 0 0;line-height:1.3}
.check-d{font-size:14px;line-height:1.6;color:var(--texto);margin:6px 0 0}
.check-d.ancho{max-width:820px;margin-bottom:16px}
.estado{font:600 12px Inter,sans-serif;padding:5px 10px;border-radius:6px}
.estado.ok{background:#EBF8F2;color:#1F6E51}.estado.ko{background:#FDECEC;color:#8A1C1C}.estado.nd{background:#F1F4F8;color:#5A6B7D}
.reqs{padding:4px 0}
.req{display:grid;grid-template-columns:28px 1fr auto;gap:14px;align-items:center;padding:14px 20px}
.req+.req{box-shadow:0 -1px 0 #EEF2F6}
.req-ok{display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;background:#EBF8F2;color:#1F6E51}
.req-t{font-weight:600;color:var(--tinta);margin:0;font-size:14.5px}
.req-d{margin:2px 0 0;font-size:13.5px;color:var(--suave);line-height:1.5}
.bento{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;align-items:start}
.bento a:not(.btn){color:var(--enlace)}
.cal-pie{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:32px}

/* Quiénes somos */
.equipo{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.persona-hd{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.persona .av{width:56px;height:56px;font-size:17px;flex:none}
.persona-n{font:700 17px Montserrat,sans-serif;color:var(--tinta);margin:0}
.persona-c{margin:2px 0 0;font-size:13.5px;color:var(--suave)}
.persona .chips{margin:12px 0 0}
.lentes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.lente .chips{margin:8px 0 0}
.lente-n{font:800 28px Montserrat,sans-serif;line-height:1;background:var(--degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
.historia{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;counter-reset:h}
.historia li{background:var(--panel);border-radius:var(--radio);padding:18px 20px;box-shadow:var(--sombra)}
.hist-a{font:800 22px Montserrat,sans-serif;background:var(--degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
.hist-t{font-weight:600;color:var(--tinta);margin:6px 0 4px}
.hist-d{margin:0;font-size:13.5px;line-height:1.55;color:var(--suave)}
.cita-grande{font:700 clamp(20px,2.4vw,26px)/1.3 Montserrat,sans-serif;color:var(--tinta);margin:0 0 18px;max-width:820px}
.valores{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.lista-si,.lista-no{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.5}
.lista-si li,.lista-no li{display:flex;gap:10px;align-items:flex-start}
.lista-si svg{color:#1F9E6E;flex:none;margin-top:2px}.lista-no svg{color:#C2414F;flex:none;margin-top:2px}
.ia-etica .btn{margin-top:14px}
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.cifras>div{display:flex;flex-direction:column;gap:4px}
.cifra{font:800 clamp(34px,4vw,46px)/1.05 Montserrat,sans-serif;background:var(--degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
.contacto{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.contacto p{margin:0;display:flex;flex-direction:column;gap:4px;font-size:14.5px}
.contacto a{color:var(--enlace)}

/* Pie */
.pie{margin-top:56px;padding:22px 0 8px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;font-size:13px;color:var(--suave);box-shadow:0 -1px 0 #E6ECF2}
.sellos{display:flex;flex-wrap:wrap;gap:8px;text-decoration:none}
.sello{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:#F1F7FE;color:#35506B;font-weight:500;font-size:12.5px}
.sello svg{color:#0077FF}
.sellos:hover .sello{background:#E6F0FC}
.pie-nav{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.pie-nav a{color:var(--suave);text-decoration:none}
.pie-nav a:hover{color:var(--azul)}
.pie-nav .sep{color:#C5D0DC}

html.oscuro .check-ico{background:#14263E;color:#8DC2FF}
html.oscuro .estado.ok,html.oscuro .cal-total.ok,html.oscuro .req-ok{background:#12302A;color:#7FE0B9}
html.oscuro .estado.ko{background:#3A1A1A;color:#F3A3A3}
html.oscuro .estado.nd{background:#1C2A38;color:#B9CCE0}
html.oscuro .cal-total{background:#3A3214;color:#F2D58A}
html.oscuro .req+.req{box-shadow:0 -1px 0 #22303D}
html.oscuro .pie{box-shadow:0 -1px 0 #22303D}
html.oscuro .sello{background:#1C2A38;color:#B9CCE0}
html.oscuro .sello svg{color:#8DC2FF}
html.oscuro .sellos:hover .sello{background:#23354A}
html.oscuro .pie-nav .sep{color:#3A4A5A}
html.oscuro .lista-si svg{color:#7FE0B9}html.oscuro .lista-no svg{color:#F3A3A3}
.bento .btn{margin-top:12px}

/* Asistente: modo H3™ por lentes */
.ia-modo{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;max-width:720px}
.ia-modo legend{font-size:13px;color:var(--suave);margin-bottom:6px;padding:0}
.modo-op{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radio);background:var(--fondo);cursor:pointer;box-shadow:inset 0 0 0 1px #E1E8F0}
.modo-op input{accent-color:var(--azul);margin-top:3px;flex:none}
.modo-op span{display:flex;flex-direction:column;gap:2px}
.modo-op b{font-weight:600;color:var(--tinta);font-size:14px}
.modo-op small{font-size:12.5px;color:var(--suave)}
.modo-op:has(input:checked){background:#EEF5FF;box-shadow:inset 0 0 0 2px var(--azul)}
.ia-texto h3.h3-lente{display:inline-block;padding:5px 10px;border-radius:6px;font-size:14px;margin-top:20px}
.ia-texto h3.qual{background:#EBF8F2;color:#1F6E51}
.ia-texto h3.soc{background:#FFF1F3;color:#A33B47}
.ia-texto h3.quant{background:#EEF5FF;color:#0058C7}
.ia-texto h3.coinc,.ia-texto h3.diverg{background:#F1F4F8;color:#35506B}
.ia-texto h4{font:600 14px Montserrat,sans-serif;margin:16px 0 8px;color:var(--tinta)}
.ia-texto h4.h3-lente{display:inline-block;padding:4px 10px;border-radius:6px;font-size:13.5px;margin-top:14px}
.ia-texto h4.coinc{background:#EBF8F2;color:#1F6E51}
.ia-texto h4.diverg{background:#FFF6E5;color:#8A5A00}
.ia-texto h3.h3m{display:flex;width:100%;box-sizing:border-box;padding:10px 14px;margin-top:28px;border-radius:8px;font-size:15px;color:#fff;background:linear-gradient(90deg,#1F6E51,#A33B47 50%,#0058C7)}
html.oscuro .modo-op{box-shadow:inset 0 0 0 1px #2A3846}
html.oscuro .modo-op:has(input:checked){background:#14263E;box-shadow:inset 0 0 0 2px #4D9DFF}
html.oscuro .ia-texto h3.qual{background:#12302A;color:#7FE0B9}
html.oscuro .ia-texto h3.soc{background:#3A1E24;color:#F6A9B3}
html.oscuro .ia-texto h3.quant{background:#14263E;color:#8DC2FF}
html.oscuro .ia-texto h3.coinc,html.oscuro .ia-texto h3.diverg{background:#1C2A38;color:#B9CCE0}
html.oscuro .ia-texto h4.coinc{background:#12302A;color:#7FE0B9}
html.oscuro .ia-texto h4.diverg{background:#3A2E14;color:#F2C86B}

/* ¿Qué sabemos ya? (formulario de solicitud) */
.previo{margin:4px 0 22px;padding:18px 20px;border-radius:var(--radio);background:var(--fondo)}
.previo-hd{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}
.previo-hd .note{margin:4px 0 0;max-width:720px}
.previo .ia-respuesta{background:var(--panel)}
.previo-texto{white-space:pre-line}
.previo .ia-pasos li{display:block;padding-left:0}
.previo .ia-pasos li.vivo{color:var(--tinta)}
.previo .ia-pasos li.hecho{opacity:.7}

/* Hoja de cálculo en el visor: letras, números de fila y celda citada */
.hoja-calc .hc-l,.hoja-calc .hc-n,.hoja-calc .hc-esq{background:#F1F4F8;color:#8593A3;font:600 11.5px Inter,sans-serif;text-align:center;min-width:34px}
.hoja-calc .hc-n{position:sticky;left:0}
.hoja-calc .celda-on{background:#FFF6D6;box-shadow:inset 0 0 0 2px #E0A800;color:var(--tinta);font-weight:600}
.celda-aviso{margin:8px 0}
.cita .celda,.ia-texto .cita .celda{font-size:.82em;margin-left:3px;opacity:.85}
html.oscuro .hoja-calc .hc-l,html.oscuro .hoja-calc .hc-n,html.oscuro .hoja-calc .hc-esq{background:#1C2A38;color:#8593A3}
html.oscuro .hoja-calc .celda-on{background:#3A3214;box-shadow:inset 0 0 0 2px #C9A227;color:#fff}

/* Ordenar la tabla de activaciones */
.orden-barra{display:flex;justify-content:flex-end;margin:0 0 10px}
.orden-sel{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--suave)}
.orden-sel select{font:500 13.5px Inter,sans-serif;border:0;border-radius:var(--radio);background-color:var(--panel);padding:8px 34px 8px 12px;min-height:38px;color:var(--tinta);box-shadow:var(--sombra)}
.hd-ord{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:none;border:0;padding:4px 0;text-align:left;cursor:default;display:inline-flex;align-items:center;gap:6px;justify-self:start}
.hd-num.hd-ord{justify-self:center}
.ordenable .hd-ord{cursor:pointer}
.ordenable .hd-ord:hover{color:var(--azul)}
.ordenable .hd-ord::after{content:"";width:8px;height:8px;opacity:0;background:url("../img/chevron.2718a306c5e5.svg") center/8px no-repeat;transition:transform .15s}
.ordenable .hd-ord.on{color:var(--tinta)}
.ordenable .hd-ord.on::after{opacity:1;transform:rotate(180deg)}
.ordenable .hd-ord.on.desc::after{transform:none}
html.oscuro .ordenable .hd-ord.on::after{background-image:url("../img/chevron-claro.91c434f4eebb.svg")}

/* Ficha de cierre */
.ficha-cierre{margin:22px 0}
.fc-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.fc-hd .note{margin:4px 0 0;max-width:720px}
.fc-fuentes,.fc-editar{margin-top:14px}
.fc-fuentes summary,.fc-editar summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--enlace)}
.fc-texto{width:100%;font:400 14px/1.55 Inter,sans-serif;border:0;border-radius:var(--radio);background:var(--fondo);padding:12px 14px;color:var(--tinta);box-shadow:inset 0 0 0 1px #E1E8F0;margin-top:8px}
html.oscuro .fc-texto{box-shadow:inset 0 0 0 1px #2A3846}

/* Laboratorio de datos */
.lab{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
.lab-filtros{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
.lab-fhd{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.lab-f{border:0;padding:0;margin:14px 0 0}
.lab-f legend{font-weight:600;font-size:13px;color:var(--tinta);margin-bottom:6px;padding:0}
.lab-op{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--texto);padding:3px 0;cursor:pointer}
.lab-op input{accent-color:var(--azul);width:16px;height:16px;flex:none}
.lab-mas{margin-top:14px}
.lab-mas summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--enlace)}
.lab-ctrl{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.lab-campo{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--suave)}
.lab-campo select{font:500 14px Inter,sans-serif;border:0;border-radius:var(--radio);background-color:var(--fondo);padding:10px 36px 10px 12px;min-height:42px;color:var(--tinta);box-shadow:inset 0 0 0 1px #E1E8F0;width:100%}
.lab-estado{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.lab-tabla{margin-bottom:16px}
.lab-thd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.lab-grid th[scope=row]{font-weight:500;color:var(--texto);text-align:left;min-width:220px}
.lab-grid thead th{white-space:normal;vertical-align:bottom}
.lab-base td,.lab-base th{color:var(--suave);font-size:12.5px}
.lab-base .baja{color:#B26A00}
.lab-grid .resumen th,.lab-grid .resumen td{font-weight:600;background:var(--fondo)}
.lab-grid .sig{font-size:10px;margin-left:4px}
.lab-grid .sig-mas{color:#1F6E51;font-weight:600}
.lab-grid .sig-menos{color:#A33B47;font-weight:600}
.lab-nota{margin:10px 0 0}
.lab-avisos{margin-top:16px}
.lab-avisos summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--enlace)}
.lab-avisos li{font-size:13.5px;margin:4px 0}
.lab-avisos .av-error{color:#A33B47}
.lab.calculando .lab-main{opacity:.55;transition:opacity .2s}
.lab-aviso{display:flex;gap:14px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.lab-aviso>div{flex:1;min-width:220px}
.lab-aviso .note{margin:2px 0 0}
html.oscuro .lab-campo select{box-shadow:inset 0 0 0 1px #2A3846}
html.oscuro .lab-grid .sig-mas{color:#7FE0B9}
html.oscuro .lab-grid .sig-menos{color:#F6A9B3}
@media (max-width:900px){.lab{grid-template-columns:1fr}.lab-filtros{position:static;max-height:none}}

/* Menú lateral: logo centrado, a Quiénes somos, y tooltips con el menú plegado */
.by{justify-content:center;text-decoration:none;border-radius:var(--radio);transition:background .15s}
.by:hover{background:var(--hover)}
.menu-plegado .brand{display:none}
.menu-plegado .side-hd{padding-bottom:10px}
.menu-plegado .nav,.menu-plegado .by{position:relative}
.menu-plegado .nav[data-tip]:hover::after,.menu-plegado .nav[data-tip]:focus-visible::after,
.menu-plegado .by[data-tip]:hover::after,.menu-plegado .by[data-tip]:focus-visible::after{
  content:attr(data-tip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);
  white-space:nowrap;background:#0F1A24;color:#fff;font:600 12.5px Inter,sans-serif;padding:7px 10px;border-radius:6px;
  box-shadow:0 6px 18px rgba(15,26,31,.25);z-index:60;pointer-events:none}
.menu-plegado .nav[data-tip]:hover::before,.menu-plegado .by[data-tip]:hover::before{
  content:"";position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:#0F1A24;z-index:60}
html.oscuro.menu-plegado .nav[data-tip]:hover::after,html.oscuro.menu-plegado .by[data-tip]:hover::after{background:#E6EEF7;color:#0F1A24}
html.oscuro.menu-plegado .nav[data-tip]:hover::before,html.oscuro.menu-plegado .by[data-tip]:hover::before{border-right-color:#E6EEF7}

/* Traducción de archivos */
.trad-barra{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 14px}
.trad-form{display:flex;align-items:center;gap:8px}
.trad-form select{font:500 13.5px Inter,sans-serif;border:0;border-radius:var(--radio);background-color:var(--panel);padding:7px 32px 7px 10px;min-height:36px;color:var(--tinta);box-shadow:var(--sombra)}
.trad-barra a{color:var(--enlace)}
.trad-motivo{flex-basis:100%}
.trad{margin-bottom:16px}
.trad-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.trad-hd .note{margin:4px 0 0;max-width:640px}
.trad-bloques{max-height:70vh;overflow:auto;padding-right:6px}
.trad-b{padding:10px 0;box-shadow:0 -1px 0 #EEF2F6}
.trad-b:first-child{box-shadow:none}
.trad-b p{margin:4px 0 0;white-space:pre-line;line-height:1.6;font-size:14.5px}
.trad-donde{font:600 12px Inter,sans-serif;color:var(--enlace);text-decoration:none}
.trad-progreso progress{width:100%;height:8px;accent-color:var(--azul)}
html.oscuro .trad-b{box-shadow:0 -1px 0 #22303D}

/* Selector de idioma */

/* Transcripción sincronizada con el audio o el vídeo */
.sinc-hd h2{font:600 16px Montserrat,sans-serif;margin:0 0 4px;color:var(--tinta)}
.sinc-hd .note{margin:0 0 12px}
.sinc-lista{list-style:none;margin:0;padding:0;max-height:440px;overflow-y:auto;position:relative}
.sinc-lista li{display:flex;gap:12px;align-items:flex-start;padding:8px 10px;border-radius:8px}
.sinc-lista li p{margin:0;font-size:14.5px;line-height:1.55;color:var(--cuerpo,#374151)}
.sinc-lista li b{font-weight:600;color:var(--tinta)}
.sinc-t{flex:none;min-width:52px;padding:3px 8px;border:0;border-radius:6px;background:#EEF5FF;color:#0058C7;font:600 12.5px Inter,sans-serif;cursor:pointer;font-variant-numeric:tabular-nums}
.sinc-t:hover{background:#DCEBFF}
.sinc-lista li.on{background:#EBF8F2}
.sinc-lista li.on .sinc-t{background:#3CC492;color:#fff}
html.oscuro .sinc-t{background:#14263E;color:#8DC2FF}
html.oscuro .sinc-lista li.on{background:#12302A}
html.oscuro .sinc-lista li p{color:#C9D3DE}

/* Laboratorio H3 */
.lab-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 0}
.lab-hd h2.s{margin:0}
.lab-acciones{margin:4px 0 8px}
.cc0{--c:#0077FF}.cc1{--c:#3CC492}.cc2{--c:#E86F7E}.cc3{--c:#7C5CE0}.cc4{--c:#F0A020}.cc5{--c:#0E8A9E}.cc6{--c:#C65E91}.cc7{--c:#668D2F}.cc8{--c:#D85A30}.cc9{--c:#534AB7}
.cod{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:6px;font:600 12.5px Inter,sans-serif;text-decoration:none;
  background:color-mix(in srgb,var(--c) 15%,#fff);color:color-mix(in srgb,var(--c) 72%,#0F1A1F);line-height:1.4}
a.cod:hover{background:color-mix(in srgb,var(--c) 24%,#fff)}
.cod i{font-style:normal;font-weight:500;opacity:.8}
.cod.grande{font-size:inherit;padding:2px 12px;border-radius:8px}
.cod.propuesta{background:transparent;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c) 60%,#fff)}
.cod-x{border:0;background:transparent;color:inherit;font:600 14px/1 Inter,sans-serif;cursor:pointer;padding:0 0 0 2px;opacity:.7}
.cod-x:hover{opacity:1}
.cod-arbol{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:10px}
.cod-arbol li{display:block}
.cod-arbol ul{list-style:none;margin:8px 0 0 16px;padding:0 0 0 10px;display:flex;flex-direction:column;gap:8px;border-left:1px solid color-mix(in srgb,var(--tenue) 30%,transparent)}
.cod-fila{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cod-fila .cod{min-width:0}
.cod-n{white-space:nowrap;font-size:12.5px;color:var(--tenue);font-variant-numeric:tabular-nums}
.cod-nuevo summary,.borrar-proy summary{cursor:pointer;font-weight:600;font-size:14px;color:#0A4A8F}
.cod-form{margin-top:12px}
.cod-form textarea{min-height:70px}
.h3p{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.h3p-lado{position:sticky;top:16px}
.h3p-lente{font:600 14px Montserrat,sans-serif;color:var(--suave);margin:18px 0 10px}
.fuentes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.fuentes-act{margin-bottom:14px}
.fuentes-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.fuente-op{display:grid;grid-template-columns:22px 1fr;column-gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer}
.fuente-op:hover{background:var(--fondo)}
.fuente-op input{grid-row:1/3;width:18px;height:18px;margin-top:2px;accent-color:var(--azul)}
/* Elegir fuentes: casilla, icono del tipo y texto */
.vistas .fuente-op{grid-template-columns:20px 40px minmax(0,1fr);align-items:center;column-gap:12px;padding:10px 12px;background:var(--panel);box-shadow:inset 0 0 0 1px #E6ECF2;transition:background .15s,box-shadow .15s}
.vistas .fuente-op input{grid-row:auto;margin:0}
.vistas .fuente-op:hover{background:color-mix(in srgb,var(--tt) 45%,var(--panel))}
.vistas .fuente-op:has(input:checked){background:color-mix(in srgb,var(--tt) 75%,var(--panel));box-shadow:inset 0 0 0 2px var(--tc)}
.fo-cuerpo{display:flex;flex-direction:column;gap:2px;min-width:0}
.fo-meta{overflow:hidden;text-overflow:ellipsis}
.fb-bloque{margin-top:16px}
.fb-tit{display:flex;align-items:center;gap:8px;margin:0 0 8px;font:700 12px Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue)}
.vistas .fuentes-lista{gap:6px}
.fo-t{font-weight:500;color:var(--tinta)}
.barra-fija{position:sticky;bottom:0;padding:12px 0;background:linear-gradient(0deg,var(--fondo) 70%,transparent)}
.btn.peligro{color:#B42318;background:#FDECEA}
.cod-caso{margin-bottom:14px}
.citas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.citas li{display:flex;gap:12px;align-items:flex-start}
.citas blockquote,.sel-actual blockquote{margin:0;font-size:14.5px;line-height:1.55;color:var(--cuerpo,#374151)}
a.sinc-t{text-decoration:none;display:inline-block;text-align:center}
.fld.colores{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0 0 16px}
.colores legend{font-size:13px;font-weight:600;color:#35506B;margin-bottom:6px;padding:0}
.color-op{width:28px;height:28px;border-radius:6px;background:var(--c);cursor:pointer;display:grid;place-items:center}
.fld .color-op input{appearance:none;-webkit-appearance:none;width:10px;height:10px;min-height:0;margin:0;padding:0;border-radius:50%;background:transparent;box-shadow:none}
.fld .color-op input:checked{background:#fff}
.color-op:has(input:checked){box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--c)}
.color-op:has(input:focus-visible){outline:2px solid var(--tinta);outline-offset:2px}
.h3w-hd{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px;margin-bottom:14px}
.h3w-hd>div:first-child{min-width:0;flex:1 1 320px}
.h3w-hd h1.h{margin:0}
.h3w-otra select{min-width:260px;font:500 14px Inter,sans-serif;border:0;border-radius:8px;padding:10px 12px;background:var(--panel);box-shadow:var(--sombra)}
.h3w{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.h3w-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.h3w-medio{margin:0}
.h3w-trans .sinc-lista{max-height:calc(100vh - 160px);min-height:320px}
.h3w-lista li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px;border-radius:8px}
.h3w-lista li.sel{box-shadow:inset 0 0 0 2px var(--azul)}
.u-texto{margin:0;font-size:14.5px;line-height:1.6;color:var(--cuerpo,#374151)}
.u-texto b{color:var(--tinta)}
.u-cods{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.u-cods:empty{display:none}
.u-botones{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s}
.h3w-lista li:hover .u-botones,.h3w-lista li.sel .u-botones,.h3w-lista li.editando .u-botones,.u-botones:focus-within{opacity:1}
.sinc-t.donde{background:#F1F4F8;color:#35506B;cursor:default}
.h3w-lado{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding-bottom:4px}
.h3w-panel h2.s{font-size:16px}
.sel-actual{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#EEF5FF}
.sel-actual .note{margin:0 0 4px}
.cod-checks{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}
.cod-check{display:flex;align-items:center;gap:10px;cursor:pointer}
.cod-check.hijo{margin-left:22px}
.cod-check input{width:18px;height:18px;accent-color:var(--azul);margin:0;flex:none}
.aviso-js{margin:0 0 10px;padding:8px 12px;border-radius:8px;background:#FDECEA;color:#912018;font-size:13.5px}
.clip-marcas{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
.clip-marcas .row{flex-wrap:nowrap;gap:6px}
.clip-marcas input{width:100%;min-width:0}
.enlace{border:0;background:none;padding:0;color:var(--enlace);font:inherit;cursor:pointer;text-decoration:underline}
html.oscuro .cod{background:color-mix(in srgb,var(--c) 26%,#16202A);color:color-mix(in srgb,var(--c) 45%,#fff)}
html.oscuro .sel-actual{background:#14263E}
html.oscuro .citas blockquote,html.oscuro .sel-actual blockquote,html.oscuro .u-texto{color:#C9D3DE}
html.oscuro .colores legend{color:#B9CCE0}
html.oscuro .sinc-t.donde{background:#1C2A38;color:#B9CCE0}
html.oscuro .btn.peligro{background:#3A1E1E;color:#F6A9A3}
@media (max-width:1100px){.h3w,.h3p{grid-template-columns:1fr}.h3w-lado,.h3p-lado{position:static;max-height:none}}
@media (max-width:640px){.h3w-otra,.h3w-otra select{width:100%;min-width:0}.h3w-lista li{grid-template-columns:auto minmax(0,1fr)}.h3w-lista .u-botones{grid-column:2;justify-self:start;opacity:1}.clip-marcas{grid-template-columns:1fr}}
/* Partes codificadas dentro de un turno */
.cod-marca{background:color-mix(in srgb,var(--c,#0077FF) 22%,transparent);color:inherit;border-radius:3px;padding:0 1px;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--c,#0077FF) 70%,transparent)}
.cod-marca.varios{--c:#7C8A99}
.h3w .cod-checks{max-height:min(52vh,560px);overflow:auto;padding-right:4px}
/* Subtítulos: caja legible, con aire a los lados (el ancho lo fija el propio subtítulo al 80 %) */
video::cue{background:rgba(15,26,31,.78);color:#fff;font-family:Inter,system-ui,sans-serif;line-height:1.35}

/* ---- Laboratorio H3: listas de clips y memos -------------------------------------------------- */
.lista-clips,.lista-memos{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column}
.clip-item,.memo-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:start;padding:14px 0;border-top:1px solid #E6ECF2}
.lista-clips>.clip-item:first-of-type,.lista-memos>.memo-item:first-child,.vacio-lista+.clip-item{border-top:0;padding-top:4px}
.clip-cuerpo,.memo-cuerpo{min-width:0;display:flex;flex-direction:column;gap:3px}
.clip-cuerpo p,.memo-cuerpo p{margin:2px 0 0;font-size:14px;line-height:1.5;color:var(--texto)}
.clip-tit{font-weight:600;color:var(--tinta);line-height:1.35}
.clip-t,.memo-t{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:5px 11px;font:600 12.5px Inter,sans-serif;
  white-space:nowrap;cursor:pointer;text-decoration:none;font-variant-numeric:tabular-nums}
.clip-t{background:linear-gradient(90deg,#E5F1FF,#DDFBF3);color:#0A5C55;box-shadow:inset 0 0 0 1px #9BE3D3}
.clip-t:hover{background:linear-gradient(90deg,#D3E8FF,#C9F6EA);color:#07423D}
.memo-t{background:#FFF3D6;color:#7A4B00;box-shadow:inset 0 0 0 1px #F5D28A}
.memo-t:hover{background:#FFE9B5;color:#5C3800}
.memo-t.sin{cursor:default}
.clip-acc{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:13px}
.clip-acc .enlace{font-size:13px}
.vacio-lista{padding:6px 0}
.descargar-todos{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #E6ECF2}
.cuenta{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:var(--activo);color:#0A4A8F;font:600 12px Inter,sans-serif;vertical-align:middle}
.h3p-lista{padding:6px 24px 10px}
html.oscuro .clip-item,html.oscuro .memo-item,html.oscuro .descargar-todos{border-color:#2A3846}
html.oscuro .clip-cuerpo p,html.oscuro .memo-cuerpo p{color:#C9D3DE}
html.oscuro .clip-t{background:linear-gradient(90deg,#10294A,#0E3A35);color:#8EF0DA;box-shadow:inset 0 0 0 1px #1F5A52}
html.oscuro .memo-t{background:#3A2C10;color:#FFD27A;box-shadow:inset 0 0 0 1px #6B4F12}
html.oscuro .cuenta{background:#1C2A38;color:#B9CCE0}

/* ---- Acordeón de la columna lateral ----------------------------------------------------------- */
.acord{padding:0}
.acord>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 22px;border-radius:var(--radio)}
.acord>summary::-webkit-details-marker{display:none}
.acord>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--tenue);border-bottom:2px solid var(--tenue);transform:rotate(45deg);margin:-4px 4px 0 0;transition:transform .2s;flex:none}
.acord[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.acord>summary:hover{background:var(--hover)}
.acord>summary:focus-visible{outline:2px solid var(--azul);outline-offset:-2px}
.acord-cuerpo{padding:0 22px 20px}
html.oscuro .acord>summary:hover{background:#1A2633}

/* ---- Reproductor con pista ---------------------------------------------------------------------- */
.h3w-reproductor{overflow:visible}
.h3w-reproductor .h3w-medio{border-radius:var(--radio) var(--radio) 0 0;overflow:hidden}
.h3w-reproductor audio{width:100%}
.pista{position:relative;padding:12px 18px 16px;border-top:1px solid #E6ECF2}
.pista-barra{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:10px}
.pista-reloj{font:600 13px Inter,sans-serif;font-variant-numeric:tabular-nums;color:var(--tinta);min-width:92px}
.pista-filtros{display:flex;gap:6px;flex-wrap:wrap}
.pf{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--fondo);font-size:12.5px;font-weight:500;color:var(--suave);cursor:pointer;user-select:none}
.pf input{width:14px;height:14px;margin:0;accent-color:var(--azul)}
.pf span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.pf-clips span::before{background:linear-gradient(90deg,#0077FF,#00C9A0)}
.pf-memos span::before{background:#FFB020;border-radius:50%}
.pf-cods span::before{background:conic-gradient(#0077FF 0 25%,#3CC492 0 50%,#E86F7E 0 75%,#F0A020 0)}
.pista-acc{display:flex;gap:6px;margin-left:auto}
.pista-acc .btn{min-height:34px;padding:0 12px;font-size:13px}
.pista-zona{position:relative;cursor:pointer;user-select:none;padding-top:18px}
.pista-regla{position:absolute;inset:0 0 auto 76px;height:16px}
.pr-marca{position:absolute;top:0;transform:translateX(-50%);font:500 10.5px Inter,sans-serif;color:var(--tenue);font-variant-numeric:tabular-nums}
.pr-marca:first-child{transform:none}
.pr-marca.ult{transform:translateX(-100%)}
.pista-carril{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;min-height:26px;border-top:1px dashed #E3E9F0}
.pista-etq{font:600 11px Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--tenue)}
.pista-fila{position:relative;height:26px;z-index:1}
.pista-carril[data-carril="clips"] .pista-fila{height:34px}
.pista-sobre.fondo{z-index:0}
.pr-linea{position:absolute;top:0;bottom:0;width:1px;background:#EBF0F5}
.pista-cods{height:calc(var(--filas,1) * 9px + 8px)}
.pista-cods.filas-1{--filas:1}.pista-cods.filas-2{--filas:2}.pista-cods.filas-3{--filas:3}.pista-cods.filas-4{--filas:4}
/* La selección, el cabezal y los tramos se colocan sobre la zona de los carriles (tras la etiqueta) */
.pista-sobre{position:absolute;top:18px;bottom:0;left:76px;right:0;pointer-events:none}
.pista-cabezal{position:absolute;top:0;bottom:0}
.pista-fila-caja{position:relative}
.pista-fila-caja .pista-sel{position:absolute;top:2px;bottom:2px}
.pista-cabezal{width:2px;margin-left:-1px;background:#0F1A1F;pointer-events:none;z-index:4}
.pista-cabezal::before{content:"";position:absolute;top:-6px;left:-4px;border:5px solid transparent;border-top-color:#0F1A1F}
.pista-sel{background:color-mix(in srgb,#00C9A0 16%,transparent);box-shadow:inset 0 0 0 2px #00B894;border-radius:4px;z-index:3;pointer-events:none}
.asa{position:absolute;top:-4px;bottom:-4px;width:12px;background:#00B894;border-radius:4px;cursor:ew-resize;pointer-events:auto;touch-action:none}
.asa.ini{left:-6px}.asa.fin{right:-6px}
.asa::after{content:"";position:absolute;inset:8px 5px;border-left:1px solid rgba(255,255,255,.8);border-right:1px solid rgba(255,255,255,.8)}
.pc-clip{position:absolute;bottom:4px;height:17px;border:0;padding:0;border-radius:3px;background:linear-gradient(90deg,#0077FF,#00C9A0);cursor:pointer;opacity:.95;overflow:visible}
.pc-tit{position:absolute;inset:0 8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:600 10.5px/17px Inter,sans-serif;color:#fff;text-align:left;pointer-events:none}
.pc-clip:hover{opacity:1;box-shadow:0 0 0 2px color-mix(in srgb,#00C9A0 35%,transparent)}
/* Banderitas de entrada (azul) y salida (verde): mástil sobre el clip y bandera arriba */
.pc-ban{position:absolute;bottom:0;width:2px;height:30px;background:#0F1A1F;border-radius:1px}
.pc-ban::after{content:"";position:absolute;top:0;width:11px;height:9px}
.pc-ban.ini{left:-1px}.pc-ban.ini::after{left:2px;background:#0077FF;clip-path:polygon(0 0,100% 0,72% 50%,100% 100%,0 100%)}
.pc-ban.fin{right:-1px}.pc-ban.fin::after{right:2px;background:#00B894;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,28% 50%)}
.pm-memo{position:absolute;top:5px;width:14px;height:14px;margin-left:-7px;border:2px solid #fff;border-radius:50% 50% 50% 2px;transform:rotate(-45deg);background:#FFB020;box-shadow:0 1px 3px rgba(15,26,31,.35);padding:0;cursor:pointer}
.pm-memo:hover{background:#FF9500;transform:rotate(-45deg) scale(1.18)}
.pt-tramo{position:absolute;height:7px;border:0;padding:0;border-radius:2px;background:var(--c);cursor:pointer;opacity:.85}
.pt-tramo:hover{opacity:1;box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 40%,transparent)}
.pt-tramo.varios{background:repeating-linear-gradient(135deg,var(--c) 0 4px,color-mix(in srgb,var(--c) 55%,#fff) 4px 6px)}
.pt-tramo.f0{top:4px}.pt-tramo.f1{top:13px}.pt-tramo.f2{top:22px}.pt-tramo.f3{top:31px}
.oculta-clips [data-carril="clips"],.oculta-memos [data-carril="memos"],.oculta-tramos [data-carril="tramos"]{display:none}
.pista-tip{position:absolute;z-index:10;max-width:340px;padding:9px 12px;border-radius:8px;background:#0F1A1F;color:#E8EEF4;font-size:12.5px;line-height:1.45;
  box-shadow:0 10px 24px -8px rgba(15,26,31,.5);pointer-events:none;display:flex;flex-direction:column;gap:2px;white-space:pre-line}
.pista-tip b{color:#fff;font-weight:600}
.clip-editor{margin-top:14px;padding:14px 16px 6px;border-radius:var(--radio);background:color-mix(in srgb,#00C9A0 7%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,#00B894 40%,transparent)}
.ce-fila{display:grid;grid-template-columns:150px 150px minmax(0,1fr);gap:0 12px}
.clip-editor .row{gap:6px;flex-wrap:nowrap}
.clip-editor .fld input{min-width:0;width:100%}
.clip-editor>.row{flex-wrap:wrap;align-items:center;margin-bottom:10px}
.h3w-lista li.destello{box-shadow:inset 0 0 0 2px #00B894;background:color-mix(in srgb,#00C9A0 9%,transparent)}
html.oscuro .pista{border-color:#2A3846}
html.oscuro .pista-carril{border-color:#24323F}
html.oscuro .pr-linea{background:#1F2B37}
html.oscuro .pista-cabezal{background:#E8EEF4}
html.oscuro .pista-cabezal::before{border-top-color:#E8EEF4}
html.oscuro .pc-ban{background:#E8EEF4}
html.oscuro .pm-memo{border-color:#16202A}
html.oscuro .pf{background:#1A2633;color:#B9CCE0}
@media (max-width:760px){.pista-acc{margin-left:0;width:100%}.ce-fila{grid-template-columns:1fr 1fr}.ce-tit{grid-column:1/-1}.pista-carril{grid-template-columns:64px minmax(0,1fr)}.pista-regla,.pista-sobre{left:64px}.pista-etq{font-size:10px;letter-spacing:.02em}}
.h3p-tit{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:28px 0 12px}
.h3p-tit h2.s{margin:0}
.h3p-tit .row{gap:8px}
.h3p-lista{margin:0}
.acord>summary h2.s{margin:0}
.h3w-lado .clip-item,.h3w-lado .memo-item{grid-template-columns:1fr;gap:8px}
.h3w-lado .clip-t,.h3w-lado .memo-t{justify-self:start}
html.oscuro .cod-nuevo summary,html.oscuro .borrar-proy summary{color:#8EC2FA}

/* ---- Ayuda al pasar el ratón ------------------------------------------------------------------- */
.ayuda-flotante{position:fixed;z-index:1000;max-width:320px;padding:10px 13px;border-radius:9px;background:#0F1A1F;color:#E8EEF4;
  font:400 13px/1.5 Inter,system-ui,sans-serif;box-shadow:0 12px 28px -10px rgba(15,26,31,.55);pointer-events:none}
html.oscuro .ayuda-flotante{background:#E8EEF4;color:#0F1A1F}
.ayuda-i{display:inline-flex;vertical-align:-2px;margin-left:4px;color:var(--tenue);opacity:.7}
.acord>summary:hover .ayuda-i{opacity:1;color:var(--azul)}

/* ---- Botones pequeños con icono (descargar, editar, borrar) ----------------------------------- */
.btn-ico{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:0;border-radius:7px;background:var(--activo);color:#0A4A8F;
  font:600 12.5px Inter,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn-ico:hover{background:#DDEBFC;color:#073A73}
.btn-ico .ico-q{flex:none}
.btn-ico.peligro{background:#FDECEA;color:#B42318}
.btn-ico.peligro:hover{background:#FBD9D5}
.btn-ico.seguro,.mi.seguro{background:#B42318;color:#fff}
.clip-acc{gap:6px}
.btn .ico-q{flex:none}
html.oscuro .btn-ico{background:#16314F;color:#B9D7FA}
html.oscuro .btn-ico:hover{background:#1D3E63;color:#fff}
html.oscuro .btn-ico.peligro{background:#3A1E1E;color:#F6A9A3}

/* ---- Barra de la pista: grupo «Crear clip» y botón de memo ------------------------------------- */
.pista-acc{align-items:center;flex-wrap:wrap}
.grupo-clip{display:inline-flex;align-items:center;gap:6px;padding:4px 4px 4px 12px;border-radius:10px;
  background:color-mix(in srgb,#00C9A0 9%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,#00B894 38%,transparent)}
.grupo-t{display:inline-flex;align-items:center;gap:6px;font:700 12px Inter,sans-serif;color:#0A5C55;margin-right:4px;white-space:nowrap}
.grupo-clip .btn{background:var(--panel)}
.grupo-clip .btn:hover{background:#E3FAF4}
.btn-memo{background:#FFF3D6;color:#7A4B00;gap:7px}
.btn-memo:hover{background:#FFE9B5;color:#5C3800}
/* El icono del memo se dibuja al pasar el ratón */
.btn-memo .ico-q path{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .5s ease}
.btn-memo:hover .ico-q path{animation:dibujar .7s ease both}
@keyframes dibujar{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
html.oscuro .grupo-clip{background:#0F2A27;box-shadow:inset 0 0 0 1px #1F5A52}
html.oscuro .grupo-t{color:#8EF0DA}
html.oscuro .grupo-clip .btn{background:#16202A;color:#B9D7FA}
html.oscuro .btn-memo{background:#3A2C10;color:#FFD27A}
.ce-cab{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13.5px;color:#0A5C55;margin-bottom:12px}
.ce-cab .note{color:var(--tenue);font-size:12.5px}
html.oscuro .ce-cab{color:#8EF0DA}

/* ---- Menú de cada elemento de la pista -------------------------------------------------------- */
.pista-menu{position:absolute;z-index:12;width:290px;max-width:calc(100% - 16px);padding:6px;border-radius:10px;background:var(--panel);
  box-shadow:0 16px 36px -12px rgba(15,26,31,.45),0 0 0 1px #E1E8F0;display:flex;flex-direction:column}
.pm-cab{display:flex;flex-direction:column;gap:1px;padding:8px 10px 6px}
.pm-cab b{font-size:13.5px;color:var(--tinta);line-height:1.35}
.pm-cab span{font-size:12px;color:var(--tenue)}
.pm-texto{margin:0 10px 6px;font-size:12.5px;line-height:1.45;color:var(--suave);max-height:96px;overflow:auto}
.mi{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:7px;background:none;font:500 13px Inter,sans-serif;
  color:var(--texto);text-align:left;text-decoration:none;cursor:pointer}
.mi:hover,.mi:focus-visible{background:var(--hover);color:var(--tinta);outline:none}
.mi.peligro{color:#B42318}
.mi.peligro:hover{background:#FDECEA}
.mi-ico{display:inline-flex;color:var(--tenue)}
.mi:hover .mi-ico{color:currentColor}
html.oscuro .pista-menu{box-shadow:0 16px 36px -12px rgba(0,0,0,.6),0 0 0 1px #2A3846}
html.oscuro .mi:hover{background:#1A2633}
html.oscuro .mi.peligro{color:#F6A9A3}
html.oscuro .mi.peligro:hover{background:#3A1E1E}

/* ---- Editor de memos en la pista -------------------------------------------------------------- */
.memo-editor{margin-top:14px;padding:12px 16px 4px;border-radius:var(--radio);background:#FFFAEB;box-shadow:inset 0 0 0 1px #F5D28A}
.me-cab{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;color:#7A4B00;font-size:13.5px}
.me-cab .btn-ico{margin-left:auto}
.memo-editor .row{margin-bottom:10px}
.memo-edita{width:100%;margin:4px 0 6px;font:inherit;border:0;border-radius:8px;padding:8px 10px;box-shadow:inset 0 0 0 1px #E1E8F0}
html.oscuro .memo-editor{background:#2A2210;box-shadow:inset 0 0 0 1px #6B4F12}
html.oscuro .me-cab{color:#FFD27A}
@media (max-width:760px){.grupo-clip{flex-wrap:wrap}.pista-acc{gap:8px}}

/* ---- Códigos del panel: fila con botón de opciones y su menú ---------------------------------- */
.cod-fila-check{display:flex;align-items:center;justify-content:space-between;gap:6px;border-radius:7px}
.cod-fila-check.hijo{margin-left:22px}
.cod-fila-check .cod-check.hijo{margin-left:0}
.cod-fila-check:hover{background:var(--hover)}
.cod-mas{flex:none;display:inline-grid;place-items:center;width:28px;height:26px;border:0;border-radius:6px;background:none;color:var(--tenue);cursor:pointer;opacity:0;transition:opacity .15s}
.cod-fila-check:hover .cod-mas,.cod-mas:focus-visible,.cod-mas[aria-expanded="true"]{opacity:1}
.cod-mas:hover{background:var(--activo);color:#0A4A8F}
@media (hover:none){.cod-mas{opacity:1}}
.cod-menu{margin:4px 0 8px 22px;padding:12px;border-radius:9px;background:var(--fondo);box-shadow:inset 0 0 0 1px #E1E8F0;display:flex;flex-direction:column;gap:10px}
.cm-nombre{display:flex;gap:6px}
.cm-nombre input{flex:1;min-width:0;font:500 14px Inter,sans-serif;border:0;border-radius:7px;padding:7px 10px;background:var(--panel);box-shadow:inset 0 0 0 1px #E1E8F0;color:var(--tinta)}
.cm-colores{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cm-colores .color-op{width:22px;height:22px;border:0;padding:0;border-radius:5px}
.cm-colores .color-op.actual{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--c)}
.cm-acc{display:flex;flex-wrap:wrap;gap:6px}
html.oscuro .cod-menu{background:#121C26;box-shadow:inset 0 0 0 1px #2A3846}
html.oscuro .cm-nombre input{background:#16202A;box-shadow:inset 0 0 0 1px #2A3846}
html.oscuro .cod-fila-check:hover{background:#1A2633}

/* ---- Corrección del texto de un turno ---------------------------------------------------------- */
.u-editar{display:inline-grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:var(--activo);color:#0A4A8F;cursor:pointer}
.u-editar:hover{background:#DDEBFC}
.h3w-lista li.editando{box-shadow:inset 0 0 0 2px #F0A020;background:color-mix(in srgb,#FFB020 6%,transparent)}
.h3w-lista li.editando .u-t{display:inline-block;min-width:60%;padding:4px 8px;margin:-2px 0;border-radius:6px;background:var(--panel);outline:2px solid #F5C04A;outline-offset:0;cursor:text}
.u-t u{text-decoration-thickness:1.5px;text-underline-offset:2px}
.u-editado{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;background:#FFF3D6;color:#7A4B00;font:600 11px Inter,sans-serif;vertical-align:1px;cursor:help}
.u-barra{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding:10px;border-radius:9px;background:var(--fondo);box-shadow:inset 0 0 0 1px #E6ECF2}
.ub{display:inline-grid;place-items:center;min-width:32px;height:30px;padding:0 8px;border:0;border-radius:6px;background:var(--panel);color:var(--tinta);font:600 13px Inter,sans-serif;cursor:pointer;box-shadow:inset 0 0 0 1px #E1E8F0}
.ub:hover{background:var(--activo);color:#0A4A8F}
.ub-b{font-weight:800}.ub-i{font-style:italic;font-family:Georgia,serif}.ub-u{text-decoration:underline}
.ub-grupo{display:flex;flex-wrap:wrap;gap:4px;padding-left:6px;margin-left:2px;border-left:1px solid #E1E8F0}
/* Anotaciones por categorías */
.ub-genero{display:inline-flex;margin-left:auto;padding:2px;border-radius:8px;background:var(--panel);box-shadow:inset 0 0 0 1px #E1E8F0}
.ub-gen{height:26px;min-width:0;padding:0 10px;box-shadow:none;background:none;font-weight:500;font-size:12px;color:var(--suave)}
.ub-gen[aria-pressed="true"]{background:var(--activo);color:#0A4A8F;font-weight:700}
.ub-cats{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.ub-cat{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:12.5px;color:var(--texto)}
.ub-cat::after{content:"";width:6px;height:6px;margin-left:1px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .15s ease;opacity:.6}
.ub-cat[aria-expanded="true"]{background:linear-gradient(135deg,#DCEBFF,#DDF6EF);color:#0A4A8F;box-shadow:inset 0 0 0 1.5px #0077FF}
.ub-cat[aria-expanded="true"]::after{transform:rotate(-135deg) translate(-1px,-1px)}
.ub-cat-n{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--activo);color:#0A4A8F;font:700 10.5px Inter,sans-serif}
.ub-panel{display:flex;flex-wrap:wrap;gap:6px;width:100%;padding:8px;border-radius:8px;background:var(--panel);box-shadow:inset 0 0 0 1px #E1E8F0;animation:ub-abre .16s ease-out}
@keyframes ub-abre{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
html.oscuro .ub-genero,html.oscuro .ub-panel{background:#16202A;box-shadow:inset 0 0 0 1px #2A3846}
html.oscuro .ub-gen[aria-pressed="true"],html.oscuro .ub-cat-n{background:#1A2E45;color:#B9D7FA}
html.oscuro .ub-cat[aria-expanded="true"]{background:linear-gradient(135deg,#123058,#0F3A35);color:#DDEBFF;box-shadow:inset 0 0 0 1.5px #3D8BFF}
.ub-nota{font-weight:500;font-size:12px;color:var(--suave)}
.ub-emo-abrir{font-size:16px}
.ub-emojis{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:4px;width:100%;padding:6px;border-radius:8px;background:var(--panel);box-shadow:inset 0 0 0 1px #E1E8F0}
.ub-emo{font-size:18px;box-shadow:none;background:none}
.ub-acc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;margin-top:4px}
.ub-acc .note{font-size:12px}
html.oscuro .u-editar{background:#16314F;color:#B9D7FA}
html.oscuro .h3w-lista li.editando .u-t{background:#0F1720}
html.oscuro .u-editado{background:#3A2C10;color:#FFD27A}
html.oscuro .u-barra{background:#121C26;box-shadow:inset 0 0 0 1px #2A3846}
html.oscuro .ub{background:#16202A;color:#E8EEF4;box-shadow:inset 0 0 0 1px #2A3846}
html.oscuro .ub-emojis{background:#16202A;box-shadow:inset 0 0 0 1px #2A3846}
html.oscuro .ub-grupo{border-color:#2A3846}
.h3w-hd-acc{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.h3w-hd-acc .btn{min-height:42px}
/* Columna lateral oculta: vídeo, pista y transcripción a todo el ancho */
/* El botón vive encima de la columna; con ella oculta, queda como una pestaña vertical en su sitio. */
.lado-plegar{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;padding:8px 12px;border:1px solid #D6E4F5;border-radius:10px;background:var(--activo);color:var(--enlace);font:600 13px Inter,sans-serif;cursor:pointer;flex:none}
.lado-plegar:hover{filter:brightness(.97)}
.lado-plegar .flecha{transition:transform .2s;transform-origin:9px 12px}
.h3w.animando{transition:grid-template-columns .46s cubic-bezier(.4,0,.2,1)}
.h3w-lado>:not(.lado-plegar){transition:opacity .2s ease,transform .25s ease}
.h3w.plegando .h3w-lado>:not(.lado-plegar){opacity:0;transform:translateX(18px);pointer-events:none}
.lado-plegar{transition:opacity .22s ease}
.h3w.animando .lado-plegar{opacity:0}
.h3w.sin-lado{grid-template-columns:minmax(0,1fr) 46px}
@media (prefers-reduced-motion:reduce){.h3w.animando,.h3w-lado>:not(.lado-plegar){transition:none}}
.h3w.sin-lado .h3w-lado>:not(.lado-plegar){display:none}
.h3w.sin-lado .lado-plegar{writing-mode:vertical-rl;min-height:190px;padding:14px 8px;gap:10px}
.h3w.sin-lado .lado-plegar svg{writing-mode:horizontal-tb}
.h3w.sin-lado .lado-plegar .flecha{transform:rotate(180deg)}
.h3w.sin-lado .visor video{max-height:78vh}
.oscuro .lado-plegar{border-color:#26405E}
@media (max-width:1100px){.h3w.sin-lado{grid-template-columns:1fr}.h3w.sin-lado .lado-plegar{writing-mode:horizontal-tb;min-height:40px;padding:8px 12px}}

/* ---- Laboratorio H3: análisis con IA ----------------------------------------------------------- */
.an-pasos{display:flex;flex-direction:column;gap:16px}
.an-form{display:flex;flex-direction:column;gap:16px}
.an-n{display:inline-grid;place-items:center;width:26px;height:26px;margin-right:10px;border-radius:7px;background:var(--degradado);color:#fff;font:800 13px Montserrat,sans-serif;vertical-align:1px}
.an-fuentes-lista{list-style:none;margin:12px 0 14px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:4px 16px}
.an-rec .btn.p{gap:8px}
.an-lectura{display:flex;gap:14px;align-items:flex-start;margin:14px 0 12px;padding:14px 16px;border-radius:var(--radio);background:linear-gradient(90deg,#EEF5FF,#EBFBF5)}
.an-lectura .ico-q{color:#0058C7;flex:none;margin-top:2px}
.an-lectura p{margin:4px 0 6px;color:var(--texto);line-height:1.55}
.an-esperando{display:flex;align-items:center;gap:14px;margin-top:12px}
.an-esperando p{margin:2px 0 0}
.girando{display:inline-block;width:18px;height:18px;border-radius:50%;border:2.5px solid #CFE3FA;border-top-color:#0077FF;animation:girar .8s linear infinite;flex:none}
@keyframes girar{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.girando{animation-duration:2.4s}}
.an-grupo{border:0;margin:18px 0 0;padding:0}
.an-grupo legend{font:700 12px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--tenue);margin-bottom:8px;padding:0}
.an-op{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;padding:14px 14px 14px 12px;border-radius:10px;cursor:pointer;background:#F6F9FC;box-shadow:inset 0 0 0 1px #E3EAF2;transition:background .15s ease,box-shadow .15s ease}
.an-op:hover{background:#EEF4FB;box-shadow:inset 0 0 0 1px #CFDDEC}
.an-op input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--azul)}
/* Elegido: fondo más saturado y borde marcado */
.an-op:has(input:checked){background:linear-gradient(135deg,#DCEBFF,#DDF6EF);box-shadow:inset 0 0 0 2px #0077FF}
.an-op.sin-base:not(:has(input:checked)){background:#F7F8FA}
.an-op.sin-base:not(:has(input:checked)) .an-op-cuerpo>.note{opacity:.85}
.an-op.sin-base .an-op-cab b{color:var(--suave)}
.an-op-cuerpo{display:flex;flex-direction:column;gap:3px;min-width:0}
.an-op-cab{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.an-op-cab b{color:var(--tinta);font-weight:600}
.an-por{font-size:13px;color:var(--texto);line-height:1.5}
.an-por i{color:var(--suave)}
.an-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font:600 11.5px Inter,sans-serif;white-space:nowrap}
.an-badge.si{background:#E3F7EE;color:#1F6E51}.an-badge.util{background:#EEF5FF;color:#0058C7}.an-badge.poco{background:#F1F4F8;color:#4B5563}
.an-badge.no{background:#FDECEA;color:#B42318}.an-badge.local{background:#F3F0FF;color:#5B3FC4}.an-badge.ia{background:linear-gradient(90deg,#E5F1FF,#DDFBF3);color:#0A4A8F}
.an-instr{margin-top:18px}
.an-lanzar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:6px}
.an-lista{list-style:none;margin:0;padding:6px 0}
.an-lista li+li{border-top:1px solid #E6ECF2}
.an-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;text-decoration:none;color:inherit}
.an-item:hover{background:var(--hover)}
.an-item-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.an-item-t b{color:var(--tinta)}
.an-estado{display:inline-flex;align-items:center;gap:7px;flex:none;font:600 12.5px Inter,sans-serif;color:var(--suave)}
.an-estado.hecho{color:#1F6E51}.an-estado.error{color:#B42318}
.an-estado .girando{width:13px;height:13px;border-width:2px}
.aviso-analisis{background:#FFF7E6;color:#5C3800;margin-bottom:16px}
.aviso-analisis.sin-base{background:#FDECEA;color:#912018}
/* Resultado */
.an-cab{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px;margin-bottom:18px}
.an-cab h1.h{margin:0 0 8px}
.an-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.an-cab-acc{display:flex;flex-wrap:wrap;gap:8px}
.an-cab-acc form{margin:0}
.an-aplicar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px;background:linear-gradient(90deg,#EEF5FF,#EBFBF5)}
.an-aplicar>div{flex:1;min-width:240px}
.an-aplicar p{margin:4px 0 0}
.an-aplicar .ico-q{color:#0058C7}
.an-bloque{margin-bottom:16px}
.an-bloque h2.s{margin-bottom:12px}
.an-texto{font-size:15px;line-height:1.7;color:var(--texto);margin:0 0 10px;max-width:860px}
.an-puntos{margin:0;padding:0 0 0 22px;display:flex;flex-direction:column;gap:14px}
.an-puntos li::marker{font:700 13px Montserrat,sans-serif;color:var(--tenue)}
.an-pt{color:var(--tinta);font-weight:600}
.an-puntos p{margin:3px 0 4px;line-height:1.6;color:var(--texto)}
.an-citas{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.an-cita{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;background:#EEF5FF;color:#0A4A8F;font:600 11.5px Inter,sans-serif;text-decoration:none;white-space:nowrap}
.an-cita:hover{background:#DDEBFC;color:#073A73}
.an-tabla td,.an-tabla th{vertical-align:top;font-size:13.5px;line-height:1.5}
.an-th-citas{width:1%}
.an-diagrama{margin:0 0 10px;padding:16px;border-radius:var(--radio);background:var(--fondo);overflow:auto}
.diag-svg{display:block;max-width:100%;height:auto;margin:0 auto}
.an-acc{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.an-acc .row{gap:6px}
.an-temas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.an-tema{padding:12px 14px;border-radius:var(--radio);background:var(--fondo)}
.an-tema.hijo{margin-left:24px}
.an-tema-cab{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px}
.an-tema-cab b{color:var(--tinta)}
.an-tema p{margin:4px 0}
.an-tema-citas summary{cursor:pointer;font-size:13px;font-weight:600;color:#0A4A8F}
.an-tema-citas ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px;line-height:1.5}
.an-cuadrado{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:640px;margin:0 0 12px}
.cs{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--radio);background:var(--fondo);min-height:84px}
.cs.s1,.cs.ns2{box-shadow:inset 4px 0 0 #0077FF}.cs.s2,.cs.ns1{box-shadow:inset 4px 0 0 #3CC492}
.cs b{color:var(--tinta);font-size:15px}
.an-grafico{margin:0 0 8px}
.an-curva{margin:10px 0 0;padding-left:20px;font-size:13.5px;line-height:1.7}
.an-valor{display:inline-grid;place-items:center;min-width:26px;padding:0 4px;border-radius:5px;font:700 11.5px Inter,sans-serif;background:#ECEFF3;color:#4B5563}
.an-valor.v-2{background:#FCE4E7;color:#B42318}.an-valor.v-1{background:#FDF0F1;color:#C2414F}
.an-valor.v1{background:#E6F7F0;color:#1F8A62}.an-valor.v2{background:#D3F2E5;color:#136B4A}
.an-matriz td{min-width:240px}
/* Las tablas de los análisis se leen enteras: texto en varias líneas y la primera columna fija */
table.grid.an-tabla td{white-space:normal;max-width:none;overflow:visible;text-overflow:clip}
table.grid.an-tabla .an-cita{margin-top:3px}
.an-matriz tbody th{position:sticky;left:0;top:auto;z-index:1;min-width:120px;background:#F7FAFD;vertical-align:top;padding:8px 10px;text-align:left}
.an-matriz tbody th b{display:block;font:700 13px Montserrat,sans-serif;color:var(--tinta,#0F1A1F)}
.an-matriz tbody th .note{display:block;font-size:12px;font-weight:400}
.an-matriz thead th:first-child{position:sticky;left:0;z-index:2}
.oscuro .an-matriz tbody th{background:#15212D}
.oscuro .an-matriz tbody th b{color:#E6EDF3}
html.oscuro .an-lectura,html.oscuro .an-aplicar{background:linear-gradient(90deg,#10294A,#0E3A35)}
html.oscuro .an-lectura p{color:#C9D3DE}
html.oscuro .an-op{background:#18222C;box-shadow:inset 0 0 0 1px #24313D}
html.oscuro .an-op.sin-base:not(:has(input:checked)){background:#161E26}
html.oscuro .an-op:has(input:checked){background:linear-gradient(135deg,#123058,#0F3A35);box-shadow:inset 0 0 0 2px #3D8BFF}
html.oscuro .an-item:hover{background:#1A2633}
html.oscuro .an-op:not(:has(input:checked)):hover{background:#1D2934}
html.oscuro .an-lista li+li{border-color:#2A3846}
html.oscuro .an-cita{background:#16314F;color:#B9D7FA}
html.oscuro .an-tema,html.oscuro .cs,html.oscuro .an-diagrama{background:#121C26}
html.oscuro .an-diagrama{background:#F4F8FC}
html.oscuro .an-texto,html.oscuro .an-puntos p,html.oscuro .an-por{color:#C9D3DE}
html.oscuro .aviso-analisis{background:#3A2C10;color:#FFD27A}
html.oscuro .aviso-analisis.sin-base{background:#3A1E1E;color:#F6A9A3}
html.oscuro .an-badge.si{background:#12302A;color:#8EF0DA}html.oscuro .an-badge.util{background:#13253A;color:#9CC8FF}
html.oscuro .an-badge.poco{background:#1C2A38;color:#B9CCE0}html.oscuro .an-badge.no{background:#3A1E1E;color:#F6A9A3}
html.oscuro .an-badge.local{background:#241E45;color:#C4B5FD}html.oscuro .an-badge.ia{background:linear-gradient(90deg,#10294A,#0E3A35);color:#B9D7FA}
.cod-ok{border:0;background:#fff;color:#1F6E51;font:700 12px/1 Inter,sans-serif;cursor:pointer;padding:2px 5px;margin-left:2px;border-radius:4px}
.cod-ok:hover{background:#3CC492;color:#fff}
.cod.propuesta{border:1.5px dashed color-mix(in srgb,var(--c) 70%,#fff);background:color-mix(in srgb,var(--c) 7%,transparent)}
html.oscuro .cod-ok{background:#16202A;color:#8EF0DA}
.an-grupo{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px}
.an-grupo legend{grid-column:1/-1}
.diag-svg{width:auto;max-width:100%;height:auto}
.an-cita.in{padding:0 6px;vertical-align:1px;font-size:11px}
.an-cita.in+.an-cita.in{margin-left:3px}
.an-ya{font-size:12.5px;font-weight:600;color:#1F6E51}

/* Leyenda de los genogramas */
.an-leyenda{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:-2px 0 12px;font-size:12.5px;color:var(--tenue)}
.an-leyenda>span{display:inline-flex;align-items:center;gap:6px}
.an-leyenda .lg{display:inline-block;width:18px;height:12px;border:1.5px solid #0077FF;background:#D9EBFF;border-radius:3px}
.an-leyenda .lg.elip{border-color:#E86F7E;background:#FCE4E7;border-radius:50%}
.an-leyenda .lg.hex{border-color:#6B7280;background:#ECEDEF;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border:0}
.an-leyenda .lg.fall{border:1.5px dashed #6B7280;background:#EEF1F4;border-radius:50%}
.an-leyenda .lg.l-conf,.an-leyenda .lg.l-cuida{height:0;border:0;border-top:2px dashed #E86F7E;background:none;border-radius:0}
.an-leyenda .lg.l-cuida{border-top-color:#0E8A9E}
.an-leyenda .lg.l-fuerte,.an-leyenda .lg.l-debil{height:0;border:0;border-top:3px solid #8FA3B8;background:none;border-radius:0}
.an-leyenda .lg.l-debil{border-top:2px dashed #C9D3DE}
.an-leyenda .lg.g-centro{border-color:#0077FF;background:#D9EBFF}
.an-leyenda .lg.g-familia{border-color:#3CC492;background:#E2F6EE}
.an-leyenda .lg.g-profesional{border-color:#7C5CE0;background:#EBE6FB}
.an-leyenda .lg.g-institucion{border-color:#0E8A9E;background:#DCEFF2}
.an-leyenda .lg.g-empresa{border-color:#F0A020;background:#FDF1DC}
.an-leyenda .lg.g-vecindad{border-color:#C65E91;background:#F7E5EE}
.an-leyenda .lg.g-otro{border-color:#668D2F;background:#E8EEDF}

/* Gráficos de los análisis: tamaño de lectura cómodo en pantallas anchas */
.an-bloque .an-grafico{max-width:920px}
.an-tabla .an-th-citas{min-width:190px}
table.grid.an-tabla td:last-child .an-citas{margin-top:0;min-width:190px}

/* --- Pantallas de anuncio a pantalla completa: análisis con IA y cambio de idioma --- */
.cargando .cg-anuncio{display:none}
.cargando[data-anuncio] .cg-normal,html.anuncio .cargando .cg-normal{display:none}
.cargando[data-anuncio="ia"] .cg-anuncio-ia,html.anuncio-ia .cg-anuncio-ia,
.cargando[data-anuncio="en"] .cg-anuncio-en,html.anuncio-en .cg-anuncio-en,
.cargando[data-anuncio="es"] .cg-anuncio-es,html.anuncio-es .cg-anuncio-es,
.cargando[data-anuncio="wallow"] .cg-anuncio-wallow,html.anuncio-wallow .cg-anuncio-wallow,
.cargando[data-anuncio="encuestas"] .cg-anuncio-encuestas,html.anuncio-encuestas .cg-anuncio-encuestas,
.cargando[data-anuncio="campo"] .cg-anuncio-campo,html.anuncio-campo .cg-anuncio-campo,
.cargando[data-anuncio="lanzar"] .cg-anuncio-lanzar,html.anuncio-lanzar .cg-anuncio-lanzar{display:flex}
html.anuncio .cargando[hidden]{display:flex!important;opacity:1}
html.anuncio-sale .cargando{opacity:0}
.cg-anuncio{gap:10px}
.cg-titular{margin:6px 0 0;font:800 clamp(26px,4vw,40px)/1.15 Montserrat,sans-serif;letter-spacing:-.01em;background:var(--degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
.cg-sub{margin:0 0 6px;font:500 15px Inter,sans-serif;color:var(--suave)}
.cg-ia{overflow:visible;filter:drop-shadow(0 10px 24px rgba(0,119,255,.25))}
.cg-ia path{stroke-dasharray:1;stroke-dashoffset:1;animation:cg-dibujo 2s ease-in-out infinite}
.cg-ia .cg-ia-2{animation-delay:.35s}
.cg-ia .cg-ia-3{animation-delay:.6s}
@keyframes cg-dibujo{0%{stroke-dashoffset:1}45%,70%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
.cg-bandera{border-radius:10px;box-shadow:0 1px 2px rgba(15,26,31,.12),0 24px 40px -18px rgba(15,26,31,.45);animation:cg-bandera .7s cubic-bezier(.2,1.4,.4,1) both,flotar 2.6s ease-in-out .7s infinite}
@keyframes cg-bandera{from{transform:scale(.4) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
.cg-anuncio .cg-titular{animation:cg-sube .5s ease-out .15s both}
.cg-anuncio .cg-sub{animation:cg-sube .5s ease-out .3s both}
@keyframes cg-sube{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.cg-ia path{animation:none;stroke-dashoffset:0}.cg-bandera,.cg-anuncio .cg-titular,.cg-anuncio .cg-sub{animation:none}}

/* --- Selector de idioma (desplegable) --- */
.idioma-menu{position:relative}
.idioma-menu summary{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;background:var(--activo);font:700 11.5px Inter,sans-serif;letter-spacing:.04em;color:var(--enlace);padding:8px 9px;border-radius:8px;user-select:none}
.idioma-menu summary::-webkit-details-marker{display:none}
.idioma-menu summary:hover{filter:brightness(.96)}
.idioma-menu[open] summary .im-flecha{transform:rotate(180deg)}
.im-flecha{transition:transform .15s ease}
.im-bandera{display:inline-block;flex:none;width:20px;height:14px;border-radius:3px;background:center/cover no-repeat;box-shadow:0 0 0 1px rgba(15,26,31,.1)}
.idioma-menu summary .im-bandera{width:17px;height:12px}
.im-es{background-image:url("../img/bandera-es.ead1a41b387f.svg")}
.im-en{background-image:url("../img/bandera-en.c0096af1d5af.svg")}
.im-lista{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:180px;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--panel);border:1px solid #DCE5EF;border-radius:10px;box-shadow:var(--sombra)}
.im-lista button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:7px;background:none;font:500 13.5px Inter,sans-serif;color:var(--texto);cursor:pointer;text-align:left}
.im-lista button:hover,.im-lista button:focus-visible{background:var(--hover)}
.im-lista button[aria-current="true"]{font-weight:700;color:var(--tinta)}
.im-nombre{flex:1}
.im-ok{color:var(--azul);font-weight:700}
.oscuro .im-lista{border-color:#2A3946}

/* Coste de lo marcado */
.an-coste{display:flex;flex-direction:column;gap:4px;max-width:660px}
.an-coste .note{margin:0}
.an-total{margin:0;font:500 14px Inter,sans-serif;color:var(--texto)}
.an-total b{font-weight:700;background:var(--degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
/* En la página nueva el anuncio ya estaba a la vista: sin animación de entrada, para que no "salte" */
html.anuncio .cg-anuncio .cg-titular,html.anuncio .cg-anuncio .cg-sub{animation:none}
html.anuncio .cg-bandera{animation:flotar 2.6s ease-in-out infinite}

/* Hype, la IA de la plataforma, se presenta */
.ia-hola{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;padding:12px 14px;border-radius:var(--radio);background:linear-gradient(90deg,#EEF5FF,#EBFBF5)}
.ia-hola .ico-q{flex:none;color:#0058C7;margin-top:1px}
.ia-hola p{margin:0;color:var(--texto);line-height:1.55}
.an-hola{margin:-4px 0 12px;color:var(--suave);font-size:15px}
html.oscuro .ia-hola{background:linear-gradient(90deg,#10294A,#0E3A35)}
html.oscuro .ia-hola .ico-q{color:#9CC8FF}

/* Biblioteca de análisis: misma lista numerada que las activaciones */
.an-biblio .hd,.an-biblio .act{grid-template-columns:72px minmax(0,1fr) 210px 96px 130px}
.an-biblio .an-estado{justify-self:end}
.an-biblio .an-nf{font-size:13px;color:var(--tenue)}
.an-biblio .chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:900px){.an-biblio .hd,.an-biblio .act{grid-template-columns:56px minmax(0,1fr) auto}}

/* Iconos de línea de toda la plataforma: se dibujan al pasar el ratón (hub.js los prepara) */
.ico-dib [pathLength]{stroke-dasharray:1;stroke-dashoffset:0}
.is-draw .ico-dib [pathLength]{animation:dibujar .75s cubic-bezier(.45,.05,.35,1) both;animation-delay:calc(var(--dib-i,0) * 70ms)}
@media (prefers-reduced-motion:reduce){.is-draw .ico-dib [pathLength],.is-draw .ico [pathLength]{animation:none}}

/* El menú lateral (y sus tooltips) siempre por delante del contenido de la página */
.side{z-index:40}
.menu-plegado .nav[data-tip]:hover::after,.menu-plegado .by[data-tip]:hover::after,.menu-plegado .nav[data-tip]:focus-visible::after{z-index:90}

/* Tablas: al pasar el ratón se marca la fila, la celda y la cabecera de su columna */
table tbody tr{transition:background-color .12s ease}
table tbody tr:hover>td,table tbody tr:hover>th{background-color:#F1F7FE}
table tbody tr>td.celda-on{background-color:#E3EFFD}
table thead th.col-on{box-shadow:inset 0 -2px 0 #0077FF;color:#0058C7}
html.oscuro table tbody tr:hover>td,html.oscuro table tbody tr:hover>th{background-color:#1A2938}
html.oscuro table tbody tr>td.celda-on{background-color:#203449}
html.oscuro table thead th.col-on{box-shadow:inset 0 -2px 0 #3D8BFF;color:#9CC8FF}

/* Asistente: dónde busca, con selección múltiple */
.amb-multi{position:relative}
.amb-multi summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;cursor:pointer;min-height:44px;padding:10px 12px;border-radius:var(--radio);background:var(--panel);box-shadow:inset 0 0 0 1px #D8E2EC;color:var(--texto);font:500 14px Inter,sans-serif}
.amb-multi summary::-webkit-details-marker{display:none}
.amb-multi[open] summary{box-shadow:inset 0 0 0 2px #0077FF}
.amb-multi[open] summary .im-flecha{transform:rotate(180deg)}
.amb-resumen{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.amb-panel{position:absolute;left:0;top:calc(100% + 6px);z-index:50;width:min(640px,calc(100vw - 32px));max-height:min(60vh,520px);overflow:auto;padding:12px;border-radius:10px;background:var(--panel);box-shadow:0 0 0 1px #DCE5EF,0 24px 48px -20px rgba(15,26,31,.35)}
.amb-cab{display:flex;gap:8px;align-items:center;position:sticky;top:-12px;margin:-12px -12px 6px;padding:12px;background:var(--panel);z-index:1}
.amb-cab input{flex:1;min-width:0;min-height:38px;padding:8px 10px;border-radius:8px;border:1px solid #D8E2EC;background:var(--fondo);color:var(--texto);font:400 14px Inter,sans-serif}
.amb-ayuda{margin:0 0 8px}
.amb-grupo{border:0;margin:0 0 10px;padding:0}
.amb-grupo legend{padding:0;margin-bottom:4px;font:700 11px Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue)}
.amb-op{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:7px;cursor:pointer;color:var(--texto);font-size:14px}
.amb-op:hover{background:var(--hover)}
.amb-op:has(input:checked){background:linear-gradient(135deg,#DCEBFF,#DDF6EF);box-shadow:inset 0 0 0 1.5px #0077FF;font-weight:600}
.amb-op input{width:16px;height:16px;accent-color:var(--azul);flex:none}
html.oscuro .amb-multi summary{box-shadow:inset 0 0 0 1px #2A3946}
html.oscuro .amb-panel{box-shadow:0 0 0 1px #2A3946,0 24px 48px -20px rgba(0,0,0,.7)}
html.oscuro .amb-op:has(input:checked){background:linear-gradient(135deg,#123058,#0F3A35);box-shadow:inset 0 0 0 1.5px #3D8BFF}

/* Tipos de archivo: cada uno con su color e icono (vídeo, audio, PDF, Word, hojas, presentaciones…) */
.tipo-ico{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:var(--radio);background:var(--tt);color:var(--tc)}
.tp-video{--tc:#6B4FD8;--tt:#EFEBFC}.tp-audio{--tc:#0E8A9E;--tt:#E0F3F5}.tp-pdf{--tc:#C93A3A;--tt:#FCE9E9}
.tp-word,.tp-texto{--tc:#2563C9;--tt:#E6EEFB}.tp-excel,.tp-csv{--tc:#1E7F49;--tt:#E3F4EA}.tp-presentacion{--tc:#C9631A;--tt:#FDEFE2}
.tp-imagen{--tc:#B44E82;--tt:#F9E7F0}.tp-web{--tc:#4552C4;--tt:#ECEEFC}.tp-otro{--tc:#4B5563;--tt:#EEF1F4}.tp-notas{--tc:#9A6A00;--tt:#FFF3D6}
html.oscuro .tp-video{--tc:#B9A8FF;--tt:#2A2350}html.oscuro .tp-audio{--tc:#7FD6E3;--tt:#123A40}html.oscuro .tp-pdf{--tc:#FF9C9C;--tt:#3D1C1C}
html.oscuro .tp-word,html.oscuro .tp-texto{--tc:#9CC0FF;--tt:#1A2B4D}html.oscuro .tp-excel,html.oscuro .tp-csv{--tc:#8EE0B0;--tt:#163626}
html.oscuro .tp-presentacion{--tc:#FFB27A;--tt:#3D2814}html.oscuro .tp-imagen{--tc:#F5A3CB;--tt:#3A1D2D}html.oscuro .tp-web{--tc:#AAB2FF;--tt:#22264D}
html.oscuro .tp-otro{--tc:#B9C3CF;--tt:#222D38}html.oscuro .tp-notas{--tc:#FFD27A;--tt:#3A2C10}
.tipo-txt{color:var(--tc);font-weight:600}

/* --- Vistas de las listas: barra, lista, tarjetas y compacta --- */
.vistas-barra{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 14px;margin:0 0 14px}
.vb-buscar{flex:1;min-width:220px;max-width:420px;margin-right:auto}
.vb-buscar input{width:100%;min-height:38px;padding:8px 12px;border:0;border-radius:var(--radio);background:var(--panel);box-shadow:var(--sombra);font:400 14px Inter,sans-serif;color:var(--texto)}
.vb-vistas{display:inline-flex;padding:3px;border-radius:9px;background:var(--panel);box-shadow:var(--sombra)}
.vb-vistas button{display:inline-grid;place-items:center;width:36px;height:32px;border:0;border-radius:7px;background:none;color:var(--tenue);cursor:pointer}
.vb-vistas button:hover{background:var(--hover);color:var(--texto)}
.vb-vistas button[aria-pressed="true"]{background:var(--activo);color:#0A4A8F}
html.oscuro .vb-vistas button[aria-pressed="true"]{color:#9CC8FF}
.orden-barra{gap:12px;align-items:center}
/* Fuentes: tarjetas */
.vista-tarjetas .vi-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.vista-tarjetas .fuente-op{grid-template-columns:1fr 20px;grid-template-rows:auto auto;align-items:start;row-gap:12px;padding:14px;min-height:140px;background:color-mix(in srgb,var(--tt) 35%,var(--panel))}
.vista-tarjetas .fuente-op .tipo-ico{grid-row:1;grid-column:1}
.vista-tarjetas .fuente-op input{grid-row:1;grid-column:2}
.vista-tarjetas .fuente-op .fo-cuerpo{grid-column:1/-1}
.vista-tarjetas .fo-t{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* Fuentes: compacta */
.vista-compacta .vistas .fuentes-lista,.vista-compacta .fuentes-lista{gap:2px}
.vista-compacta .fuente-op{grid-template-columns:18px 26px minmax(0,1fr);padding:5px 10px;column-gap:10px}
.vista-compacta .fuente-op .tipo-ico{width:26px;height:26px;border-radius:6px}
.vista-compacta .fuente-op .tipo-ico svg{width:15px;height:15px}
.vista-compacta .fo-cuerpo{flex-direction:row;align-items:baseline;gap:10px}
.vista-compacta .fo-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.vista-compacta .fo-meta{white-space:nowrap;font-size:12px}
.vista-compacta .fb-bloque{margin-top:10px}
/* Listas numeradas (activaciones, análisis): tarjetas y compacta */
.vista-tarjetas .list{background:none;box-shadow:none;overflow:visible}
.vista-tarjetas .list .hd{display:none}
.vista-tarjetas .list .filas{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.vista-tarjetas .list .act{grid-template-columns:auto 1fr;grid-template-areas:"num num" "txt txt" "a b";align-content:start;gap:12px;padding:0 0 16px;border-radius:var(--radio);background:var(--panel);box-shadow:var(--sombra);overflow:hidden;min-height:180px}
.vista-tarjetas .list .act .num{grid-area:num;margin:0;justify-content:flex-start;padding:14px 16px;font-size:30px}
.vista-tarjetas .list .act>span:nth-child(2){grid-area:txt;padding:0 16px}
.vista-tarjetas .list .act>.hide{display:none}
.vista-tarjetas .list .act>span:last-child{padding:0 16px;justify-self:start}
.vista-compacta .list .act{min-height:40px;padding-top:6px;padding-bottom:6px}
.vista-compacta .list .act .num{font-size:16px;margin:-6px 0}
.vista-compacta .list .act .c{display:none}
.vista-compacta .list .act .t{font-size:14px}
/* Tablas que se ordenan pulsando la cabecera */
table.t-ordenable thead th{cursor:pointer;user-select:none;white-space:nowrap}
table.t-ordenable thead th[tabindex]::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);opacity:.25}
table.t-ordenable thead th.ord-on::after{opacity:.9}
table.t-ordenable thead th.ord-desc::after{transform:rotate(-135deg) translateY(-1px)}

/* Fuentes del proyecto: cada tarjeta con el color de su tipo */
.fc{background:linear-gradient(160deg,color-mix(in srgb,var(--tt) 85%,var(--panel)) 0,var(--panel) 62%)}
.fc:hover{box-shadow:0 0 0 1.5px var(--tc),var(--sombra)}
.fc-cuerpo{display:flex;flex-direction:column;gap:4px;min-width:0}
.vista-lista .fuentes-grid,.vista-lista .subs{grid-template-columns:1fr;gap:8px}
.vista-lista .subs>.card.sub{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:0;padding:12px 16px}
.vista-lista .subs>.card.sub .sub-top{display:contents}
.vista-lista .subs>.card.sub .sub-top .chip{order:3}
.vista-compacta .subs{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:6px}
.vista-compacta .subs>.card.sub{display:flex;flex-direction:row;align-items:center;gap:10px;padding:8px 12px;min-height:0}
.vista-compacta .subs>.card.sub .chip,.vista-compacta .subs>.card.sub .sub-top svg{display:none}
.vista-compacta .subs>.card.sub .sub-top{display:contents}
.vista-compacta .subs>.card.sub .t{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.vista-compacta .subs>.card.sub .note{font-size:12px;white-space:nowrap}
.vista-lista .fc{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;background:linear-gradient(90deg,color-mix(in srgb,var(--tt) 85%,var(--panel)) 0,var(--panel) 40%)}
.vista-lista .fc .sub-top{gap:12px}
.vista-lista .fc .sub-top .chip{order:2}
.vista-compacta .fuentes-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:6px}
.vista-compacta .fc{display:flex;flex-direction:row;align-items:center;gap:10px;padding:8px 12px;min-height:0;background:var(--panel)}
.vista-compacta .fc .chip{display:none}
.vista-compacta .fc .tipo-ico{width:28px;height:28px;border-radius:6px}
.vista-compacta .fc .tipo-ico svg{width:15px;height:15px}
.vista-compacta .fc .t{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vista-compacta .fc .note{font-size:12px}
.tipo-ico svg,.tipo-ico .ico-q,.sub .tipo-ico svg{color:var(--tc)}
.vista-lista .fc{min-height:0;padding:12px 16px}

/* Archivos de una carpeta: tarjetas y compacta */
.vista-tarjetas .files{background:none;box-shadow:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;overflow:visible}
.vista-tarjetas .files .file.hdr{grid-column:1/-1;background:none;padding:0 4px}
.vista-tarjetas .files .file.hdr span{display:none}
.vista-tarjetas .files .file.vi{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:14px;border-radius:var(--radio);background:var(--panel);box-shadow:var(--sombra)}
.vista-tarjetas .files .file.vi .fn{flex-direction:column;align-items:flex-start}
.vista-tarjetas .files .file.vi .hide{display:none}
.vista-compacta .files .file.vi{padding-top:5px;padding-bottom:5px;min-height:0}
.vista-compacta .files .file.vi .c{display:none}
.vista-compacta .files .file.vi .ext{width:40px;padding:5px 0;font-size:9.5px}
.vista-compacta .files .file.vi .acts .btn{min-height:30px;padding:4px 10px}
.an-notas{margin-bottom:16px}
.an-notas h2{display:flex;align-items:center;gap:10px}
.an-notas h2 .tipo-ico{width:32px;height:32px}
.an-notas-tit{margin-top:14px}
.fuente-op.tp-notas:has(input:checked){background:color-mix(in srgb,var(--tt) 70%,var(--panel))}

/* Notas del equipo de investigación */
.notas-acc{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px}
.notas-pag{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.notas-lado{position:sticky;top:16px}
@media (max-width:1100px){.notas-pag{grid-template-columns:1fr}.notas-lado{position:static}}
.notas-grupo{margin-bottom:16px}
.notas-grupo>h2{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.notas-grupo>h2 .tipo-ico{width:32px;height:32px}
.notas-grupo>h2 a{color:inherit;text-decoration:none}
.notas-grupo>h2 a:hover{text-decoration:underline}
.nota-item{padding:14px 16px;border-radius:var(--radio);background:color-mix(in srgb,#FFF3D6 45%,var(--panel));box-shadow:inset 0 0 0 1px #F2E3BF;margin-top:10px;scroll-margin-top:90px}
.nota-item:target{box-shadow:inset 0 0 0 2px #E0A21A}
.ni-cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.ni-autor{display:flex;align-items:center;gap:10px}
.ni-autor .av{width:30px;height:30px;font-size:11px}
.ni-autor>span{display:flex;flex-direction:column;line-height:1.3}
.ni-tit{margin:10px 0 0;font:700 15px Montserrat,sans-serif;color:var(--tinta)}
.ni-texto{color:var(--texto);line-height:1.65;font-size:15px}
.ni-texto p{margin:8px 0 0}
.ni-editar{margin-top:8px}
.ni-editar summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:600 13px Inter,sans-serif;color:var(--enlace)}
.nota-form{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.nota-form input:not([type=checkbox]),.nota-form textarea,.nota-form select{width:100%}
.nota-form .check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--suave)}
.fld-mini{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--suave)}
.armado{background:#FDECEA!important;color:#B42318!important}
html.oscuro .nota-item{background:color-mix(in srgb,#3A2C10 45%,var(--panel));box-shadow:inset 0 0 0 1px #4A3A1A}
html.oscuro .armado{background:#3A1E1E!important;color:#F6A9A3!important}
.nota-form input:not([type=checkbox]),.nota-form textarea,.nota-form select{min-height:40px;padding:9px 12px;border:1px solid #D8E2EC;border-radius:8px;background:var(--panel);font:400 14px/1.5 Inter,sans-serif;color:var(--texto);box-sizing:border-box}
.nota-form textarea{resize:vertical;font-family:Inter,sans-serif}
.nota-form input:focus,.nota-form textarea:focus,.nota-form select:focus{outline:2px solid #0077FF;outline-offset:0;border-color:transparent}
.nota-form .check{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;text-align:left;margin:0}
.nota-form .check input{width:16px;height:16px;flex:none;margin:0;accent-color:var(--azul)}
html.oscuro .nota-form input:not([type=checkbox]),html.oscuro .nota-form textarea,html.oscuro .nota-form select{background:#0F1720;border-color:#2A3946}

/* Vista previa del contenido en la vista de tarjetas (fotograma, onda, primera página, texto, enlace) */
.vi-prev{display:none}
.vista-tarjetas .vi-prev{display:block;position:relative;width:100%;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:var(--tt,#EEF1F4);flex:none}
.vista-tarjetas .vi-prev .vp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.vista-tarjetas .vi-prev.tp-pdf .vp-img{object-fit:cover;object-position:top}
.vista-tarjetas .vi-prev.tp-audio .vp-img{object-fit:fill}
.vista-tarjetas .vi-prev .vp-ico{position:absolute;inset:0;display:grid;place-items:center}
.vista-tarjetas .vi-prev .vp-ico .tipo-ico{width:56px;height:56px;background:color-mix(in srgb,var(--panel) 55%,transparent)}
.vista-tarjetas .vi-prev .vp-txt{position:absolute;inset:0;z-index:1;padding:12px 14px;background:var(--panel);font:400 11.5px/1.5 Inter,sans-serif;color:var(--suave);overflow:hidden;white-space:pre-line;
  -webkit-mask-image:linear-gradient(180deg,#000 62%,transparent);mask-image:linear-gradient(180deg,#000 62%,transparent);box-shadow:inset 3px 0 0 var(--tc)}
.vista-tarjetas .vi-prev .vp-play{position:absolute;z-index:2;left:10px;bottom:10px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(15,26,31,.72);color:#fff}
.vista-tarjetas .vi-prev .vp-play svg{color:#fff;margin-left:2px}
.vista-tarjetas .vi-prev .vp-dominio{position:absolute;z-index:2;right:8px;bottom:8px;max-width:calc(100% - 60px);padding:3px 8px;border-radius:6px;background:rgba(15,26,31,.72);color:#fff;font:600 11px Inter,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vista-tarjetas .vi-prev.sin-img .vp-img{display:none}
.vista-tarjetas .vi-prev.sin-img .vp-play{display:none}
/* Dónde va la vista previa en cada tarjeta */
.vista-tarjetas .fuente-op{grid-template-rows:auto auto auto}
.vista-tarjetas .fuente-op .vi-prev{grid-column:1/-1;grid-row:1;margin-bottom:2px}
.vista-tarjetas .fuente-op .tipo-ico:not(.vi-prev .tipo-ico){grid-row:2}
.vista-tarjetas .fuente-op input{grid-row:2}
.vista-tarjetas .fuente-op .fo-cuerpo{grid-row:3}
.vista-tarjetas .fc .vi-prev{margin:-4px 0 6px}
.vista-tarjetas .files .file.vi .vi-prev,.vista-tarjetas .enlaces .file.vi .vi-prev{order:-1}
.vista-tarjetas .files .file.vi .chk{position:absolute;z-index:3;top:22px;left:22px}
.vista-tarjetas .files .file.vi{position:relative}
/* Enlaces: tarjetas y compacta */
.vista-tarjetas .enlaces{background:none;box-shadow:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;overflow:visible}
.vista-tarjetas .enlaces .file.vi{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:14px;border-radius:var(--radio);background:var(--panel);box-shadow:var(--sombra)}
.vista-tarjetas .enlaces .file.vi .ext{display:none}
.vista-compacta .enlaces .file.vi{padding-top:5px;padding-bottom:5px;min-height:0}
.vista-compacta .enlaces .file.vi .c{display:none}
.vista-compacta .enlaces .file.vi .ext{width:40px;padding:5px 0;font-size:9.5px}
.enlaces-vistas{margin-bottom:22px}

/* Catálogo de análisis: cada categoría con su fondo y cada análisis con su icono */
.an-grupo{padding:14px;border-radius:10px;background:var(--ag-t);margin-top:16px}
.an-grupo legend{float:left;width:100%;display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--ag-c)}
.an-grupo legend .ico-q{color:var(--ag-c)}
.an-grupo>legend+*{clear:both}
.ag-sintesis{--ag-t:#EEF5FF;--ag-c:#0058C7}.ag-codificacion{--ag-t:#EBF8F2;--ag-c:#1C6A4D}.ag-lenguaje{--ag-t:#F3F0FF;--ag-c:#5B3FC4}
.ag-mapas{--ag-t:#FDF4E3;--ag-c:#8A5A00}.ag-conjunto{--ag-t:#FFF1F3;--ag-c:#A33B47}
html.oscuro .ag-sintesis{--ag-t:#13233A;--ag-c:#9CC8FF}html.oscuro .ag-codificacion{--ag-t:#12291F;--ag-c:#8EE0B0}html.oscuro .ag-lenguaje{--ag-t:#1F1B3A;--ag-c:#C4B5FD}
html.oscuro .ag-mapas{--ag-t:#2E2414;--ag-c:#FFD27A}html.oscuro .ag-conjunto{--ag-t:#33191E;--ag-c:#F6A9B3}
.an-grupo .an-op{background:var(--panel);box-shadow:0 1px 2px rgba(15,26,31,.05)}
.an-grupo .an-op:hover{background:var(--panel);box-shadow:inset 0 0 0 1px var(--ag-c),0 1px 2px rgba(15,26,31,.05)}
.an-op-ico{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:7px;background:var(--ag-t);color:var(--ag-c);flex:none}
.an-op-ico .ico-q{color:var(--ag-c)}
.an-op:has(input:checked) .an-op-ico{background:var(--panel)}
/* Chips del tipo de análisis: enteros, en varias líneas si hace falta */
.an-biblio .chip{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3;padding-top:4px;padding-bottom:4px}

/* --- Editor de gráficos --- */
.g-sub{margin:-4px 0 10px;font-size:13px;color:#4B5563}
.g-controles{flex-direction:column;align-items:stretch}
.g-herr{gap:8px}
.g-tipos{display:inline-flex;gap:2px;padding:3px;border-radius:8px;background:#EEF3F9;margin-right:4px}
.g-tipo{display:inline-grid;place-items:center;width:34px;height:30px;border:0;border-radius:6px;background:none;color:#4B5563;cursor:pointer}
.g-tipo:hover{background:#fff;color:#0A4A8F}
.g-tipo[aria-pressed=true]{background:#fff;color:#0058C7;box-shadow:0 1px 2px rgba(15,26,31,.12)}
.g-sel{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#4B5563}
.g-sel select{border:0;border-radius:6px;background-color:#EEF3F9;color:#0F1A1F;font:500 12px Inter,sans-serif;padding:6px 26px 6px 8px;min-height:0}
.g-btn:disabled{opacity:.45;cursor:default}
.g-editor{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.g-editor:empty{display:none}
.g-versiones{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:#F4F7FB}
.g-v-t{font:700 12.5px Montserrat,sans-serif;color:#0F1A1F;margin-right:4px}
.g-v-exp{margin:0;font-size:12.5px;color:#4B5563}
.g-ia{border-radius:8px;background:linear-gradient(90deg,#EEF5FF,#EBFBF5)}
.g-ia summary{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;list-style:none;font:600 13px Inter,sans-serif;color:#0A4A8F}
.g-ia summary::-webkit-details-marker{display:none}
.g-ia summary svg{color:#0058C7}
.g-ia-cuerpo{display:flex;flex-direction:column;gap:8px;padding:0 12px 12px}
.g-ia textarea{width:100%;box-sizing:border-box;min-height:56px;padding:8px 10px;border:1px solid #D6E2EF;border-radius:8px;background:#fff;color:#0F1A1F;font:400 13.5px/1.5 Inter,sans-serif;resize:vertical}
.g-ia-ej{display:flex;flex-wrap:wrap;gap:6px}
.g-ej{border:0;border-radius:999px;background:#fff;color:#0A4A8F;font:500 12px Inter,sans-serif;padding:5px 10px;cursor:pointer;box-shadow:0 0 0 1px #D6E2EF}
.g-ej:hover{box-shadow:0 0 0 1px #0077FF}
.g-ia-fila{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.g-ia-fila .note{font-size:12px;color:#4B5563}
.g-credito{flex-basis:100%;color:#6B7280}
/* En modo oscuro el lienzo del gráfico sigue claro: sus controles también */
.oscuro .grafico-ia .g-btn{color:#0A4A8F;background:#E3EEFB}
.oscuro .grafico-ia .g-btn:hover,.oscuro .grafico-ia .g-btn[aria-pressed=true]{background:#D2E3F8}
.oscuro .grafico-ia .g-serie{background:#E9EFF6;color:#1F2937}
.oscuro .grafico-ia .note,.oscuro .grafico-ia .g-umbral,.oscuro .grafico-ia .g-sel{color:#4B5563}
.oscuro .grafico-ia .g-umbral output{color:#0F1A1F}
.oscuro .grafico-ia .aviso-js{color:#B42318}

/* --- Editor de gráficos y diagramas: a mano y con Hype --- */
.grafico-ia,.an-b-diagrama{position:relative}
.g-pista{margin:2px 0 0;font-size:12px;color:#6B7280;flex-basis:100%}
.g-editable{cursor:pointer}
.g-editable:hover{filter:brightness(1.08) saturate(1.1)}
.d-editable{cursor:pointer}
.d-editable:hover path,.d-editable:hover polygon,.d-editable:hover ellipse{stroke-width:2.6}
.g-fila-pal{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.g-et{font-size:12.5px;color:#4B5563}
.g-paletas{display:inline-flex;flex-wrap:wrap;gap:4px}
.g-paleta{display:inline-flex;gap:0;padding:4px;border:0;border-radius:7px;background:#EEF3F9;cursor:pointer}
.g-paleta i{display:block;width:10px;height:14px}
.g-paleta i:first-child{border-radius:3px 0 0 3px}.g-paleta i:last-child{border-radius:0 3px 3px 0}
.g-paleta:hover{background:#DDEBFC}
.g-paleta[aria-pressed=true]{background:#fff;box-shadow:0 0 0 2px #0077FF}
.g-seg{display:inline-flex;gap:2px;padding:3px;border-radius:8px;background:#EEF3F9}
.g-seg .g-btn{background:none}
.g-seg .g-btn[aria-pressed=true]{background:#fff;box-shadow:0 1px 2px rgba(15,26,31,.12)}
.d-herr{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:0 0 6px}
.d-estado{font-size:12px}
.g-ocultas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.g-ocultas:empty{display:none}
.g-sucio{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:#FFF3D6;color:#5C3800;font:600 12.5px Inter,sans-serif}
.g-peligro{color:#B42318!important}
.g-peligro.armado{background:#FDECEA!important}
.g-menu{position:absolute;z-index:30;width:290px;max-width:calc(100% - 16px);padding:12px;border-radius:10px;background:#fff;color:#0F1A1F;
  box-shadow:0 0 0 1px #DCE5EF,0 24px 48px -16px rgba(15,26,31,.35);display:flex;flex-direction:column;gap:9px}
.g-menu-cab{display:flex;align-items:center;justify-content:space-between;gap:8px}
.g-menu-cab b{font:700 13.5px Montserrat,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-menu-x{border:0;background:none;cursor:pointer;color:#6B7280;font-size:14px;padding:2px 6px;border-radius:6px}
.g-menu-x:hover{background:#EEF3F9}
.g-menu-fila{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#4B5563}
.g-menu-fila.check{flex-direction:row;align-items:center;gap:8px;color:#1F2937;font-size:13px}
.g-menu-fila.check input{width:16px;height:16px;accent-color:#0077FF;margin:0}
.g-menu-fila input:not([type]),.g-menu-fila input[type=text],.g-menu-fila select,.g-menu-fila>input{min-height:34px;padding:6px 9px;border:1px solid #D6E2EF;border-radius:7px;background:#fff;color:#0F1A1F;font:400 13px Inter,sans-serif}
.g-menu-et{font-weight:600}
.g-swatches{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.g-sw{width:22px;height:22px;border-radius:6px;border:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(15,26,31,.12)}
.g-sw[aria-pressed=true]{box-shadow:0 0 0 2px #fff,0 0 0 4px #0F1A1F}
.g-color{width:28px;height:24px;padding:0;border:0;background:none;cursor:pointer}
.g-rapidos{display:flex;flex-wrap:wrap;gap:3px}
.g-rap{border:0;background:#F1F5FA;border-radius:6px;padding:2px 5px;font-size:15px;cursor:pointer}
.g-rap:hover{background:#DDEBFC}
.g-menu-pie{display:flex;justify-content:flex-end}
html.oscuro .an-b-diagrama .g-seg,html.oscuro .an-b-diagrama .g-paleta{background:#1A2633}
html.oscuro .an-b-diagrama .g-seg .g-btn[aria-pressed=true],html.oscuro .an-b-diagrama .g-paleta[aria-pressed=true]{background:#24364A}
html.oscuro .an-b-diagrama .g-et{color:#A8B3C2}
html.oscuro .g-sucio{background:#3A2C10;color:#FFD27A}
.g-menu label.g-menu-fila{margin:0;padding:0;min-height:0}
.g-menu label.g-menu-fila.check{padding:2px 0}
.g-menu .g-menu-fila.check>input{min-height:0;padding:0;border:0}
.g-menu{color-scheme:light}

/* Descargas con opciones */
.descarga{position:relative}
.descarga>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:42px}
.descarga>summary::-webkit-details-marker{display:none}
.desc-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:min(460px,calc(100vw - 32px));max-height:min(75vh,640px);overflow:auto;
  padding:14px;border-radius:10px;background:var(--panel);box-shadow:0 0 0 1px #DCE5EF,0 24px 48px -18px rgba(15,26,31,.35);display:flex;flex-direction:column;gap:12px}
.desc-cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.desc-cab b{font:700 14px Montserrat,sans-serif;color:var(--tinta)}
.desc-presets{display:inline-flex;gap:6px}
.desc-grupo{border:0;margin:0;padding:10px;border-radius:9px;background:var(--fondo);display:flex;flex-direction:column;gap:4px}
.desc-grupo legend{float:left;width:100%;display:flex;align-items:center;gap:7px;margin-bottom:6px;font:700 11.5px Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--tenue)}
.desc-grupo legend+*{clear:both}
.desc-op{display:flex;align-items:flex-start;gap:10px;padding:7px 8px;border-radius:7px;cursor:pointer}
.desc-op:hover{background:var(--hover)}
.desc-op:has(input:checked){background:var(--panel);box-shadow:inset 0 0 0 1.5px #0077FF}
.desc-op input{margin:2px 0 0;width:16px;height:16px;accent-color:var(--azul);flex:none}
.desc-op span{display:flex;flex-direction:column;gap:1px;font-size:13.5px;color:var(--texto)}
.desc-op small{font-size:12px;color:var(--tenue)}
.desc-pie{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;bottom:-14px;margin:0 -14px -14px;padding:10px 14px;background:var(--panel);border-top:1px solid #E6ECF2}
.desc-formato{display:inline-flex;gap:14px;font-size:13.5px;color:var(--texto)}
.desc-formato label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
html.oscuro .desc-panel{box-shadow:0 0 0 1px #2A3946,0 24px 48px -18px rgba(0,0,0,.7)}
html.oscuro .desc-pie{border-color:#24313D}

/* Directo: chat del equipo, mensajes directos, quién está en línea y llamadas */
.dx-boton{position:fixed;right:20px;bottom:20px;z-index:45;display:flex;align-items:center;gap:8px;height:46px;padding:0 16px 0 14px;border:0;border-radius:23px;background:var(--degradado-boton);color:#fff;font:600 14px Inter,sans-serif;cursor:pointer;box-shadow:0 10px 26px -10px rgba(0,119,255,.65);transition:transform .15s}
.dx-boton:hover{transform:translateY(-2px)}
.dx-boton.on{background:#0F1A1F}
.dx-boton-av{display:flex}
.dx-boton-av .dx-av{margin-left:-6px;box-shadow:0 0 0 2px #fff}
.dx-badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#E5484D;color:#fff;font:700 11px/20px Inter,sans-serif;text-align:center}
.dx-boton .dx-badge{position:absolute;top:-5px;right:-4px}
.dx-av{flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;color:#fff;font:700 11px Montserrat,sans-serif}
.dx-av img{width:100%;height:100%;object-fit:cover}
.dx-av-grupo{background:var(--degradado)!important;width:32px;height:32px}
.dx-panel{position:fixed;right:20px;bottom:78px;z-index:46;width:min(380px,calc(100vw - 24px));height:min(560px,calc(100vh - 110px));background:var(--panel);border-radius:14px;box-shadow:0 24px 60px -18px rgba(15,26,31,.5),0 0 0 1px rgba(15,26,31,.05);display:flex;flex-direction:column;overflow:hidden;animation:dx-entra .18s ease-out}
@keyframes dx-entra{from{opacity:0;transform:translateY(10px)}}
.dx-hd{display:flex;align-items:center;gap:6px;padding:12px 12px 10px 16px;box-shadow:0 1px 0 #EEF2F6}
.dx-hd-t{flex:1;margin:0;font:700 15px Montserrat,sans-serif;color:var(--tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dx-hd-acc{display:flex;gap:2px}
.dx-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:8px;background:none;color:var(--suave);cursor:pointer}
.dx-ico:hover{background:var(--hover);color:var(--tinta)}
.dx-ico-sm{width:28px;height:28px}
.dx-cuerpo{overflow:auto;padding:8px;flex:1}
.dx-sec{font:700 11.5px Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);margin:14px 8px 6px}
.dx-vacio{font-size:13px;color:var(--tenue);margin:12px 8px}
.dx-fila{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:0;border-radius:9px;background:none;text-align:left;cursor:pointer;color:var(--texto)}
.dx-fila:hover{background:var(--hover)}
.dx-fila-t{flex:1;display:flex;flex-direction:column;min-width:0}
.dx-fila-t b{font-size:14px;font-weight:600}
.dx-fila-t small{font-size:12px;color:var(--tenue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dx-online .dx-av{box-shadow:0 0 0 2px var(--panel),0 0 0 4px #2FB383}
.dx-fila-acc{display:flex;gap:2px;opacity:.75}
.dx-fila:hover .dx-fila-acc{opacity:1}
.dx-badge-fila{margin-left:4px}
.dx-msgs{flex:1;overflow:auto;padding:12px 12px 4px;display:flex;flex-direction:column;gap:2px}
.dx-msg{display:flex;align-items:flex-end;gap:8px;max-width:88%;margin-top:8px}
.dx-msg.seguido{margin-top:1px;padding-left:34px}
.dx-msg.mio{align-self:flex-end;flex-direction:row-reverse}
.dx-msg.mio.seguido{padding-left:0}
.dx-burbuja{background:#EFF4F9;border-radius:14px 14px 14px 4px;padding:7px 11px;display:flex;flex-direction:column;min-width:0}
.dx-msg.mio .dx-burbuja{background:#0077FF;color:#fff;border-radius:14px 14px 4px 14px}
.dx-autor{font-size:12px;font-weight:700}
.dx-texto{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.dx-hora{font-size:10.5px;opacity:.65;align-self:flex-end}
.dx-escribir{display:flex;gap:8px;padding:10px;box-shadow:0 -1px 0 #EEF2F6}
.dx-escribir textarea{flex:1;resize:none;min-height:40px;max-height:120px;padding:9px 12px;border:1px solid #D6E2EF;border-radius:10px;font:400 14px Inter,sans-serif;background:var(--panel);color:var(--texto)}
.dx-enviar{width:40px;height:40px;border:0;border-radius:10px;background:var(--degradado-boton);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.dx-avisos{position:fixed;right:20px;top:20px;z-index:80;display:flex;flex-direction:column;gap:8px;width:min(340px,calc(100vw - 24px))}
.dx-aviso{background:var(--panel);border-radius:11px;padding:11px 14px;box-shadow:0 14px 34px -14px rgba(15,26,31,.5),0 0 0 1px rgba(15,26,31,.05);animation:dx-entra .2s ease-out}
.dx-aviso-t{display:flex;flex-direction:column;font-size:13.5px}
.dx-aviso-t b{color:var(--tinta)}
.dx-aviso-t span{color:var(--suave)}
.dx-aviso.pulsable .dx-aviso-t{cursor:pointer}
.dx-aviso-bs{display:flex;gap:8px;margin-top:10px}
.dx-dock{position:fixed;left:20px;bottom:20px;z-index:55;background:#0F1A1F;color:#fff;border-radius:14px;padding:8px;box-shadow:0 24px 60px -18px rgba(0,0,0,.6);max-width:calc(100vw - 40px)}
.dx-dock-hd{display:flex;align-items:center;gap:8px;padding:2px 4px 8px;font-size:12.5px}
.dx-dock-hd b{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.dx-dock-hd .dx-ico{color:#B8C7D6}
.dx-dock-hd .dx-ico:hover{background:#1C2833;color:#fff}
.dx-dock-punto{width:8px;height:8px;border-radius:50%;background:#2FB383;animation:wl-parpadeo 1.6s infinite}
.dx-caras{display:flex;gap:6px;flex-wrap:wrap;max-width:560px}
.dx-cara{position:relative;width:132px;height:99px;border-radius:9px;overflow:hidden;background:#1C2833;display:flex;align-items:center;justify-content:center}
.dx-cara video{width:100%;height:100%;object-fit:cover}
.dx-cara video.solo-audio{position:absolute;width:1px;height:1px;opacity:0}
.dx-cara-n{position:absolute;left:6px;bottom:6px;font-size:11px;font-weight:600;background:color-mix(in srgb,var(--c,#0F1A1F) 70%,#0F1A1F);padding:1px 7px;border-radius:5px}
.dx-cara-mute{position:absolute;right:6px;top:6px;font-size:10px;background:#E5484D;padding:1px 5px;border-radius:4px}
.dx-dock.mini .dx-cara{width:72px;height:54px}
.dx-dock.mini .dx-cara-n{display:none}
.dx-dock-bs{display:flex;gap:6px;justify-content:center;padding-top:8px}
.dx-dbtn{width:40px;height:40px;border:0;border-radius:50%;background:#22303C;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.dx-dbtn:hover{background:#2E4050}
.dx-dbtn.off{background:#5A2427;color:#FFB4B4}
.dx-dbtn.on{background:#0077FF}
.dx-dbtn.colgar{background:#E5484D}
.dx-dbtn.colgar:hover{background:#C93338}
.oscuro .dx-burbuja{background:#1C2833}
.oscuro .dx-hd,.oscuro .dx-escribir{box-shadow:0 1px 0 #22303C}
.oscuro .dx-escribir textarea{border-color:#2A3946}
.oscuro .dx-boton.on{background:#2E4050}
@media (max-width:640px){.dx-boton-t{display:none}.dx-boton{padding:0 14px}}

/* The Wallow: lista de tableros y confidencialidad */
.wl-hero{display:flex;align-items:center;gap:24px;padding:26px 30px;margin-bottom:18px;background:linear-gradient(120deg,#fff 55%,#E9F7F3)}
.wl-hero .lead{margin-bottom:0}

@keyframes wl-flota{50%{transform:translateY(-6px) rotate(-2deg)}}
.wl-crear summary{cursor:pointer;font-size:15px}
.wl-crear-f{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;align-items:end}
.wl-crear-f label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--suave)}
.wl-crear-f .ancho{grid-column:1/-1}
.wl-crear-f select,.wl-crear-f input{min-height:40px;padding:8px 10px;border:1px solid #D6E2EF;border-radius:8px;font:400 14px Inter,sans-serif;background:var(--panel);color:var(--texto)}
.wl-crear-f .btn{justify-self:start}
.wl-tarjeta-ico{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,#E3F0FF,#DDF8EF);color:#0F5FB5;display:flex;align-items:center;justify-content:center}
.wl-dentro{display:flex;align-items:center;gap:0;margin-left:auto}
.wl-dentro .dx-av{width:24px;height:24px;margin-left:-6px;box-shadow:0 0 0 2px var(--panel);font-size:9.5px}
.wl-dentro-t{font-size:11.5px;color:#137A52;margin-left:8px;font-weight:600}
.wl-conf{max-width:720px}
.wl-conf-l{margin:0 0 20px;padding-left:20px;line-height:1.7}
.oscuro .wl-hero{background:linear-gradient(120deg,var(--panel) 55%,#12302A)}
@media (max-width:700px){.wl-hero .wallow-ilu{display:none}.wl-crear-f{grid-template-columns:1fr}}

/* Inicio del Laboratorio H3: las cuatro lentes */
.lentes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:6px 0 20px}
.lente{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px 18px 16px;border-radius:12px;background:var(--suave-c);box-shadow:var(--sombra);text-decoration:none;color:var(--texto);overflow:hidden;transition:transform .18s,box-shadow .18s,background .2s}
.lente:hover{transform:translateY(-3px);background:var(--hover-c);box-shadow:0 1px 3px rgba(15,26,31,.06),0 22px 40px -24px rgba(15,26,31,.4);color:var(--texto)}
.lente.on{background:var(--hover-c);box-shadow:0 1px 3px rgba(15,26,31,.06),0 22px 40px -24px rgba(15,26,31,.4)}
.lente-ico{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--c);margin-bottom:8px}
.lente-ico svg *{stroke-dasharray:1;stroke-dashoffset:0}
.lente:hover .lente-ico svg *{animation:dibujar .7s ease both}
.lente-k{font:700 11px Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--tenue)}
.lente b{font:800 19px Montserrat,sans-serif;color:var(--tinta)}
.lente-d{font-size:13.5px;color:var(--suave);line-height:1.45}
.lente-n{margin-top:auto;padding-top:10px;font-size:12.5px;font-weight:600;color:var(--c-texto)}
.l-qual{--c:#3CC492;--c-texto:#137A52;--suave-c:#F0FBF6;--hover-c:#D6F5E6}
.l-quant{--c:#0077FF;--c-texto:#0F5FB5;--suave-c:#F1F7FE;--hover-c:#DCEBFF}
.l-soc{--c:#F07C8C;--c-texto:#B4324A;--suave-c:#FFF4F6;--hover-c:#FFE0E6}
.l-h3{--c:linear-gradient(135deg,#3CC492,#0077FF 55%,#F07C8C);--c-texto:#35506B;--suave-c:#F4F7FB;--hover-c:#E4ECF6}
.lente-mini{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--c)}
.chip.soc{background:#FFE4E8;color:#9D2B40}
.wallow-ban{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:20px 24px;margin-bottom:8px;background:linear-gradient(110deg,var(--panel) 50%,#E7F6F2)}
.wallow-ilu{flex:none;animation:wl-flota 5s ease-in-out infinite}
.wallow-ban h2{font:800 20px Montserrat,sans-serif;margin:0 0 4px;color:var(--tinta)}
.wallow-ban .eyebrow{margin-bottom:2px;background:var(--degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
.wallow-ban .note{margin:0;max-width:560px}
.wallow-ban-ts{display:flex;flex-direction:column;gap:6px;min-width:240px}
.wallow-ban-tab{display:flex;flex-direction:column;padding:8px 12px;border-radius:9px;background:var(--panel);box-shadow:0 0 0 1px #E3E8EE;text-decoration:none;color:var(--texto)}
.wallow-ban-tab:hover{box-shadow:0 0 0 1px #0077FF;color:var(--texto)}
.wallow-ban-tab b{font-size:13.5px}
.wallow-ban .btn{align-self:flex-start}
.oscuro .l-qual{--suave-c:#14231E;--hover-c:#1A3329}.oscuro .l-quant{--suave-c:#131E2B;--hover-c:#182B40}.oscuro .l-soc{--suave-c:#241A1E;--hover-c:#35212A}.oscuro .l-h3{--suave-c:#172029;--hover-c:#1F2C38}
.oscuro .chip.soc{background:#3A1C24;color:#FFB3C0}
.oscuro .wallow-ban{background:linear-gradient(110deg,var(--panel) 50%,#12302A)}
.oscuro .wallow-ban-tab{box-shadow:0 0 0 1px #2A3946}
@media (max-width:1100px){.lentes{grid-template-columns:repeat(2,minmax(0,1fr))}.wallow-ban{grid-template-columns:1fr}.wallow-ban .wallow-ilu{display:none}}
@media (max-width:600px){.lentes{grid-template-columns:1fr}}
.chat-act{display:flex;align-items:center;gap:20px;justify-content:space-between}
.chat-act .note{margin:4px 0 0;max-width:760px}
.chat-act-t{margin:0}
@media (max-width:700px){.chat-act{flex-direction:column;align-items:flex-start}}
.dx-audio{display:none}
.dx-cara{transition:box-shadow .15s}
.dx-cara.habla{box-shadow:0 0 0 3px #2FB383}
.dx-sin-senal{margin:8px 2px 0;max-width:280px;font-size:12px;color:#FFD9A8;line-height:1.4}
.dx-activar{margin-top:8px;width:100%}

/* Abriendo The Wallow: las notas aparecen, el cursor se mueve y la ola se dibuja */
.cg-wallow{overflow:visible;filter:drop-shadow(0 12px 22px rgba(0,119,255,.18))}
.cg-wallow rect{transform-box:fill-box;transform-origin:center;animation:cgw-nota 2.4s cubic-bezier(.2,1.3,.4,1) infinite}
.cg-wallow .cgw-n2{animation-delay:.25s}
.cg-wallow .cgw-n3{animation-delay:.5s}
@keyframes cgw-nota{0%{transform:scale(.3) rotate(-10deg);opacity:0}20%,80%{transform:scale(1) rotate(0);opacity:1}100%{transform:scale(1);opacity:0}}
.cgw-cursor{animation:cgw-cursor 2.4s ease-in-out infinite}
@keyframes cgw-cursor{0%{transform:translate(0,0)}50%{transform:translate(-30px,-24px)}100%{transform:translate(0,0)}}
.cgw-ola{stroke-dasharray:1;stroke-dashoffset:1;animation:cg-dibujo 2.4s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.cg-wallow *{animation:none!important;stroke-dashoffset:0}}

/* Claro u oscuro, en la barra de arriba */
.tema-rapido{display:inline-flex;gap:2px;padding:3px;border-radius:9px;background:var(--activo)}
.tema-rapido button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;border:0;border-radius:7px;background:none;color:var(--enlace);cursor:pointer;transition:background .15s,color .15s}
.tema-rapido button:hover{background:rgba(255,255,255,.6)}
.tema-rapido button[aria-pressed="true"]{background:var(--panel);color:var(--tinta);box-shadow:0 1px 3px rgba(15,26,31,.15)}
.tema-rapido button svg{transition:transform .3s}
.tema-rapido button:hover svg{transform:rotate(-20deg) scale(1.1)}
.oscuro .tema-rapido button:hover{background:rgba(255,255,255,.08)}

/* ===== H3 Lab | software a pantalla completa con pestañas por herramienta ===== */
.h3lab{min-height:100vh;display:flex;flex-direction:column;background:var(--fondo)}
.h3lab .lab-filtros,.h3lab .h3w-lado,.h3lab .tree{top:74px;max-height:calc(100vh - 90px)}
.h3lab .h3p-lado,.h3lab .notas-lado{top:74px}
.lab-barra{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;min-height:58px;padding:8px 16px;background:var(--panel);box-shadow:0 1px 0 #E8EEF5,0 10px 24px -22px rgba(15,26,31,.35)}
.lab-marca{display:flex;align-items:center;gap:9px;text-decoration:none;padding-right:6px;flex:none}
.lab-nombre{font:800 18px Montserrat,sans-serif;letter-spacing:-.02em;color:var(--tinta)}
.lab-pestanas{display:flex;align-items:center;gap:3px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.lab-pestanas::-webkit-scrollbar{display:none}
.lab-p{--t:var(--hover);--h:var(--activo);--tx:#0A4A8F;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 11px;border-radius:9px;color:#35506B;font:600 13.5px Inter,sans-serif;text-decoration:none;white-space:nowrap;transition:background .18s,color .18s}
.lab-p svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.lab-p:hover{background:var(--t);color:var(--tx)}
.lab-p.on{background:var(--h);color:var(--tx)}
.lab-p.l-qual{--t:#EBF8F2;--h:#CDEFDF;--tx:#1F6E51}
.lab-p.l-quant{--t:#EEF5FF;--h:#D3E6FF;--tx:#0058C7}
.lab-p.l-soc{--t:#FFF1F3;--h:#FFD9DE;--tx:#A33B47}
.lab-p.l-h3{--t:#F1F2FF;--h:#DCDFFF;--tx:#3B3FA8}
.lab-p.l-wallow{--t:#E6FAF6;--h:#C4F1E7;--tx:#0B7C6B}
.lab-p.bloq{color:var(--tenue)}
.lab-p.bloq span{opacity:.75}
svg.lab-candado{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.lab-extra{font:700 9.5px Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:3px 6px;border-radius:5px;background:#FFF6D6;color:#6B4E00;-webkit-text-fill-color:#6B4E00}
.lente-k .lab-extra,.lente-k svg.lab-candado,.eyebrow .lab-extra{margin-left:8px;vertical-align:1px}
.lab-aviso-extra{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--suave);margin:-10px 0 20px;max-width:900px}
.lab-aviso-extra .lab-extra{flex:none}
.lab-der{display:flex;align-items:center;gap:10px;flex:none}
.lab-der .demo{padding:6px 10px;font-size:12px}
.lab-quien{display:flex;text-decoration:none}
.lab-quien .av{width:32px;height:32px;font-size:11.5px}
.lab-salir{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:9px;background:var(--activo);color:#0A4A8F;font:600 13px Inter,sans-serif;text-decoration:none;white-space:nowrap;transition:background .18s}
.lab-salir:hover{background:#DDEBFC;color:#0A4A8F}
.lab-main{flex:1;width:100%;max-width:1560px;margin:0 auto;padding:22px 32px 60px;min-width:0}
@media (max-width:1520px){.lab-der .demo{display:none}}
@media (max-width:1380px){.lab-p .lab-extra{font-size:0;padding:0;width:8px;height:8px;border-radius:50%;background:#E8B400;align-self:flex-start;margin:9px 0 0 -3px}}
@media (max-width:1240px){.lab-salir span{display:none}}
@media (max-width:1100px){.lab-p span:not(.lab-extra){display:none}.lab-p{padding:0 10px}.lab-salir span{display:none}}
@media (max-width:640px){.lab-nombre{display:none}.lab-main{padding:16px 16px 50px}.lab-barra{gap:8px;padding:8px 10px}.lab-der .tema-rapido{display:none}}
html.oscuro .lab-barra{box-shadow:0 1px 0 #1F2B36}
html.oscuro .lab-p{color:#B8C7D6}
html.oscuro .lab-p.l-qual{--t:#12302A;--h:#17463A;--tx:#7FE0B9}
html.oscuro .lab-p.l-quant{--t:#14263E;--h:#1A3658;--tx:#8DC2FF}
html.oscuro .lab-p.l-soc{--t:#3A1E24;--h:#522831;--tx:#F6A9B3}
html.oscuro .lab-p.l-h3{--t:#1E2046;--h:#2A2D63;--tx:#B9BDFF}
html.oscuro .lab-p.l-wallow{--t:#0F302B;--h:#14453E;--tx:#7FE6D3}
html.oscuro .lab-p:not([class*=" l-"]){--tx:#A9D0FF}
html.oscuro .lab-p.bloq{color:var(--tenue)}
html.oscuro .lab-extra{background:#3A3214;color:#F2D58A;-webkit-text-fill-color:#F2D58A}
html.oscuro .lab-salir{color:#A9D0FF}
html.oscuro .lab-salir:hover{background:#21385A}

/* Módulo no contratado */
.mod-bloq{--t:var(--hover);--tx:#0A4A8F;max-width:660px;margin:48px auto;padding:40px 36px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;transition:background .2s}
.mod-bloq.l-qual{--t:#EBF8F2;--tx:#1F6E51}.mod-bloq.l-quant{--t:#EEF5FF;--tx:#0058C7}.mod-bloq.l-soc{--t:#FFF1F3;--tx:#A33B47}.mod-bloq.l-h3{--t:#F1F2FF;--tx:#3B3FA8}.mod-bloq.l-wallow{--t:#E6FAF6;--tx:#0B7C6B}
.mod-bloq-ico{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:var(--t);color:var(--tx);margin-bottom:10px}
.mod-bloq .lead{margin:6px auto 4px}
.mod-bloq .note{max-width:520px;margin:0 0 16px}
html.oscuro .mod-bloq.l-qual{--t:#12302A;--tx:#7FE0B9}html.oscuro .mod-bloq.l-quant{--t:#14263E;--tx:#8DC2FF}html.oscuro .mod-bloq.l-soc{--t:#3A1E24;--tx:#F6A9B3}html.oscuro .mod-bloq.l-h3{--t:#1E2046;--tx:#B9BDFF}html.oscuro .mod-bloq.l-wallow{--t:#0F302B;--tx:#7FE6D3}

/* Barra superior en una sola fila (06-10): lo largo se encoge antes de saltar de línea */
@media (min-width:901px){
  .top{flex-wrap:nowrap;gap:12px}
  .top .row{flex:1 1 auto;min-width:0;flex-wrap:nowrap;gap:10px}
  .top .navsearch{flex:1 1 150px;min-width:120px;max-width:300px}
  .top .navsearch input{width:100%}
  .top .orgsel{flex:0 1 auto;min-width:0}
  .top .orgsel select{max-width:320px;min-width:0;width:100%;overflow:hidden;white-space:nowrap}
  .top .demo{white-space:nowrap;flex:none}
  .who{flex:none;gap:8px}
  .quien span:first-child{white-space:nowrap}
}
@media (min-width:901px) and (max-width:1599px){
  .rolchip{display:none}
  .salir span{display:none}
  .salir{padding:0 10px}
}
@media (min-width:901px) and (max-width:1279px){
  .quien{display:none}
  .top .demo{font-size:0;padding:7px}
  .top .demo::before{content:"Demo";font-size:12px}
}
.salir svg{flex:none}
@media (min-width:1600px){.salir svg{display:none}}

/* Logo del cliente en el menú */
.org-marca{padding:0 10px 14px}
.org-marca img{display:block;max-width:100%;max-height:34px;width:auto;height:auto}
.menu-plegado .org-marca{display:none}
html.oscuro .org-marca img{background:#fff;border-radius:7px;padding:6px 9px;max-height:40px}
.logo-org{display:grid;grid-template-columns:minmax(160px,260px) 1fr;gap:10px 20px;align-items:center}
.logo-org-vista{display:flex;align-items:center;min-height:56px;padding:10px 14px;border-radius:10px;background:var(--fondo)}
.logo-org-vista img{max-width:100%;max-height:40px}
.logo-org-f{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.logo-org .note{grid-column:1/-1;margin:0}
.logo-quitar{background:#FDECEC;color:#8A1C1C}
html.oscuro .logo-org-vista{background:#fff}
@media (max-width:700px){.logo-org{grid-template-columns:1fr}}
.lab-extra.lab-sin{background:#FDE3E3;color:#8A1C1C;-webkit-text-fill-color:#8A1C1C}
html.oscuro .lab-extra.lab-sin{background:#3A1A1A;color:#F3A3A3;-webkit-text-fill-color:#F3A3A3}
@media (max-width:1380px){.lab-p .lab-extra.lab-sin{background:#D64545}}

/* Menú: herramientas Pro (se contratan aparte). Fondo claro que se satura al pasar, sin franjas. */
.nav-pro{margin:10px 0 4px;padding:4px 6px 6px;border-radius:12px;background:linear-gradient(135deg,#F2F7FF,#EEFBF6);transition:background .2s}
.nav-pro:hover{background:linear-gradient(135deg,#E8F1FF,#E1F7EE)}
.nav-pro .nav{min-height:40px}
.nav-pro .nav:hover{background:rgba(255,255,255,.75)}
.nav-pro .nav.on{background:#fff;box-shadow:0 1px 2px rgba(15,26,31,.06)}
.nav-pro-t{display:flex;align-items:center;gap:8px;padding:10px 8px 6px;cursor:help}
.pro-chip{display:inline-flex;align-items:center;font:800 10px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--degradado);padding:3px 7px;border-radius:5px}
.menu-plegado .nav-pro{padding:4px 2px}
.menu-plegado .nav-pro-t{display:flex;justify-content:center;padding:8px 0 4px}
.menu-plegado .nav-pro-t .lbl{display:none}
html.oscuro .nav-pro{background:linear-gradient(135deg,#132131,#122822)}
html.oscuro .nav-pro:hover{background:linear-gradient(135deg,#182B40,#163328)}
html.oscuro .nav-pro .nav:hover{background:rgba(255,255,255,.06)}
html.oscuro .nav-pro .nav.on{background:#1A2E45;box-shadow:none}
.nav-pro-t .lbl{white-space:nowrap;letter-spacing:.08em}
.accesos .note{margin:0 0 12px}
.acc-t td{text-align:center}
.acc-t td input{width:18px;height:18px;accent-color:#0077FF}
.acc-t th .pro-chip{margin-right:6px;vertical-align:1px}
.acc-nota{display:block;font-weight:400;margin-top:2px}
.acc-no th,.acc-no td{opacity:.6}
.accesos .btn{margin-top:14px}
.pm-grupo th{background:var(--fondo);font:700 12px Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--tenue);padding-top:12px}
.pm-nota{padding:10px 16px 14px;margin:0}

/* Buscador: qué tipo de coincidencia es cada pasaje */
.co-tipo{display:inline-block;font:600 11px Inter,sans-serif;padding:2px 7px;border-radius:5px;margin-right:4px;vertical-align:1px;background:#EEF1F5;color:#56677A}
.co-exacta .co-tipo{background:#DDF6EC;color:#0B6E50}
.co-continua .co-tipo{background:#E3EEFF;color:#0058C7}
.co-relacionada .co-tipo{background:#F1F2FF;color:#3B3FA8}
html.oscuro .co-tipo{background:#1C2833;color:#B9CCE0}
html.oscuro .co-exacta .co-tipo{background:#12302A;color:#7FE0B9}
html.oscuro .co-continua .co-tipo{background:#14263E;color:#8DC2FF}
html.oscuro .co-relacionada .co-tipo{background:#1E2046;color:#B9BDFF}

/* Visor de PDF: capa de texto (seleccionable) sobre cada página */
.pdf-marco{position:relative;line-height:0;max-width:100%}
.pdf-marco .textLayer{position:absolute;inset:0;overflow:clip;line-height:1;text-align:initial;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:1}
.pdf-marco .textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}
.pdf-marco .textLayer span.markedContent{top:0;height:0}
.pdf-marco .textLayer ::selection{background:rgba(0,119,255,.25)}
.pdf-marco .textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;user-select:none}

/* Pasaje que viene del buscador: turquesa que se queda suave */
@keyframes pasaje-llega{0%{background-color:rgba(0,221,170,.75)}100%{background-color:rgba(0,221,170,.22)}}
.pasaje-on{background-color:rgba(0,221,170,.22);animation:pasaje-llega 2.6s ease-out 1;border-radius:3px;box-shadow:0 0 0 3px rgba(0,221,170,.22)}
.textLayer .pasaje-on{box-shadow:none;border-radius:2px}
html.oscuro .pasaje-on{background-color:rgba(0,221,170,.28)}
pre.textview .ln{display:inline}

/* Buscador: el sitio de cada pasaje («hoja Volumen semanal») ocupa su columna y parte en líneas si no cabe */
.pasajes li{grid-template-columns:150px minmax(0,1fr)}
.pasajes .donde{white-space:normal;overflow-wrap:anywhere;line-height:1.35;padding:4px 8px;justify-self:start;max-width:100%;text-align:left}

/* Aviso al pasar por los botones de icono de la barra superior */
.tip-abajo{position:relative}
.tip-abajo[data-tip]:hover::after,.tip-abajo[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);right:0;z-index:60;white-space:nowrap;
  font:500 12.5px Inter,sans-serif;color:#fff;background:#0F1A24;padding:6px 10px;border-radius:7px;box-shadow:0 8px 20px -10px rgba(15,26,31,.5);pointer-events:none}
html.oscuro .tip-abajo[data-tip]:hover::after,html.oscuro .tip-abajo[data-tip]:focus-visible::after{background:#E6EEF7;color:#0F1A24}
.tema-rapido .tip-abajo[data-tip]:hover::after{right:auto;left:50%;transform:translateX(-50%)}
@media (min-width:1600px){.salir.tip-abajo[data-tip]:hover::after{display:none}}
.herr{border:0;margin:6px 0 18px;padding:14px 16px;border-radius:10px;background:var(--fondo)}
.herr legend{font:700 13px Montserrat,sans-serif;color:var(--tinta);padding:0;margin-bottom:8px;display:flex;align-items:center;gap:8px;float:left;width:100%}
.herr-op{display:flex;gap:8px;align-items:baseline;font-size:14px;margin:4px 0;clear:both}
.herr-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:10px 0 8px 22px}
.herr-lista label{display:flex;gap:7px;align-items:center;font-size:13.5px}
.herr-no{opacity:.6}
.herr .note{margin:6px 0 0}
.chip.pro-propias{background:#F1F2FF;color:#3B3FA8}html.oscuro .chip.pro-propias{background:#1E2046;color:#B9BDFF}

/* H3 Lab | inicio (lo último) y subapartados de Cuantitativo */
.lab-recientes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:12px 0 8px}
.lab-rec{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;text-decoration:none;color:var(--texto);transition:transform .15s,box-shadow .15s}
.lab-rec:hover{transform:translateY(-2px);color:var(--texto)}
.lab-rec .t{font-weight:600;line-height:1.35;color:var(--tinta)}
.cuanti-sub{display:flex;gap:6px;margin:4px 0 18px;padding:5px;border-radius:12px;background:var(--panel);box-shadow:var(--sombra);width:max-content;max-width:100%;overflow-x:auto}
.cuanti-sub a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:9px;font:600 14px Inter,sans-serif;color:#4B5563;text-decoration:none;white-space:nowrap}
.cuanti-sub a:hover{background:var(--hover);color:#0A4A8F}
.cuanti-sub a.on{background:#EEF5FF;color:#0058C7}
.oscuro .cuanti-sub a{color:#B6C3D1}.oscuro .cuanti-sub a.on{background:#1B3556;color:#CFE4FF}.oscuro .lab-rec .t{color:#E5EDF5}

/* Abriendo el editor de encuestas, el campo y «¡Lista y revisada!» */
.cg-enc,.cg-campo,.cg-lanzar{overflow:visible;filter:drop-shadow(0 12px 22px rgba(0,119,255,.18))}
.cg-enc [class^="cge-v"]{stroke-dasharray:1;stroke-dashoffset:1;animation:cg-dibujo 2.2s ease-in-out infinite}
.cg-enc .cge-v2{animation-delay:.5s}
.cg-enc [class^="cge-b"],.cg-campo [class^="cgc-b"]{transform-box:fill-box;transform-origin:bottom;animation:cge-sube 1.8s cubic-bezier(.2,1.2,.4,1) infinite}
.cg-enc .cge-b2,.cg-campo .cgc-b2{animation-delay:.12s}.cg-enc .cge-b3,.cg-campo .cgc-b3{animation-delay:.24s}.cg-enc .cge-b4,.cg-campo .cgc-b4{animation-delay:.36s}
@keyframes cge-sube{0%{transform:scaleY(.15)}40%,100%{transform:scaleY(1)}}
.cg-campo .cgc-p{animation:cgc-pulso 1.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cgc-pulso{50%{transform:scale(1.5);opacity:.6}}
.cg-lanzar .cgl-cohete{animation:cgl-despega 2s cubic-bezier(.5,0,.3,1) infinite}
.cg-lanzar .cgl-fuego{transform-box:fill-box;transform-origin:top;animation:cgl-fuego .25s ease-in-out infinite alternate}
.cg-lanzar .cgl-confeti{transform-box:fill-box;transform-origin:center;animation:cgl-confeti 2s ease-out infinite}
@keyframes cgl-despega{0%{transform:translateY(14px)}50%{transform:translateY(-6px)}100%{transform:translateY(14px)}}
@keyframes cgl-fuego{to{transform:scaleY(1.4)}}
@keyframes cgl-confeti{0%{transform:scale(.6);opacity:0}30%{opacity:1}100%{transform:scale(1.25);opacity:0}}
@media (prefers-reduced-motion:reduce){.cg-enc *,.cg-campo *,.cg-lanzar *{animation:none!important;stroke-dashoffset:0}}

/* Señalar en la pantalla durante una llamada */
.dib-capa{position:fixed;inset:0;z-index:1004;pointer-events:none}
.dib-capa svg{display:block}
.dib-lienzo{position:fixed;inset:0;z-index:1005;cursor:crosshair;touch-action:none;background:rgba(15,26,31,.03)}
.dib-barra{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:1006;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;max-width:calc(100vw - 24px);padding:6px;border-radius:16px;background:var(--panel,#fff);box-shadow:0 14px 34px -14px rgba(15,26,31,.5),0 0 0 1px rgba(124,92,224,.25)}
.dib-b{display:flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:var(--texto,#0F1A1F);font:600 12.5px Inter,sans-serif;cursor:pointer}
.dib-b:hover{background:#F2EEFF}
.dib-b.on{background:linear-gradient(90deg,#6D4FE0,#0077FF);color:#fff}
.dib-salir{margin-left:4px;background:#0F1A1F;color:#fff}
.dib-nota{flex-basis:100%;margin:2px 4px 0;font-size:11.5px;color:#7A8A9C;text-align:center}
.oscuro .dib-barra{background:#101C28}.oscuro .dib-b{color:#E5EDF5}.oscuro .dib-b:hover{background:#1B2A3B}
@media (max-width:700px){.dib-b span{display:none}}

/* ===== Deslizadores: el fondo de la opción activa se desliza (static/js/deslizador.js) ===== */
.dz-rel{position:relative}
.dz-on>.dz-pill{position:absolute;left:0;top:0;z-index:0;pointer-events:none;opacity:0;will-change:transform}
.dz-on>.dz-pill.vista{opacity:1}
.dz-anima>.dz-pill{transition:background-color .5s ease,box-shadow .5s ease,opacity .2s}
.dz-on>:not(.dz-pill){position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.dz-anima>.dz-pill{transition:none}}
/* Claro u oscuro */
.tema-rapido.dz-on button[aria-pressed="true"]{background:none;box-shadow:none}
.tema-rapido>.dz-pill{border-radius:7px;background:var(--panel);box-shadow:0 1px 3px rgba(15,26,31,.15)}
/* Vistas de las listas */
.vb-vistas.dz-on button[aria-pressed="true"]{background:none}
.vb-vistas>.dz-pill{border-radius:7px;background:var(--activo)}
/* Pestañas del H3 Lab y fases: el fondo de la activa viene ya en el HTML (.dz-fondo) y viaja entre páginas
   (static/css/lab-transiciones.css y, si el navegador no sabe, static/js/deslizador.js) */
/* Cuadrícula de una fila: cada botón en su columna y el fondo (primero en el HTML, por debajo de todos) en la
   columna del activo, así nunca tapa ningún texto, tampoco mientras viaja. */
.lab-pestanas,.lab-fases-pasos{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:center;justify-content:start;column-gap:3px}
.lab-fases-pasos{column-gap:4px}
.lab-pestanas>*,.lab-fases-pasos>*{grid-row:1}
.gc1{grid-column:1}.gc2{grid-column:2}.gc3{grid-column:3}.gc4{grid-column:4}.gc5{grid-column:5}.gc6{grid-column:6}.gc7{grid-column:7}.gc8{grid-column:8}.gc9{grid-column:9}.gc10{grid-column:10}.gc11{grid-column:11}.gc12{grid-column:12}
.lab-p,.lab-fase{position:relative;z-index:1}
.dz-fondo{position:relative;z-index:0;align-self:stretch;justify-self:stretch;pointer-events:none}
.lab-p.on,.lab-p.on:hover{background:none}
.lab-fondo{border-radius:9px;background:var(--activo)}
.lab-fondo.l-qual{background:#CDEFDF}.lab-fondo.l-quant{background:#D3E6FF}.lab-fondo.l-soc{background:#FFD9DE}.lab-fondo.l-h3{background:#DCDFFF}.lab-fondo.l-wallow{background:#C4F1E7}
html.oscuro .lab-fondo{background:#1A2E45}
html.oscuro .lab-fondo.l-qual{background:#17463A}html.oscuro .lab-fondo.l-quant{background:#1A3658}html.oscuro .lab-fondo.l-soc{background:#522831}html.oscuro .lab-fondo.l-h3{background:#2A2D63}html.oscuro .lab-fondo.l-wallow{background:#14453E}
/* Pasos de la encuesta (Cuestionario | Campo) */
.ec-pests.dz-on a.on{background:none;box-shadow:none}
.ec-pests>.dz-pill{border-radius:9px;background:var(--panel);box-shadow:0 1px 3px rgba(15,26,31,.12)}
.oscuro .ec-pests>.dz-pill{background:#1B3556}
/* Gráficos: forma, selectores y paletas */
.g-tipos.dz-on .g-tipo[aria-pressed=true],.g-seg.dz-on .g-btn[aria-pressed=true]{background:none;box-shadow:none}
.g-tipos>.dz-pill,.g-seg>.dz-pill{border-radius:6px;background:#fff;box-shadow:0 1px 2px rgba(15,26,31,.12)}
.g-paletas.dz-on .g-paleta[aria-pressed=true]{box-shadow:none;background:none}
.g-paletas>.dz-pill{border-radius:7px;background:#fff;box-shadow:0 0 0 2px #0077FF}
html.oscuro .an-b-diagrama .g-seg>.dz-pill{background:#24364A}

/* ===== H3 Lab: barra de fases de cada método ===== */
.lab-cima{position:sticky;top:0;z-index:40}
.lab-cima .lab-barra{position:relative;z-index:2}
:is(.lab-fases,.fz-cab,.fz){--c1:#0077FF;--c2:#38A1FF;--fx:#0058C7;--ff:#F3F8FF;--fl:#DCE8F8}
:is(.lab-fases,.fz-cab,.fz,.pf-velo).l-qual{--c1:#1FA66F;--c2:#3CC492;--fx:#1F6E51;--ff:#F1FAF6;--fl:#D3EEE1}
:is(.lab-fases,.fz-cab,.fz).l-soc{--c1:#E0566B;--c2:#F07C8C;--fx:#A33B47;--ff:#FFF5F6;--fl:#F6DDE1}
html.oscuro :is(.lab-fases,.fz-cab,.fz){--fx:#8DC2FF;--ff:#0F1B28;--fl:#1F2B36}
html.oscuro :is(.lab-fases,.fz-cab,.fz,.pf-velo).l-qual{--fx:#7FE0B9;--ff:#0E1F1B}
html.oscuro :is(.lab-fases,.fz-cab,.fz).l-soc{--fx:#F6A9B3;--ff:#211418}
.lab-fases{position:relative;z-index:1;overflow:hidden;background:linear-gradient(180deg,var(--ff),color-mix(in srgb,var(--ff) 55%,var(--panel)));box-shadow:inset 0 1px 0 var(--fl),0 1px 0 var(--fl),0 14px 26px -24px rgba(15,26,31,.45)}
.lab-fases::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--c1),var(--c2),transparent 70%);opacity:.55}
.lab-fases-in{display:flex;align-items:center;gap:20px;min-height:54px;padding:6px 16px 6px 22px}
.lab-fases-met{display:flex;align-items:center;gap:9px;flex:none;font:700 11.5px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--fx);white-space:nowrap}
.lab-fases-met small{font:500 12px Inter,sans-serif;letter-spacing:0;text-transform:none;color:var(--suave)}
.lab-fases-pasos{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;padding:3px}
.lab-fases-pasos::-webkit-scrollbar{display:none}
.lab-fase{display:inline-flex;align-items:center;gap:9px;height:38px;padding:0 15px 0 7px;border-radius:12px;text-decoration:none;white-space:nowrap;color:#4A5C70;font:600 13.5px Inter,sans-serif;transition:color .3s}
.lab-fase:hover{color:var(--fx)}
.lab-fase:focus-visible{outline:2px solid var(--c1);outline-offset:1px}
.lab-fase-n{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font:700 11.5px Montserrat,sans-serif;background:var(--panel);color:var(--fx);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c1) 32%,transparent);transition:background .4s,color .4s,box-shadow .4s,transform .4s}
.lab-fase.on{color:var(--tinta)}
.lab-fase.on .lab-fase-n{background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff;box-shadow:none}
.lab-fase:hover .lab-fase-n{box-shadow:inset 0 0 0 1.5px var(--c1)}
.lab-fase.on:hover .lab-fase-n{box-shadow:none}
.lab-fase-c{display:none}
.lab-fase-sep{display:inline-flex;flex:none;color:color-mix(in srgb,var(--c1) 45%,#A6B3C2)}
.lab-fase-sep svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fase-fondo{border-radius:12px;background:var(--panel);box-shadow:0 1px 2px rgba(15,26,31,.08),inset 0 0 0 1px color-mix(in srgb,var(--c1) 26%,transparent)}
html.oscuro .lab-fase{color:#A9B8C8}
html.oscuro .lab-fase.on{color:#EAF2FB}
html.oscuro .lab-fase-n{background:#16222E}
html.oscuro .fase-fondo{background:#18293A;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c1) 35%,transparent)}
@media (max-width:1280px){.lab-fases-met small{display:none}}
@media (max-width:1060px){.lab-fase-t{display:none}.lab-fase-c{display:inline}}
@media (max-width:640px){.lab-fases-met{display:none}.lab-fases-in{padding:6px 8px}.lab-fase{padding:0 10px 0 6px;gap:7px}.lab-fase:not(.on) .lab-fase-c{display:none}.lab-fase-sep{display:none}}
/* Lo que se queda fijo debajo de las dos barras */
.h3lab.con-fases .lab-filtros,.h3lab.con-fases .h3w-lado,.h3lab.con-fases .tree{top:128px;max-height:calc(100vh - 144px)}
.h3lab.con-fases .h3p-lado,.h3lab.con-fases .notas-lado{top:128px}
/* Pantallas a tamaño completo */
.lab-main{max-width:2000px;padding:26px 36px 64px}
@media (max-width:640px){.lab-main{padding:16px 16px 50px}}

/* ===== Cabecera de una fase ===== */
.fz-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;margin:2px 0 26px;padding-bottom:22px;box-shadow:0 1px 0 var(--fl)}
.fz-cab-t{flex:1 1 560px;min-width:0}
.fz-eye{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.fz-paso{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff;font:700 11px Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.fz-met{font:700 11.5px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--suave)}
.fz-cab .h{margin:0 0 8px}
.fz-cab .lead{margin:0;max-width:86ch}
.fz-mover{display:flex;gap:10px;flex:none;flex-wrap:wrap}
.fz-ir{display:inline-flex;align-items:center;gap:12px;min-height:50px;padding:7px 16px;border-radius:14px;text-decoration:none;background:var(--panel);color:var(--tinta);font:600 13.5px Inter,sans-serif;box-shadow:inset 0 0 0 1px #E1E8F0,0 6px 16px -14px rgba(15,26,31,.5);transition:transform .25s,box-shadow .25s}
.fz-ir span{display:flex;flex-direction:column;line-height:1.25}
.fz-ir small{font:500 11.5px Inter,sans-serif;color:var(--suave)}
.fz-ir svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.fz-ir:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c1) 40%,transparent),0 10px 22px -14px color-mix(in srgb,var(--c1) 60%,transparent)}
.fz-ir.ant:hover svg{transform:translateX(-3px)}
.fz-ir.sig{background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff;box-shadow:0 6px 16px -14px rgba(15,26,31,.5)}
.fz-ir.sig small{color:rgba(255,255,255,.82)}
.fz-ir.sig:hover svg{transform:translateX(3px)}
html.oscuro .fz-ir:not(.sig){box-shadow:inset 0 0 0 1px #2A3846}

/* ===== Pantalla de fase: herramientas y trabajo en curso ===== */
.fz-sec{margin:0 0 34px}
.fz-sec-hd{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.fz-t{margin:0 0 14px;font:700 12px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--suave)}
.fz-sec-hd .fz-t{margin:0}
.fz-cuenta{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:color-mix(in srgb,var(--c1) 12%,var(--panel));color:var(--fx);font:700 11.5px Inter,sans-serif}
.fz-solo{font:600 11.5px Inter,sans-serif;padding:4px 9px;border-radius:999px;background:#FFF6D6;color:#6B4E00}
html.oscuro .fz-solo{background:#3A3214;color:#F2D58A}
.fz-herr{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.fz-h{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;gap:4px 16px;padding:20px 20px 18px;border-radius:18px;background:var(--panel);color:inherit;text-decoration:none;box-shadow:0 0 0 1px #E6ECF2,0 14px 30px -26px rgba(15,26,31,.45);transition:transform .3s cubic-bezier(.3,.9,.3,1),box-shadow .3s}
.fz-h-ico{grid-row:1/4;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--c1) 12%,var(--panel));color:var(--fx);transition:transform .3s}
.fz-h-ico svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fz-h-t{font:700 15.5px Inter,sans-serif;color:var(--tinta);align-self:center}
.fz-h-d{font-size:13.5px;line-height:1.5;color:var(--suave)}
.fz-h-ir{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font:600 13px Inter,sans-serif;color:var(--fx)}
.fz-h-ir svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
a.fz-h:hover{transform:translateY(-3px);box-shadow:0 0 0 1px color-mix(in srgb,var(--c1) 38%,transparent),0 22px 40px -26px color-mix(in srgb,var(--c1) 65%,transparent)}
a.fz-h:hover .fz-h-ico{transform:scale(1.06) rotate(-4deg)}
a.fz-h:hover .fz-h-ir svg{transform:translateX(4px)}
.fz-h.pronto{background:transparent;box-shadow:none;border:1.5px dashed #CFD9E4}
.fz-h.pronto .fz-h-ico{background:var(--hover);color:var(--tenue)}
.fz-h.pronto .fz-h-ir{color:var(--tenue)}
html.oscuro .fz-h{box-shadow:0 0 0 1px #24323F,0 14px 30px -26px rgba(0,0,0,.7)}
html.oscuro .fz-h.pronto{border-color:#2A3846;box-shadow:none}
.fz-tabla-c{padding:0;overflow-x:auto}
.fz-tabla{width:100%;border-collapse:collapse;font-size:14px}
.fz-tabla th,.fz-tabla td{padding:13px 18px;text-align:left;vertical-align:middle;border-bottom:1px solid #EEF2F6}
.fz-tabla tbody tr:last-child>*{border-bottom:0}
.fz-tabla thead th{font:600 11.5px Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--suave);background:color-mix(in srgb,var(--ff) 70%,var(--panel))}
.fz-tabla tbody tr{transition:background .15s}
.fz-tabla tbody tr:hover{background:color-mix(in srgb,var(--ff) 60%,var(--panel))}
.fz-tabla th[scope=row]{font-weight:500}
.fz-cel-t{display:block;font-weight:600;color:var(--tinta);margin-bottom:4px}
.fz-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.fz-acc{text-align:right;white-space:nowrap}
.fz-acc .btn+.btn{margin-left:8px}
.fz-avance{-webkit-appearance:none;appearance:none;width:90px;height:6px;margin-right:10px;vertical-align:middle;border:0;border-radius:999px;background:#E7EEF6;overflow:hidden}
.fz-avance::-webkit-progress-bar{background:#E7EEF6;border-radius:999px}
.fz-avance::-webkit-progress-value{background:linear-gradient(90deg,var(--c1),var(--c2));border-radius:999px}
.fz-avance::-moz-progress-bar{background:linear-gradient(90deg,var(--c1),var(--c2));border-radius:999px}
html.oscuro .fz-tabla th,html.oscuro .fz-tabla td{border-color:#1F2B36}
html.oscuro .fz-avance,html.oscuro .fz-avance::-webkit-progress-bar{background:#1F2B36}
.fz-lista{display:grid;gap:8px}
.fz-fila{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:14px;background:var(--panel);color:var(--tinta);text-decoration:none;box-shadow:0 0 0 1px #E6ECF2;transition:transform .25s,box-shadow .25s}
.fz-fila b{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fz-fila .note{margin:0 0 0 auto;white-space:nowrap}
.fz-fila-ir{color:var(--fx);transition:transform .25s}
.fz-fila:hover{transform:translateX(3px);box-shadow:0 0 0 1px color-mix(in srgb,var(--c1) 38%,transparent)}
.fz-fila:hover .fz-fila-ir{transform:translateX(3px)}
html.oscuro .fz-fila{box-shadow:0 0 0 1px #24323F}
.fz-vacia{text-align:center;padding:60px 24px 64px;border-radius:24px;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--c1) 10%,var(--panel)),var(--panel) 70%);box-shadow:0 0 0 1px var(--fl);margin:0 0 34px}
.fz-vacia-ico{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:20px;background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff}
.fz-vacia-ico svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fz-vacia h2{font:700 21px Montserrat,sans-serif;color:var(--tinta);margin:18px 0 8px}
.fz-vacia p{max-width:58ch;margin:0 auto;color:var(--suave);line-height:1.6}
.fz-vacia-mini{padding:18px 20px;color:var(--suave)}
/* El título de cada fase, con el color de su método */
.fz-cab.l-qual .h .g{background-image:linear-gradient(90deg,#1FA66F,#00BFA5)}
.fz-cab.l-soc .h .g{background-image:linear-gradient(90deg,#E0566B,#F59E6B)}
@media (max-width:640px){.fz-mover{width:100%;flex-wrap:nowrap}.fz-ir{flex:1 1 0;min-width:0;padding:7px 12px;gap:8px}.fz-ir span{min-width:0}.fz-cab{margin-bottom:20px;padding-bottom:18px}}
/* (va al final para ganar a la definición de la barra de fases) */
.lab-pestanas,.lab-fases-pasos{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:center;justify-content:start}

/* ===== Fases de pago: candado en la barra y escaparate ===== */
.lab-fase-candado{flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.7;margin-left:-2px}
.es{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,400px);gap:28px;align-items:start}
.es-que{padding:30px 32px;border-radius:22px;background:var(--panel);box-shadow:0 0 0 1px #E6ECF2,0 18px 40px -34px rgba(15,26,31,.45)}
.es-sello{display:inline-flex;align-items:center;gap:7px;margin:0 0 16px;padding:5px 11px;border-radius:999px;font:700 11.5px Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb,var(--c1) 10%,var(--panel));color:var(--fx)}
.es-sello svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.es-t{font:700 22px Montserrat,sans-serif;color:var(--tinta);margin:0 0 18px}
.es-checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.es-checks li{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;font-size:15.5px;line-height:1.55;color:var(--texto)}
.es-check{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff}
.es-check svg{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.es-txt{color:var(--suave);line-height:1.6;margin:0}
.es-video{display:block;width:100%;margin:26px 0 0;border-radius:16px;background:#0F1A1F}
.es-tiene{margin:22px 0 0;padding-top:18px;box-shadow:inset 0 1px 0 #EEF2F6;color:var(--suave);font-size:14px}
.es-caja{position:sticky;top:128px;padding:26px;border-radius:22px;background:var(--panel);box-shadow:0 0 0 1px color-mix(in srgb,var(--c1) 30%,#E6ECF2),0 18px 40px -30px rgba(15,26,31,.45)}
.es-caja-t{font:700 18px Montserrat,sans-serif;color:var(--tinta);margin:0 0 14px}
.es-precio{display:flex;flex-direction:column;gap:2px;margin:0 0 18px;padding:16px 18px;border-radius:14px;background:color-mix(in srgb,var(--c1) 7%,var(--panel))}
.es-precio b{font:800 30px Montserrat,sans-serif;color:var(--tinta);letter-spacing:-.01em}
.es-precio span{font-size:13px;color:var(--suave)}
.es-form{display:grid;gap:10px;margin:0 0 12px}
.es-form textarea{width:100%;min-height:72px;padding:10px 12px;border:0;border-radius:12px;background:var(--fondo);box-shadow:inset 0 0 0 1px #E1E8F0;font:400 14px Inter,sans-serif;color:var(--texto);resize:vertical}
.es-b{width:100%;justify-content:center;min-height:44px}
.es-b svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-right:8px}
.es-conf{display:flex;gap:9px;align-items:center;font-size:13.5px;color:var(--texto);cursor:pointer}
.es-conf input{width:17px;height:17px;accent-color:var(--c1)}
.es-nota{margin:0;font-size:12.5px;line-height:1.5;color:var(--suave)}
.es-curso{margin-top:8px;color:var(--fx);font-weight:600}
.es-pedir{margin:6px 0 4px}
.es-pedir summary{cursor:pointer;font:600 13.5px Inter,sans-serif;color:var(--enlace);margin:0 0 10px}
.es-modulo{margin-top:18px;padding-top:18px;box-shadow:inset 0 1px 0 #EEF2F6}
.es-modulo-t{margin:0 0 4px;font:700 14px Inter,sans-serif;color:var(--tinta)}
.es-modulo-p{margin:0 0 12px;color:var(--suave);font-size:13.5px}
.es-modulo-p b{font:800 18px Montserrat,sans-serif;color:var(--tinta)}
.es-ahorro{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#E3FAF4;color:#00715F;font:700 11.5px Inter,sans-serif}
html.oscuro .es-que{box-shadow:0 0 0 1px #24323F}
html.oscuro .es-caja{box-shadow:0 0 0 1px color-mix(in srgb,var(--c1) 35%,#24323F)}
html.oscuro .es-form textarea{box-shadow:inset 0 0 0 1px #2A3846}
html.oscuro .es-tiene,html.oscuro .es-modulo{box-shadow:inset 0 1px 0 #1F2B36}
html.oscuro .es-ahorro{background:#0F3A30;color:#7FE0B9}
@media (max-width:980px){.es{grid-template-columns:1fr}.es-caja{position:static}.es-que{padding:22px 20px}}

/* ===== Botones que usan la IA: degradado de Hype en movimiento y halo mágico al pasar por encima =====
   Mismo efecto que los botones de Hype del editor de encuestas. Se aplica con .ia-magia y, sola, a los enlaces y
   botones marcados con data-anuncio="ia". */
.ia-magia,.btn[data-anuncio="ia"]{position:relative;isolation:isolate;color:#fff!important;border:0;background-image:linear-gradient(90deg,#6D4FE0 0%,#0077FF 25%,#00BFA6 50%,#0077FF 75%,#6D4FE0 100%)!important;background-size:200% 100%!important;background-repeat:repeat-x!important;background-position:0% 50%;transition:box-shadow .3s ease,transform .2s ease}
.ia-magia::after,.btn[data-anuncio="ia"]::after{content:"";position:absolute;inset:-4px;border-radius:inherit;pointer-events:none;opacity:0;z-index:-1;background:linear-gradient(90deg,#7C5CE0 0%,#0077FF 25%,#00BFA6 50%,#0077FF 75%,#7C5CE0 100%);background-size:200% 100%;background-repeat:repeat-x;filter:blur(9px);transition:opacity .3s}
.ia-magia:hover:not(:disabled),.ia-magia:focus-visible,.btn[data-anuncio="ia"]:hover{animation:ia-flujo 3.2s linear infinite,ia-halo 3.2s ease-in-out infinite;transform:translateY(-1px)}
.ia-magia:hover:not(:disabled)::after,.ia-magia:focus-visible::after,.btn[data-anuncio="ia"]:hover::after{opacity:.9;animation:ia-flujo 3.2s linear infinite}
.ia-magia:disabled{opacity:.6;cursor:default}
.ia-chispa{flex:none;margin-right:7px;fill:currentColor;stroke:none}
.ia-magia:hover:not(:disabled) .ia-chispa,.btn[data-anuncio="ia"]:hover .ico-q{animation:ia-giro 1.6s ease-in-out infinite}
@keyframes ia-flujo{from{background-position:0% 50%}to{background-position:200% 50%}}
@keyframes ia-halo{0%,100%{box-shadow:0 0 0 0 rgba(124,92,224,.45),0 6px 18px -6px rgba(0,119,255,.55)}50%{box-shadow:0 0 0 5px rgba(124,92,224,0),0 8px 26px -4px rgba(0,191,166,.6)}}
@keyframes ia-giro{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(18deg) scale(1.18)}}
@media (prefers-reduced-motion:reduce){.ia-magia,.ia-magia::after,.btn[data-anuncio="ia"],.btn[data-anuncio="ia"]::after,.ia-chispa{animation:none!important}}

/* «Ver como un cliente» (solo superadministración) */
.vc{position:relative}
.vc>summary{list-style:none}
.vc>summary::-webkit-details-marker{display:none}
.vc-b{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 11px;border-radius:10px;cursor:pointer;font:600 12.5px Inter,sans-serif;color:var(--suave);background:transparent;box-shadow:inset 0 0 0 1px var(--borde,#E6ECF2);transition:background .2s,color .2s}
.vc-b:hover{background:var(--fondo);color:var(--tinta)}
.vc-b svg,.vc-tira svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vc.on .vc-b{background:#FFF1C9;color:#5C4300;box-shadow:inset 0 0 0 1px #F1D27A}
html.oscuro .vc.on .vc-b{background:#3A3214;color:#F2D58A;box-shadow:inset 0 0 0 1px #6B5A22}
.vc-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:200;width:min(360px,90vw);display:grid;gap:10px;padding:18px;border-radius:16px;background:var(--panel);box-shadow:0 0 0 1px var(--borde,#E6ECF2),0 24px 48px -20px rgba(15,26,31,.45);text-align:left}
.vc-t{margin:0;font:700 15px Montserrat,sans-serif;color:var(--tinta)}
.vc-n{margin:-4px 0 0;font-size:12.5px;line-height:1.5;color:var(--suave)}
.vc-g{display:grid;gap:5px;margin:0;padding:0;border:0}
.vc-g legend{margin:0 0 4px;padding:0;font:700 11px Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--suave)}
.vc-g label,.vc-nuevo{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;line-height:1.4;color:var(--texto);cursor:pointer}
.vc-g input,.vc-nuevo input{margin-top:2px;accent-color:#00A88A}
.vc-nuevo small{display:block;margin-top:2px;color:var(--suave);font-size:12px}
.vc-bs{display:flex;gap:8px;flex-wrap:wrap}
.vc-tira{position:relative;z-index:300;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:6px 16px;background:#FFF1C9;color:#5C4300;font:500 13px Inter,sans-serif;box-shadow:0 1px 0 #F1D27A}
html.oscuro .vc-tira{background:#3A3214;color:#F2D58A;box-shadow:0 1px 0 #6B5A22}
.vc-tira form{margin:0}
.vc-tira button{border:0;border-radius:8px;padding:3px 10px;background:rgba(92,67,0,.12);color:inherit;font:700 12.5px Inter,sans-serif;cursor:pointer}
.vc-tira button:hover{background:rgba(92,67,0,.22)}
@media (max-width:760px){.vc-bt{display:none}}

/* Hype trabajando sin Hype en pantalla (static/js/hype-trabaja.js): aviso junto a la zona */
.hub-trabaja{display:inline-flex;align-items:center;gap:10px;margin:10px 0;padding:8px 14px;border-radius:12px;background:linear-gradient(160deg,color-mix(in srgb,#6D4FE0 9%,var(--panel)),color-mix(in srgb,#00BFA6 7%,var(--panel)));font:600 13px Inter,sans-serif;color:var(--tinta)}
.hub-trabaja-pt{width:16px;height:16px;border-radius:50%;background:conic-gradient(#6D4FE0,#0077FF,#00BFA6,#6D4FE0);animation:ia-gira 1s linear infinite;-webkit-mask:radial-gradient(circle,transparent 5px,#000 6px);mask:radial-gradient(circle,transparent 5px,#000 6px)}
.hub-trabaja.ok{background:#E3FAF4;color:#00715F}
.hub-trabaja.mal{background:#FDECEE;color:#A33B47}
@keyframes ia-gira{to{transform:rotate(360deg)}}

/* Ventana para confirmar lo que no se puede deshacer (static/js/confirmar.js) */
.hc-velo{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,26,31,.45);backdrop-filter:blur(3px)}
.hc-caja{display:grid;justify-items:center;gap:8px;width:min(440px,100%);padding:28px 26px 22px;border-radius:24px;background:var(--panel,#fff);box-shadow:0 40px 90px -30px rgba(15,26,31,.6);text-align:center}
.hc-ico{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:17px;background:#FCE8EB;color:#B4233A}
.hc-ico svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
html.oscuro .hc-ico{background:#3A1E25;color:#F6A9B3}
.hc-t{margin:6px 0 0;font:800 19px/1.3 Montserrat,sans-serif;color:var(--tinta)}
.hc-p{margin:0;font-size:14px;line-height:1.55;color:var(--texto)}
.hc-bs{display:flex;justify-content:center;gap:10px;margin-top:12px;flex-wrap:wrap}
.hc-si{background:#C2344B;color:#fff;box-shadow:0 10px 22px -12px rgba(194,52,75,.8)}
.hc-si:hover{background:#A92A3F}

/* Menús flotantes de <details> (static/js/popovers.js): X para cerrar arriba a la derecha */
.pop-x{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:9px;background:var(--fondo,#F3F6F9);color:var(--suave,#5B6B7B);cursor:pointer;transition:background .2s,color .2s,transform .3s cubic-bezier(.3,1.4,.5,1)}
.pop-x svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.pop-x:hover{color:var(--tinta,#16222C);transform:rotate(90deg)}
.pop-x:focus-visible{outline:2px solid #1FA66F;outline-offset:2px}
.con-x>.pop-x+*{margin-right:36px}

/* Repositorio: más opciones de un archivo (⋯), ventana para mover o copiar y «Borrar seleccionados» */
.rp-mas{position:relative;display:inline-block}
.rp-mas>summary{list-style:none;cursor:pointer;padding:0 10px}
.rp-mas>summary::-webkit-details-marker{display:none}
.rp-mas>summary svg{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.rp-mas-grande>summary{height:42px;padding:0 14px}
.rp-mas-m{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:290px;display:grid;gap:2px;padding:6px;border-radius:16px;background:var(--panel,#fff);box-shadow:0 0 0 1px var(--borde,#E3E9EF),0 24px 48px -24px rgba(15,26,31,.45);text-align:left}
.rp-mi{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:11px;background:none;cursor:pointer;color:var(--tinta);font:600 13.5px Inter,sans-serif;text-align:left}
.rp-mi svg{flex:none;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;color:var(--suave)}
.rp-mi span{display:flex;flex-direction:column;gap:2px}
.rp-mi small{font-weight:400;font-size:12px;color:var(--suave)}
.rp-mi:hover{background:var(--fondo,#F3F6F9)}
.rp-peligro,.rp-peligro svg{color:#B4233A}
html.oscuro .rp-peligro,html.oscuro .rp-peligro svg{color:#F6A9B3}
.rp-borrar-sel{display:inline-flex;align-items:center;gap:8px}
.rp-borrar-sel svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.rp-borrar-sel:not(:disabled){color:#B4233A}
.rp-borrar-sel:disabled{opacity:.55;cursor:default}
.viewer-acc{gap:8px;align-items:center}
.rp-velo{position:fixed;inset:0;z-index:1900;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,26,31,.45);backdrop-filter:blur(3px)}
.rp-velo[hidden]{display:none}
.rp-caja{position:relative;display:grid;gap:10px;width:min(520px,100%);padding:26px 26px 22px;border-radius:24px;background:var(--panel,#fff);box-shadow:0 40px 90px -30px rgba(15,26,31,.6)}
.rp-x{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:10px;background:var(--fondo,#F3F6F9);color:var(--suave);cursor:pointer}
.rp-x svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.rp-t{margin:0;padding-right:40px;font:800 19px/1.3 Montserrat,sans-serif;color:var(--tinta)}
.rp-n{margin:0;font-size:14px;color:var(--texto);word-break:break-word}
.rp-l{margin-top:4px;font:600 13px Inter,sans-serif;color:var(--tinta)}
.rp-caja select{width:100%;max-width:100%;min-height:46px;padding:10px 12px;border:0;border-radius:12px;background-color:var(--fondo,#F4F8FC);box-shadow:inset 0 0 0 1px var(--borde,#DCE4EC);color:var(--tinta);font:500 14.5px Inter,sans-serif}
.rp-ayuda{margin:0;font-size:12.5px;line-height:1.5;color:var(--suave)}
.rp-bs{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;flex-wrap:wrap}

/* Avisos de «hecho» y de error, abajo en la pantalla (static/js/avisos.js) */
.avisos{position:fixed;left:50%;bottom:22px;z-index:2100;display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);transform:translateX(-50%);pointer-events:none}
.aviso{display:flex;align-items:center;gap:10px;max-width:560px;padding:10px 10px 10px 12px;border-radius:16px;background:#16222C;color:#F2F6F9;font:500 14px/1.45 Inter,sans-serif;box-shadow:0 18px 40px -18px rgba(15,26,31,.65);pointer-events:auto}
.aviso-ico{flex:none;width:26px;height:26px;border-radius:9px;background:#1F4F43;background-repeat:no-repeat;background-position:center;background-size:15px}
.aviso-success .aviso-ico{background-color:#1F4F43;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237FE0B9' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.aviso-error .aviso-ico{background-color:#5A2630;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD3D9' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6v8M12 18.5v.5'/%3E%3C/svg%3E")}
.aviso-info .aviso-ico,.aviso-warning .aviso-ico{background-color:#4A3E12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2D58A' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 10v8M12 5.5v.5'/%3E%3C/svg%3E")}
.aviso-t{flex:1;min-width:0}
.aviso-x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:9px;background:rgba(255,255,255,.08);color:#C9D6E0;cursor:pointer}
.aviso-x:hover{background:rgba(255,255,255,.16);color:#fff}
.aviso-x svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
@media (max-width:600px){.avisos{bottom:14px}.aviso{font-size:13.5px}}

/* Hype avisa de una sesión de campo que empieza pronto (static/js/aviso-sesion.js) */
.as-caja{position:fixed;left:22px;bottom:22px;z-index:2050;display:flex;align-items:flex-start;gap:14px;width:min(430px,calc(100vw - 32px));padding:16px 44px 16px 16px;border-radius:22px;background:var(--panel,#fff);box-shadow:0 0 0 1px var(--borde,#E3E9EF),0 30px 60px -28px rgba(15,26,31,.55)}
.as-hype{flex:none;display:inline-flex;width:64px;height:64px}
.as-cuerpo{display:grid;gap:6px;min-width:0}
.as-t{margin:0;font:600 15px/1.45 Inter,sans-serif;color:var(--tinta)}
.as-t b{font-family:Montserrat,sans-serif;font-weight:800}
.as-p{margin:0;font-size:13.5px;color:var(--suave)}
.as-bs{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.as-x{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:9px;background:var(--fondo,#F3F6F9);color:var(--suave);cursor:pointer}
.as-x svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
@media (max-width:600px){.as-caja{left:16px;bottom:16px}}

/* Datos de la sesión de campo junto a su vídeo: quién estuvo y cuánto habló */
.ses-datos{display:grid;gap:10px;margin-bottom:14px}
.ses-datos h2{margin:0}
.ses-habla{display:grid;gap:10px}
.ses-p{display:grid;gap:4px}
.ses-p-et{display:flex;align-items:baseline;gap:8px;font-size:13.5px}
.ses-p-et small{font-size:11.5px;color:var(--suave)}
.ses-p-et span{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--texto)}
.ses-p-b{height:10px;border-radius:999px;background:var(--fondo,#F3F6F9);overflow:hidden}
.ses-p-b span{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,#0077FF,#00DDAA);transition:width .8s cubic-bezier(.2,1,.3,1)}
.ses-p-b span.mod{background:linear-gradient(90deg,#8A6BFF,#C2B5F3)}

/* Selector de hora propio (static/js/hora.js) */
.hora-caja{position:relative;display:block}
.hora-caja .hora-i{width:100%;padding-right:44px;font-variant-numeric:tabular-nums}
.hora-b{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:10px;background:none;color:var(--suave);cursor:pointer}
.hora-b:hover{background:var(--fondo,#F3F6F9);color:var(--tinta)}
.hora-b svg,.hora-x svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hora-pop{position:fixed;left:0;top:0;z-index:2200;display:grid;gap:10px;width:248px;padding:12px;border-radius:20px;background:var(--panel,#fff);box-shadow:0 0 0 1px var(--borde,#E3E9EF),0 26px 54px -24px rgba(15,26,31,.5)}
.hora-cab{display:flex;align-items:center;justify-content:space-between}
.hora-grande{font:800 28px Montserrat,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.02em;background:linear-gradient(90deg,#0077FF,#00B386);-webkit-background-clip:text;background-clip:text;color:transparent}
.hora-x{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:9px;background:var(--fondo,#F3F6F9);color:var(--suave);cursor:pointer}
.hora-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hora-col{display:grid;gap:2px;height:196px;overflow-y:auto;padding:4px;border-radius:14px;background:var(--fondo,#F3F6F9);scroll-behavior:smooth;scrollbar-width:thin}
.hora-col button{height:32px;border:0;border-radius:9px;background:none;font:600 14px Inter,sans-serif;color:var(--texto);font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s,color .15s}
.hora-col button:hover{background:var(--panel,#fff);color:var(--tinta)}
.hora-col button.on{background:linear-gradient(135deg,#0077FF,#00B386);color:#fff}
.hora-atajos{display:flex;flex-wrap:nowrap;gap:4px}
.hora-atajos button{height:28px;padding:0 8px;border:0;border-radius:999px;background:var(--fondo,#F3F6F9);font:600 12.5px Inter,sans-serif;color:var(--texto);cursor:pointer}
.hora-atajos button.on{background:color-mix(in srgb,#1FA66F 18%,var(--panel,#fff));color:#1C6E50}
.hora-ahora{margin-left:auto}
.hora-listo{justify-self:end}
.enviando{opacity:.7;cursor:progress}

/* Activación de muestra de la demo: fondo teñido y anillo completo suave (nunca borde a un lado). */
.ejemplo-demo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 22px;margin:22px 0 6px;
  text-decoration:none;color:inherit;background:linear-gradient(120deg,rgba(0,119,255,.07),rgba(0,221,170,.09));box-shadow:0 0 0 1.5px rgba(0,170,200,.28),0 6px 18px rgba(16,40,70,.06)}
.ejemplo-demo:hover{color:inherit;box-shadow:0 0 0 2px rgba(0,170,200,.45),0 10px 24px rgba(16,40,70,.1)}
.ej-av{width:56px;height:56px;display:grid;place-items:center}
.ej-av img{width:52px;height:auto}
.ej-tx{display:flex;flex-direction:column;gap:4px;min-width:0}
.ej-eye{font:700 11.5px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#0A7F8C}
.ej-t{font:700 18px Montserrat,sans-serif}
.ej-d{font-size:14px;color:var(--tenue);line-height:1.5}
.ej-ir{white-space:nowrap}
.ej-ir svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
html.oscuro .ejemplo-demo{background:linear-gradient(120deg,rgba(0,119,255,.14),rgba(0,221,170,.12));box-shadow:0 0 0 1.5px rgba(0,221,170,.35)}
html.oscuro .ej-eye{color:#5FE0C8}
.act.act-ejemplo{background:linear-gradient(90deg,rgba(0,119,255,.05),rgba(0,221,170,.07));box-shadow:inset 0 0 0 1.5px rgba(0,170,200,.3)}
.chip-ejemplo{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;font:600 11.5px Inter,sans-serif;vertical-align:2px;
  background:linear-gradient(90deg,#0077FF,#00DDAA);color:#fff;white-space:nowrap}
@media (max-width:720px){.ejemplo-demo{grid-template-columns:auto minmax(0,1fr)}.ej-ir{grid-column:1/-1;justify-self:start}}
.kpis-tk{margin:14px 0}
/* Quién está en línea en el botón del chat: después del texto, sin taparlo. */
.dx-boton-av:empty{display:none}
.dx-boton-av{margin-left:4px;padding-left:10px;border-left:1px solid rgba(255,255,255,.35);height:24px;align-items:center}
.dx-boton-av .dx-av:first-child{margin-left:0}
.dx-boton:has(.dx-boton-av:not(:empty)){padding-right:12px}
.user.user-hd{font:700 11.5px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);padding-top:14px;padding-bottom:10px;background:transparent}
