/* CRM ONOVENE · modo Apple con acento burdeos. Sistema único: no añadir estilos por pantalla salvo posiciones. */
*{box-sizing:border-box}
body{margin:0;background:#F5F5F7}
a{color:inherit;text-decoration:none}
button,input,textarea{font-family:inherit}
:focus-visible{outline:3px solid rgba(122,18,48,.45);outline-offset:2px}

/* Armazón */
.app{display:flex;flex-wrap:wrap;align-items:stretch;min-height:100vh;background:#F5F5F7;color:#1D1D1F;font:400 14px/20px -apple-system,BlinkMacSystemFont,'SF Pro Text',Inter,'Helvetica Neue',Arial,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
.sb{flex:0 0 256px;display:flex;flex-direction:column;gap:14px;padding:18px 12px;background:#470D20;color:#fff;position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto;scrollbar-color:rgba(255,255,255,.3) transparent;scrollbar-width:thin}
.sb .sb-brand small,.sb .sb-biz small,.sb .sb-foot{color:rgba(255,255,255,.72)!important}
.sb .sb-logo{background:#fff!important;color:#7A1230!important}
.sb .sb-biz{background:rgba(255,255,255,.08)!important;box-shadow:none!important}
.sb .sb-biz:hover{background:rgba(255,255,255,.14)!important}
.sb-g{margin:14px 0 4px;padding:0 10px;font-size:13px;line-height:18px;font-weight:600;color:#E58AA3}
.sb nav>a{display:flex!important;gap:12px!important;min-height:40px!important;padding:0 12px!important;font-size:14px!important;font-weight:500;color:#F5E9ED;border:1px solid transparent}
.sb nav>a svg{flex:none;opacity:.9}
.sb nav>a span{line-height:18px}
.sb nav>a:hover{background:rgba(255,255,255,.08)!important}
.sb nav>a.on{background:rgba(255,255,255,.14);border-color:#E58AA3;color:#fff;font-weight:600;border-radius:12px}
.sb-brand{display:flex;align-items:center;gap:10px;padding:2px 8px}
.sb-logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(160deg,#8E1A3A,#5C0F26);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.sb-brand b{display:block;font-size:13px;line-height:17px;font-weight:600;letter-spacing:.02em}
.sb-brand small{display:block;font-size:11px;line-height:14px;color:#6E6E73}
.sb-biz{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:6px 12px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.sb-biz small{display:block;font-size:11px;line-height:13px;color:#6E6E73}
.sb-biz b{display:block;font-size:13px;line-height:17px;font-weight:600}
.sb-biz:hover{box-shadow:0 0 0 1px rgba(122,18,48,.4)}
.sb nav{display:flex;flex-direction:column;gap:1px}
.sb nav>a{display:flex;align-items:center;gap:10px;min-height:38px;padding:0 10px;border-radius:9px;font-size:14px;font-weight:500;transition:background .15s ease-out}
.sb nav>a:hover{background:rgba(0,0,0,.05)}
.sb nav>a .n{width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.06);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#424245;flex:none}
.sb nav>a.act{background:#7A1230;color:#fff}
.sb nav>a.act .n{background:rgba(255,255,255,.22);color:#fff}
.subs{display:flex;flex-direction:column;gap:1px;margin:3px 0 6px 21px;padding-left:10px;border-left:1px solid rgba(0,0,0,.1)}
.subs a{display:flex;align-items:center;min-height:32px;padding:4px 10px;border-radius:7px;font-size:13px;line-height:17px;color:#424245}
.subs a:hover{background:rgba(0,0,0,.05)}
.subs a.on{background:rgba(122,18,48,.1);color:#7A1230;font-weight:600}
.sb-foot{margin-top:auto;padding:0 10px;font-size:11px;line-height:15px;color:#6E6E73}
.pg{flex:999 1 560px;min-width:0;padding:32px 40px 56px}
.wrap{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:20px}

/* Cabecera de pantalla: breadcrumb, título, conclusión */
.crumb{font-size:13px;line-height:18px;font-weight:600;color:#7A1230;margin:0 0 4px}
.h1{font-size:44px;line-height:48px;font-weight:700;letter-spacing:-.035em;margin:0}
.lead{font-size:17px;line-height:25px;letter-spacing:-.01em;color:#6E6E73;max-width:820px;margin:8px 0 0}
.top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;padding-bottom:6px}

/* Tipos */
.h2{font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.02em;margin:16px 0 0}
.h3{font-size:15px;line-height:20px;font-weight:600;letter-spacing:-.01em;margin:0}
.sub{color:#6E6E73;margin:0}
.sub2{font-size:12px;line-height:16px;color:#6E6E73;margin:0}
.lbl{font-size:12px;line-height:16px;font-weight:600;color:#6E6E73;margin:0}
.fig{font-size:30px;line-height:34px;font-weight:700;letter-spacing:-.03em;margin:0}
.fig-xl{font-size:60px;line-height:64px;font-weight:700;letter-spacing:-.04em;margin:0}
.big{font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.02em;margin:0}
.ph{color:#6E6E73;font-weight:400}

/* Rejilla y tarjetas */
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.x2{grid-column:span 2}.x3{grid-column:span 3}.x4{grid-column:span 4}.x5{grid-column:span 5}.x6{grid-column:span 6}.x7{grid-column:span 7}.x8{grid-column:span 8}.x9{grid-column:span 9}.x12{grid-column:span 12}
.c{background:#fff;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:10px;min-width:0;box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 16px rgba(0,0,0,.035)}
.c.wine{background:linear-gradient(155deg,#8E1A3A 0%,#5C0F26 100%);color:#fff;box-shadow:0 10px 28px rgba(92,15,38,.22)}
.c.wine .lbl,.c.wine .sub,.c.wine .sub2{color:rgba(255,255,255,.84)}
.ch{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:6px 16px}

/* Tira de KPI */
.kpi .fig{margin-top:2px}
.delta{font-size:12px;line-height:16px;font-weight:600}
.delta.up{color:#1B7A33}.delta.dn{color:#C4001A}.delta.fl{color:#6E6E73}

/* Lista agrupada estilo Ajustes */
.g{background:#fff;border-radius:16px;overflow:hidden;min-width:0;box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 16px rgba(0,0,0,.035)}
.g-r{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:4px 20px;padding:12px 18px;align-items:baseline}
.g-r+.g-r::before{content:"";position:absolute;left:18px;right:0;top:0;height:1px;background:rgba(0,0,0,.08)}
.g-r>b{font-weight:500}
.g-r>span{color:#424245}
.g-r.ph>span{color:#6E6E73}
.g-r.kv{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.g-h{padding:12px 18px 2px;font-size:12px;line-height:16px;font-weight:600;color:#6E6E73}

/* Utilidades */
.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.between{justify-content:space-between}
.stack{display:flex;flex-direction:column;gap:10px}
.tag{display:inline-block;padding:2px 9px;border-radius:999px;background:rgba(122,18,48,.09);color:#7A1230;font-size:12px;line-height:16px;font-weight:600;white-space:nowrap}
.tag.n{background:#F0F0F2;color:#424245}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;line-height:16px;font-weight:600;white-space:nowrap}
.pill::before{content:"";width:8px;height:8px;background:currentColor;border-radius:50%;flex:none}
.pill.ok{background:#E9F6EC;color:#1B7A33}
.pill.warn{background:#FFF3E0;color:#9A4F00}
.pill.warn::before{border-radius:2px;transform:rotate(45deg)}
.pill.bad{background:#FDECEE;color:#C4001A}
.pill.bad::before{border-radius:0;clip-path:polygon(0 0,100% 0,50% 100%)}
.pill.none{background:#F0F0F2;color:#6E6E73}
.pill.none::before{background:none;box-shadow:inset 0 0 0 1.5px currentColor}

/* Barras de progreso */
.bar{position:relative;height:10px;border-radius:99px;background:#E8E8ED}
.bar i{display:block;height:100%;border-radius:99px;background:#7A1230;animation:grow .9s cubic-bezier(.2,.8,.2,1)}
.bar em{position:absolute;top:-5px;width:2px;height:20px;border-radius:2px;background:#1D1D1F}
.bar.s{height:6px}.bar.s em{top:-4px;height:14px}
.c.wine .bar{background:rgba(255,255,255,.22)}.c.wine .bar i{background:#fff}.c.wine .bar em{background:#fff}
@keyframes grow{from{width:0}}

/* Barras horizontales etiquetadas: .hb > span etiqueta, .tr > i, span valor */
.hb{display:grid;grid-template-columns:150px minmax(0,1fr) 92px;gap:12px;align-items:center;min-height:28px}
.hb .tr{position:relative;height:14px;border-radius:0 4px 4px 0;background:#F2F2F5}
.hb .tr i{display:block;height:100%;border-radius:0 4px 4px 0;background:#A32A4E;animation:grow .9s cubic-bezier(.2,.8,.2,1)}
.hb .tr em{position:absolute;top:-3px;width:2px;height:20px;background:#1D1D1F}
.hb>span:last-child{text-align:right;font-weight:600}

/* Controles */
.seg{display:inline-flex;gap:2px;background:rgba(0,0,0,.06);border-radius:11px;padding:3px}
.seg button{min-height:38px;padding:0 14px;border:0;border-radius:8px;background:none;color:#1D1D1F;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease-out}
.seg button.on{background:#fff;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.14)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 20px;border:0;border-radius:999px;background:#7A1230;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease-out}
.btn:hover{background:#5C0F26}
.btn:disabled{background:#D2D2D7;color:#6E6E73;cursor:not-allowed}
.btn.alt{background:rgba(0,0,0,.06);color:#1D1D1F}
.btn.alt:hover{background:rgba(0,0,0,.1)}
.inp{width:100%;min-height:44px;padding:0 12px;border:0;border-radius:11px;background:#F5F5F7;color:#1D1D1F;font-size:14px}
input[type=range]{width:100%;height:28px;margin:0;accent-color:#7A1230;cursor:pointer}
input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:#7A1230;flex:none;cursor:pointer}
.chk{display:flex;align-items:center;gap:10px;min-height:40px;cursor:pointer}

/* Tablas */
.scr{overflow-x:auto}
.t{width:100%;border-collapse:collapse;font-size:13px;line-height:18px}
.t th{font-size:12px;line-height:16px;font-weight:600;color:#6E6E73;text-align:left;padding:0 12px 8px 0;border-bottom:1px solid rgba(0,0,0,.1);white-space:nowrap}
.t td{padding:10px 12px 10px 0;border-bottom:1px solid rgba(0,0,0,.06);vertical-align:top}
.t tr:last-child td{border-bottom:0}
.t td:first-child{font-weight:500}
.t .r{text-align:right}
.t tr.hot td{background:rgba(122,18,48,.05)}

/* Línea de pasos */
.steps{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0}
.steps>div{position:relative;padding:20px 12px 0 0}
.steps>div::before{content:"";position:absolute;left:0;right:0;top:5px;height:2px;background:#E8E8ED}
.steps>div::after{content:"";position:absolute;left:0;top:0;width:12px;height:12px;border-radius:50%;background:#7A1230;box-shadow:0 0 0 3px #fff}
.steps b{display:block;font-size:14px;line-height:18px;font-weight:600;margin-bottom:3px}
.steps small{display:block;font-size:12px;line-height:16px;color:#6E6E73}

/* Gráficas */
.lg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;line-height:16px;color:#424245}
.lg span{display:inline-flex;align-items:center;gap:6px}
.lg i{width:10px;height:10px;border-radius:3px;display:block}
svg{display:block;max-width:100%}
svg text{font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif}
svg text.ax{font-size:11px;font-weight:500;fill:#6E6E73}
svg text.lb{font-size:12px;font-weight:600;fill:#1D1D1F}
svg text.ri{font-size:26px;font-weight:700;fill:#1D1D1F;letter-spacing:-.03em}
svg .gl{stroke:#E8E8ED;stroke-width:1}
svg .hit{fill:transparent}
.ring{animation:ring 1.1s cubic-bezier(.2,.8,.2,1)}
@keyframes ring{from{stroke-dashoffset:340}}
@media (prefers-reduced-motion:reduce){.bar i,.hb .tr i,.ring{animation:none}}

/* Móvil */
@media (max-width:900px){
.sb{flex:1 0 100%;gap:10px;border-right:0;position:static;height:auto;overflow:visible}
.sb-g{display:none}
.sb nav{flex-direction:row;overflow-x:auto;padding-bottom:4px}
.sb nav>a{flex:none}
.subs{flex-direction:row;margin:0;padding:0;border:0;flex:none}
.subs a{flex:none}
.sb-foot{display:none}
.pg{padding:20px 16px 40px}
.h1{font-size:34px;line-height:38px}
.fig-xl{font-size:44px;line-height:48px}
.bento>*{grid-column:span 12}
.g-r{grid-template-columns:minmax(0,1fr)}
.steps{grid-auto-flow:row;gap:6px}
.hb{grid-template-columns:96px minmax(0,1fr) 64px}
}

/* Menú: subgrupos y buscador */
.sb-sg{margin:8px 0 2px;padding:0 12px;font-size:11px;line-height:14px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.6)}
.sb-q{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border-radius:10px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.72)}
.sb-q svg{flex:none}
.sb-q-in{flex:1;min-width:0;height:36px;border:0;background:none;color:#fff;font-size:13px;outline:none}
.sb-q-in::placeholder{color:rgba(255,255,255,.66)}
.sb-q:focus-within{box-shadow:0 0 0 2px #E58AA3}

/* Pestañas del pilar, arriba de cada pantalla */
.ptabs{display:flex;flex-wrap:wrap;gap:4px;padding:4px;margin-bottom:-6px;border-radius:12px;background:rgba(0,0,0,.045)}
.ptabs a{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border-radius:9px;font-size:12px;line-height:16px;font-weight:500;color:#424245;white-space:nowrap;transition:background .15s ease-out}
.ptabs a:hover{background:rgba(0,0,0,.06)}
.ptabs a.on{background:#fff;color:#7A1230;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.14)}

/* Barra de filtros */
.fbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:12px 14px;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 16px rgba(0,0,0,.035)}
.fbar label{display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:16px;font-weight:600;color:#6E6E73}
.fbar select{min-height:36px;min-width:138px;padding:0 10px;border:0;border-radius:9px;background:#F5F5F7;color:#1D1D1F;font-size:13px;font-family:inherit;cursor:pointer}
.fbar .cuenta{margin-left:auto;align-self:center;font-size:12px;color:#6E6E73}

/* Tablero por etapas */
.kb{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(188px,1fr);gap:10px;overflow-x:auto;padding-bottom:6px;align-items:start}
.kb-col{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px;border-radius:14px;background:#ECECF0}
.kb-h{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;line-height:16px;font-weight:600;color:#424245}
.kb-h b{font-weight:700;color:#1D1D1F}
.kb-card{display:flex;flex-direction:column;gap:6px;width:100%;padding:11px;border:0;border-radius:11px;background:#fff;color:#1D1D1F;font:inherit;text-align:left;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:box-shadow .15s ease-out,transform .15s ease-out}
.kb-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.12);transform:translateY(-1px)}
.kb-card b{font-size:13px;line-height:17px;font-weight:600}
.kb-card small{font-size:12px;line-height:16px;color:#6E6E73}
.kb-card .pie{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;line-height:14px;color:#424245}
.punto{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:1px}

/* Ficha lateral */
.ficha-fondo{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.26);animation:fichaF .15s ease-out}
.ficha{position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);display:flex;flex-direction:column;background:#fff;color:#1D1D1F;font:400 14px/20px -apple-system,BlinkMacSystemFont,'SF Pro Text',Inter,'Helvetica Neue',Arial,sans-serif;box-shadow:-12px 0 40px rgba(0,0,0,.18);animation:fichaE .2s cubic-bezier(.2,.8,.2,1)}
.ficha-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 22px 14px;border-bottom:1px solid rgba(0,0,0,.08)}
.ficha-h h2{margin:0;font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.02em}
.ficha-h p{margin:4px 0 0;font-size:13px;line-height:18px;color:#6E6E73}
.ficha-x{flex:none;width:36px;height:36px;border:0;border-radius:50%;background:rgba(0,0,0,.06);font-size:20px;line-height:1;color:#1D1D1F;cursor:pointer}
.ficha-x:hover{background:rgba(0,0,0,.12)}
.ficha-b{flex:1;overflow-y:auto;padding:8px 22px 24px}
.ficha-r{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.ficha-r span{flex:none;max-width:45%;font-size:13px;line-height:18px;color:#6E6E73}
.ficha-r b{font-size:14px;line-height:19px;font-weight:600;text-align:right}
.ficha-n{margin:14px 0;padding:12px;border-radius:11px;background:#F5F5F7;font-size:13px;line-height:19px;color:#424245}
.ficha-b .tag{margin:6px 6px 0 0}
@keyframes fichaF{from{opacity:0}}
@keyframes fichaE{from{transform:translateX(24px);opacity:.6}}
@media (prefers-reduced-motion:reduce){.ficha,.ficha-fondo{animation:none}.kb-card:hover{transform:none}}

/* Filas y marcas que abren ficha */
.t tr:has(td){cursor:pointer}
.t tr:has(td):hover td{background:rgba(122,18,48,.035)}
svg title{pointer-events:none}

/* ONOVENE simple: rellenar y ver */
.campo{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;line-height:18px;font-weight:600;color:#1D1D1F}
.inp.area{display:block;min-height:64px;padding:10px 12px;line-height:20px;resize:vertical;field-sizing:content}
.inp:focus{outline:2px solid rgba(122,18,48,.45);outline-offset:0;background:#fff}
.dos,.tres,.cuatro,.cinco{display:grid;gap:14px}
.dos{grid-template-columns:repeat(2,minmax(0,1fr))}
.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
.cuatro{grid-template-columns:repeat(4,minmax(0,1fr))}
.cinco{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}
.cuadro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.qa{display:flex;flex-direction:column;gap:4px;min-width:0;text-align:left}
.qa-q{margin:0;font-size:12px;line-height:16px;font-weight:600;color:#6E6E73}
.qa-r{margin:0;font-size:15px;line-height:22px;white-space:pre-line}
.qa.grande .qa-r{font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.02em}
.vacio{color:#86868B;font-style:normal;font-weight:400}
.vision{min-height:170px;justify-content:flex-end;gap:6px}
.vision-t{margin:0;font-size:32px;line-height:38px;font-weight:700;letter-spacing:-.03em}
.h1-m{font-size:34px;line-height:40px}
.tarjeta,.funnel{border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;align-items:flex-start;transition:box-shadow .15s ease-out,transform .15s ease-out}
.tarjeta:hover,.funnel:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-1px)}
.tarjeta .ch,.funnel .ch{width:100%}
.tarjeta>span:first-child{width:100%}
.sistema{display:flex;flex-direction:column}
.sis{display:grid;grid-template-columns:32px 230px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:68px;padding:10px 18px;transition:background .15s ease-out}
.sis+.sis{border-top:1px solid rgba(0,0,0,.07)}
.sis:hover{background:rgba(122,18,48,.035)}
.sis-n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;border-radius:50%;background:rgba(122,18,48,.1);color:#7A1230;font-size:13px;font-weight:700}
.sis-t b{display:block;font-size:15px;line-height:20px;font-weight:600}
.sis-t small{display:block;font-size:12px;line-height:16px;color:#6E6E73}
.sis-r{font-size:14px;line-height:20px;color:#1D1D1F}
.etapas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.etapa b{font-size:17px;line-height:22px;font-weight:600}
.chip{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:0;border-radius:999px;background:#F0F0F2;color:#1D1D1F;font:inherit;font-size:13px;cursor:pointer;transition:background .15s ease-out}
.chip:hover{background:#E3E3E8}
.chip.on{background:#7A1230;color:#fff}
.fila-ed{display:flex;align-items:center;gap:8px;min-width:0}
.fila-ed>.inp{flex:1;min-width:0}
.quita{flex:none;width:32px;height:32px;border:0;border-radius:50%;background:rgba(0,0,0,.05);color:#424245;font-size:18px;line-height:1;cursor:pointer}
.quita:hover{background:#FDECEE;color:#C4001A}
.volver{align-self:flex-start;min-height:36px;padding:0 4px;border:0;background:none;color:#7A1230;font:inherit;font-weight:600;cursor:pointer}
.test{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:14px;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.06)}
.puente{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1.2fr) 32px;gap:8px;align-items:center}
.pasos-l{display:flex;flex-wrap:wrap;gap:8px}
.paso-c{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#F5F5F7;font-size:13px}
.paso-c b{color:#7A1230}
.tl{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid #E8E8ED;display:flex;flex-direction:column;gap:16px}
.tl li{position:relative}
.tl li::before{content:"";position:absolute;left:-29px;top:5px;width:12px;height:12px;border-radius:50%;background:#7A1230;box-shadow:0 0 0 3px #fff}
.tl summary{font-size:17px;line-height:22px;font-weight:600;cursor:pointer}
.tl p{margin:6px 0 0;color:#424245;white-space:pre-line}
.dato{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.dato:last-of-type{border-bottom:0}
.dato span{color:#6E6E73;font-size:13px}
.dato b{font-weight:600;text-align:right}
.dato.col{flex-direction:column;gap:2px}
.dato.col b{text-align:left;font-weight:400}
.datos-w{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.datos-w .dato{flex-direction:column;gap:4px;border:0;padding:0}
.datos-w .dato span{color:rgba(255,255,255,.8)}
.datos-w .dato b{font-size:22px;line-height:28px;text-align:left;letter-spacing:-.02em}
.datos-w .vacio{color:rgba(255,255,255,.7)}
.t.ed td{padding:6px 6px 6px 0}
.t.ed .inp{min-height:40px;font-size:13px}
.t.ed .inp.area{min-width:120px;min-height:60px;padding:8px;line-height:18px}
.t.ed input[type=number]{width:86px;padding:0 8px}
.sb-sel{width:100%;border:0;background:none;color:#fff;font-family:inherit;font-size:13px;line-height:17px;font-weight:600;padding:0;cursor:pointer;outline:none}
.sb-sel option{color:#1D1D1F}
.btn{text-decoration:none}
@media (max-width:900px){.dos,.tres,.cuatro,.cinco,.cuadro,.etapas,.datos-w{grid-template-columns:minmax(0,1fr)}.sis{grid-template-columns:32px minmax(0,1fr)}.puente{grid-template-columns:minmax(0,1fr)}.vision-t{font-size:26px;line-height:32px}}

.c>a.tag,.stack>a.tag{align-self:flex-start}

/* Motor de bloques */
.seg-b{display:flex;gap:2px;height:28px}
.seg-b i{display:flex;align-items:center;padding-left:8px;border-radius:4px;color:#fff;font-size:12px;font-style:normal;font-weight:600;overflow:hidden;white-space:nowrap}
.emb{display:flex;flex-direction:column}
.emb-f{display:grid;grid-template-columns:190px minmax(0,1fr) 130px 104px;gap:14px;align-items:center;padding:10px 8px;border-bottom:1px solid rgba(0,0,0,.06);border-radius:8px}
.emb-f:last-child{border-bottom:0}
.emb-f.hot{background:rgba(196,0,26,.05)}
.emb-n b{display:block;font-size:14px;line-height:18px;font-weight:600}
.emb-n small{display:block;font-size:12px;line-height:16px;color:#6E6E73}
.emb-v{font-size:13px;font-weight:600;text-align:right}
.emb-f .pill{justify-self:end}
.qs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.subir{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:20px;border:1.5px dashed rgba(122,18,48,.4);border-radius:14px;background:rgba(122,18,48,.03);cursor:pointer;text-align:center;transition:background .15s ease-out}
.subir:hover,.subir:focus-within{background:rgba(122,18,48,.08)}
.subir input{position:absolute;width:1px;height:1px;opacity:0}
.subir b{color:#7A1230;font-size:14px}
.subir small{color:#6E6E73;font-size:12px}
.docs{display:flex;flex-direction:column}
.doc{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.doc:last-child{border-bottom:0}
.doc-i{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9px;background:rgba(122,18,48,.09);color:#7A1230;font-size:10px;font-weight:700}
.doc-t{flex:1;min-width:0}
.doc-t b{display:block;font-size:14px;line-height:18px;font-weight:600;overflow-wrap:anywhere}
.doc-t small{font-size:12px;color:#6E6E73}
.doc button.tag{border:0;cursor:pointer;font-family:inherit}
.t tr[data-ficha]{cursor:pointer}
.t.ed tr{cursor:default}
.t.ed tr:hover td{background:none}
.sis{color:inherit}
.bento>.h2{margin:10px 0 0}
@media (max-width:900px){.emb-f{grid-template-columns:minmax(0,1fr) auto}.emb-f .bar{grid-column:1/-1;order:3}.qs{grid-template-columns:minmax(0,1fr)}}
.org{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.org-c{min-height:190px;justify-content:flex-end;box-shadow:none}
.org-b{background:#F5F5F7}
.sis-2{grid-template-columns:32px minmax(0,1fr)}
@media (max-width:900px){.org{grid-template-columns:minmax(0,1fr)}}

/* Experiencia de uso */
.barra{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:-32px -16px 0;padding:12px 16px;background:rgba(245,245,247,.88);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(0,0,0,.06)}
.barra .ptabs{flex:1 1 420px;margin:0;background:none;padding:0}
.barra .fin{display:flex;align-items:center;gap:10px;margin-left:auto}
.guard{font-size:12px;line-height:16px;color:#6E6E73;white-space:nowrap}
.guard.ok{color:#1B7A33;font-weight:600}
.modo-ed .c{box-shadow:0 0 0 1px rgba(122,18,48,.12),0 4px 16px rgba(0,0,0,.035)}
.bento{animation:entra .22s ease-out}
@keyframes entra{from{opacity:0;transform:translateY(4px)}}
.vacio-b{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;border-radius:12px;background:#F5F5F7}
.vacio-b p{margin:0;color:#6E6E73;font-size:14px}
.btn.mini{min-height:36px;padding:0 14px;font-size:13px}
.qa-escribir{align-self:flex-start;padding:4px 10px;border:1px dashed rgba(122,18,48,.45);border-radius:8px;background:none;color:#7A1230;font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease-out}
.qa-escribir:hover{background:rgba(122,18,48,.07)}
.qa-r{font-size:15px;line-height:23px;color:#1D1D1F}
.campo>span{font-size:14px;line-height:20px;letter-spacing:-.005em}
.inp{transition:box-shadow .15s ease-out,background .15s ease-out}
.inp:hover{background:#EFEFF2}
.inp:focus{box-shadow:0 0 0 3px rgba(122,18,48,.14);outline:1px solid rgba(122,18,48,.5)}
.t.ed th{position:sticky;top:0;background:#fff}
.t.ed .inp{background:#F7F7F9}
.pienav{display:flex;justify-content:space-between;gap:12px;margin-top:6px}
.pienav a{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:48%;padding:12px 16px;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 16px rgba(0,0,0,.035);transition:box-shadow .15s ease-out,transform .15s ease-out}
.pienav a:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-1px)}
.pienav small{font-size:12px;color:#6E6E73}
.pienav b{font-size:14px;font-weight:600}
.pienav .sig{margin-left:auto;text-align:right}
.aviso{position:fixed;left:50%;bottom:22px;z-index:40;display:flex;align-items:center;gap:12px;padding:10px 14px 10px 18px;border-radius:999px;background:#1D1D1F;color:#fff;font-size:13px;transform:translateX(-50%);box-shadow:0 10px 30px rgba(0,0,0,.25);animation:entra .18s ease-out}
.aviso button{border:0;border-radius:999px;padding:6px 12px;background:rgba(255,255,255,.16);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.sb nav>a{position:relative}
.punto-p{position:absolute;right:12px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.punto-p.lleno{background:#E58AA3;box-shadow:none}
.punto-p.medio{background:linear-gradient(90deg,#E58AA3 50%,transparent 50%);box-shadow:inset 0 0 0 1.5px #E58AA3}
.c{transition:box-shadow .15s ease-out}
.sin-res{display:none;padding:10px 12px;color:rgba(255,255,255,.72);font-size:13px}
@media (prefers-reduced-motion:reduce){.bento,.aviso{animation:none}.pienav a:hover{transform:none}}
@media (max-width:900px){.barra{position:static;margin:0;padding:0;background:none;border:0}.pienav a{max-width:none;flex:1}}
.enlace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:8px;align-items:center}
a.tag{text-decoration:none}
.doc a.tag{flex:none}
@media (max-width:900px){.enlace{grid-template-columns:minmax(0,1fr)}}

/* Proyectos y editor de documentos */
.pr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pr-card{align-items:flex-start;gap:6px;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;box-shadow:0 0 0 1px rgba(0,0,0,.07);transition:box-shadow .15s ease-out,transform .15s ease-out}
.pr-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-1px)}
.pr-card b{font-size:15px;line-height:20px;font-weight:600}
.pr-card small{font-size:12px;color:#6E6E73}
.pr-nuevo{display:flex;gap:8px;align-items:center}
.pr-nuevo .inp{flex:1;min-width:0}
.pr-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:8px}
.pr-cab{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto auto;gap:12px;align-items:end;grid-column:span 12}
.pr-lay{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start;margin-top:14px}
.pr-docs{position:sticky;top:72px;display:flex;flex-direction:column;gap:2px}
.pr-docs button{min-height:38px;padding:8px 12px;border:0;border-radius:9px;background:none;color:#1D1D1F;font:inherit;font-size:13px;line-height:18px;text-align:left;cursor:pointer;transition:background .15s ease-out}
.pr-docs button:hover{background:rgba(0,0,0,.05)}
.pr-docs button.on{background:#fff;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.14)}
.pr-docs .pr-mas{color:#7A1230;font-weight:600}
.hoja{display:flex;flex-direction:column;min-height:640px;padding:36px 48px 20px;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.06)}
.hoja-t{width:100%;border:0;background:none;color:#1D1D1F;font-family:inherit;font-size:30px;line-height:38px;font-weight:700;letter-spacing:-.025em;outline:none}
.hoja-t::placeholder{color:#AEAEB2}
.hoja-b{position:sticky;top:64px;z-index:5;display:flex;flex-wrap:wrap;gap:2px;margin:12px 0;padding:4px;border-radius:10px;background:rgba(245,245,247,.95)}
.hoja-b button{min-height:32px;padding:0 10px;border:0;border-radius:7px;background:none;color:#1D1D1F;font:inherit;font-size:13px;cursor:pointer}
.hoja-b button:hover{background:rgba(0,0,0,.07)}
.hoja-c{flex:1;min-height:420px;font-size:16px;line-height:26px;color:#1D1D1F;outline:none;overflow-wrap:anywhere}
.hoja-c:empty::before{content:attr(data-ph);color:#AEAEB2}
.hoja-c h1{margin:18px 0 8px;font-size:26px;line-height:32px;font-weight:700;letter-spacing:-.02em}
.hoja-c h2{margin:16px 0 6px;font-size:20px;line-height:26px;font-weight:600;letter-spacing:-.015em}
.hoja-c p,.hoja-c div{margin:0 0 10px}
.hoja-c ul,.hoja-c ol{margin:0 0 10px;padding-left:24px}
.hoja-c blockquote{margin:0 0 10px;padding:8px 14px;border-left:3px solid #A32A4E;background:#F9F4F6;color:#424245}
.hoja-p{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(0,0,0,.07);font-size:12px;color:#6E6E73}
.hoja-p button.tag{border:0;cursor:pointer;font-family:inherit}
@media (max-width:900px){.pr-grid,.pr-form,.pr-cab,.pr-lay{grid-template-columns:minmax(0,1fr)}.pr-docs{position:static}.hoja{padding:20px 16px}}
.x12>.h2{margin:18px 0 10px}
.x12>.c{margin-bottom:6px}

/* Vista previa simplificada */
.saltos{display:flex;flex-wrap:wrap;gap:6px}
.saltos a{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:rgba(122,18,48,.08);color:#7A1230;font-size:13px;font-weight:600}
.saltos a:hover{background:rgba(122,18,48,.15)}
.bento>.h2[id]{scroll-margin-top:80px}
.ad-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ad-cifra{font-size:60px;line-height:64px;font-weight:700;letter-spacing:-.04em;margin:0}
.ad-l{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:13px;line-height:18px;color:#424245}
.ad-l b{display:block;margin-top:8px;color:#7A1230;font-weight:600}
.ad-w{display:flex;flex-direction:column;gap:12px}
.ad-w>div{padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.07)}
.ad-w>div:last-child{border:0;padding-bottom:0}
.ad-w b{display:block;font-size:15px;line-height:20px;font-weight:600}
.ad-w span{font-size:14px;line-height:21px;color:#424245}
@media (max-width:900px){.ad-g{grid-template-columns:minmax(0,1fr)}}
.partes{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:4px}
.partes button{min-height:38px;padding:0 16px;border:0;border-radius:999px;background:rgba(0,0,0,.05);color:#1D1D1F;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease-out}
.partes button:hover{background:rgba(0,0,0,.09)}
.partes button.on{background:#7A1230;color:#fff;font-weight:600}

/* Móvil: el menú es una tira que se desplaza, sin ensanchar la página */
@media (max-width:900px){
.app{flex-direction:column;flex-wrap:nowrap}
.sb{flex:0 0 auto;width:100%;min-width:0;max-width:100%;height:auto}
.sb nav{min-width:0;max-width:100%}
.sb-sg,.sb-q{display:none}
.sb-biz{max-width:100%}
.pg{width:100%;min-width:0;max-width:100%;flex:1 1 auto}
.barra{margin:0}
.hoja-b{top:0}
}

/* Proyectos: lista, tarjetas y editor rediseñados */
.pr-barra{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.pr-buscar{flex:1 1 260px;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border-radius:12px;background:#fff;color:#6E6E73;box-shadow:0 0 0 1px rgba(0,0,0,.07);transition:box-shadow .15s ease-out}
.pr-buscar:focus-within{box-shadow:0 0 0 2px rgba(122,18,48,.5)}
.pr-buscar input{flex:1;min-width:0;height:42px;border:0;background:none;color:#1D1D1F;font:inherit;font-size:14px;outline:none}
.pr-form-c{margin-top:2px}
.pr-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto auto;gap:8px}
.pr-sec-w{margin-top:8px}
.pr-sec{display:flex;align-items:baseline;gap:10px;margin:18px 0 10px;font-size:20px;line-height:26px;font-weight:700;letter-spacing:-.02em}
.pr-sec small{font-size:13px;font-weight:500;color:#6E6E73;letter-spacing:0}
.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.pr-card{min-height:172px;padding:18px;gap:8px;justify-content:flex-start}
.pr-ic{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:rgba(122,18,48,.09);color:#7A1230}
.pr-card b{font-size:16px;line-height:22px;font-weight:600;letter-spacing:-.01em}
.pr-ex{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:19px;color:#424245}
.pr-ex.vacio{color:#86868B}
.pr-pie{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:auto;padding-top:6px}
.pr-pie small{font-size:12px;color:#6E6E73}
.pr-vacio-g{align-items:center;text-align:center;gap:10px;padding:56px 24px;color:#7A1230}
.pr-vacio-g h2{margin:6px 0 0;font-size:26px;line-height:32px;font-weight:700;letter-spacing:-.025em;color:#1D1D1F}
.pr-vacio-g p{max-width:460px;margin:0 0 6px;font-size:15px;line-height:23px;color:#6E6E73}
.pr-vacio-g .pr-form-c{width:100%;max-width:640px;box-shadow:none;background:#F5F5F7;text-align:left}
.pr-head{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.pr-nombre{width:100%;padding:2px 8px;margin-left:-8px;border:0;border-radius:10px;background:none;color:#1D1D1F;font-family:inherit;font-size:34px;line-height:42px;font-weight:700;letter-spacing:-.03em;outline:none;transition:background .15s ease-out,box-shadow .15s ease-out}
.pr-nombre:hover{background:rgba(0,0,0,.04)}
.pr-nombre:focus{background:#fff;box-shadow:0 0 0 2px rgba(122,18,48,.45)}
.pr-nombre::placeholder{color:#AEAEB2}
.pr-acc{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.pr-dest{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#6E6E73}
.pr-dest select{min-height:36px;max-width:100%;padding:0 12px;border:0;border-radius:999px;background:#fff;color:#1D1D1F;font:inherit;font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 0 0 1px rgba(0,0,0,.09)}
.pr-act{font-size:12px;color:#6E6E73}
.pr-lay{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start;margin-top:14px}
.pr-docs{position:sticky;top:72px;display:flex;flex-direction:column;gap:2px}
.pr-docs-t{margin:0 0 6px 12px;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#6E6E73}
.pr-doc{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:0;border-radius:11px;background:none;color:#1D1D1F;font:inherit;text-align:left;cursor:pointer;transition:background .15s ease-out}
.pr-doc svg{flex:none;margin-top:1px;color:#7A1230}
.pr-doc:hover{background:rgba(0,0,0,.05)}
.pr-doc.on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.pr-doc b{display:block;font-size:13px;line-height:18px;font-weight:600;overflow-wrap:anywhere}
.pr-doc small{display:block;font-size:12px;line-height:16px;color:#6E6E73}
.pr-docs .pr-mas{margin-top:6px;padding:10px 12px;border:1px dashed rgba(122,18,48,.4);border-radius:11px;background:none;color:#7A1230;font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:background .15s ease-out}
.pr-docs .pr-mas:hover{background:rgba(122,18,48,.06)}
.hoja{min-height:680px;padding:40px 56px 20px;gap:2px}
.hoja-b{top:64px;gap:2px;margin:10px 0 18px;padding:5px;background:rgba(245,245,247,.96);box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.hoja-b button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:0 9px;font-size:13px;font-weight:600;color:#1D1D1F}
.hoja-b button:active{background:rgba(122,18,48,.14)}
.hoja-sep{width:1px;height:20px;margin:0 5px;background:rgba(0,0,0,.14)}
.hoja-c{min-height:460px;font-size:16px;line-height:27px}
.hoja-p{margin-top:20px}
.hoja-conf{display:inline-flex;gap:6px}
.pr-vacio{align-items:flex-start;gap:12px;padding:32px}
.pr-vacio p{margin:0;color:#6E6E73}
@media (max-width:900px){
.pr-form{grid-template-columns:minmax(0,1fr)}
.pr-nombre{font-size:26px;line-height:32px}
.pr-lay{grid-template-columns:minmax(0,1fr)}
.pr-docs{position:static;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px}
.pr-docs-t{display:none}
.pr-doc,.pr-docs .pr-mas{flex:none;min-width:170px}
.hoja{padding:20px 16px 16px;min-height:520px}
.hoja-b{top:0;overflow-x:auto;flex-wrap:nowrap}
}
@media (prefers-reduced-motion:reduce){.pr-nombre,.pr-doc,.pr-buscar{transition:none}}

/* Ejemplos en gris y enlaces en el editor */
.inp::placeholder,.inp.area::placeholder{color:#76767B;opacity:1}
.hoja-enl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-6px 0 16px;padding:10px;border-radius:12px;background:#F5F5F7;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.hoja-enl[hidden]{display:none}
.hoja-enl .inp{flex:1 1 240px;min-height:40px;background:#fff}
.hoja-enl-m{flex:1 1 100%;font-size:12px;line-height:16px;color:#6E6E73}
.hoja-c a{color:#7A1230;text-decoration:underline;text-underline-offset:2px;cursor:text}
.hoja-c a:hover{background:rgba(122,18,48,.08)}
