/* =====================================================================
   Canvinn revisado y mesa más clara
   ===================================================================== */
/* Canvinn: los textos del panel usan los colores del tema de la pizarra */
.cvw{--ink-1:var(--cvink);--ink-2:color-mix(in srgb,var(--cvink) 80%,transparent);--ink-3:color-mix(in srgb,var(--cvink) 62%,transparent);--ink-4:color-mix(in srgb,var(--cvink) 38%,transparent);--line:var(--cvl);--line-2:var(--cvl2);--glass-1:color-mix(in srgb,var(--cvhov) 60%,transparent);--glass-2:var(--cvhov);--glass-3:var(--cvbg);--glass-solid:var(--cvbg);--input:var(--cvbg);--bg:var(--cvbg);--accent-text:#17513B;--good:#17513B;--warn:#9a6200;--n-idea:#8c6d00}
.cvw[data-cvt="oscuro"]{--accent-text:#7dffb0;--accent:#00FF66;--good:#74e3a6;--warn:#e9b65c;--n-idea:#f5d76e}
.cvw[data-cvt="gris"]{--cvbg:#D3D6DA;--cvst:#C6C9CE;--cvdot:rgba(20,22,26,.2);--cvink:#16181B;--cvl:rgba(20,22,26,.12);--cvl2:rgba(20,22,26,.24);--cvi2:rgba(20,22,26,.68);--cvhov:#C3C6CB;--cvfr:rgba(255,255,255,.34);--cvfrb:rgba(20,22,26,.18)}
.cvw .cvside input,.cvw .cvside textarea,.cvw .cvside select{background:var(--cvbg);color:var(--cvink);border:1px solid var(--cvl2)}
.cvw .cvside .isug,.cvw .cvside .vrow,.cvw .cvside .drow,.cvw .cvside .itimer{border-color:var(--cvl);color:var(--cvink)}
.cvw .cvprops,.cvw .cvprops .btn{color:var(--cvink)}
.cvw .btn.ghost{background:transparent}
.cvw .btn.danger,.cvw .btn.ghost.danger{color:#d0473a}
.cvw[data-cvt="oscuro"] .btn.danger{color:#ff8a7d}
.cvw [data-act=cvWin] svg,.winbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* Puntos de conexión */
.cvstage.links .cvi:not(.cv-frame)::before,.cvstage.links .cvi:not(.cv-frame)::after{content:none!important}
.cvpt{position:absolute;width:calc(14px * var(--ik,1));height:calc(14px * var(--ik,1));border-radius:50%;background:var(--cvbg);border:calc(2px * var(--ik,1)) solid #2F6FED;z-index:4;opacity:0;transform:translate(-50%,-50%) scale(.6);transition:opacity .15s,transform .15s,background .15s;cursor:crosshair}
.cvpt::after{content:"";position:absolute;inset:calc(-8px * var(--ik,1));border-radius:50%}
.cvpt.t{left:50%;top:0}.cvpt.b{left:50%;top:100%}.cvpt.l{left:0;top:50%}.cvpt.r{left:100%;top:50%}
.cvi:hover .cvpt,.cvi.sel .cvpt,.cvstage.links .cvpt{opacity:1;transform:translate(-50%,-50%) scale(1)}
.cvpt:hover{background:#2F6FED;transform:translate(-50%,-50%) scale(1.3)!important}
.cvw[data-cvt="oscuro"] .cvpt{border-color:#00FF66}.cvw[data-cvt="oscuro"] .cvpt:hover{background:#00FF66}
.cvstage:not([data-tool="select"]):not([data-tool="arrow"]) .cvpt{display:none}
.cvmarq{position:absolute;border:1px solid #2F6FED;background:rgba(47,111,237,.08);border-radius:3px;pointer-events:none;z-index:5}

/* ---------- Bienvenida en un recuadro de cristal con color ---------- */
.mhero2{position:relative;overflow:hidden;isolation:isolate;margin-top:4px;min-height:340px;display:grid;place-items:center;border-radius:30px;background:#f7f7f8;border:1px solid var(--line);box-shadow:0 24px 60px -34px rgba(0,0,0,.3)}
.mh-blobs{position:absolute;inset:0;z-index:-2}
.mh-blobs i{position:absolute;border-radius:50%;filter:blur(46px);opacity:.9}
.mh-blobs i:nth-child(1){width:42%;height:70%;left:-6%;bottom:-36%;background:#ffd84d}
.mh-blobs i:nth-child(2){width:36%;height:64%;left:22%;bottom:-40%;background:#ff86c8}
.mh-blobs i:nth-child(3){width:34%;height:60%;left:46%;bottom:-38%;background:#b796ff}
.mh-blobs i:nth-child(4){width:40%;height:70%;right:-4%;bottom:-34%;background:#4fc3ff}
.mh-blobs i:nth-child(5){width:26%;height:48%;right:4%;top:-30%;background:#8dffc2;opacity:.6}
.mhero2::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.3);-webkit-backdrop-filter:blur(26px) saturate(1.35);backdrop-filter:blur(26px) saturate(1.35)}
.mh-in{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 28px}
.mh-in .mhero-t{margin-left:auto;margin-right:auto;max-width:18ch}
.mh-in .mhero-s{margin-left:auto;margin-right:auto;color:rgba(22,24,27,.72)}
.mh-in .over{color:rgba(22,24,27,.6)}
.mhero2 .mhero-t{color:#141518}
.mh-act{justify-content:center;gap:8px;margin-top:24px}
:root:not([data-theme="light"]) .mhero2{background:#121316}
:root:not([data-theme="light"]) .mh-blobs i{opacity:.5}
:root:not([data-theme="light"]) .mhero2::after{background:rgba(18,19,22,.38)}
:root:not([data-theme="light"]) .mhero2 .mhero-t{color:#f4f5f6}
:root:not([data-theme="light"]) .mh-in .mhero-s{color:rgba(244,245,246,.75)}
:root:not([data-theme="light"]) .mh-in .over{color:rgba(244,245,246,.6)}
.mhero2+.msess{margin-top:14px}

/* ---------- Estadísticas ---------- */
.mst{background:#fff;border:0;border-radius:22px;padding:24px 24px 22px;min-height:206px;justify-content:flex-start;gap:0;box-shadow:0 1px 2px rgba(0,0,0,.04),0 26px 50px -30px rgba(20,30,90,.3)}
.msti{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;margin-bottom:28px;background:radial-gradient(circle at 34% 28%,#4661ee,#1626a8 70%);color:#fff;box-shadow:0 12px 24px -8px rgba(22,38,168,.6),inset 0 1px 0 rgba(255,255,255,.25)}
.msti svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mst b{font-size:40px;font-weight:400;letter-spacing:-.025em;line-height:1}
.mst>span:not(.msti),.mst.wide>div>span:not(.msti){margin-top:10px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.mst.wide>div{justify-content:flex-start;gap:0}
.mst.wide small{margin-top:4px}
:root:not([data-theme="light"]) .mst{background:#1b1c20;box-shadow:0 26px 50px -30px rgba(0,0,0,.7)}

/* ---------- 5 fases en azules: la tarjeta, sus números y sus íconos en el mismo color ---------- */
.phc[style*="n-idea"]{--pc:#4f86f0!important}
.phc[style*="p-urdimbre"]{--pc:#2440c4!important}
:root:not([data-theme="light"]) .phc[style*="n-idea"]{--pc:#8bb1ff!important}
:root:not([data-theme="light"]) .phc[style*="p-urdimbre"]{--pc:#7088ff!important}
.phc .phn,.phc.done .phn{color:var(--pc)!important}
.phc:not(.open) .phn{opacity:.85}
.phtag,.phtag.ok{color:var(--pc)}
.phtag.now{color:#fff!important}
:root:not([data-theme="light"]) .phtag.now{color:#0d1020!important}

/* ---------- Pasos de la pasada en el resumen: 8 en una fila ---------- */
.timeline.steps8.mt{grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:6px}
.timeline.steps8.mt .tstep{padding:9px 9px 8px}
.timeline.steps8.mt .tstep span{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline.steps8.mt .tstep b{font-size:12px}
.timeline.steps8.mt .tstep.now::after{position:static;align-self:flex-start;margin-top:5px}
@media (max-width:900px){.timeline.steps8.mt{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

/* ---------- Carpetas pequeñas y delicadas ---------- */
.fds{display:flex;flex-wrap:wrap;gap:26px 22px;padding-top:14px}
.fd{position:relative;flex:none;width:208px;height:150px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.12))}
.fd-back{position:absolute;left:0;top:0;width:208px;height:128px;overflow:hidden;background:#3a3d44;clip-path:path("M0 30 Q0 18 12 18 H92 C100 18 104 15 108 10 L113 4 C116 1 120 0 125 0 H196 Q208 0 208 12 V116 Q208 128 196 128 H12 Q0 128 0 116 Z")}
.fd-back i{position:absolute;inset:-25%;filter:blur(9px)}
.fd-a .fd-back i{background:linear-gradient(118deg,#e14b3b 0%,#8a2f64 20%,#2b4c8e 42%,#9fb6d8 62%,#f1d8ca 82%,#c95b4b 100%)}
.fd-b .fd-back i{background:conic-gradient(from 210deg at 35% 60%,#173847,#e2563b,#f3b27a,#2c7a90,#e9e2d6,#173847)}
.fd-c .fd-back i{background:radial-gradient(60% 70% at 70% 30%,#e24a33,transparent 60%),radial-gradient(70% 70% at 20% 80%,#2a3f4c,transparent 65%),linear-gradient(135deg,#1a2a33,#6b2c25)}
.fd-d .fd-back i{background:conic-gradient(from 40deg at 60% 40%,#5b4bc9,#a8c3ff,#f3d2e8,#7a5ad6,#2c3b8f,#5b4bc9)}
.fd-paper{position:absolute;left:30px;right:30px;top:13px;height:72px;border-radius:8px;background:linear-gradient(180deg,#ffffff,#f0f0f0);box-shadow:0 4px 12px rgba(0,0,0,.16);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.fd:hover .fd-paper{transform:translateY(-11px) rotate(-1.5deg)}
.fd-front{position:absolute;left:0;bottom:0;width:208px;height:100px;padding:0 54px 14px 16px;border:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:2px;font:inherit;text-align:left;color:#16181b;cursor:pointer;background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.86));-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);clip-path:path("M0 12 Q0 0 12 0 H70 C77 0 81 3 85 7 L91 15 C95 20 99 22 106 22 H196 Q208 22 208 34 V88 Q208 100 196 100 H12 Q0 100 0 88 Z")}
.fd-n{font-size:13.5px;font-weight:600;letter-spacing:-.01em}
.fd-m{font-size:11px;color:rgba(22,24,27,.56);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}
.fd-plus{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:11px;background:linear-gradient(180deg,#2c2d30,#0c0d0e);color:#fff;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 6px 14px rgba(0,0,0,.3);transition:transform .2s}
.fd-plus:hover{transform:scale(1.06)}
.fd-plus svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.fd-c .fd-front{background:linear-gradient(180deg,rgba(18,19,22,.55),rgba(14,15,17,.86));color:#f2f3f5}
.fd-c .fd-m{color:rgba(242,243,245,.6)}
.fd-c .fd-plus{background:linear-gradient(180deg,#f5f5f5,#d8d8d8);color:#111}
.fd-front:focus-visible,.fd-plus:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---------- Canvinn y Vinnamap en un solo recuadro ---------- */
.msp-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px;border-radius:28px;border:1px solid var(--line);background:var(--glass-1);text-align:left}
.mtool2{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0 0 22px;border-radius:22px;border:1px solid var(--line);background:var(--glass-2);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s}
:root[data-theme="light"] .mtool2{background:#fff}
.mtool2::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(340px circle at var(--mx,50%) var(--my,40%),rgba(0,198,94,.15),rgba(79,134,240,.08) 40%,transparent 65%);opacity:0;transition:opacity .35s}
.mtool2:hover::before,.mtool2:focus-visible::before{opacity:1}
.mtool2:hover{transform:translateY(-2px);border-color:var(--line-2);box-shadow:0 22px 44px -24px rgba(0,0,0,.28)}
.mtool2:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mtart2{display:block;width:100%;height:170px;margin-bottom:16px;border-bottom:1px solid var(--line);background-color:#F7F7F5;background-image:radial-gradient(rgba(30,30,30,.13) 1px,transparent 1.2px);background-size:16px 16px;color:#1E1E1E}
.mtart2:not(.cv){background-image:none;background-color:var(--glass-2);color:var(--ink-1)}
:root:not([data-theme="light"]) .mtart2.cv{background-color:#1c1d21;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1.2px)}
.mtart2 svg{display:block;width:100%;height:100%;padding:16px}
.mtool2 .mtk,.mtool2 b,.mtool2 p,.mtool2 .mtgo{margin-left:24px;margin-right:24px}
.mtool2 b{font-size:22px;font-weight:600;letter-spacing:-.02em}
.mtool2 p{margin-top:4px;margin-bottom:12px;font-size:13.5px;line-height:1.55;color:var(--ink-2)}
@media (max-width:760px){.msp-box{grid-template-columns:minmax(0,1fr);padding:10px}.mtart2{height:130px}}

/* ---------- Archivos ---------- */
.fmeter{margin-top:16px;padding:14px 16px;border-radius:14px;background:var(--glass-1);border:1px solid var(--line)}
.fbar{height:8px;margin-top:8px;border-radius:99px;background:var(--line);overflow:hidden}
.fbar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b55e6,#00c65e)}
.fclean{margin-top:12px}.fclean .d b{color:var(--ink-1)}
.fic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--glass-2);border:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--ink-2)}

/* Contraste: textos secundarios más firmes en los tres temas */
.cvw{--cvi2:rgba(30,30,30,.74)}
.cvw[data-cvt="gris"]{--cvi2:rgba(20,22,26,.78)}
.cvw[data-cvt="oscuro"]{--cvi2:rgba(236,237,239,.74)}
.cvw .cvflab{color:color-mix(in srgb,var(--cvink) 84%,transparent);font-weight:600}
.cvw{--ink-3:color-mix(in srgb,var(--cvink) 72%,transparent);--ink-4:color-mix(in srgb,var(--cvink) 48%,transparent)}
.cvw[data-cvt="gris"]{--ink-3:color-mix(in srgb,var(--cvink) 80%,transparent)}
.msti svg{stroke:#fff!important;fill:none!important}
.mst .mspark stop{stop-color:#3b55e6!important}
.mst .mspark path[fill="none"]{stroke:#2a44d0}
:root:not([data-theme="light"]) .mst .mspark path[fill="none"]{stroke:#8ba2ff}
.fd-paper{left:44px;right:58px;top:20px;height:58px}
.fd-front{background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,.78))}
.fd-c .fd-front{background:linear-gradient(180deg,rgba(18,19,22,.45),rgba(14,15,17,.82))}
