/* ═══════════════════════════════════════════════════════════════════════════════
   /modelos/ · piezas propias de la página · prefijo .mo-  (se carga con extraCss tras pages.css)
   Reutiliza el sistema (.pg-*: ventana, chips, estado, pila de despliegue, presupuesto) y los tokens de site.css / pages.css.
   Código de color: salvia / lima = lo que hace la herramienta o los agentes · lavanda / ciruela = lo que elige o aporta la persona.
   Movimiento: solo transform y opacity; la secuencia del hero usa el motor [data-pg-seq] de pages.js. Sin JS y con movimiento
   reducido todo queda en su estado final y visible.
   Índice: 0 base · 1 hero (selector y frontera) · 2 trae tu modelo · 3 agnóstico · 4 enrutamiento · 5 infraestructura · 6 sin entrenamiento ·
           7 costes (franja oscura) · 8 adaptación · 9 movimiento reducido
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── 0 · Base ─────────────────────────────────────────────────────────────── */
.pg-list .pg-list-ic--p{background:var(--lavender);color:var(--pg-plum)}
.pg-ln-2{background:#e3edd0;border-color:#9cb879;color:#3f5a34}
.mo-inl{color:var(--green);font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:#8fb36b}
.mo-inl strong{color:inherit}
.mo-inl:hover{color:var(--deep)}
.mo-links{display:flex;flex-wrap:wrap;gap:0 28px}
.mo-links .text-link{margin-top:14px}
.mo-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;border-radius:9px;border:1px solid var(--forest);background:var(--forest);font-size:13.5px;font-weight:650;line-height:1.25;color:#f6f8ee;text-align:center;transition:transform .2s var(--ease),background-color .2s ease}
.mo-btn:hover{background:#27563e}.mo-btn:active{transform:scale(.97)}
.mo-btn--g{background:transparent;color:var(--forest);border-color:#a9bd96}.mo-btn--g:hover{background:#eef2e2}
.mo-btn:disabled{opacity:.45;cursor:default;transform:none}

/* ── 1 · Hero: selector de modelo y frontera de la instalación ───────────────── */
.mo-sel{display:grid;gap:12px;padding:18px 16px 14px;font-size:12.5px}
.mo-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.55fr) 70px minmax(0,1fr);grid-template-rows:repeat(4,auto);row-gap:10px;margin-top:6px}
.mo-grid>*{min-width:0}
.mo-zone{position:relative;grid-row:1 / span 4;z-index:0;border-radius:16px}
.mo-zone--in{grid-column:1;grid-row:1 / span 4;margin:-12px -8px -8px;background:#eef3e0;border:2px solid #9cb879}
.mo-zone--out{grid-column:3;grid-row:1 / span 3;margin:-12px -8px -2px;background:#f4f0fa;border:2px dashed #b7a3d3}
.mo-ztag{position:absolute;top:-11px;left:14px;padding:2px 10px;border-radius:12px;background:#e3edd0;border:1px solid #9cb879;font-size:12px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;line-height:1.25;color:#3f5a34;white-space:normal;max-width:calc(100% - 24px)}
.mo-ztag--p{background:var(--lavender);border-color:#b7a3d3;color:var(--pg-plum)}
.mo-wk,.mo-aux,.mo-pv,.mo-wire{grid-row:var(--r);position:relative;z-index:1}
.mo-wk{grid-column:1;display:grid;gap:8px;padding:9px 10px 10px;border-radius:12px;background:var(--white);border:1px solid var(--pg-t-line);transition:opacity .25s ease}
.mo-wk-h{display:flex;align-items:center;gap:8px;min-width:0;font-size:12.5px;color:var(--deep)}
.mo-wk-h b{min-width:0;font-weight:650;letter-spacing:-.01em;line-height:1.25;overflow-wrap:anywhere}
.mo-wk-h .pg-ic{color:var(--pg-t-strong)}
.mo-wk-h .pg-chip{margin-left:auto;font-size:12px;padding:0 9px}
.mo-seg{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;border-radius:10px;background:var(--pg-t-soft);border:1px solid var(--pg-t-line)}
.mo-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / 3);border-radius:8px;background:var(--lime);border:1px solid #8fb36b;box-shadow:0 4px 10px -6px #2c604988;transform:translateX(calc(var(--p) * 100%));transition:transform .55s var(--ease)}
.mo-opt{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:4px 6px;font-size:12px;font-weight:650;line-height:1.2;text-align:center;color:#33493b}
.mo-opt .pg-ic{width:14px;height:14px;flex-shrink:0;color:var(--pg-t-strong)}
.mo-now{position:absolute;inset:-3px;border-radius:14px;border:2px solid #8fb36b;pointer-events:none}
.mo-wire{grid-column:2;align-self:center;height:44px;container-type:inline-size;transition:opacity .25s ease}
.mo-wl{position:absolute;left:0;right:0;top:50%;height:0;margin-top:-1px;border-top:2px dashed #8aa073}
.mo-wl::after{content:"";position:absolute;right:-1px;top:-6px;border:5px solid transparent;border-left:8px solid #8aa073;border-right:0}
.mo-pk{--k:clamp(0,calc(var(--s) - 4),1);position:absolute;left:0;top:50%;z-index:2;display:grid;place-items:center;width:24px;height:24px;margin:-12px 0 0 -4px;border-radius:50%;background:var(--lime);border:1.5px solid #8fb36b;color:var(--forest);opacity:calc(var(--k) * (1 - clamp(0,calc(var(--s) - 5),1)));transform:translateX(calc(var(--k) * (100cqw - 20px)));transition:transform .75s var(--ease),opacity .3s ease}
.mo-pk .pg-ic{width:13px;height:13px;stroke-width:2}
.mo-pv{grid-column:3;align-self:center;transition:opacity .25s ease}
.mo-pv-s{display:grid}
.mo-pv-s>*{grid-area:1/1}
.mo-pvv{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 10px;border-radius:11px;background:var(--white);border:1px solid #d9cfe8}
.mo-pvv b{display:block;font-size:12.5px;line-height:1.2;color:#3f3552}
.mo-pvv small{display:block;font-size:12px;line-height:1.3;color:var(--pg-p-ink)}
.mo-pi{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--lavender);border:1px solid #cdbfe2;color:var(--pg-plum);flex-shrink:0}
.mo-pv-l{display:none}
.mo-pv--none{margin-left:2px}
.mo-pv--none .mo-pvv{background:transparent;border:1.5px dashed #c9bfdc}
.mo-pv--none .mo-pi{background:transparent;border-style:dashed;color:#6b5a8a}
.mo-pv--none b{color:#4c3f60}.mo-pv--none small{color:#5f4f78}
.mo-aux{grid-column:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:var(--white);border:1.5px solid #9cb879;transition:opacity .25s ease}
.mo-aux-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--lime);color:var(--forest)}
.mo-aux-t b{display:block;font-size:12.5px;line-height:1.25;color:var(--deep)}
.mo-aux-t small{font-size:12px;line-height:1.35;color:var(--pg-small)}
.mo-loop{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:#e3edd0;border:1px solid #9cb879;font-size:12px;font-weight:650;color:#3f5a34;white-space:nowrap}
.mo-loop .pg-ic{width:13px;height:13px}
.mo-train{display:flex;align-items:center;gap:10px;margin:0;padding:10px 14px;border-radius:12px;background:var(--forest);font-size:13px;font-weight:600;color:#f0f6e6}
.mo-train .pg-ic{color:#d4ebaa}
.mo-stage[data-hl="1"] [data-l]:not([data-l="1"]),.mo-stage[data-hl="2"] [data-l]:not([data-l="2"]),.mo-stage[data-hl="3"] [data-l]:not([data-l="3"]){opacity:.3}

/* ── 2 · Trae tu modelo ──────────────────────────────────────────────────────── */
.mo-src{display:grid;gap:0;margin:30px 0 8px;padding:0;list-style:none;border-top:1px solid #c8d4bc}
.mo-src>li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #d5ddc9}
.mo-src-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--lime);color:var(--forest)}
.mo-src h3{font-size:18px;letter-spacing:-.03em;line-height:1.2;color:var(--deep)}
.mo-src p{margin-top:2px;font-size:15px;line-height:1.5;color:var(--pg-body)}
.mo-src .pg-chips{margin-top:9px}
.mo-q{display:grid;gap:12px;padding:14px}
.mo-q-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin:0}
.mo-q-ad{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:650;color:var(--deep)}
.mo-q-ad .pg-ic{color:var(--pg-t-strong)}
.mo-q-h small{font-size:12px;color:var(--pg-small)}
.mo-q-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.mo-q-i{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--pg-t-line);background:var(--white);transition:background-color .3s ease,border-color .3s ease}
.mo-q-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--pg-t-soft);border:1.5px solid #b9cfa3;font-size:12.5px;font-weight:700;color:#3f5a34}
.mo-q-b{display:grid;gap:6px;min-width:0}
.mo-q-b b{font-size:13px;color:var(--deep)}
.mo-q-bar{position:relative;height:8px;border-radius:5px;background:#e8eedb;overflow:hidden}
.mo-q-bar i{position:absolute;left:0;top:0;bottom:0;width:var(--v);border-radius:5px;background:var(--pg-t-dot)}
.mo-q-st{padding:2px 10px;border-radius:999px;border:1px solid #cdd8c1;font-size:12px;font-weight:650;white-space:nowrap;color:#3f5a34;background:var(--white)}
.mo-q-i[data-st="on"]{background:#f6faeb;border-color:#8fb36b;box-shadow:0 0 0 3px #d4ebaa66}
.mo-q-i[data-st="on"] .mo-q-st{background:var(--lime);border-color:#a8c88a;color:#20361a}
.mo-q-i[data-st="on"] .mo-q-n{background:var(--lime);border-color:#8fb36b}
.mo-q-i[data-st="out"]{background:#f6f4fa;border-style:dashed;border-color:#b7a3d3}
.mo-q-i[data-st="out"] .mo-q-bar i{background:repeating-linear-gradient(135deg,#cbb9e4 0 5px,#b39bd3 5px 10px)}
.mo-q-i[data-st="out"] .mo-q-st{background:var(--lavender);border-color:#cdbfe2;color:var(--pg-plum)}
.mo-q-i[data-st="out"] .mo-q-n{background:var(--lavender);border-color:#b7a3d3;color:var(--pg-plum)}
.mo-q-note{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;padding:8px 12px;border-radius:10px;background:var(--pg-t-soft);border:1px solid var(--pg-t-line);font-size:12.5px;line-height:1.4;color:#35503a}
.mo-q-note .pg-ic{color:var(--pg-t-strong)}
.mo-q-act{display:none;flex-wrap:wrap;gap:8px}
.js .mo-q-act{display:flex}

/* ── 3 · Agnóstico ───────────────────────────────────────────────────────────── */
.mo-ag{display:grid;gap:0;padding:14px}
.mo-ag-txt{display:grid;gap:8px;padding:12px 14px;border-radius:12px;background:var(--pg-p-soft);border:1px solid var(--pg-p-line)}
.mo-ag-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.mo-ag-same{display:flex;align-items:center;gap:7px;margin:0;font-size:12px;font-weight:650;color:var(--pg-plum)}
.mo-ag-link{display:grid;place-items:center;height:22px}
.mo-ag-link i{display:block;width:2px;height:100%;background:repeating-linear-gradient(180deg,#b7a3d3 0 4px,transparent 4px 7px)}
.mo-ag-cred{display:grid;gap:9px;padding:12px 14px;border-radius:12px;background:var(--white);border:1px solid var(--pg-t-line)}
.mo-ag-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
.mo-ag-tabs li{display:flex;align-items:center;justify-content:center;min-height:44px;padding:6px 6px;border-radius:9px;border:1px solid #cdd8c1;background:var(--pg-t-soft);font-size:12px;font-weight:650;line-height:1.2;text-align:center;color:#33493b;transition:background-color .2s ease}
.mo-ag-tabs li.is-on{background:var(--lime);border-color:#8fb36b;color:#20361a;box-shadow:0 0 0 2px #d4ebaa}
.mo-ag-tabs li:has(button){padding:0}
.mo-ag-tabs li button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:6px;border:0;border-radius:inherit;background:none;font:inherit;color:inherit;text-align:center;line-height:1.2;cursor:pointer}
.mo-ag-tabs li:hover:not(.is-on){background:#eaf1d8}
.mo-ag-dir{display:flex;align-items:center;gap:9px;margin:0;padding:8px 12px;border:1.5px dashed #a9bd96;border-radius:10px;font-size:12.5px;color:#33493b}
.mo-ag-dir .pg-ic{color:var(--pg-t-strong)}
.mo-al{display:grid;gap:8px;margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--white);border:1px solid #d9cfe8}
.mo-al-h{display:flex;flex-wrap:wrap;align-items:center;gap:4px 9px;margin:0;font-size:13px;color:#3f3552}
.mo-al-h .pg-ic{color:var(--pg-plum)}
.mo-al-h small{margin-left:auto;font-size:12px;color:var(--pg-p-ink)}
.mo-al-t{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}
.mo-al-t th,.mo-al-t td{padding:7px 8px;text-align:left;border-bottom:1px solid #e6dff0;vertical-align:middle}
.mo-al-t tbody tr:last-child>*{border-bottom:0}
.mo-al-t thead th{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--pg-plum)}
.mo-al-t tbody th{font:600 12px/1.3 ui-monospace,"SF Mono",Menlo,Consolas,monospace;color:#3f3552;word-break:break-word}
.mo-al-t td{font:12px/1.3 ui-monospace,"SF Mono",Menlo,Consolas,monospace;color:#4c3f60}
.mo-pill{display:inline-flex;align-items:center;gap:5px;padding:1px 9px;border-radius:999px;border:1px solid;font:650 12px/1.5 "Aptos","Segoe UI",Arial,sans-serif;white-space:nowrap}
.mo-pill .pg-ic{width:12px;height:12px;stroke-width:2.2}
.mo-pill--ok{background:var(--lime);border-color:#a8c88a;color:#2f4a28}
.mo-pill--q{background:#f9f7fc;border:1px dashed #b7a3d3;color:var(--pg-plum)}

/* ── 4 · Enrutamiento L0–L9 ──────────────────────────────────────────────────── */
.mo-lad{display:grid;gap:10px;padding:14px}
.mo-lad-q{margin:0}
.mo-lad-tasks{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.mo-lad-tasks li{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:10px;border:1px solid #d9cfe8;background:var(--white);font-size:12.5px;font-weight:620;line-height:1.3;color:#3f3552;transition:background-color .2s ease,box-shadow .2s ease}
.mo-lad-tasks li.is-on{border-color:var(--pg-plum);background:var(--pg-p-soft);box-shadow:0 0 0 2px #cdbfe2}
.mo-lad-tasks li:has(button){padding:0}
.mo-lad-tasks li button{display:flex;align-items:center;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:inherit;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.mo-lad-tasks li:hover:not(.is-on){background:#f6f2fb}
.mo-rungs{display:grid;gap:4px;margin:2px 0 0;padding:0;list-style:none}
.mo-rung{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-height:27px;font-size:12px;color:var(--pg-small)}
.mo-rung b{font:700 12px/1 ui-monospace,"SF Mono",Menlo,Consolas,monospace;color:#4d6552}
.mo-rung-b{display:block;height:20px;width:var(--w);border-radius:6px;border:1px dashed #b7a3d3;background:#f8f5fc}
.mo-rung.is-on .mo-rung.is-on .mo-rung-b{border:1.5px solid var(--pg-plum);background:#e3dbf0}
.mo-rung.is-on b{color:var(--pg-plum)}
.mo-rung.is-on .mo-axis{display:flex;margin:4px 0 -2px;padding-left:38px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#6b5a8a}
.mo-axis--b{margin:-2px 0 2px}
.mo-lad-say{display:flex;align-items:flex-start;gap:10px;margin:2px 0 0;padding:10px 12px;border-radius:10px;border:1.5px dashed #b7a3d3;background:var(--white);font-size:12.5px;line-height:1.45;color:#3f3552}
.mo-lad-say .pg-ic{margin-top:2px;color:var(--pg-plum)}
.mo-lad-say b{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;color:var(--pg-plum)}

/* ── 5 · Infraestructura propia: azul-verde con vuelta atrás ─────────────────── */
.mo-bg{display:grid;gap:12px;margin-top:14px;padding:12px 14px 14px;border-radius:14px;background:var(--white);border:1px solid #d3deb9}
.mo-bg-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
.mo-bg-t{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;font-size:13px;color:var(--deep)}
.mo-bg-t .pg-ic{align-self:center;color:var(--pg-t-strong)}
.mo-bg-t small{font-size:12px;color:var(--pg-small)}
.mo-seg2{display:none;gap:2px;padding:3px;border-radius:11px;border:1px solid #b8c7ae;background:var(--white)}
.js .mo-seg2{display:inline-flex}
.mo-seg2-b{min-height:44px;padding:6px 16px;border-radius:8px;font-size:13px;font-weight:650;color:var(--forest);background:transparent;transition:background-color .2s ease,color .2s ease}
.mo-seg2-b:hover{background:#eef2e2}
.mo-seg2-b[aria-pressed="true"]{background:var(--forest);color:#f6f8ee}
.mo-bg-slots{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);align-items:stretch}
.mo-slot{display:grid;align-content:start;gap:2px;padding:10px 12px;border-radius:12px;border:1.5px solid;transition:background-color .3s ease,border-color .3s ease,opacity .3s ease}
.mo-slot b{font-size:14px;line-height:1.2}
.mo-slot small{font-size:12px;color:var(--pg-small)}
.mo-slot-s{justify-self:start;margin-top:6px;padding:2px 10px;border-radius:999px;border:1px solid;font-size:12px;font-weight:650;white-space:nowrap}
.mo-slot--blue{background:#eaf1f5;border-color:#9fb6c4;color:#274355}
.mo-slot--blue .mo-slot-s{background:var(--white);border-color:#9fb6c4;color:#274355}
.mo-slot--green{background:#e6efd2;border-color:#9cb879;color:#3f5a34}
.mo-slot--green .mo-slot-s{background:var(--white);border-color:#9cb879;color:#3f5a34}
.mo-bg-mid{position:relative;display:grid;place-items:center}
.mo-bg-mid .pg-ic{position:absolute;width:20px;height:20px;transition:opacity .3s ease;color:#6e8a56}
.mo-bg .mo-slot-s--fail,.mo-bg[data-case="fail"] .mo-slot-s--ok,.mo-bg .mo-bg-back{display:none}
.mo-bg[data-case="fail"] .mo-slot-s--fail{display:inline-flex}
.mo-bg[data-case="fail"] .mo-bg-go{display:none}
.mo-bg[data-case="fail"] .mo-bg-back{display:block;color:var(--pg-plum)}
.mo-bg[data-case="fail"] .mo-slot--green{background:repeating-linear-gradient(135deg,#f1ecf8 0 6px,#f8f5fc 6px 12px);border:1.5px dashed #b7a3d3;color:var(--pg-plum)}
.mo-bg[data-case="fail"] .mo-slot--green .mo-slot-s{border-color:#b7a3d3;color:var(--pg-plum)}
.mo-bg[data-case="fail"] .mo-slot--blue{background:#dfeaf1;border-color:#5f8199;box-shadow:0 0 0 3px #b8cfdc88}
.mo-bg[data-case="ok"] .mo-slot--blue{border-style:dashed;border-width:1.5px;background:#f3f7f9}   /* versión anterior en reserva: borde discontinuo, texto a contraste pleno */
.mo-bg-note{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:12.5px;line-height:1.45;color:#3f5645}
.mo-bg-note .pg-ic{margin-top:2px;flex-shrink:0;color:var(--pg-t-strong)}
.mo-bg[data-case="fail"] .mo-bg-note .pg-ic{color:var(--pg-plum)}

/* ── 6 · Sin entrenamiento: recorrido de los datos ───────────────────────────── */
.mo-df{display:grid;gap:14px;padding:16px 14px 14px}
.mo-df-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(46px,.55fr) minmax(0,1fr);align-items:center;gap:6px}
.mo-df-n{display:grid;justify-items:start;gap:3px;min-width:0;padding:11px 12px 12px;border-radius:14px;border:1.5px solid}
.mo-df-n b{font-size:13px;line-height:1.25}
.mo-df-n small{font-size:12px;line-height:1.3}
.mo-df-ic{display:grid;place-items:center;width:38px;height:38px;margin-bottom:4px;border-radius:11px}
.mo-df-n--t{background:var(--pg-t-soft);border-color:#9cb879;color:var(--deep)}.mo-df-n--t .mo-df-ic{background:var(--lime);color:var(--forest)}.mo-df-n--t small{color:var(--pg-small)}
.mo-df-n--p{background:var(--pg-p-soft);border:1.5px dashed #b7a3d3;color:#3f3552}.mo-df-n--p .mo-df-ic{background:var(--lavender);color:var(--pg-plum)}.mo-df-n--p small{color:var(--pg-p-ink)}
.mo-df-n--f{background:var(--forest);border-color:var(--forest);color:#f6f8ee}.mo-df-n--f .mo-df-ic{background:#ffffff1c;color:#d4ebaa}.mo-df-n--f small{color:#b8cdb0}
.mo-df-n--g{background:repeating-linear-gradient(135deg,#eceee6 0 6px,#f6f7f1 6px 12px);border:1.5px dashed #b3bdaa;color:#5a6655}.mo-df-n--g .mo-df-ic{background:#e2e6da;color:#5f6d5a}.mo-df-n--g small{color:#4f6357}
.mo-df-arr{position:relative;display:grid;align-content:center;justify-items:center;gap:4px;height:100%;min-height:54px}
.mo-df-arr i{display:block;position:relative;width:100%;height:0;border-top:2px solid #8fb36b}
.mo-df-arr i::after{content:"";position:absolute;right:-1px;top:-6px;border:5px solid transparent;border-left:8px solid #8fb36b;border-right:0}
.mo-df-lb{font-size:12px;font-weight:650;line-height:1.25;text-align:center;color:var(--pg-p-ink)}
.mo-df-arr--no i{border-top:2px dashed #9aa890}
.mo-df-arr--no i::after{border-left-color:#9aa890}
.mo-df-x{position:absolute;top:50%;left:50%;z-index:1;display:grid;place-items:center;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:var(--forest);border:2px solid var(--white);color:#fff}
.mo-df-x .pg-ic{width:14px;height:14px;stroke-width:2.4}
.mo-df-f{display:flex;align-items:flex-start;gap:10px;margin:2px 0 0;padding:10px 12px;border-radius:10px;border:1.5px dashed #b7a3d3;background:var(--white);font-size:12.5px;line-height:1.45;color:#3f3552}
.mo-df-f .pg-ic{margin-top:2px;color:var(--pg-plum)}

/* ── 7 · Costes y presupuestos (franja oscura) ───────────────────────────────── */
.mo-dl{display:grid;gap:12px;margin:26px 0 0;padding:0;list-style:none}
.mo-dl li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;font-size:16px;line-height:1.55;color:#d3e0cb}
.mo-dl-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#d4ebaa26;color:#d4ebaa}
.mo-dl-ic .pg-ic{width:16px;height:16px}
.mo-evw{padding:14px}
.mo-ev{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}
.mo-ev th,.mo-ev td{padding:9px 6px;text-align:left;vertical-align:middle;border-bottom:1px solid #e6ebdc;overflow-wrap:anywhere}
.mo-ev thead th{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#4f6455;padding-top:2px}
.mo-ev tbody tr:last-child>*{border-bottom:0}
.mo-ev tbody th{font-weight:650;color:var(--deep)}
.mo-ev td{color:#35503a}
.mo-bill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;border:1px solid;font-size:12px;font-weight:650;line-height:1.4;white-space:nowrap}
.mo-bill--s{background:var(--white);border-color:#b9cfa3;color:#3f5a34}
.mo-bill--a{background:var(--lime);border-color:#a8c88a;color:#2f4a28}
.mo-bill--x{background:var(--lavender);border-color:#cdbfe2;color:var(--pg-plum)}
.mo-ev-f{display:flex;align-items:center;gap:8px;margin:10px 0 0;padding:9px 12px;border-radius:10px;background:var(--pg-t-soft);border:1px solid var(--pg-t-line);font-size:12px;line-height:1.4;color:#35503a}
.mo-ev-f .pg-ic{color:var(--pg-t-strong)}
.pg-band-dark .mo-base .text-link{color:#e8f1d6;border-color:#d4ebaa77}
.mo-flow-l{margin-top:22px!important}

/* ── 8 · Adaptación ──────────────────────────────────────────────────────────── */
@media(min-width:1001px) and (max-width:1180px){
  .mo-grid{grid-template-columns:minmax(0,1.5fr) 40px minmax(0,1fr)}
  .mo-wk-h b{white-space:normal;line-height:1.25}
  .mo-aux{grid-template-columns:auto minmax(0,1fr);row-gap:8px}
  .mo-loop{grid-column:1 / -1;justify-self:start}
  .mo-opt{font-size:12px;padding-inline:3px}
  .mo-opt .pg-ic{display:none}
}
@media(max-width:1000px){
  .mo-src{margin-top:26px}
}
@media(max-width:600px){
  .mo-sel{padding:14px 10px 12px}
  .mo-grid{grid-template-columns:minmax(0,1fr);row-gap:0;margin-top:0}
  .mo-zone{display:none}
  .mo-wk,.mo-wire,.mo-pv,.mo-aux{grid-row:auto;grid-column:1}
  .mo-wk{margin-top:12px;padding:9px 10px 10px}
  .mo-wk:first-of-type{margin-top:0}
  .mo-wire{height:28px;container-type:normal}
  .mo-wl{left:50%;right:auto;top:0;bottom:0;height:auto;width:0;margin:0 0 0 -1px;border-top:0;border-left:2px dashed #8aa073}
  .mo-wl::after{right:auto;left:-6px;top:auto;bottom:-1px;border:5px solid transparent;border-top:8px solid #8aa073;border-bottom:0;border-left-color:transparent}
  .mo-pk{display:none}
  .mo-pv-l{display:block;margin-bottom:5px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--pg-plum)}
  .mo-pv{align-self:stretch}
  .mo-pvv{align-items:center}
  .mo-aux{margin-top:14px}
  .mo-opt{font-size:12px;padding:4px 3px}.mo-opt .pg-ic{display:none}
  .mo-wk-h b{white-space:normal}
  .mo-src>li{grid-template-columns:38px minmax(0,1fr);gap:12px}.mo-src-ic{width:38px;height:38px}
  .mo-q,.mo-ag,.mo-lad,.mo-df,.mo-evw{padding:12px}
  .mo-ag-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
    .mo-bg-slots{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr)}
  .mo-slot{padding:9px 9px}.mo-slot-s{white-space:normal}
  .mo-df-row{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)}
  .mo-df-n{padding:9px 9px 10px}
  .mo-df-lb{display:none}
  /* alias: cada fila pasa a bloque */
  .mo-al-t,.mo-al-t tbody,.mo-al-t tr,.mo-al-t th,.mo-al-t td{display:block}
  .mo-al-t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .mo-al-t tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:8px 0;border-bottom:1px solid #e6dff0}
  .mo-al-t tbody tr:last-child{border-bottom:0}
  .mo-al-t th,.mo-al-t td{padding:0;border-bottom:0}
  .mo-al-t tbody th{grid-column:1 / -1;word-break:normal;overflow-wrap:anywhere}
  /* eventos de coste: cada fila pasa a tarjeta */
  .mo-ev,.mo-ev tbody,.mo-ev tr,.mo-ev th,.mo-ev td{display:block}
  .mo-ev thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .mo-ev tbody tr{margin-bottom:10px;padding:4px 12px 8px;border:1px solid #dfe6d3;border-radius:12px;background:var(--pg-t-soft)}
  .mo-ev th,.mo-ev td{padding:5px 0;border-bottom:0}
  .mo-ev td:before,.mo-ev th:before{content:attr(data-label);display:inline-block;min-width:92px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#4f6455}
  .mo-flow-l{margin-top:18px!important}
}
@media(max-width:360px){
  .mo-opt{font-size:12px}
  .mo-df-lb{display:none}
}

/* ── 9 · Movimiento reducido ─────────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  .mo-thumb,.mo-pk,.mo-wk,.mo-wire,.mo-pv,.mo-aux,.mo-q-i,.mo-btn,.mo-ag-tabs li,.mo-lad-tasks li,.mo-slot,.mo-seg2-b,.mo-bg-mid .pg-ic{transition:none!important}
}
.reduce .mo-thumb,.reduce .mo-pk,.reduce .mo-wk,.reduce .mo-wire,.reduce .mo-pv,.reduce .mo-aux,.reduce .mo-q-i,.reduce .mo-btn,.reduce .mo-ag-tabs li,.reduce .mo-lad-tasks li,.reduce .mo-slot,.reduce .mo-seg2-b,.reduce .mo-bg-mid .pg-ic{transition:none!important}
