/* =====================================================================
   Urdimbre en secuencia, socios y Canvinn avanzado
   ===================================================================== */
/* Pestañas con los botones del cliente a la derecha */
.tabrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tabrow .tabs{flex:0 1 auto;min-width:0}
.tabrow .tabact{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tabrow .nextstep{max-width:340px}
.tabrow .nextstep .ns-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:980px){.tabrow .tabact{margin-left:0;width:100%;justify-content:flex-start}}

/* Urdimbre en pasos */
.secnav.useq{gap:2px}
.uprog{padding:4px 10px 14px;display:flex;flex-direction:column;gap:8px}
.uprog b{font-size:13.5px;color:var(--ink-1)}
.uprog .bar{height:6px;border-radius:99px;background:var(--glass-2);overflow:hidden}
.uprog .bar i{display:block;height:100%;border-radius:99px;background:var(--pc,var(--accent))}
.ugrp{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.ugl{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:8px 10px 6px}
.secnav.useq button{display:flex;align-items:center;gap:10px;text-align:left}
.secnav.useq .grow{flex:1;min-width:0}
.un{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;background:var(--glass-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}
.un.done{background:var(--accent-soft);color:var(--accent-text);box-shadow:none}
/* Ayuda al pasar el cursor */
.ftip{display:inline-grid;place-items:center;width:17px;height:17px;margin-left:6px;border-radius:50%;border:0;background:var(--glass-2);color:var(--ink-3);font-size:11px;font-weight:700;cursor:help;position:relative;vertical-align:1px;box-shadow:inset 0 0 0 1px var(--line)}
.ftip:hover,.ftip:focus{color:var(--ink-1);outline:none;background:var(--glass-3)}
.ftip:hover::after,.ftip:focus::after{content:attr(data-tip);position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);width:max-content;max-width:300px;padding:10px 12px;border-radius:12px;background:var(--ink-1);color:var(--bg);font-size:12.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;z-index:30;box-shadow:var(--shadow);pointer-events:none}
.f.legacy textarea,.f.legacy input{border-style:dashed}
/* No aplica */
.f.nasug{position:relative}
.f.nasug::after{content:"Tab → No aplica";position:absolute;right:10px;bottom:10px;font-size:11.5px;font-weight:600;color:var(--accent-text);background:var(--accent-soft);padding:3px 8px;border-radius:8px;pointer-events:none}
/* Horario */
.hours{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.hrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--glass-1)}
.hdays{display:flex;gap:4px}
.hday{width:30px;height:30px;border-radius:50%;border:0;background:var(--glass-2);color:var(--ink-2);font-weight:600;font-size:12.5px;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line)}
.hday[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1.5px var(--accent-text)}
.htime{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2)}
.htime input{width:auto;padding:7px 10px}
/* Enlaces de competidores */
.links{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.links input{width:100%}
.lrow{display:flex;gap:8px;align-items:center;width:100%}
/* Pasos de la pasada */
.pdone{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;padding:5px 11px;border-radius:99px;border:0;background:var(--glass-2);color:var(--ink-2);font-size:12px;font-weight:600;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line)}
.pdone.on{background:var(--accent-soft);color:var(--accent-text);box-shadow:none}
.tstep.ok b::after{content:" ✓";color:var(--accent-text)}
/* Indicador sin conexión en rojo */
.saved.warn::before,.saved.off::before{background:#d0473a!important}
.saved.off{color:#b4362b;background:rgba(208,71,58,.1);border-radius:99px;padding:3px 10px;font-weight:600}
:root:not([data-theme="light"]) .saved.off{color:#ff8a7e}

/* Canvinn */
.cvi.locked{cursor:default}
.cvi.locked::after{content:"";position:absolute;right:calc(-8px * var(--ik,1));top:calc(-8px * var(--ik,1));width:calc(16px * var(--ik,1));height:calc(16px * var(--ik,1));border-radius:50%;background:var(--cvbg) url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.2'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/70% no-repeat;box-shadow:0 0 0 1px var(--cvfrb);z-index:5}
.cvguide{position:absolute;z-index:7;pointer-events:none;background:#E5484D}
.cvguide.v{top:-100000px;bottom:-100000px;width:calc(1px * var(--ik,1))}
.cvguide.h{left:-100000px;right:-100000px;height:calc(1px * var(--ik,1))}
.cvalign{display:flex;gap:2px}
.cvalign button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--cvink);cursor:pointer}
.cvalign button:hover{background:var(--cvhov)}
.cvalign svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.cvfin{display:flex;flex-direction:column;gap:8px;padding:12px;margin-bottom:14px;border-radius:14px;background:var(--cvhov);box-shadow:inset 0 0 0 1px var(--cvl2)}
.cvfinb{display:flex;gap:8px;flex-wrap:wrap}
.cvw .btn.cvconv{box-shadow:inset 0 0 0 1.5px var(--cvgl,#17513B)}
.ursum{margin-bottom:12px}.ursum .ugl{display:block;padding:0 0 8px}
