:root{
  --brand:#06b2a9; --brand-dark:#048f88; --brand-tint:#eaf6f5; --brand-soft:#f6fbfb;
  --gris:#808285; --gris-osc:#58595b; --text:#1f2b2b; --muted:#6b7c7b; --line:#e6eeed; --bg:#f4f7f8;
  --ok:#2e9e62; --ok-bg:#e6f5ec; --med:#c98a12; --med-bg:#fbf2df; --no:#c2493f; --no-bg:#fbe9e7;
  --r:12px; --sombra:0 1px 2px rgba(20,40,40,.06),0 6px 18px rgba(20,40,40,.06);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,'Helvetica Neue',Helvetica,Arial,'Segoe UI',Roboto,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
a{color:var(--brand-dark)}
h2{font-size:1.25rem;margin:0 0 6px;color:var(--brand-dark)}
h3{font-size:1rem;margin:18px 0 6px}
.ayuda{color:var(--muted);font-size:.9rem;margin:0 0 12px}
.error{color:var(--no);font-size:.9rem}

/* Botones */
.btn{border:0;border-radius:10px;padding:9px 16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap;transition:filter .15s,background .15s}
.btn:hover{filter:brightness(1.07)}
.btn:disabled{opacity:.55;cursor:default}
.btn-pri{background:var(--brand);color:#fff;box-shadow:0 6px 16px rgba(6,178,169,.28)}
.btn-gris{background:var(--gris);color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.btn-sec{background:#fff;color:var(--text);border:1px solid var(--line)}
.btn-sec:hover{border-color:var(--brand);color:var(--brand-dark);filter:none}
.btn-link{background:none;color:var(--muted);padding:6px 8px;text-decoration:underline}
.btn-peligro{background:#fff;color:var(--no);border:1px solid #f0cfcb}

/* Acceso */
.acceso{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,#fff 0%,var(--brand-soft) 55%,var(--brand-tint) 100%)}
.acceso-caja{background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(20,60,60,.12);padding:40px 36px;width:min(420px,100%);text-align:center}
.acceso-logo{width:260px;max-width:100%;height:auto}
.acceso-titulo{margin-top:18px;font-weight:800;letter-spacing:6px;color:var(--brand);font-size:1.35rem}
.acceso-sub{color:var(--muted);margin:2px 0 22px}
.acceso form{display:grid;gap:12px;text-align:left}
label{display:grid;gap:4px;font-size:.85rem;color:var(--muted);font-weight:600}
input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 11px;font-size:.95rem;font-weight:400;color:var(--text);width:100%;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(6,178,169,.14)}
textarea{resize:vertical}

/* Cabecera */
.cab{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:22px;padding:12px 24px;flex-wrap:wrap}
.cab-marca{display:flex;align-items:center;gap:16px}
.cab-logo{height:56px;width:auto}
.cab-sep{width:1px;height:40px;background:var(--line)}
.cab-tit{display:grid;line-height:1.15}
.cab-tit b{letter-spacing:4px;color:var(--brand);font-size:1.12rem}
.cab-tit small{color:var(--muted);font-size:.78rem}
.pestanas{display:flex;gap:4px;flex:1;justify-content:center;flex-wrap:wrap}
.pestanas button{border:0;background:none;padding:9px 14px;border-radius:9px;font-weight:600;color:var(--gris-osc);cursor:pointer}
.pestanas button:hover{background:var(--brand-soft)}
.pestanas button.on{background:var(--brand-tint);color:var(--brand-dark)}
.cab-der{display:flex;align-items:center;gap:12px}
.cab-yo{width:36px;height:36px;border-radius:50%;background:var(--gris);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem}
.cuerpo{max-width:1320px;margin:0 auto;padding:20px 24px 60px}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border-radius:var(--r);padding:12px 16px;box-shadow:var(--sombra);cursor:pointer;border:2px solid transparent}
.kpi:hover{border-color:var(--brand-tint)}
.kpi b{display:block;font-size:1.6rem;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.2}
.kpi span{color:var(--muted);font-size:.82rem}
.kpi.acento b{color:var(--brand-dark)}

/* Filtros */
.filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.filtros select{width:auto;padding:8px 10px;font-size:.88rem}
.buscador{position:relative;flex:1 1 260px;max-width:380px}
.buscador span{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted)}
.buscador input{padding-left:30px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:.86rem;font-weight:600;cursor:pointer;color:var(--gris-osc)}
.chips button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.interruptor{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.88rem;color:var(--text);font-weight:600;grid-auto-flow:column}
.interruptor input{display:none}
.interruptor span{width:36px;height:20px;border-radius:999px;background:#cfd8d7;position:relative;transition:.15s;flex:none}
.interruptor span::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}
.interruptor input:checked+span{background:var(--brand)}
.interruptor input:checked+span::after{left:18px}

.seleccion{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--brand-tint);border-radius:var(--r);padding:8px 12px;margin-bottom:12px}
.seleccion b{color:var(--brand-dark);margin-right:6px}

/* Listado */
.lista{display:grid;gap:8px}
.fila-p{display:grid;grid-template-columns:22px 72px minmax(190px,1.4fr) 120px 110px 140px 120px 150px minmax(160px,1.6fr);gap:14px;align-items:center;background:#fff;border-radius:var(--r);padding:10px 14px;box-shadow:var(--sombra);cursor:pointer;border:2px solid transparent;transition:border-color .12s}
.fila-p:hover{border-color:var(--brand-tint)}
.fila-p.sel{border-color:var(--brand)}
.fila-p input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);cursor:pointer}
.foto{width:72px;height:72px;border-radius:12px;object-fit:cover;background:var(--brand-soft);display:grid;place-items:center;color:var(--brand);font-weight:700;font-size:1.3rem;overflow:hidden;border:1px solid var(--line)}
.foto img{width:100%;height:100%;object-fit:cover;display:block}
.p-nom{min-width:0}
.p-nom b{display:block;font-size:1.02rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-nom b .estrella{color:#e0a100}
.p-meta{color:var(--muted);font-size:.84rem;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.etq{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 9px;font-size:.76rem;font-weight:700;white-space:nowrap}
.etq.rol{background:#eef0f1;color:var(--gris-osc)}
.etq.rol.fisio{background:var(--brand-tint);color:var(--brand-dark)}
.etq.prio{background:#fff3d6;color:#9a6a00}
.etq.prio.p1{background:#ffe8a3;color:#7a5200}
.etq.homo{background:#fbe9e7;color:var(--no)}
.etq.area{background:#eef0f1;color:var(--gris-osc);font-weight:600}
.foto.centro{background:#eef0f1;color:var(--gris);font-size:1.6rem}
.etq.pil{background:var(--brand);color:#fff}
.etq.pil.si{background:var(--brand-tint);color:var(--brand-dark)}
.etq.pil.no{background:#f1f3f3;color:#98a3a2}
.etq.pil.nd{background:none;color:#aab4b3;border:1px dashed #d6dddc}
.gusta{display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:.84rem;border-radius:999px;padding:3px 10px}
.gusta.si{background:var(--ok-bg);color:var(--ok)}
.gusta.quizas{background:var(--med-bg);color:var(--med)}
.gusta.no{background:var(--no-bg);color:var(--no)}
.gusta.sin{color:#aab4b3;border:1px dashed #d6dddc}
.estado{font-size:.82rem;font-weight:700;color:var(--gris-osc)}
.estado::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c,#bbb);margin-right:6px;vertical-align:1px}
.contacto{font-size:.84rem}
.contacto small{display:block;color:var(--muted);font-size:.76rem}
.contacto.viejo{color:var(--no)}
.tel{font-size:.86rem;display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums}
.tel a{color:var(--text);text-decoration:none}
.tel a.wa{color:var(--ok);font-size:.78rem;font-weight:700}
.coment{font-size:.86rem;color:var(--gris-osc);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.coment .clip{color:var(--muted);font-size:.78rem;display:block}
.vacio{background:#fff;border-radius:var(--r);padding:40px 24px;text-align:center;color:var(--muted);box-shadow:var(--sombra)}
.vacio b{display:block;color:var(--text);font-size:1.05rem;margin-bottom:4px}
.cabecera-lista{display:grid;grid-template-columns:22px 72px minmax(190px,1.4fr) 120px 110px 140px 120px 150px minmax(160px,1.6fr);gap:14px;padding:0 16px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}

/* Equipo */
.fila-e{grid-template-columns:72px minmax(200px,1.3fr) 150px 170px 160px minmax(200px,2fr)}
.antig b{display:block;font-size:1rem}
.antig small{color:var(--muted)}
details.ex{margin-top:24px}
details.ex summary{cursor:pointer;color:var(--muted);font-weight:700;margin-bottom:10px}
.bloque-tit{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}

/* Tarjetas */
.dos{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.tarjeta{background:#fff;border-radius:16px;padding:22px;box-shadow:var(--sombra);display:grid;gap:10px}
.tarjeta h2 .ia,.ia{color:var(--brand)}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}
.ejemplos button{font-weight:500;font-size:.8rem}
.enlaces{display:grid;gap:6px}
.enlaces a{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px 12px;text-decoration:none;color:var(--text);font-weight:600;font-size:.9rem}
.enlaces a:hover{border-color:var(--brand);background:var(--brand-soft)}
.enlaces a small{color:var(--muted);font-weight:400;font-size:.78rem;text-align:right}
.res{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px 10px;cursor:pointer}
.res:hover{border-color:var(--brand)}
.res .foto{width:52px;height:52px;border-radius:10px;font-size:1rem}
.res p{margin:2px 0 0;font-size:.86rem;color:var(--gris-osc)}
.puntos{color:var(--brand);letter-spacing:2px;font-size:.9rem;white-space:nowrap}
.texto-ia{white-space:pre-wrap;background:var(--brand-soft);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:.92rem}
hr{border:0;border-top:1px solid var(--line);margin:8px 0}
.rgpd{font-size:.8rem}

/* Panel lateral ficha */
.panel{position:fixed;inset:0;z-index:50}
.panel-fondo{position:absolute;inset:0;background:rgba(15,25,25,.45)}
.panel-caja{position:absolute;top:0;right:0;bottom:0;width:min(760px,100%);background:var(--bg);overflow:auto;box-shadow:-20px 0 60px rgba(0,0,0,.25);animation:entra .18s ease-out}
@keyframes entra{from{transform:translateX(40px);opacity:.4}to{transform:none;opacity:1}}
.f-cab{background:#fff;padding:22px 24px 18px;display:grid;grid-template-columns:140px 1fr;gap:20px;border-bottom:1px solid var(--line);position:relative}
.f-cerrar{position:absolute;top:12px;right:14px;border:0;background:var(--brand-soft);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:1rem}
.f-foto{width:140px;height:170px;border-radius:14px;object-fit:cover;background:var(--brand-soft);display:grid;place-items:center;color:var(--brand);font-size:2.4rem;font-weight:700;overflow:hidden;position:relative;border:1px solid var(--line)}
.f-foto img{width:100%;height:100%;object-fit:cover}
.f-foto button{position:absolute;bottom:6px;left:6px;right:6px;border:0;border-radius:8px;background:rgba(255,255,255,.92);font-size:.76rem;font-weight:700;padding:5px;cursor:pointer;color:var(--brand-dark)}
.f-nombre{font-size:1.45rem;font-weight:800;border:1px solid transparent;padding:2px 6px;margin-left:-7px;border-radius:8px;width:100%}
.f-nombre:hover{border-color:var(--line)}
.f-sub{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:.9rem;margin:4px 0 12px}
.f-acc{display:flex;gap:8px;flex-wrap:wrap}
.f-acc .btn{padding:7px 12px;font-size:.86rem}
.f-sec{background:#fff;margin:14px 16px;border-radius:14px;padding:16px 18px;box-shadow:var(--sombra)}
.f-sec h3{margin:0 0 12px;font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:var(--brand-dark)}
.rejilla{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.rejilla .ancho{grid-column:1/-1}
.tres{display:flex;gap:6px}
.tres button{flex:1;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px;font-weight:700;cursor:pointer;color:var(--gris-osc)}
.tres button.on.si{background:var(--ok);border-color:var(--ok);color:#fff}
.tres button.on.quizas{background:var(--med);border-color:var(--med);color:#fff}
.tres button.on.no{background:var(--no);border-color:var(--no);color:#fff}
.tres button.on.pil{background:var(--brand);border-color:var(--brand);color:#fff}
.embudo{display:flex;gap:4px;flex-wrap:wrap}
.embudo button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px;font-size:.82rem;font-weight:700;cursor:pointer;color:var(--gris-osc)}
.embudo button.on{background:var(--c);border-color:var(--c);color:#fff}
.esp{display:flex;flex-wrap:wrap;gap:6px}
.esp button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;font-size:.82rem;cursor:pointer;color:var(--gris-osc)}
.esp button.on{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-dark);font-weight:700}
.guardado{position:absolute;top:18px;right:58px;font-size:.78rem;color:var(--ok);font-weight:700;opacity:0;transition:.2s}
.guardado.ver{opacity:1}
.archivos{display:grid;gap:6px}
.archivo{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.archivo a{flex:1;font-weight:600;text-decoration:none;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.archivo small{color:var(--muted)}
.archivo .leer-cv{background:var(--brand-tint);color:var(--brand-dark);border-radius:8px;padding:5px 9px;font-weight:700;font-size:.78rem;white-space:nowrap}
.archivo button{border:0;background:none;color:var(--muted);cursor:pointer}
.linea{display:grid;gap:0}
.nota{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}
.nota::before{content:'';width:10px;height:10px;border-radius:50%;background:var(--c,#cfd8d7);margin-top:6px}
.nota.contacto{--c:var(--brand)}
.nota.nota-t{--c:var(--gris)}
.nota p{margin:0;white-space:pre-wrap;font-size:.92rem}
.nota small{color:var(--muted);font-size:.76rem}
.nota small button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:.76rem;text-decoration:underline}
.nueva-nota{display:grid;gap:8px;margin-bottom:10px}
.nueva-nota div{display:flex;gap:8px;flex-wrap:wrap}

/* Modal */
.modal{position:fixed;inset:0;z-index:60}
.modal-fondo{position:absolute;inset:0;background:rgba(15,25,25,.55)}
.modal-caja{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(980px,94vw);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.4);padding:26px}
.modal-x{position:absolute;top:12px;right:12px;border:0;background:var(--brand-soft);width:34px;height:34px;border-radius:50%;cursor:pointer}
.soltar{display:grid;place-items:center;gap:6px;text-align:center;border:2px dashed #bfe5e2;border-radius:16px;padding:34px 20px;background:var(--brand-soft);cursor:pointer;color:var(--muted);transition:.15s}
.soltar b{color:var(--brand-dark);font-size:1.08rem}
.soltar.encima{border-color:var(--brand);background:var(--brand-tint)}
.soltar.mini{padding:18px}
.soltar .iconos{font-size:1.8rem;letter-spacing:6px}
.alta{display:grid;grid-template-columns:200px 1fr;gap:22px}
.alta-foto{display:grid;gap:8px;align-content:start}
.alta-foto .f-foto{width:200px;height:240px}
.candidatas{display:flex;gap:6px;flex-wrap:wrap}
.candidatas img{width:56px;height:56px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent}
.candidatas img.on{border-color:var(--brand)}
.progreso{display:flex;align-items:center;gap:12px;padding:18px;background:var(--brand-soft);border-radius:12px;color:var(--brand-dark);font-weight:600}
.girar{width:22px;height:22px;border:3px solid var(--brand-tint);border-top-color:var(--brand);border-radius:50%;animation:gira .8s linear infinite;flex:none}
@keyframes gira{to{transform:rotate(360deg)}}
.cola{font-size:.85rem;color:var(--muted);margin-bottom:8px}
.recorte{position:relative;display:inline-block;max-width:100%;cursor:crosshair;user-select:none;touch-action:none}
.recorte canvas{max-width:100%;max-height:70vh;display:block;border-radius:8px}
.recorte .marco{position:absolute;border:2px solid var(--brand);background:rgba(6,178,169,.12);box-shadow:0 0 0 9999px rgba(0,0,0,.35)}
.mapa{width:100%;border-collapse:collapse;font-size:.86rem;margin:10px 0}
.mapa td,.mapa th{border-bottom:1px solid var(--line);padding:6px;text-align:left;vertical-align:top}
.mapa select{padding:5px 8px;font-size:.84rem}
.mapa .ej{color:var(--muted);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aviso{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--text);color:#fff;padding:10px 18px;border-radius:10px;z-index:90;box-shadow:0 10px 30px rgba(0,0,0,.3);font-size:.92rem;max-width:90vw}
.dup{background:var(--med-bg);border:1px solid #efd9a8;border-radius:12px;padding:12px 14px;display:grid;gap:8px}

/* v1.3 filtros, estados y tablero */
.rapidos button{font-weight:600}
.btn-reset{background:#fff;border:1px solid #f0cfcb;color:var(--no);padding:7px 12px;font-size:.86rem}
.modo{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-left:auto;background:#fff}
.modo button{border:0;background:none;padding:7px 12px;font-weight:700;font-size:.86rem;cursor:pointer;color:var(--gris-osc)}
.modo button.on{background:var(--brand);color:#fff}
.estados{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:4px 0 14px}
.estados button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 11px;font-size:.85rem;font-weight:700;color:var(--gris-osc);cursor:pointer;border-left:4px solid var(--c)}
.estados button b{background:#f1f5f5;border-radius:999px;padding:0 8px;font-variant-numeric:tabular-nums;color:var(--text)}
.estados button.on{background:var(--c);border-color:var(--c);color:#fff}
.estados button.on b{background:rgba(255,255,255,.25);color:#fff}
.estados button.cero{opacity:.5}
.sep-est{width:1px;height:26px;background:var(--line);margin:0 4px}
.estado.pill{border-radius:999px;padding:3px 10px;background:color-mix(in srgb,var(--c) 14%,#fff);color:color-mix(in srgb,var(--c) 75%,#000)}
.estado.pill::before{display:none}
.tablero{display:grid;grid-template-columns:repeat(8,minmax(200px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px}
.col-t{background:#eef3f3;border-radius:12px;display:flex;flex-direction:column;min-height:300px;border-top:4px solid var(--c)}
.col-t header{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;font-weight:800;font-size:.85rem;color:var(--gris-osc)}
.col-t header b{background:#fff;border-radius:999px;padding:0 8px}
.col-t.encima{outline:2px dashed var(--c);background:#e3eeee}
.col-cuerpo{display:grid;gap:7px;padding:0 8px 10px;align-content:start;max-height:70vh;overflow:auto}
.tarj{display:grid;grid-template-columns:44px 1fr;gap:9px;background:#fff;border-radius:10px;padding:8px;box-shadow:var(--sombra);cursor:grab;font-size:.84rem}
.tarj b{display:block;font-size:.88rem;line-height:1.25}
.tarj .p-meta{font-size:.76rem;gap:4px}
.tarj .rojo{color:var(--no)}
.tarj.arrastrando{opacity:.4}
.foto.mini{width:44px;height:44px;border-radius:9px;font-size:.9rem}
.vacio-col{color:#aab4b3;text-align:center;margin:10px 0}
/* v1.4 barra de filtros más limpia */
.barra-f{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.barra-f .buscador{flex:1 1 260px;max-width:none}
.seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}
.seg button{white-space:nowrap;border:0;background:none;border-radius:8px;padding:6px 11px;font-weight:600;font-size:.86rem;color:var(--gris-osc);cursor:pointer}
.seg button.on{background:var(--brand-tint);color:var(--brand-dark)}
.btn-filtros{background:#fff;border:1px solid var(--line);color:var(--text);padding:8px 13px}
.btn-filtros.on{border-color:var(--brand);color:var(--brand-dark)}
.btn-filtros b{background:var(--brand);color:#fff;border-radius:999px;padding:0 7px;font-size:.78rem}
.modo{margin-left:0}
.panel-f{background:#fff;border-radius:14px;box-shadow:var(--sombra);padding:16px 18px;margin-bottom:12px;display:grid;gap:14px}
.pf-grupo h4{margin:0 0 6px;font-size:.74rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}
.pf-sel{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.pf-sel label:nth-child(3){grid-column:span 2}
@media (max-width:860px){.pf-sel label:nth-child(3){grid-column:auto}}
.pf-sel select{padding:8px 10px;font-size:.88rem}
.dos-sel{display:flex;gap:6px}
.pf-pie{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:10px}
.activos-f{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.activos-f button{border:0;background:var(--brand-tint);color:var(--brand-dark);border-radius:999px;padding:5px 11px;font-size:.82rem;font-weight:700;cursor:pointer}
.activos-f button span{opacity:.6;margin-left:3px}
.activos-f button.todo{background:none;color:var(--no);text-decoration:underline}
.estados{display:flex;gap:0;flex-wrap:nowrap;overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px;margin:0 0 14px}
.estados button{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-left:none;background:none;border-radius:9px;padding:8px 10px;font-size:.84rem;font-weight:600;color:var(--gris-osc);cursor:pointer;white-space:nowrap}
.estados button i{width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.estados button b{background:#f1f5f5;border-radius:999px;padding:0 7px;font-variant-numeric:tabular-nums;color:var(--text);font-size:.8rem}
.estados button.fuerte{font-weight:800}
.estados button.on{background:var(--c);color:#fff}
.estados button.on i{background:#fff}
.estados button.on b{background:rgba(255,255,255,.25);color:#fff}
.estados button.cero{opacity:.45}
.aviso-dup{background:var(--med-bg);border:1px solid #efd9a8;border-radius:10px;padding:8px 12px;margin-bottom:10px;font-size:.9rem}
.aviso-dup .btn-link{padding:0 4px}
.burbuja{background:var(--no);color:#fff;border-radius:999px;padding:0 7px;font-size:.75rem;margin-left:3px}
/* próximo paso */
.paso{display:block;margin-top:4px;font-size:.78rem;color:var(--brand-dark);font-weight:600}
.paso.hoy{color:#b36b00}
.paso.vencido{color:var(--no)}
.paso-sec{border-left:4px solid var(--brand)}
.paso-sec.vencido{border-left-color:var(--no)}
.paso-fila{display:grid;grid-template-columns:1fr 170px;gap:8px}
.btn-mini{padding:5px 10px;font-size:.8rem;background:#fff;border:1px solid var(--line);color:var(--text)}
.btn-mini.btn-pri{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-wa{background:#25d366;color:#fff;border:0}
.btn-mini.btn-wa{background:#25d366;border-color:#25d366;color:#fff}
.grupo-p{display:flex;gap:8px;align-items:center;margin:18px 0 8px;font-size:.95rem}
.grupo-p b{background:#fff;border-radius:999px;padding:0 8px;font-size:.8rem}
.grupo-p.vencido{color:var(--no)}
.grupo-p.hoy{color:#b36b00}
.fila-pend{display:grid;grid-template-columns:44px minmax(180px,1fr) minmax(200px,1.6fr) auto;gap:12px;align-items:center;background:#fff;border-radius:12px;padding:8px 12px;box-shadow:var(--sombra);cursor:pointer}
.pend-paso .paso{font-size:.9rem;margin:0}
.pend-acc{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
/* puntuaciones y franjas */
.puntos{display:grid;gap:6px}
.punto-fila{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.88rem}
.cinco{display:flex;gap:4px}
.cinco button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fff;font-weight:700;color:var(--muted);cursor:pointer}
.cinco button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.punto-media{font-size:.85rem;color:var(--muted);text-align:right}
.nota-media{display:inline-block;margin-left:6px;font-size:.8rem;font-weight:800;color:#b58400}
.franjas{display:grid;grid-template-columns:70px repeat(6,1fr);gap:4px;align-items:center;max-width:460px}
.franjas b{font-size:.76rem;color:var(--muted);text-align:center}
.franjas b.izq{text-align:left}
.franjas button{height:30px;border-radius:7px;border:1px solid var(--line);background:#fff;color:transparent;cursor:pointer;font-weight:800}
.franjas button.on{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-dark)}
/* triaje */
.triaje{display:grid;gap:14px}
.tri-cab{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;padding-right:44px}
.tri-cab b{color:var(--brand-dark);font-size:1.1rem}
.tri-cab span{color:var(--muted);font-size:.9rem}
.tri-barra{grid-column:1/-1;height:6px;background:var(--line);border-radius:9px;overflow:hidden}
.tri-barra i{display:block;height:100%;background:var(--brand)}
.tri-cuerpo{display:grid;grid-template-columns:180px 1fr;gap:20px}
.tri-foto{width:180px;height:216px}
.tri-txt{margin:4px 0;font-size:.92rem;color:var(--gris-osc)}
.tri-acc{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tri-acc .btn{display:grid;gap:2px;justify-items:center;padding:14px;border-radius:12px;font-size:1rem}
.tri-acc small{font-weight:500;font-size:.74rem;opacity:.85}
.tri-si{background:var(--ok);color:#fff}
.tri-q{background:var(--med-bg);color:var(--med);border:1px solid #efd9a8}
.tri-no{background:var(--no-bg);color:var(--no);border:1px solid #f0cfcb}
.tri-pie{display:flex;justify-content:space-between}
.tri-est{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:10px}
.tri-est>span{font-size:.82rem;color:var(--muted);font-weight:600}
/* plantillas y duplicados */
.pl-item{display:grid;gap:6px;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px}
.pl-item .btn-link{justify-self:end;padding:0}
.dup-par{border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:10px;display:grid;gap:8px}
.dup-t{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center}
/* Responsive */
.solo-movil{display:none!important}
@media (max-width:1180px){
  .fila-p,.cabecera-lista{grid-template-columns:22px 64px minmax(160px,1fr) 120px 110px 130px 130px}
  .fila-p>.c-contacto,.fila-p>.c-coment,.cabecera-lista>.c-contacto,.cabecera-lista>.c-coment{display:none}
  .foto{width:64px;height:64px}
}
@media (max-width:860px){
  .cab{padding:10px 14px;gap:10px}
  .cab-logo{height:42px}
  .cab-marca{flex:1;gap:10px}
  .cab-tit b{font-size:.95rem;letter-spacing:3px}
  #btnAnadir{padding:8px 12px}
  .kpis{grid-template-columns:repeat(3,1fr);gap:8px}
  .kpi{padding:8px 10px}
  .kpi b{font-size:1.2rem}
  .kpi span{font-size:.72rem;line-height:1.2;display:block}
  .cab-sep,.cab-tit small{display:none}
  .pestanas{order:3;flex:1 1 100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}
  .pestanas button{white-space:nowrap;padding:8px 10px}
  .cuerpo{padding:14px 12px 60px}
  .cabecera-lista{display:none}
  .fila-p{grid-template-columns:22px 60px 1fr;gap:10px;row-gap:6px}
  .fila-p>.c-extra{grid-column:3;display:flex!important;gap:6px;flex-wrap:wrap;align-items:center}
  .fila-p>.c-pil,.fila-p>.c-gusta,.fila-p>.c-estado,.fila-p>.c-contacto,.fila-p>.c-coment{display:none}
  .fila-p>.c-tel{grid-column:3;flex-direction:row;gap:12px}
  .foto{width:60px;height:60px}
  .fila-e{grid-template-columns:60px 1fr}
  .fila-e>*:nth-child(n+3){grid-column:2}
  .dos,.alta,.rejilla,.fila{grid-template-columns:1fr}
  .f-cab{grid-template-columns:96px 1fr;padding:16px}
  .f-foto{width:96px;height:120px}
  .alta-foto .f-foto{width:160px;height:190px}
  .filtros select{flex:1 1 45%}
  .fila-pend{grid-template-columns:44px 1fr}
  .fila-pend>.pend-paso,.fila-pend>.pend-acc{grid-column:1/-1;justify-content:flex-start}
  .tri-cuerpo{grid-template-columns:1fr}
  .tri-foto{width:120px;height:144px}
  .tri-acc{grid-template-columns:1fr}
  .seg{width:100%;overflow-x:auto;flex-wrap:nowrap}
  .paso-fila{grid-template-columns:1fr}
  .estados{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .estados button{flex:none}
  .sep-est{display:none}
  .buscador{max-width:none;flex-basis:100%}
  .modal-caja{padding:18px}
  .f-sec{margin:10px 8px}
}

.comparar td.viejo{color:var(--muted);max-width:220px}
.comparar td.nuevo{color:var(--text);font-weight:600;max-width:260px}
.comparar td{word-break:break-word}
@media (max-width:860px){.archivo{flex-wrap:wrap}}

.tri-est .norecuerdo{border-style:dashed!important;color:#6a5acd!important}
