/* Sistema visual GAMU Partners. --cliente lo inyecta cada página desde la base,
   así un cliente nuevo pinta lo suyo sin tocar este archivo. Tipografia: la
   misma pareja que ya usa gamupartners.com (Fraunces + Inter), para que esto
   se sienta parte de la misma marca y no una identidad visual aparte. */
:root{
  --cliente:#005B2F;
  --verde:#005B2F; --oro:#C9A227; --crema:#FAF8F4; --azul:#355C82;
  --tinta:#232323; --gris:#6B6B6B; --linea:#E4DFD4; --alerta:#B23B3B;
  --fuente:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --fuente-titulo:'Fraunces',Georgia,serif;
  /* Esquinas chicas y sombra solida (sin difuminado): evita el aspecto generico
     de tarjeta redondeada + sombra suave de tantas apps hechas con IA. */
  --radius:3px;
  --sombra:2px 2px 0 var(--linea);
  --sombra-hover:3px 3px 0 var(--linea);
}
*{box-sizing:border-box;margin:0}
body{background:var(--crema);color:var(--tinta);line-height:1.5;font-family:var(--fuente)}

.barra{background:var(--cliente);padding:16px 0}
.barra .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.barra img{display:block;height:38px;width:auto}
.barra .quien{color:rgba(255,255,255,.85);font-size:.85rem}
.barra .quien>a{color:#fff}
/* En celular el menu de texto no entra en una linea junto al logo: al ser
   contenido inline hace su propio word-wrap, pero el logo (otro item flex)
   queda centrado verticalmente en una barra que crecio de golpe, y da la
   sensacion de que se pisan. Se apilan en columna en vez de pelear el ancho. */
@media (max-width:600px){
  .barra .wrap{flex-direction:column;align-items:flex-start;gap:8px}
  .barra .quien{width:100%;line-height:1.8}
}

.wrap{max-width:680px;margin:0 auto;padding:0 18px}
.ancho{max-width:900px}
main{padding:26px 0 60px}

h1{font-family:var(--fuente-titulo);font-weight:600;font-size:1.65rem;color:var(--cliente);
  margin:0 0 .4rem;letter-spacing:-.01em}
h2{font-family:var(--fuente-titulo);font-weight:600;font-size:1.2rem;color:var(--cliente);
  margin:0 0 .6rem;letter-spacing:-.005em}
.intro{color:var(--gris);margin-bottom:18px}
.tarjeta{background:#fff;border:1px solid var(--linea);border-radius:var(--radius);padding:18px;
  margin-bottom:14px;box-shadow:var(--sombra)}

label.campo{display:block;font-weight:600;margin-bottom:6px}
label.campo small{display:block;font-weight:400;color:var(--gris);font-size:.85rem;margin-top:2px}
input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{
  width:100%;font-family:inherit;font-size:1rem;color:var(--tinta);
  border:1.5px solid var(--linea);border-radius:var(--radius);padding:12px 14px;background:#fff;
  transition:border-color .12s,box-shadow .12s}
textarea{resize:vertical;min-height:88px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--cliente);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--cliente) 16%,transparent)}
.opt{display:block;border:1.5px solid var(--linea);border-radius:var(--radius);padding:11px 14px;
  margin-bottom:8px;cursor:pointer;background:#fff;transition:border-color .12s,background .12s}
.opt.sel,.opt:has(input:checked){border-color:var(--cliente);background:#f2f6fa}
.opt:hover{border-color:color-mix(in srgb,var(--cliente) 45%,var(--linea))}
.opt input{margin-right:9px;accent-color:var(--cliente);width:17px;height:17px;vertical-align:-3px}
.cnt{text-align:right;font-size:.8rem;color:var(--gris);margin-top:6px}

button.principal{width:100%;background:var(--cliente);color:#fff;border:0;border-radius:var(--radius);
  padding:15px;font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit;
  box-shadow:3px 3px 0 color-mix(in srgb,var(--cliente) 60%,black 25%);
  transition:transform .1s,box-shadow .1s,opacity .1s}
button.principal:hover:not(:disabled){transform:translate(1px,1px);
  box-shadow:2px 2px 0 color-mix(in srgb,var(--cliente) 60%,black 25%)}
button.principal:active:not(:disabled){transform:translate(3px,3px);box-shadow:none}
button.principal:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
button.chico{background:var(--cliente);color:#fff;border:0;border-radius:var(--radius);padding:10px 18px;
  font-weight:700;cursor:pointer;font-family:inherit;font-size:.92rem;width:auto;
  transition:transform .1s,box-shadow .1s;box-shadow:2px 2px 0 color-mix(in srgb,var(--cliente) 60%,black 25%)}
button.chico:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 color-mix(in srgb,var(--cliente) 60%,black 25%)}

.aviso{border-radius:var(--radius);padding:12px 14px;margin-bottom:14px;font-size:.92rem}
.aviso.mal{background:#fdf2f2;border:1px solid #f0c9c9;color:var(--alerta)}
.aviso.bien{background:#f2f8f4;border:1px solid #cfe4d6;color:var(--verde)}

/* triage */
.caso{background:#fff;border:1px solid var(--linea);border-radius:var(--radius);padding:18px;margin-bottom:14px;
  box-shadow:var(--sombra);transition:box-shadow .15s}
.caso:hover{box-shadow:var(--sombra-hover)}
.caso .titulo{font-family:var(--fuente-titulo);font-weight:600;font-size:1.15rem;margin-bottom:4px}
.caso .meta{color:var(--gris);font-size:.85rem;margin-bottom:12px}
.criterios{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:12px}
.crit{border:1px solid var(--linea);border-radius:var(--radius);padding:12px}
.crit .n{font-weight:600;font-size:.92rem}
.crit .d{color:var(--gris);font-size:.8rem;margin-bottom:8px}
.crit.bandera{border-color:#e8d9a8;background:#fdfaf0}
.niveles{display:flex;gap:6px}
.niveles label{flex:1;text-align:center;border:1.5px solid var(--linea);border-radius:var(--radius);
  padding:7px 4px;font-size:.85rem;cursor:pointer;background:#fff;transition:all .12s}
.niveles input{position:absolute;opacity:0;width:0;height:0}
.niveles label:hover{border-color:color-mix(in srgb,var(--cliente) 45%,var(--linea))}
.niveles label:has(input:checked){background:var(--cliente);color:#fff;border-color:var(--cliente);
  box-shadow:2px 2px 0 color-mix(in srgb,var(--cliente) 60%,black 25%)}
.crit.bandera .niveles label:has(input:checked){background:var(--oro);border-color:var(--oro);color:#3a2f10}
.niveles label:has(input:focus-visible){outline:2px solid var(--cliente);outline-offset:2px}

.puesto{display:flex;align-items:center;gap:14px}
.valor{background:var(--cliente);color:#fff;border-radius:var(--radius);min-width:56px;text-align:center;
  padding:10px 8px;font-weight:800;font-size:1.25rem;line-height:1.1;
  box-shadow:2px 2px 0 color-mix(in srgb,var(--cliente) 60%,black 25%)}
.valor small{display:block;font-size:.6rem;font-weight:600;opacity:.8}
.marca-bandera{display:inline-block;background:#fdf6e3;border:1px solid #e8d9a8;color:#7a5c00;
  font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:var(--radius)}
.marca-analisis{display:inline-block;font-size:.78rem;font-weight:600;padding:3px 10px;
  border-radius:var(--radius);margin-left:6px}
.marca-analisis-en_espera{background:#f1f1ef;border:1px solid var(--linea);color:var(--gris)}
.marca-analisis-aprobado{background:#f2f8f4;border:1px solid #cfe4d6;color:var(--verde)}
.marca-analisis-rechazado{background:#fdf2f2;border:1px solid #f0c9c9;color:var(--alerta)}
.marca-analisis-bajo{background:#f2f8f4;border:1px solid #cfe4d6;color:var(--verde)}
.marca-analisis-medio{background:#fdf6e3;border:1px solid #e8d9a8;color:#7a5c00}
.marca-analisis-alto{background:#fdf2f2;border:1px solid #f0c9c9;color:var(--alerta)}
.factores-riesgo{margin-top:6px}
.factores-riesgo .opt{padding:9px 12px;margin-bottom:6px;font-size:.92rem}
.riesgo-resultado{margin-top:10px;font-weight:600;font-size:.92rem}
.vacio{color:var(--gris);padding:8px 0}

/* nivel de dolor (1 a 10): unico elemento redondo a propósito, por el pedido
   original de Ezequiel de "bolitas" - el resto del sistema va escuadrado. */
.dolor-dots{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.dolor-dot{position:relative;width:32px;height:32px}
.dolor-dot input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.dolor-dot span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  border-radius:50%;border:1.5px solid var(--linea);font-size:.8rem;font-weight:700;
  color:var(--gris);background:#fff;pointer-events:none;transition:all .12s}
.dolor-dot:hover span{border-color:color-mix(in srgb,var(--cliente) 45%,var(--linea))}
.dolor-dot input:checked + span{background:var(--cliente);border-color:var(--cliente);color:#fff;
  box-shadow:2px 2px 0 color-mix(in srgb,var(--cliente) 60%,black 25%)}
.dolor-dot input:focus-visible + span{outline:3px solid var(--cliente);outline-offset:2px}

.pie{color:var(--gris);font-size:.8rem;text-align:center;margin-top:28px;line-height:1.6}
.pie-linea{margin-bottom:14px}
.pie-marca{display:flex;flex-direction:column;align-items:center;gap:5px}
/* 52px: mas chico, el "GAMU PARTNERS" del logo queda ilegible (son dos renglones
   dentro de 62 de los 197px del archivo). */
.pie-marca img{display:block;height:52px;width:auto;opacity:.9}
.pie-marca span{font-size:.78rem;letter-spacing:.02em}

/* corregir / sumar mi calificacion */
.mi-calif{margin-top:14px;border-top:1px solid var(--linea);padding-top:12px}
.mi-calif>summary{cursor:pointer;color:var(--cliente);font-weight:600;font-size:.92rem;list-style:none}
.mi-calif>summary::-webkit-details-marker{display:none}
.mi-calif>summary::before{content:"\25B8";display:inline-block;margin-right:7px;transition:transform .15s}
.mi-calif[open]>summary::before{transform:rotate(90deg)}
.mi-calif-cuerpo{margin-top:12px}

/* leyenda del triage */
.leyenda{color:var(--gris);font-size:.92rem;margin-bottom:18px}
.leyenda a{color:var(--cliente);font-weight:600}

/* pagina de la guia */
.g-regla{background:#fff;border:1px solid var(--linea);border-left:4px solid var(--cliente);
  border-radius:var(--radius);padding:12px 16px;margin-bottom:20px}
.g-grupo{background:#fff;border:1px solid var(--linea);border-radius:var(--radius);padding:18px;margin-bottom:16px}
.g-grupo.g-bandera{border-color:#e8d9a8;background:#fdfaf0}
.g-tit{font-size:1rem;color:var(--cliente);margin:0 0 2px}
.g-bandera .g-tit{color:#7a5c00}
.g-sub{color:var(--gris);font-size:.9rem;margin-bottom:14px}
.g-crit{margin-bottom:16px}
.g-crit:last-child{margin-bottom:0}
.g-n{font-weight:600}
.g-p{color:var(--gris);font-size:.9rem;margin-bottom:5px}
.g-niv{margin:0;padding-left:18px;font-size:.93rem}
.g-niv li{margin-bottom:3px}
.g-cierre{background:#fff;border:1px solid var(--linea);border-radius:var(--radius);padding:18px;margin-bottom:16px}
.g-cierre p{margin-bottom:11px;font-size:.94rem}
.g-cierre .g-ultimo{margin-bottom:0;color:var(--gris)}
.g-volver{margin-top:4px}
.g-volver a{color:var(--cliente);font-weight:600}

/* la guia se manda a clientes: que imprima decente */
@media print{
  body{background:#fff}
  .barra{background:#fff;border-bottom:2px solid var(--cliente);padding:0 0 12px}
  .barra img{filter:invert(1) brightness(.35)}
  .g-grupo,.g-cierre,.g-regla{border-color:#ccc;background:#fff;break-inside:avoid}
  .g-volver{display:none}
}

/* navegacion de la barra: "salir" va suelto, el resto vive en el menu desplegable */
.barra .quien>a{color:rgba(255,255,255,.85);text-decoration:none;font-weight:600;transition:color .12s}
.barra .quien>a:hover{color:#fff}
.barra .quien-sep{margin-right:8px;opacity:.5}
.i-nav{flex:none;opacity:.9}

/* menu desplegable de navegacion */
.menu-wrap{position:relative;display:inline-flex;margin-right:10px}
.menu-btn{background:none;border:1.5px solid rgba(255,255,255,.55);border-radius:var(--radius);
  color:#fff;font-family:inherit;font-weight:700;font-size:.85rem;padding:7px 12px;
  display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.menu-btn:hover{background:rgba(255,255,255,.14)}
.menu-caret{transition:transform .15s;flex:none}
.menu-btn[aria-expanded="true"] .menu-caret{transform:rotate(180deg)}
.menu-panel{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:#fff;
  border:1.5px solid var(--tinta);border-radius:var(--radius);box-shadow:3px 3px 0 var(--linea);
  z-index:40;padding:4px;display:flex;flex-direction:column;gap:2px}
.menu-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:var(--radius);
  color:var(--tinta);text-decoration:none;font-weight:600;font-size:.9rem}
.menu-item .i-nav{opacity:.75}
.menu-item:hover{background:#f1efe9}
.menu-item.act{background:var(--cliente);color:#fff}
.menu-item.act .i-nav{opacity:1}
.i-nav{flex:none;opacity:.9}

/* avance del plan */
.avance{background:#fff;border:1px solid var(--linea);border-radius:var(--radius);padding:14px 18px;margin-bottom:16px}
.avance-txt{font-size:.92rem;color:var(--gris);margin-bottom:8px}
.avance-txt b{color:var(--tinta);font-size:1.05rem}

/* tareas */
.tareas{list-style:none;margin:0;padding:0}
.tarea{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--linea)}
.tarea:last-child{border-bottom:0}
.t-tilde{flex:none}
.t-check{width:24px;height:24px;border:2px solid var(--linea);border-radius:var(--radius);background:#fff;
  cursor:pointer;font-size:.95rem;line-height:1;color:#fff;padding:0;font-family:inherit}
.t-check:hover{border-color:var(--cliente)}
.tarea.hecha .t-check{background:var(--cliente);border-color:var(--cliente)}
.t-cuerpo{flex:1;min-width:0}
.t-titulo{font-weight:600;line-height:1.4}
.tarea.hecha .t-titulo{text-decoration:line-through;color:var(--gris);font-weight:400}
.t-detalle{color:var(--gris);font-size:.88rem;margin-top:3px;white-space:pre-wrap}
.t-pie{font-size:.78rem;color:var(--gris);margin-top:5px}
.t-estado{display:inline-block;border-radius:var(--radius);padding:1px 9px;font-weight:600;font-size:.72rem}
.t-pendiente{background:#f1efe9;color:#6B6B6B}
.t-encurso .t-estado,.t-en_curso{background:#fdf6e3;color:#7a5c00}
.t-hecho{background:#f2f8f4;color:var(--verde)}
.t-acciones{flex:none;display:flex;align-items:center;gap:3px}
.t-acciones form{display:inline}
.t-mini{background:none;border:0;color:var(--gris);cursor:pointer;font-size:.95rem;
  padding:3px 6px;border-radius:var(--radius);font-family:inherit;line-height:1}
.t-mini:hover{background:#f1efe9;color:var(--cliente)}
.t-hueco{display:inline-block;width:25px}
.t-editar{display:inline-block;position:relative}
.t-editar>summary{list-style:none}
.t-editar>summary::-webkit-details-marker{display:none}
.t-form-editar{background:#fff;border:1px solid var(--tinta);border-radius:var(--radius);padding:14px;
  margin-top:8px;position:absolute;right:0;z-index:5;width:min(340px,78vw);
  box-shadow:3px 3px 0 var(--linea)}
.t-form-editar input,.t-form-editar textarea{margin-bottom:8px;font-size:.92rem}
.t-form-editar textarea{min-height:56px}
.t-form-pie{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.t-link{background:none;border:0;color:var(--gris);cursor:pointer;font-size:.85rem;
  padding:0;font-family:inherit;text-decoration:underline}
.t-link:hover{color:var(--cliente)}
.t-borrar:hover{color:var(--alerta)}

.t-nueva{display:flex;gap:8px;margin-top:14px;align-items:flex-end;flex-wrap:wrap}
.t-nueva input{width:100%}
.t-nueva.chica input{font-size:.92rem;padding:9px 12px}
.tareas-idea .vacio{padding:0 0 8px}

/* frentes del plan */
.frente{background:#fff;border:1px solid var(--linea);border-radius:var(--radius);padding:6px 18px 14px;margin-bottom:14px}
.frente.interno{border-color:#e8d9a8;background:#fdfaf0}
.tarea.es-frente .t-titulo{font-size:1.05rem}
.tarea.es-frente{border-bottom:0;padding-bottom:6px}
.tarea.interna .t-titulo{color:#7a5c00}
.t-interna{background:#fdf6e3;border:1px solid #e8d9a8;color:#7a5c00;border-radius:var(--radius);padding:1px 8px;font-weight:600}
.sub{margin:0 0 0 36px;border-top:1px solid var(--linea);padding-top:8px}
.sub>summary{cursor:pointer;color:var(--gris);font-size:.85rem;font-weight:600;list-style:none;padding:4px 0}
.sub>summary::-webkit-details-marker{display:none}
.sub>summary::before{content:"\25B8";display:inline-block;margin-right:7px;transition:transform .15s}
.sub[open]>summary::before{transform:rotate(90deg)}
.sub-cuerpo{padding-bottom:6px}
.t-bloqueado{background:#fdf2f2;color:var(--alerta)}
.t-resp{max-width:150px}

/* tablas del ABM */
.tabla-scroll{overflow-x:auto}
.tabla{width:100%;border-collapse:collapse;font-size:.92rem}
.tabla th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;
  color:var(--gris);border-bottom:1px solid var(--linea);padding:0 10px 8px}
.tabla td{padding:10px;border-bottom:1px solid var(--linea);vertical-align:middle}
.tabla th.c,.tabla td.c{text-align:center}
.tabla tr.baja td{opacity:.5}
.tabla .vos{background:#f1efe9;color:var(--gris);border-radius:var(--radius);padding:1px 8px;font-size:.72rem;font-weight:600}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem}
.tog{border:1.5px solid var(--linea);background:#fff;color:var(--gris);border-radius:var(--radius);
  padding:3px 12px;font-size:.8rem;font-weight:700;cursor:pointer;font-family:inherit;
  text-decoration:none;display:inline-block}
.tog.on{background:var(--cliente);border-color:var(--cliente);color:#fff}
.tog:hover{border-color:color-mix(in srgb,var(--cliente) 45%,var(--linea))}
.alta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px;
  border-top:1px solid var(--linea);padding-top:16px}
.alta input[type=text],.alta input[type=email]{flex:1;min-width:160px}
.mini-check{font-size:.85rem;color:var(--gris);white-space:nowrap;display:flex;align-items:center;gap:5px}
.mini-check input{accent-color:var(--cliente)}
.dos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:12px}
.color-fila{display:flex;gap:8px;align-items:center}
.color-fila input[type=color]{width:46px;height:44px;padding:2px;border:1.5px solid var(--linea);border-radius:var(--radius);background:#fff}
.sep{border:0;border-top:1px solid var(--linea);margin:16px 0}
.enlace-caja,.clave-caja{background:#f7f5f0;border:1px solid var(--linea);border-radius:var(--radius);
  padding:12px 14px;word-break:break-all}
.clave-caja{font-size:1.25rem;font-weight:700;text-align:center;letter-spacing:.04em}
.ayuda{color:var(--gris);font-size:.82rem}

/* resumen */
.lados{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:22px}
.lado{background:#fff;border:1px solid var(--linea);border-radius:var(--radius);padding:14px 16px}
.lado.l-gamu{border-left:4px solid var(--verde)}
.lado.l-cliente{border-left:4px solid var(--cliente)}
.lado.l-nadie{border-left:4px solid var(--alerta)}
.lado.l-ideas{border-left:4px solid var(--oro)}
.lado-rot{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gris);font-weight:600}
.lado-num{font-size:2rem;font-weight:800;line-height:1.1;margin:2px 0}
.lado-sub{font-size:.82rem;color:var(--gris);line-height:1.4}
.rojo{color:var(--alerta)}
.bloque-urg{margin-bottom:22px}
.bloque-urg h2{display:flex;align-items:center;gap:9px;font-size:.95rem;margin-bottom:10px}
.bloque-urg .cuenta{background:#f1efe9;color:var(--gris);border-radius:var(--radius);padding:1px 10px;font-size:.8rem}
.bloque-urg.u-vencida h2{color:var(--alerta)}
.bloque-urg.u-vencida .cuenta{background:#fdf2f2;color:var(--alerta)}
.bloque-urg.u-hoy h2{color:#7a5c00}
.lista-res{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--linea);border-radius:var(--radius)}
.lista-res li{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;
  padding:12px 16px;border-bottom:1px solid var(--linea)}
.lista-res li:last-child{border-bottom:0}
.u-vencida .lista-res{border-color:#f0c9c9}
.r-titulo{font-weight:600;line-height:1.4}
.r-meta{color:var(--gris);font-size:.83rem;margin-top:3px}
.lado-gamu{color:var(--verde)} .lado-cliente{color:var(--cliente)}
.sin-duenio{color:var(--alerta)}
.r-plazo{flex:none;font-size:.8rem;color:var(--gris);text-align:right;white-space:nowrap;padding-top:2px}
.u-vencida .r-plazo{color:var(--alerta);font-weight:600}

/* historia de la idea */
.historia{list-style:none;margin:0;padding:0}
.historia-item{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid var(--linea)}
.historia-item:last-child{border-bottom:0}
.historia-fecha{flex:none;width:100px;color:var(--gris);font-size:.78rem}
.historia-cuerpo{flex:1;font-size:.9rem;min-width:0}
.historia-puntaje{color:var(--gris);font-weight:600}
.historia-comentario{margin-top:4px;color:var(--tinta);font-style:italic}
@media (max-width:600px){
  .historia-item{flex-direction:column;gap:2px}
  .historia-fecha{width:auto}
}

/* grilla del equipo */
.grilla th.c{white-space:nowrap;font-size:.7rem}
.th-x{display:inline}
.celda{padding:6px 8px}
.cel{width:34px;height:34px;border:1.5px solid var(--linea);border-radius:var(--radius);background:#fff;
  cursor:pointer;font-size:1rem;font-family:inherit;line-height:1;color:var(--gris)}
.cel-hecho{background:var(--cliente);border-color:var(--cliente);color:#fff}
.cel-na{background:#f1efe9;color:#b9b3a6}
.cel-nota{font-size:.68rem;color:var(--gris);max-width:90px;margin:3px auto 0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-nombre{font-weight:600}
.p-area{color:var(--gris);font-size:.8rem}
.mini-bar{height:6px;background:#f1efe9;border-radius:var(--radius);overflow:hidden;width:64px;margin:0 auto}
.mini-bar>span{display:block;height:100%;background:var(--cliente)}
.mini-num{font-size:.72rem;color:var(--gris);margin-top:3px}

/* --- accesibilidad y tacto (auditoria) --- */

/* El foco del teclado no se veia en ningun lado: quien navega con Tab quedaba a
   ciegas. Va con selectores por elemento porque `input:focus{outline:none}` de mas
   arriba le gana a un `:focus-visible` pelado por especificidad. */
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid var(--cliente);outline-offset:2px;border-radius:var(--radius)}
.barra .quien>a:focus-visible, .menu-btn:focus-visible{outline-color:#fff}
.niveles input:focus-visible + *, .niveles label:has(input:focus-visible){
  outline:3px solid var(--cliente);outline-offset:2px}

/* Areas tactiles. La guia son 44px en celular; varias estaban en 19-24px. */
.t-check{width:32px;height:32px;font-size:1.1rem}
.t-mini{min-width:34px;min-height:34px;display:inline-flex;align-items:center;justify-content:center}
.barra .quien>a{padding:7px 4px}
.menu-item{min-height:38px}
.cel{width:40px;height:40px}
@media (max-width:768px){
  .t-check{width:38px;height:38px}
  .t-mini{min-width:38px;min-height:38px}
  .cel{width:44px;height:44px}
  .tog{padding:8px 16px}
  .lista-res li{flex-direction:column;gap:6px}
  .r-plazo{text-align:left}
  .alta{flex-direction:column;align-items:stretch}
  .alta input,.alta button{width:100%}
  .mini-check{justify-content:flex-start}
  .menu-btn{padding:9px 14px}
}

/* Aviso de que la tabla se desplaza: sin esto parece cortada. */
.tabla-scroll{position:relative}
.tabla-scroll::after{content:"";position:absolute;top:0;right:0;bottom:0;width:26px;
  background:linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,.95));pointer-events:none}
.pista-scroll{color:var(--gris);font-size:.78rem;margin-bottom:8px}

/* Etiqueta chica sobre los campos que solo tenian placeholder. */
.campo-mini{display:block;font-size:.75rem;color:var(--gris);font-weight:600;margin-bottom:3px}

button:disabled{opacity:.55;cursor:progress}

/* clientes */
.muestra-color{display:inline-block;width:22px;height:22px;border-radius:var(--radius);border:1px solid var(--linea);vertical-align:middle}
.bloque-codigo{background:#2b2b2b;color:#eae7e0;border-radius:var(--radius);padding:14px 16px;
  overflow-x:auto;font-size:.82rem;line-height:1.5;white-space:pre;margin:8px 0}

/* reporte de prioridad */
.filtros-prioridad{background:#fff;border:1px solid var(--linea);border-radius:var(--radius);
  padding:14px 16px;margin-bottom:18px;display:flex;flex-direction:column;gap:10px}
.grupo-filtro{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rotulo-filtro{font-size:.78rem;font-weight:600;color:var(--gris);min-width:82px}

/* subida de logo */
.logo-fila{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.logo-previa{width:120px;height:64px;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;padding:8px;flex:none;border:1px solid var(--linea)}
.logo-previa img{max-width:100%;max-height:100%;display:block}
.logo-previa.vacia{background:#f7f5f0;color:var(--gris);font-size:.78rem}
input[type=file]{width:100%;font-family:inherit;font-size:.92rem;padding:10px;
  border:1.5px dashed var(--linea);border-radius:var(--radius);background:#fff}
input[type=file]:hover{border-color:var(--cliente)}

/* ---- listas plegables y filtros (lista de ideas, prioridad, plan, etc.) ---- */
[hidden]{display:none !important}
.filtros{background:#fff;border:1px solid var(--linea);border-radius:var(--radius);padding:12px 14px;
  margin-bottom:14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;box-shadow:var(--sombra)}
.filtros input[type=search]{flex:2 1 220px;min-width:180px;padding:9px 12px;font-size:.92rem}
.filtros select{flex:1 1 160px;min-width:150px;padding:9px 10px;font-size:.92rem;border-radius:var(--radius);
  border:1.5px solid var(--linea);background:#fff;color:var(--tinta);font-family:inherit}
.f-acciones{display:flex;gap:12px;margin-left:auto}
.f-cuenta{width:100%;font-size:.8rem;color:var(--gris)}
.lista-ideas{display:flex;flex-direction:column;gap:12px}

.idea-cod{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;color:var(--gris);
  background:#f1efe9;border-radius:var(--radius);padding:2px 7px;margin-right:8px;white-space:nowrap}
.chip{background:#eef3ef;color:var(--verde);border-radius:var(--radius);padding:2px 10px;font-size:.78rem;font-weight:600}
.chip-gris{background:#f1efe9;color:var(--gris);font-weight:500}
.idea-desc{white-space:pre-wrap;margin:0 0 12px;color:var(--tinta)}
.idea-acciones{float:right;margin:-4px 0 6px 10px}
.puntaje-idea{background:var(--cliente);color:#fff;border-radius:var(--radius);padding:4px 10px;font-weight:800;font-size:1.05rem;white-space:nowrap}
.puntaje-idea small{font-size:.66rem;font-weight:600;opacity:.85}
.pill{border-radius:var(--radius);padding:3px 10px;font-size:.78rem;font-weight:700;white-space:nowrap}
.pill-pend{background:#fdf6e3;color:#7a5c00;border:1px solid #e8d9a8}
.crit legend{float:left;width:100%;padding:0;margin:0 0 4px;font-weight:600;font-size:.92rem}
.crit{margin:0}
.crit .d{margin-bottom:8px}
@media (max-width:600px){
  .f-acciones{margin-left:0}
}

/* tablero de ideas (kanban): columnas por etapa + tarjeta compacta que abre un panel lateral */
.tablero{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;align-items:start}
@media (max-width:980px){.tablero{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.tablero{grid-template-columns:1fr}}
.columna{border:1px solid var(--linea)}
.columna-cab{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;
  color:#fff;font-weight:700;font-size:.85rem}
.columna-cab span{background:rgba(255,255,255,.22);border-radius:var(--radius);padding:1px 8px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem}
.col-calificar .columna-cab{background:var(--oro);color:#3a2f10}
.col-calificar .columna-cab span{background:rgba(0,0,0,.14)}
.col-calificadas .columna-cab{background:var(--tinta)}
.col-analisis .columna-cab{background:var(--azul)}
.col-decididas .columna-cab{background:var(--verde)}
.columna-cuerpo{background:#f7f5f0;padding:10px;display:flex;flex-direction:column;gap:9px;min-height:70px}
.columna-vacia{color:var(--gris);font-size:.82rem;padding:4px 2px;margin:0}

.tarjeta-kanban{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--linea);
  border-radius:var(--radius);box-shadow:var(--sombra);padding:11px 12px;font-family:inherit;color:inherit;
  cursor:pointer;transition:box-shadow .15s}
.tarjeta-kanban:hover{box-shadow:var(--sombra-hover)}
.tk-titulo{display:block;font-family:var(--fuente-titulo);font-weight:600;font-size:.95rem;
  line-height:1.3;margin:5px 0 9px}
.tk-pie{display:flex;flex-wrap:wrap;gap:6px;align-items:center}

/* panel lateral (drawer) con el detalle completo de una idea */
.scrim{position:fixed;inset:0;background:rgba(35,35,35,.45);z-index:40}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,94vw);background:#fff;z-index:41;
  border-left:1px solid var(--tinta);overflow-y:auto;padding-bottom:40px}
.drawer-cab{position:sticky;top:0;display:flex;justify-content:space-between;align-items:flex-start;
  gap:10px;background:var(--cliente);color:#fff;padding:13px 16px;z-index:2}
.drawer-ojo{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;
  opacity:.9;padding-top:3px}
.drawer-cerrar{background:none;border:0;color:#fff;width:28px;height:28px;flex:none;font-size:1rem;
  cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius)}
.drawer-cerrar:hover{background:rgba(255,255,255,.2)}
.drawer-cuerpo{padding:16px}
.drawer-cuerpo h2{font-size:1.2rem}
.drawer-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}
