/* MC Editor v3 — lienzo infinito interactivo de mapas conceptuales */
.mc-editor-root{
  --mc-teal:#0D9488;--mc-teal-2:#14B8A6;--mc-navy:#0F172A;--mc-gray:#64748B;--mc-border:#E2E8F0;
  --mc-ai:#7C3AED;--mc-ai-2:#8B5CF6;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  border:1px solid var(--mc-border);border-radius:20px;overflow:hidden;
  box-shadow:0 16px 48px rgba(15,23,42,.10);background:#fff;margin:16px 0 24px;
}
.mc-editor-root *{box-sizing:border-box}

/* ---------------- toolbar ---------------- */
.mc-toolbar{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding:10px 14px;background:linear-gradient(#FBFDFF,#F4F7FB);border-bottom:1px solid var(--mc-border);
}
.mc-tgroup{display:flex;gap:4px;align-items:center;background:#fff;border:1px solid var(--mc-border);border-radius:12px;padding:4px}
.mc-tgroup--right{margin-left:auto}
.mc-tbtn{
  display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;border-radius:9px;
  padding:8px 11px;font-size:13px;font-weight:600;color:#334155;cursor:pointer;
  font-family:inherit;transition:background .12s,color .12s,box-shadow .12s;white-space:nowrap;
}
.mc-tbtn:hover{background:#F1F5F9;color:var(--mc-navy)}
.mc-tbtn.active{background:#CCFBF1;color:#0F766E;box-shadow:inset 0 0 0 1.5px var(--mc-teal-2)}
.mc-tbtn:disabled{opacity:.35;cursor:default;pointer-events:none}
.mc-tbtn--icon{padding:8px}
.mc-tbtn--danger:hover{background:#FEF2F2;color:#B91C1C}
.mc-tbtn--primary{background:var(--mc-teal);color:#fff}
.mc-tbtn--primary:hover{background:#0F766E;color:#fff}
.mc-tbtn--ai{background:linear-gradient(135deg,var(--mc-ai),var(--mc-ai-2));color:#fff}
.mc-tbtn--ai:hover{background:linear-gradient(135deg,#6D28D9,#7C3AED);color:#fff}
.mc-ic,.mc-ic svg{width:17px;height:17px;display:inline-flex}
.mc-ic svg{width:100%;height:100%}
.mc-chev{width:13px;height:13px;margin-left:2px;opacity:.7}
.mc-zoom-val{
  border:0;background:transparent;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--mc-gray);
  min-width:46px;text-align:center;cursor:pointer;border-radius:8px;padding:8px 4px;
}
.mc-zoom-val:hover{background:#F1F5F9;color:var(--mc-navy)}
.mc-status{width:100%;font-size:12.5px;color:var(--mc-teal);font-weight:600;min-height:16px;padding:2px 6px 0}

/* dropdowns */
.mc-dd-wrap{position:relative}
.mc-dd{
  position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:210px;display:none;
  background:#fff;border:1px solid var(--mc-border);border-radius:12px;padding:6px;
  box-shadow:0 16px 40px rgba(15,23,42,.16);
}
.mc-dd.open{display:block}
.mc-dd button{
  display:block;width:100%;text-align:left;background:none;border:0;border-radius:8px;
  padding:9px 12px;font-family:inherit;font-size:13.5px;font-weight:600;color:#334155;cursor:pointer;
}
.mc-dd button:hover{background:#F1F5F9;color:var(--mc-navy)}
.mc-tgroup--right .mc-dd{left:auto;right:0}

/* ---------------- lienzo ---------------- */
.mc-canvas-wrap{
  position:relative;height:72vh;min-height:420px;background:#F8FAFC;overflow:hidden;
}
.mc-canvas-wrap svg{display:block;width:100%;height:100%;user-select:none;touch-action:none}
.mc-canvas-wrap.mc-panning svg{cursor:grabbing}
.mc-canvas-wrap.mc-space svg{cursor:grab}
.mc-grid-bg{cursor:default}
.mc-node-rect{stroke-width:2;cursor:move}
.mc-node-ring{fill:none;stroke:var(--mc-teal-2);stroke-width:2.5;pointer-events:none;opacity:0}
.mc-node.mc-sel .mc-node-ring{opacity:1}
.mc-resize-handle{fill:#fff;stroke:var(--mc-teal-2);stroke-width:2.5;cursor:ew-resize;opacity:0}
.mc-node.mc-sel .mc-resize-handle{opacity:1}
.mc-conn-handle{
  fill:#fff;stroke:var(--mc-teal-2);stroke-width:2.5;cursor:crosshair;opacity:0;
  transition:opacity .12s, r .12s;
}
.mc-node:hover .mc-conn-handle{opacity:1}
.mc-conn-handle:hover{r:7.5;fill:#CCFBF1}
.mc-node-text{cursor:move;pointer-events:none;font-weight:600;fill:var(--mc-navy)}
.mc-edge-line{stroke:#94A3B8;stroke-width:2;fill:none}
.mc-edge-line--sel{stroke:var(--mc-teal);stroke-width:2.6}
.mc-edge-hit{stroke:transparent;stroke-width:14;cursor:pointer}
.mc-edge-label-bg{fill:#fff;stroke:#E2E8F0;stroke-width:1.2;cursor:pointer;filter:drop-shadow(0 1px 2px rgba(15,23,42,.10))}
.mc-edge-label-bg--sel{stroke:var(--mc-teal-2);stroke-width:1.8}
.mc-edge-label--empty{stroke-dasharray:4 3;opacity:.7}
.mc-edge-label{cursor:pointer;font-size:12px;fill:#475569;font-style:italic;pointer-events:none}
.mc-guide{stroke:var(--mc-teal-2);stroke-width:1.2;pointer-events:none}
.mc-rubber{display:none;stroke:var(--mc-teal-2);stroke-width:2;stroke-dasharray:6 4;pointer-events:none}
.mc-rubber--on{display:block}

/* caja de selección */
.mc-marquee{
  position:absolute;z-index:15;border:1.5px solid var(--mc-teal-2);background:rgba(20,184,166,.08);
  border-radius:4px;pointer-events:none;
}

/* minimapa */
.mc-minimap{
  position:absolute;right:12px;bottom:12px;z-index:18;border:1px solid var(--mc-border);
  border-radius:12px;overflow:hidden;background:#F8FAFC;box-shadow:0 8px 24px rgba(15,23,42,.12);
  cursor:crosshair;
}
.mc-minimap canvas{display:block}

/* menú contextual */
.mc-ctx{
  position:absolute;z-index:40;min-width:210px;background:#fff;border:1px solid var(--mc-border);
  border-radius:12px;padding:6px;box-shadow:0 16px 44px rgba(15,23,42,.20);
}
.mc-ctx>button{
  display:block;width:100%;text-align:left;background:none;border:0;border-radius:8px;
  padding:9px 12px;font-family:inherit;font-size:13.5px;font-weight:600;color:#334155;cursor:pointer;
}
.mc-ctx>button:hover{background:#F1F5F9;color:var(--mc-navy)}
.mc-ctx>button:disabled{opacity:.4;pointer-events:none}
.mc-ctx .mc-ctx-danger:hover{background:#FEF2F2;color:#B91C1C}
.mc-ctx-sep{height:1px;background:var(--mc-border);margin:5px 8px}
.mc-ctx-sub{display:flex;gap:6px;padding:4px 12px 8px}
.mc-ctx-sub button{
  background:#fff;border:1.5px solid var(--mc-border);border-radius:8px;padding:5px 9px;
  font-family:inherit;font-size:12.5px;font-weight:600;color:#475569;cursor:pointer;
}
.mc-ctx-sub button:hover{border-color:var(--mc-teal-2);color:var(--mc-teal)}
.mc-ctx-swatch{width:26px;height:26px;padding:0!important;border-width:2px!important}

/* hint inferior */
.mc-hint{
  position:absolute;bottom:12px;left:50%;transform:translateX(-50%);
  background:rgba(15,23,42,.85);color:#fff;font-size:12px;padding:7px 16px;border-radius:999px;
  pointer-events:none;white-space:nowrap;max-width:94%;overflow:hidden;text-overflow:ellipsis;
}

/* ---------------- panel lateral flotante ---------------- */
.mc-sidepanel{
  position:absolute;top:14px;left:14px;z-index:20;width:178px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(6px);
  border:1px solid var(--mc-border);border-radius:16px;padding:12px;
  box-shadow:0 12px 32px rgba(15,23,42,.12);
}
.mc-sp-title{margin:0 0 8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--mc-gray)}
.mc-sp-sec{margin-bottom:10px}
.mc-sp-sec>span{display:block;font-size:11.5px;font-weight:700;color:#94A3B8;margin-bottom:5px}
.mc-sp-colors{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.mc-swatch{width:100%;aspect-ratio:1;border-radius:8px;cursor:pointer;border:2px solid;transition:transform .1s}
.mc-swatch:hover{transform:scale(1.12)}
.mc-sp-shapes,.mc-sp-fonts{display:flex;gap:5px}
.mc-sp-shapes button,.mc-sp-fonts button{
  flex:1;background:#fff;border:1.5px solid var(--mc-border);border-radius:8px;padding:6px 0;
  cursor:pointer;color:#64748B;display:flex;align-items:center;justify-content:center;
}
.mc-sp-shapes button:hover,.mc-sp-fonts button:hover{border-color:var(--mc-teal-2);color:var(--mc-teal)}
.mc-sp-shapes svg{width:20px;height:20px}
.mc-sp-fonts button{font-family:inherit;font-weight:700}
.mc-sp-fonts [data-fs="12"]{font-size:11px}
.mc-sp-fonts [data-fs="14"]{font-size:14px}
.mc-sp-fonts [data-fs="17"]{font-size:17px}
.mc-sp-fonts .on{border-color:var(--mc-teal-2);color:var(--mc-teal);background:#F0FDFA}
.mc-sp-alignrow{display:flex;gap:5px;margin-bottom:8px}
.mc-sp-alignrow button{
  flex:1;background:#fff;border:1.5px solid var(--mc-border);border-radius:8px;padding:6px 0;
  cursor:pointer;color:#475569;font-size:14px;font-family:inherit;
}
.mc-sp-alignrow button:hover{border-color:var(--mc-teal-2);color:var(--mc-teal);background:#F0FDFA}
.mc-sp-hint{margin:2px 0 0;font-size:11px;color:#94A3B8;line-height:1.4}
.mc-sp-toggle{display:none}
.mc-sp-toggle-lbl{font-size:12px;font-weight:700}

/* ---------------- empty state ---------------- */
.mc-empty{
  position:absolute;inset:0;z-index:17;display:none;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:20px 20px 84px;pointer-events:none;
  background:linear-gradient(180deg,rgba(248,250,252,.92) 0%,rgba(248,250,252,.98) 60%,#F8FAFC 100%);
}
.mc-empty.mc-empty--on{display:flex}
.mc-empty[hidden]{display:none}
/* la barra de ayuda nunca tapa los botones del estado vacío */
.mc-canvas-wrap.mc-is-empty .mc-hint{display:none}
.mc-empty.mc-empty--on ~ .mc-hint{display:none!important}
.mc-empty>*{pointer-events:auto}
.mc-empty-art{width:200px;max-width:60%;opacity:.9;margin-bottom:14px}
.mc-empty h4{margin:0 0 6px;font-size:19px;font-weight:800;color:var(--mc-navy)}
.mc-empty p{margin:0 0 16px;font-size:14px;color:var(--mc-gray)}
.mc-empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}

/* ---------------- editores inline ---------------- */
.mc-inline-edit{
  position:absolute;z-index:30;display:none;font-family:inherit;font-size:14px;font-weight:600;
  padding:8px 10px;border:2px solid var(--mc-teal-2);border-radius:10px;background:#fff;
  box-shadow:0 10px 26px rgba(15,23,42,.18);resize:none;text-align:center;color:var(--mc-navy);
}
.mc-edge-edit{
  position:absolute;z-index:30;display:none;width:170px;font-family:inherit;font-size:12.5px;font-style:italic;
  padding:7px 12px;border:2px solid var(--mc-teal-2);border-radius:999px;background:#fff;
  box-shadow:0 10px 26px rgba(15,23,42,.18);text-align:center;color:var(--mc-navy);
}
.mc-inline-edit:focus,.mc-edge-edit:focus{outline:none;box-shadow:0 0 0 3px rgba(20,184,166,.18)}

/* ---------------- modales ---------------- */
.mc-modal-overlay{
  position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(3px);z-index:9999;
  display:none;align-items:center;justify-content:center;padding:20px;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.mc-modal-overlay.open{display:flex}
.mc-modal{
  background:#fff;border-radius:22px;max-width:430px;width:100%;padding:0 0 30px;overflow:hidden;
  box-shadow:0 28px 70px rgba(15,23,42,.35);text-align:center;position:relative;
  animation:mc-pop .22s ease;
}
@keyframes mc-pop{from{transform:scale(.94) translateY(10px);opacity:0}to{transform:none;opacity:1}}
.mc-modal .mc-close{position:absolute;top:12px;right:14px;z-index:5;background:rgba(255,255,255,.25);border:0;width:30px;height:30px;border-radius:50%;font-size:18px;color:#fff;cursor:pointer;line-height:1}
.mc-modal--ai .mc-close,.mc-modal--ob .mc-close{color:#94A3B8;background:none}
.mc-gate-head{
  background:linear-gradient(135deg,#0D9488,#0EA5E9);color:#fff;padding:30px 30px 24px;margin-bottom:22px;
}
.mc-gate-head--ai{background:linear-gradient(135deg,#7C3AED,#4F46E5)}
.mc-gate-head--pro{background:linear-gradient(135deg,#0F172A,#334155)}
.mc-modal--ob .mc-gate-head{margin-bottom:18px}
.mc-gate-ic{width:44px;height:44px;margin:0 auto 12px;background:rgba(255,255,255,.2);border-radius:14px;display:flex;align-items:center;justify-content:center}
.mc-gate-ic svg{width:24px;height:24px}
.mc-gate-head h3{font-size:21px;font-weight:800;letter-spacing:-.01em;margin:0 0 8px;color:#fff}
.mc-gate-head p{margin:0;font-size:14px;opacity:.92;line-height:1.5}
.mc-gate-benefits{
  list-style:none;margin:0 32px 20px;padding:0;text-align:left;
}
.mc-gate-benefits li{
  position:relative;font-size:13.5px;color:#334155;padding:5px 0 5px 26px;font-weight:500;
}
.mc-gate-benefits li::before{
  content:'✓';position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;
  background:#CCFBF1;color:#0F766E;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;
}
.mc-modal form{padding:0 32px}
.mc-modal input[type=text],.mc-modal input[type=email],.mc-modal input[type=password],.mc-modal textarea,.mc-modal select{
  width:100%;padding:12px 14px;border:1.5px solid var(--mc-border);border-radius:11px;
  font-size:14px;margin-bottom:12px;font-family:inherit;color:var(--mc-navy);resize:vertical;
}
.mc-modal input:focus,.mc-modal textarea:focus,.mc-modal select:focus{outline:none;border-color:var(--mc-teal-2);box-shadow:0 0 0 3px rgba(20,184,166,.15)}
.mc-submit{
  width:100%;padding:13px;border:0;border-radius:11px;background:var(--mc-teal);color:#fff;
  font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;transition:background .12s;
}
.mc-submit:hover{background:#0F766E}
.mc-submit:disabled{opacity:.6;cursor:not-allowed}
.mc-submit--ai{background:linear-gradient(135deg,var(--mc-ai),var(--mc-ai-2))}
.mc-submit--ai:hover{background:linear-gradient(135deg,#6D28D9,#7C3AED)}
.mc-submit--pro{background:linear-gradient(135deg,#0F172A,#334155);margin:0 32px;width:calc(100% - 64px)}
.mc-alt{margin:14px 0 0;font-size:13.5px;color:var(--mc-gray)}
.mc-alt a{color:var(--mc-teal);cursor:pointer;font-weight:700;text-decoration:none}
.mc-error{display:none;background:#FEF2F2;color:#B91C1C;font-size:13px;border-radius:9px;padding:9px 12px;margin:0 32px 12px}

/* modal IA */
.mc-modal--ai{text-align:left}
.mc-ai-body{padding:0 32px}
.mc-ai-lbl{display:block;font-size:13px;font-weight:700;color:var(--mc-navy);margin-bottom:6px}
.mc-ai-remaining{font-size:12.5px;color:var(--mc-gray);margin:0 0 12px}
.mc-ai-error{margin:0 0 12px}
.mc-ai-loading{padding:10px 32px 0;text-align:center}
.mc-ai-loading p{font-size:13.5px;color:var(--mc-gray);margin:14px 0 0}
.mc-skel{
  border-radius:14px;background:linear-gradient(90deg,#F1F5F9 25%,#E2E8F0 50%,#F1F5F9 75%);
  background-size:200% 100%;animation:mc-skel 1.3s infinite;
}
@keyframes mc-skel{from{background-position:200% 0}to{background-position:-200% 0}}
.mc-skel--node{height:52px;width:55%;margin:0 auto 18px}
.mc-skel-row{display:flex;gap:14px;justify-content:center;margin-bottom:16px}
.mc-skel--pill{height:40px;width:26%;border-radius:999px}

/* paywall notify */
.mc-notify{margin:20px 32px 0;padding-top:18px;border-top:1px solid var(--mc-border)}
.mc-notify>p{font-size:13px;color:var(--mc-gray);margin:0 0 10px}
.mc-notify-row{display:flex;gap:8px}
.mc-notify-row input{flex:1;margin-bottom:0!important}
.mc-btn-soft{
  background:#F1F5F9;border:0;border-radius:11px;padding:0 18px;font-family:inherit;font-size:14px;
  font-weight:700;color:var(--mc-navy);cursor:pointer;white-space:nowrap;
}
.mc-btn-soft:hover{background:#E2E8F0}
.mc-notify-ok{font-size:13px;color:#0F766E;font-weight:600;margin:10px 0 0}
.mc-notify-err{font-size:13px;color:#B91C1C;margin:10px 0 0}

/* onboarding */
.mc-ob-steps{margin:0 32px 22px;padding:0;list-style:none;text-align:left}
.mc-ob-steps li{font-size:13.5px;color:#334155;padding:8px 0;border-bottom:1px dashed var(--mc-border);line-height:1.5}
.mc-ob-steps li:last-child{border-bottom:0}
.mc-ob-steps strong{color:var(--mc-teal)}
.mc-ob-steps b{color:var(--mc-navy)}
.mc-modal--ob .mc-submit{width:calc(100% - 64px);margin:0 32px}

/* empty-state ai button */
.mc-btn-ai{
  background:linear-gradient(135deg,var(--mc-ai),var(--mc-ai-2));color:#fff;border:0;border-radius:11px;
  padding:11px 20px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;
}
.mc-btn-ai:hover{background:linear-gradient(135deg,#6D28D9,#7C3AED)}

/* ---------------- P0: pregunta de enfoque ---------------- */
.mc-focus{
  position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:19;max-width:46%;
  background:rgba(255,255,255,.94);backdrop-filter:blur(6px);
  border:1px solid var(--mc-border);border-radius:999px;padding:8px 18px;
  box-shadow:0 8px 24px rgba(15,23,42,.10);cursor:text;text-align:center;
}
.mc-focus-label{
  display:block;font-size:13.5px;font-weight:600;color:var(--mc-navy);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.mc-focus--empty .mc-focus-label{color:#94A3B8;font-weight:500;font-style:italic}
.mc-focus-input{
  width:min(420px,40vw);border:0;outline:0;background:transparent;text-align:center;
  font-family:inherit;font-size:13.5px;font-weight:600;color:var(--mc-navy);
}

/* ---------------- P0: banco de conceptos (parking lot) ---------------- */
.mc-parking{
  position:absolute;top:14px;right:14px;z-index:20;width:216px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(6px);
  border:1px solid var(--mc-border);border-radius:16px;
  box-shadow:0 12px 32px rgba(15,23,42,.12);overflow:hidden;
}
.mc-parking-toggle{
  display:flex;align-items:center;gap:7px;width:100%;background:none;border:0;
  padding:10px 12px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--mc-navy);cursor:pointer;
}
.mc-parking-toggle .mc-ic{display:inline-flex;width:17px;height:17px;color:var(--mc-teal)}
.mc-parking-toggle .mc-ic svg{width:100%;height:100%}
.mc-parking-count{color:var(--mc-teal)}
.mc-parking-toggle .mc-chev{margin-left:auto;width:14px;height:14px;color:#94A3B8;transition:transform .15s}
.mc-parking--closed .mc-parking-toggle .mc-chev{transform:rotate(-90deg)}
.mc-parking-body{padding:0 12px 12px}
.mc-parking--closed .mc-parking-body{display:none}
.mc-parking-hint{margin:0 0 8px;font-size:11px;line-height:1.45;color:#94A3B8}
.mc-parking-input{
  width:100%;border:1.5px solid var(--mc-border);border-radius:9px;padding:7px 10px;
  font-family:inherit;font-size:12.5px;color:var(--mc-navy);outline:0;
}
.mc-parking-input:focus{border-color:var(--mc-teal-2)}
.mc-parking-list{list-style:none;margin:8px 0 0;padding:0;max-height:180px;overflow-y:auto}
.mc-parking-list li{
  display:flex;align-items:center;gap:6px;padding:7px 9px;margin-bottom:5px;
  background:#F8FAFC;border:1px dashed #CBD5E1;border-radius:9px;
  font-size:12.5px;font-weight:600;color:#334155;cursor:grab;user-select:none;
}
.mc-parking-list li:hover{border-color:var(--mc-teal-2);background:#F0FDFA}
.mc-parking-list li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-pk-del{
  flex:none;width:18px;height:18px;border:0;border-radius:50%;background:#E2E8F0;color:#64748B;
  font-size:12px;line-height:1;cursor:pointer;
}
.mc-pk-del:hover{background:#FEE2E2;color:#B91C1C}
.mc-pk-ghost{
  position:fixed;z-index:200;pointer-events:none;max-width:220px;
  background:#fff;border:1.5px solid var(--mc-teal-2);border-radius:10px;padding:7px 12px;
  font-family:inherit;font-size:12.5px;font-weight:600;color:var(--mc-navy);
  box-shadow:0 10px 26px rgba(15,23,42,.22);
}
.mc-parking--ro .mc-parking-input,
.mc-parking--ro .mc-pk-del{display:none}
.mc-parking--ro .mc-parking-list li{cursor:default}

/* ---------------- P0: insignia Novak & Gowin ---------------- */
.mc-novak{position:absolute;bottom:12px;left:12px;z-index:19}
.mc-novak-chip{
  background:rgba(15,23,42,.85);color:#fff;border:0;border-radius:999px;
  padding:7px 14px;font-family:inherit;font-size:12px;cursor:pointer;
}
.mc-novak-chip b{color:#5EEAD4}
.mc-novak-panel{
  position:absolute;bottom:calc(100% + 8px);left:0;width:250px;
  background:#fff;border:1px solid var(--mc-border);border-radius:14px;padding:12px;
  box-shadow:0 16px 44px rgba(15,23,42,.20);
}
.mc-novak-title{margin:0 0 8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--mc-gray)}
.mc-novak-rows>div{display:flex;justify-content:space-between;padding:4px 0;font-size:12.5px;color:#334155}
.mc-novak-rows b{color:var(--mc-navy)}
.mc-novak-note{margin:8px 0 0;font-size:10.5px;line-height:1.45;color:#94A3B8;border-top:1px solid var(--mc-border);padding-top:8px}

/* ---------------- P0: vista compartida ---------------- */
.mc-share-banner{
  display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  background:linear-gradient(90deg,#0D9488,#0F766E);color:#fff;
  padding:9px 16px;font-size:13px;font-weight:600;
}
.mc-share-cta{
  background:#fff;color:#0F766E;border-radius:999px;padding:5px 14px;
  font-weight:700;text-decoration:none;
}
.mc-share-cta:hover{background:#F0FDFA}
.mc-ro-block{position:absolute;inset:0;z-index:25;cursor:default}

/* ---------------- responsive ---------------- */
@media(max-width:760px){
  /* toolbar: scroll horizontal, compacto */
  .mc-toolbar{
    flex-wrap:nowrap;gap:6px;overflow-x:auto;overflow-y:hidden;
    padding:8px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .mc-toolbar::-webkit-scrollbar{display:none}
  .mc-tgroup{gap:3px;padding:3px;border-radius:10px;flex:none}
  .mc-tgroup--right{margin-left:0}
  .mc-lbl{display:none}
  .mc-tbtn{padding:7px 8px;font-size:12px;gap:5px}
  .mc-tbtn--icon{padding:7px}
  .mc-ic,.mc-ic svg{width:16px;height:16px}
  .mc-zoom-val{min-width:38px;padding:7px 2px;font-size:12px}
  .mc-status{display:none}

  /* lienzo */
  .mc-canvas-wrap{min-height:320px}
  .mc-editor-root{margin:0;border-radius:0;border-left:0;border-right:0}

  /* panel lateral: botón flotante + panel colapsado por defecto */
  .mc-sidepanel{
    position:static;width:auto;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;
  }
  .mc-sp-toggle{
    position:absolute;top:10px;left:10px;z-index:21;
    display:inline-flex;align-items:center;gap:6px;
    background:#fff;border:1px solid var(--mc-border);border-radius:999px;
    padding:7px 12px;box-shadow:0 6px 18px rgba(15,23,42,.12);
    color:var(--mc-navy);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;
  }
  .mc-sp-toggle .mc-ic{color:var(--mc-teal)}
  .mc-sp-body{
    position:absolute;top:48px;left:10px;z-index:21;width:164px;max-height:calc(100% - 64px);overflow-y:auto;
    background:rgba(255,255,255,.96);backdrop-filter:blur(6px);
    border:1px solid var(--mc-border);border-radius:14px;padding:12px;
    box-shadow:0 14px 36px rgba(15,23,42,.16);
  }
  .mc-sidepanel:not(.mc-sidepanel--open) .mc-sp-body{display:none}
  .mc-sp-title{font-size:10.5px}
  .mc-sp-sec>span{font-size:11px}

  /* banco de conceptos: colapsado por defecto en móvil */
  .mc-parking{top:10px;right:10px;width:auto;min-width:0}
  .mc-parking--closed .mc-parking-toggle{padding:7px 10px;border-radius:999px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.12)}
  .mc-parking--closed .mc-parking-toggle .mc-lbl{display:none}
  .mc-parking--closed{width:auto}
  .mc-parking-body{width:180px}

  /* pregunta de enfoque: debajo de los botones flotantes */
  .mc-focus{top:48px;max-width:88%;padding:6px 12px}
  .mc-focus-label{font-size:12px;white-space:normal;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .mc-focus-input{width:240px;font-size:12px}

  /* minimapa */
  .mc-minimap{right:8px;bottom:46px;width:96px;border-radius:10px}
  .mc-minimap canvas{width:96px;height:66px}

  /* Novak */
  .mc-novak{left:8px;bottom:8px}
  .mc-novak-chip{padding:5px 10px;font-size:11px}
  .mc-novak-panel{width:220px;left:0;bottom:calc(100% + 8px)}

  /* hint inferior */
  .mc-hint{display:none}

  /* empty state centrado */
  .mc-empty{padding:20px 16px 80px}
  .mc-empty h4{font-size:17px}
  .mc-empty p{font-size:13px}
  .mc-empty-actions{gap:8px}
  .mc-btn-soft,.mc-btn-ai{padding:9px 14px;font-size:13px}
}

@media(max-width:420px){
  .mc-toolbar{gap:3px;padding:6px 7px}
  .mc-tgroup{padding:2px;border-radius:8px;gap:2px}
  .mc-tbtn{padding:5px 6px;font-size:11px;gap:3px}
  .mc-tbtn--icon{padding:5px}
  .mc-ic,.mc-ic svg{width:14px;height:14px}
  .mc-zoom-val{min-width:32px;font-size:11px}
  .mc-chev{width:11px;height:11px}
  .mc-focus{top:46px;max-width:90%;padding:5px 10px}
  .mc-focus-label{font-size:11px}
  .mc-empty h4{font-size:16px}
  .mc-empty p{font-size:12px}
  .mc-minimap{display:none}
}
