/* ============================================================
   Cashflow — Plan de Trabajo · Shared design system
   Linked by all Plan-Modulo-*.html pages. Per-module accent
   tokens and module-specific components stay inline in each file.
   ============================================================ */

/* CANONICAL SHARED PALETTE
   Defined here so styles.css is self-contained (index + modules).
   Modules may still define extra accent tokens inline. */
:root {
  --blue-600: #0063E0;
  --blue-400: #0082FA;
  --blue-300: #60AEFF;
  --blue-50:  #E8F0FE;
  --gray-900: #101A27;
  --gray-800: #1E2D3D;
  --gray-600: #475569;
  --gray-400: #94A3B8;
  --gray-300: #CBD5E1;
  --gray-200: #E2E8F0;
  --gray-50:  #F1F5F8;
  --white:    #ffffff;
  --text-primary:   var(--gray-900);
  --text-secondary: var(--gray-600);
  --text-tertiary:  var(--gray-400);
  --border:         var(--gray-200);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; }
body { font-family:'Inter',-apple-system,sans-serif; background:var(--white); color:var(--text-primary); line-height:1.6; -webkit-font-smoothing:antialiased; }
/* PORTADA */
.cover { background:var(--blue-600); color:var(--white); padding:20px max(40px, calc((100% - 1136px) / 2)) 56px; display:flex; flex-direction:column; justify-content:space-between; gap:40px; min-height:360px; }
.cover-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid rgba(96,174,255,.45); }
.cover-wordmark { font-size:13px; font-weight:600; color:rgba(255,255,255,.75); }
.cover-home { display:flex; flex-shrink:0; }
.cover-logo { height:25px; width:auto; display:block; flex-shrink:0; }
.cover-label { font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.55); background:rgba(255,255,255,.10); padding:5px 10px; border-radius:4px; }
.cover-module-num { font-size:11px; font-weight:700; letter-spacing:.10em; text-transform:uppercase; color:rgba(255,255,255,.7); margin-bottom:10px; }
.cover-title { font-size:clamp(38px,5.5vw,64px); font-weight:700; line-height:1.05; letter-spacing:-.025em; margin-bottom:18px; }
.cover-desc { font-size:15px; color:rgba(255,255,255,.7); max-width:520px; line-height:1.7; }
.cover-footer { display:flex; justify-content:space-between; align-items:flex-end; border-top:1px solid rgba(255,255,255,.15); padding-top:24px; }
.cover-meta { font-size:12px; color:rgba(255,255,255,.45); line-height:1.7; }
/* LAYOUT */
.doc-wrapper { max-width:1280px; margin:0 auto; padding:0 72px 100px; }
/* ÍNDICE */
.toc-section { padding:56px 0 0; border-bottom:1px solid var(--border); margin-bottom:64px; }
.toc-label { font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:24px; }
.toc-grid { display:grid; grid-template-columns:1fr 1fr; }
.toc-item { display:flex; align-items:baseline; gap:12px; padding:14px 0; border-bottom:1px solid var(--border); font-size:14px; }
.toc-item:nth-child(odd)  { padding-right:32px; border-right:1px solid var(--border); }
.toc-item:nth-child(even) { padding-left:32px; }
.toc-num  { font-size:11px; font-weight:600; color:var(--text-tertiary); min-width:24px; flex-shrink:0; }
.toc-name { font-weight:500; color:var(--text-primary); }
.toc-desc { color:var(--text-tertiary); font-size:13px; }
/* SECCIONES */
.section { padding:64px 0 0; border-top:1px solid var(--border); margin-top:64px; }
.section-meta { font-size:11px; font-weight:600; letter-spacing:.10em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:8px; }
.section-title { font-size:clamp(20px,3.5vw,32px); font-weight:700; letter-spacing:-.03em; color:var(--text-primary); line-height:1.15; margin-bottom:32px; }
/* PROSA */
.prose { font-size:15px; color:var(--text-secondary); line-height:1.75; margin-bottom:24px; }
.prose strong { color:var(--text-primary); font-weight:600; }
/* CALLOUT */
.callout { background:var(--gray-50); border-left:3px solid var(--gray-300); border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.callout-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:8px; }
.callout p { font-size:14px; color:var(--gray-800); line-height:1.7; }
.callout p strong { color:var(--gray-900); font-weight:600; }
/* CALLOUT WARNING */
.callout-warn { background:#FFFBEB; border-left:3px solid #F59E0B; border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.callout-warn-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#B45309; margin-bottom:8px; }
.callout-warn p { font-size:14px; color:#78350F; line-height:1.7; }
/* CARDS */
.card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.card { background:var(--white); padding:24px; }
.card-num { font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:10px; }
.card h3 { font-size:15px; font-weight:600; color:var(--text-primary); margin-bottom:8px; line-height:1.3; }
.card p  { font-size:13px; color:var(--text-secondary); line-height:1.65; }
/* TABLA */
.data-table { width:100%; border-collapse:collapse; font-size:13.5px; margin-bottom:32px; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.data-table th { background:var(--gray-50); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--text-tertiary); text-align:left; padding:12px 16px; border-bottom:1px solid var(--border); }
.data-table td { padding:14px 16px; color:var(--text-secondary); border-bottom:1px solid var(--border); vertical-align:top; line-height:1.55; }
.data-table tr:last-child td { border-bottom:none; }
.data-table tr:hover td { background:var(--gray-50); }
.cell-primary { font-weight:600; color:var(--text-primary); font-size:14px; }
/* PULL QUOTE */
.pull-quote { border-top:1px solid var(--gray-300); border-bottom:1px solid var(--border); padding:28px 0; margin:40px 0; }
.pull-quote p    { font-size:19px; font-weight:600; color:var(--text-primary); line-height:1.5; letter-spacing:-.02em; }
.pull-quote cite { display:block; margin-top:12px; font-size:12px; font-style:normal; color:var(--text-tertiary); letter-spacing:0; text-transform:none; }
/* SUB HEADERS */
.sub-h3 { font-size:15px; font-weight:600; color:var(--text-primary); margin:32px 0 16px; }
/* KPI STRIP */
.kpi-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.kpi-cell { background:var(--white); padding:22px 20px; }
.kpi-label { font-size:11px; font-weight:500; color:var(--text-tertiary); margin-bottom:8px; line-height:1.4; }
.kpi-value { font-size:26px; font-weight:700; letter-spacing:-.03em; color:var(--gray-900); margin-bottom:4px; line-height:1; }
.kpi-note  { font-size:11px; color:var(--text-tertiary); line-height:1.4; }
/* PIE */
.doc-footer { background:var(--gray-900); color:var(--white); padding:40px max(40px, calc((100% - 1136px) / 2)); display:flex; justify-content:space-between; align-items:center; }
.footer-brand { font-size:14px; font-weight:600; }
.footer-meta  { font-size:12px; color:rgba(255,255,255,.4); text-align:right; line-height:1.7; }
/* BADGES */
.badge { display:inline-block; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:3px 8px; border-radius:4px; }
.badge-blue   { background:var(--blue-50); color:var(--blue-600); }
/* ── COVER HEADER SWITCHER (injected by nav.js, replaces the pill) ── */
.cover-switcher {
    -webkit-appearance: none; appearance: none;
    font-family: inherit; font-size: 12px; font-weight: 600; letter-spacing: .03em;
    color: #fff; background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.25); border-radius: 6px;
    padding: 7px 34px 7px 14px; cursor: pointer; max-width: 60vw;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5L6 7.5L9 4.5' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat; background-position: right 12px center;
    transition: background .12s, border-color .12s;
  }
.cover-switcher:hover { background: rgba(255,255,255,.2); border-color: rgba(255,255,255,.45); }
.cover-switcher:focus { outline: none; border-color: #fff; }
.cover-switcher option { color: #101A27; background: #fff; }

/* ── GLOBAL SIDEBAR TREE (injected by nav.js) ── */
.nav-tree { display: flex; flex-direction: column; }
.nav-node-row { display: flex; align-items: center; gap: 2px; border-radius: 6px; }
.nav-node-row:hover { background: var(--gray-50); }
.nav-chevron {
    flex-shrink: 0; width: 22px; height: 30px;
    display: flex; align-items: center; justify-content: center;
    background: none; border: none; padding: 0; cursor: pointer;
    color: var(--text-tertiary); border-radius: 4px;
  }
.nav-chevron:hover { color: var(--text-primary); }
.nav-chevron svg { transition: transform .15s ease; }
.nav-node.open > .nav-node-row .nav-chevron svg { transform: rotate(90deg); }
.nav-node-link {
    display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0;
    padding: 6px 8px 6px 0; text-decoration: none;
  }
.nav-node-num { font-size: 11px; font-weight: 600; color: var(--text-tertiary); min-width: 20px; flex-shrink: 0; text-align: center; }
.nav-node-name { font-size: 13px; font-weight: 500; color: var(--text-secondary); line-height: 1.35; }
.nav-node.active > .nav-node-row { background: var(--blue-50); }
.nav-node.active > .nav-node-row .nav-node-num,
.nav-node.active > .nav-node-row .nav-node-name { color: var(--blue-600); font-weight: 600; }
.nav-children { display: none; margin-left: 22px; padding: 2px 0 6px; border-left: 1px solid var(--border); }
.nav-node.open > .nav-children { display: block; }
.nav-child { display: block; font-size: 12.5px; color: var(--text-secondary); text-decoration: none; padding: 5px 10px 5px 14px; margin-left: -1px; border-left: 2px solid transparent; line-height: 1.4; transition: color .12s, border-color .12s; }
.nav-child:hover { color: var(--text-primary); border-left-color: var(--blue-300); }
.nav-child.active { color: var(--blue-600); font-weight: 600; border-left-color: var(--blue-600); }
.nav-child.active:hover { border-left-color: var(--blue-600); }
.doc-pagination {
    display: flex; align-items: stretch; justify-content: space-between;
    gap: 1px; background: var(--border);
    border: 1px solid var(--border); border-radius: 10px;
    overflow: hidden; margin: 64px max(24px, calc((100% - 1136px) / 2)) 30px;
  }
.doc-pagination a {
    display: flex; flex-direction: column; justify-content: center;
    padding: 20px 28px; background: var(--white);
    text-decoration: none; transition: background 0.15s; flex: 1;
  }
.doc-pagination a:hover { background: var(--gray-50); }
.doc-pagination a.doc-pg-center {
    align-items: center; flex: 0 0 auto; padding: 20px 32px;
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
  }
.doc-pg-label {
    font-size: 10px; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase; color: var(--text-tertiary); margin-bottom: 4px;
  }
.doc-pg-title {
    font-size: 14px; font-weight: 600; color: var(--text-primary);
  }
.doc-pg-center .doc-pg-title { font-size: 13px; font-weight: 500; color: var(--text-secondary); }
.doc-pg-next { text-align: right; }
/* ─── DOCS LAYOUT ─── */
html { scroll-behavior: smooth; }
/* Compact page header */
.cover-title { font-size: clamp(26px, 3.2vw, 38px) !important; line-height: 1.1 !important; }
/* Two-column docs grid */
.doc-wrapper { display: grid !important; grid-template-columns: 250px minmax(0, 1fr) !important; column-gap: 64px !important; align-items: start !important; padding-top: 40px !important; }
.doc-wrapper > .section,
  .doc-wrapper > .fase2-block { grid-column: 2 !important; }
/* Sticky sidebar TOC */
.toc-section { grid-column: 1 !important; grid-row: 1 / 999 !important; position: sticky !important; top: 24px !important; padding: 0 0 48px !important; border-bottom: none !important; margin-bottom: 0 !important; max-height: calc(100vh - 48px) !important; overflow-y: auto; }
.toc-label { padding-bottom: 12px !important; margin-bottom: 4px !important; border-bottom: 1px solid var(--border) !important; }
.toc-grid { display: flex !important; flex-direction: column !important; }
.toc-item, a.toc-item { display: flex !important; align-items: flex-start !important; gap: 8px !important; padding: 7px 10px !important; border: none !important; border-radius: 6px !important; transition: background 0.12s !important; margin-bottom: 1px !important; text-decoration: none !important; color: inherit !important; }
.toc-item:hover, a.toc-item:hover { background: var(--gray-50) !important; }
.toc-item:nth-child(odd), a.toc-item:nth-child(odd) { padding-right: 10px !important; border-right: none !important; }
.toc-item:nth-child(even), a.toc-item:nth-child(even) { padding-left: 10px !important; }
.toc-num { font-size: 11px !important; min-width: 20px !important; flex-shrink: 0 !important; padding-top: 1px; }
.toc-name { font-size: 13px !important; line-height: 1.45 !important; }
.toc-desc { display: none !important; }
.section { scroll-margin-top: 24px; }
.toc-section + .section { border-top: none !important; margin-top: 0 !important; padding-top: 0 !important; }
@media (max-width: 900px) {
    .doc-wrapper { display: block !important; }
    .toc-section { position: static !important; max-height: none !important; padding-bottom: 24px !important; border-bottom: 1px solid var(--border) !important; margin-bottom: 48px !important; }
  }
/* ===== MOBILE OPTIMIZATION ===== */
.table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin-bottom:32px; border:1px solid var(--border); border-radius:10px; }
.table-wrap > table { margin-bottom:0 !important; border:none !important; border-radius:0 !important; }
@media (max-width:680px){
    .table-wrap > table { min-width:560px; }
    .table-wrap th, .table-wrap td { padding:11px 13px; }
    .card-grid, .kpi-strip, .stack-row, .diag-grid, .flujo-grid, .fase2-items,
    .two-col, .fase-grid, .week-grid, .nivel-grid, .tipos-grid, .dev-grid, .hosts-grid,
    .estructura-grid, .seq-grid, .modules-grid, .comision-strip, .cadencia-strip, .ep-structure,
    .tl-item, .article-row, .eco-row, .evento-row, .formato-row, .modo-row, .pilar-row,
    .email-section-row, .funnel-stage, .funnel-stage-right, .seq-row, .estructura-row, .kw-item {
      grid-template-columns:1fr !important;
    }
  }
/* REGLAS */
.regla-list { border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.regla-item { display:grid; grid-template-columns:32px 1fr; gap:16px; align-items:start; padding:16px 20px; border-bottom:1px solid var(--border); background:var(--white); }
.regla-item:last-child { border-bottom:none; }
.regla-text { font-size:13.5px; color:var(--text-secondary); line-height:1.6; }
.regla-text strong { color:var(--text-primary); font-weight:600; }
.badge-dark  { background:var(--gray-900); color:var(--white); }
.badge-mid   { background:var(--gray-200); color:var(--gray-800); }


/* ===================================================================
   Plan-Modulo-01-Website.html — scoped module styles (moved from inline <style>)
   =================================================================== */
.doc-01 { --blue-600: #0063E0; --blue-400: #0082FA; --blue-300: #60AEFF; --blue-50:  #E8F0FE; --gray-900: #101A27; --gray-800: #1E2D3D; --gray-600: #475569; --gray-400: #94A3B8; --gray-200: #E2E8F0; --gray-300: #CBD5E1; --gray-50:  #F1F5F8; --white:    #ffffff; --text-primary:   var(--gray-900); --text-secondary: var(--gray-600); --text-tertiary:  var(--gray-400); --border:         var(--gray-200); --amber:          #F59E0B; --amber-50:       #FFFBEB; }
.doc-01 .toc-num-pending { color:var(--gray-400); }
.doc-01 .toc-name-pending { color:var(--text-tertiary); }
.doc-01 .callout-pending { background:var(--amber-50); border-left:3px solid var(--amber); border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.doc-01 .callout-pending-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#B45309; margin-bottom:8px; }
.doc-01 .callout-pending p { font-size:14px; color:#78350F; line-height:1.7; }
.doc-01 .callout-pending p strong { color:#92400E; font-weight:600; }
.doc-01 .callout-green { background:#DCFCE7; border-left:3px solid #16A34A; border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.doc-01 .callout-green-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#15803D; margin-bottom:8px; }
.doc-01 .callout-green p { font-size:14px; color:#14532D; line-height:1.7; }
.doc-01 .callout-green p strong { color:#14532D; font-weight:600; }
.doc-01 .diag-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-01 .diag-cell { background:var(--white); padding:24px; }
.doc-01 .diag-cell-label { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:16px; }
.doc-01 .diag-label-bien { color:#15803D; }
.doc-01 .diag-label-mal { color:#B91C1C; }
.doc-01 .diag-cell ul { list-style:none; padding:0; }
.doc-01 .diag-cell ul li { font-size:13px; color:var(--text-secondary); padding:7px 0 7px 20px; position:relative; border-bottom:1px solid var(--border); line-height:1.55; }
.doc-01 .diag-cell ul li:last-child { border-bottom:none; }
.doc-01 .diag-cell ul li::before { position:absolute; left:0; font-size:12px; top:8px; }
.doc-01 .diag-bien li::before { content:'✓'; color:#15803D; }
.doc-01 .diag-mal  li::before { content:'✗'; color:#B91C1C; }
.doc-01 .arch-nav { border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:24px; }
.doc-01 .arch-nav-header { background:var(--gray-900); padding:14px 20px; display:flex; justify-content:space-between; align-items:center; }
.doc-01 .arch-nav-title { font-size:13px; font-weight:600; color:var(--white); }
.doc-01 .arch-nav-badge { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; background:rgba(255,255,255,.12); color:rgba(255,255,255,.7); padding:3px 10px; border-radius:20px; }
.doc-01 .arch-nav-item { border-bottom:1px solid var(--border); }
.doc-01 .arch-nav-item:last-child { border-bottom:none; }
.doc-01 .arch-nav-parent { display:grid; grid-template-columns:160px 1fr; background:var(--white); }
.doc-01 .arch-nav-parent-label { padding:14px 20px; background:var(--gray-50); border-right:1px solid var(--border); font-size:12px; font-weight:700; color:var(--text-primary); display:flex; align-items:center; }
.doc-01 .arch-nav-children { padding:12px 20px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.doc-01 .arch-page { font-size:12px; font-weight:500; color:var(--blue-600); background:var(--blue-50); padding:4px 10px; border-radius:4px; }
.doc-01 .arch-page-new { background:#DCFCE7; color:#15803D; }
.doc-01 .arch-page-pending { background:var(--amber-50); color:#B45309; }
.doc-01 .arch-page-footer { background:var(--gray-50); color:var(--gray-600); border:1px solid var(--border); }
.doc-01 .principio-list { border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-01 .principio-item { display:grid; grid-template-columns:32px 1fr; gap:16px; align-items:start; padding:18px 20px; border-bottom:1px solid var(--border); background:var(--white); }
.doc-01 .principio-item:last-child { border-bottom:none; }
.doc-01 .principio-num { font-size:13px; font-weight:700; color:var(--text-tertiary); padding-top:1px; }
.doc-01 .principio-text { font-size:13.5px; color:var(--text-secondary); line-height:1.6; }
.doc-01 .principio-text strong { color:var(--text-primary); font-weight:600; }
.doc-01 .fase2-block { border:2px dashed var(--amber); border-radius:12px; padding:40px; margin-top:64px; text-align:center; }
.doc-01 .fase2-icon { font-size:32px; margin-bottom:16px; }
.doc-01 .fase2-title { font-size:22px; font-weight:700; color:var(--text-primary); letter-spacing:-.02em; margin-bottom:12px; }
.doc-01 .fase2-desc { font-size:14px; color:var(--text-secondary); line-height:1.7; max-width:560px; margin:0 auto 24px; }
.doc-01 .fase2-items { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; text-align:left; margin-top:24px; }
.doc-01 .fase2-item { background:var(--amber-50); border:1px solid #FDE68A; border-radius:8px; padding:16px; }
.doc-01 .fase2-item-num { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#B45309; margin-bottom:6px; }
.doc-01 .fase2-item-text { font-size:13px; color:#78350F; line-height:1.55; font-weight:500; }
.doc-01 .stack-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-01 .stack-cell { background:var(--white); padding:22px 20px; }
.doc-01 .stack-cell-label { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:8px; }
.doc-01 .stack-cell-tool { font-size:15px; font-weight:700; color:var(--text-primary); margin-bottom:6px; }
.doc-01 .stack-cell-desc { font-size:12.5px; color:var(--text-secondary); line-height:1.55; }
.doc-01 .badge-green { background:#DCFCE7; color:#15803D; }
.doc-01 .badge-amber { background:var(--amber-50); color:#B45309; }
.doc-01 .badge-gray { background:var(--gray-200); color:var(--gray-800); }
.doc-01 .badge-red { background:#FEE2E2; color:#B91C1C; }
@media(max-width:680px) {
  .doc-01 .cover, .doc-01 .doc-footer { padding:40px 28px 36px; }
  .doc-01 .doc-wrapper { padding:0 24px 80px; }
  .doc-01 .toc-grid, .doc-01 .diag-grid { grid-template-columns:1fr; }
  .doc-01 .toc-item:nth-child(odd) { border-right:none; padding-right:0; }
  .doc-01 .toc-item:nth-child(even) { padding-left:0; }
  .doc-01 .arch-nav-parent { grid-template-columns:1fr; }
  .doc-01 .arch-nav-parent-label { border-right:none; border-bottom:1px solid var(--border); }
  .doc-01 .fase2-items { grid-template-columns:1fr; }
  .doc-01 .doc-footer { flex-direction:column; gap:16px; }
  .doc-01 .footer-meta { text-align:left; }
}

/* ===================================================================
   Plan-Modulo-02-SEO-GEO.html — scoped module styles (moved from inline <style>)
   =================================================================== */
.doc-02 { --blue-600: #0063E0; --blue-400: #0082FA; --blue-300: #60AEFF; --blue-50:  #E8F0FE; --gray-900: #101A27; --gray-800: #1E2D3D; --gray-600: #475569; --gray-400: #94A3B8; --gray-200: #E2E8F0; --gray-300: #CBD5E1; --gray-50:  #F1F5F8; --white:    #ffffff; --text-primary:   var(--gray-900); --text-secondary: var(--gray-600); --text-tertiary:  var(--gray-400); --border:         var(--gray-200); --geo-purple:     #7C3AED; --geo-purple-50:  #F5F3FF; }
.doc-02 .toc-num-geo { color:var(--geo-purple); }
.doc-02 .part-divider { background:var(--gray-900); color:var(--white); padding:32px 40px; border-radius:10px; margin:64px 0 0; display:flex; justify-content:space-between; align-items:center; }
.doc-02 .part-divider-seo { background:var(--blue-600); }
.doc-02 .part-divider-geo { background:var(--geo-purple); }
.doc-02 .part-label { font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.65); margin-bottom:6px; }
.doc-02 .part-title { font-size:24px; font-weight:700; color:var(--white); letter-spacing:-.02em; }
.doc-02 .part-desc { font-size:13px; color:rgba(255,255,255,.6); max-width:420px; line-height:1.6; margin-top:6px; }
.doc-02 .part-badge { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:rgba(255,255,255,.15); color:var(--white); padding:6px 14px; border-radius:20px; white-space:nowrap; }
.doc-02 .section-meta-geo { color:var(--geo-purple); }
.doc-02 .callout-geo { background:var(--geo-purple-50); border-left:3px solid var(--geo-purple); border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.doc-02 .callout-geo-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--geo-purple); margin-bottom:8px; }
.doc-02 .callout-geo p { font-size:14px; color:#4C1D95; line-height:1.7; }
.doc-02 .callout-geo p strong { color:#3B0764; font-weight:600; }
.doc-02 .card-num-geo { color:var(--geo-purple); }
.doc-02 .data-table th-geo { background:#F5F3FF; }
.doc-02 .pull-quote-geo { border-top-color:var(--geo-purple); }
.doc-02 .kpi-value-geo { color:var(--geo-purple); }
.doc-02 .kw-group { border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:20px; }
.doc-02 .kw-group-header { background:var(--gray-900); padding:14px 20px; display:flex; justify-content:space-between; align-items:center; }
.doc-02 .kw-group-title { font-size:13px; font-weight:600; color:var(--white); }
.doc-02 .kw-group-badge { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:3px 10px; border-radius:20px; }
.doc-02 .kw-badge-high { background:#DCFCE7; color:#15803D; }
.doc-02 .kw-badge-medium { background:#FEF3C7; color:#B45309; }
.doc-02 .kw-badge-low { background:var(--gray-200); color:var(--gray-800); }
.doc-02 .kw-item { display:grid; grid-template-columns:1fr auto auto; gap:16px; align-items:center; padding:12px 20px; border-bottom:1px solid var(--border); background:var(--white); }
.doc-02 .kw-item:last-child { border-bottom:none; }
.doc-02 .kw-term { font-size:13.5px; color:var(--text-primary); font-weight:500; font-family:monospace; }
.doc-02 .kw-vol { font-size:12px; color:var(--text-tertiary); }
.doc-02 .kw-intent { font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:3px 8px; border-radius:4px; }
.doc-02 .kw-intent-transaccional { background:var(--blue-50); color:var(--blue-600); }
.doc-02 .kw-intent-informacional { background:#DCFCE7; color:#15803D; }
.doc-02 .kw-intent-navegacional { background:var(--gray-200); color:var(--gray-800); }
.doc-02 .article-block { border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:24px; }
.doc-02 .article-header { background:var(--gray-900); padding:16px 20px; }
.doc-02 .article-header-label { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:4px; }
.doc-02 .article-header-title { font-size:15px; font-weight:600; color:var(--white); }
.doc-02 .article-row { display:grid; grid-template-columns:120px 1fr; border-bottom:1px solid var(--border); }
.doc-02 .article-row:last-child { border-bottom:none; }
.doc-02 .article-row-label { padding:13px 16px; background:var(--gray-50); border-right:1px solid var(--border); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--text-tertiary); display:flex; align-items:flex-start; padding-top:15px; }
.doc-02 .article-row-content { padding:13px 16px; font-size:13px; color:var(--text-secondary); line-height:1.6; }
.doc-02 .article-row-content strong { color:var(--text-primary); font-weight:600; }
.doc-02 .article-row-content code { font-family:monospace; background:var(--gray-50); padding:2px 6px; border-radius:4px; font-size:12px; color:var(--blue-600); border:1px solid var(--border); }
.doc-02 .prompt-block { background:var(--geo-purple-50); border:1px solid #DDD6FE; border-radius:10px; padding:20px 24px; margin-bottom:16px; }
.doc-02 .prompt-label { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--geo-purple); margin-bottom:10px; }
.doc-02 .prompt-text { font-size:14px; color:#4C1D95; line-height:1.7; font-style:italic; }
.doc-02 .prompt-answer { margin-top:14px; padding-top:14px; border-top:1px solid #DDD6FE; font-size:13px; color:var(--text-secondary); line-height:1.65; }
.doc-02 .prompt-answer strong { color:var(--text-primary); font-weight:600; }
.doc-02 .regla-num { font-size:12px; font-weight:700; color:var(--text-tertiary); padding-top:2px; }
.doc-02 .regla-num-geo { color:var(--geo-purple); }
@media(max-width:680px) {
  .doc-02 .cover, .doc-02 .doc-footer { padding:40px 28px 36px; }
  .doc-02 .doc-wrapper { padding:0 24px 80px; }
  .doc-02 .toc-grid { grid-template-columns:1fr; }
  .doc-02 .toc-item:nth-child(odd) { border-right:none; padding-right:0; }
  .doc-02 .toc-item:nth-child(even) { padding-left:0; }
  .doc-02 .part-divider { flex-direction:column; gap:16px; align-items:flex-start; }
  .doc-02 .article-row, .doc-02 .kw-item { grid-template-columns:1fr; }
  .doc-02 .article-row-label { border-right:none; border-bottom:1px solid var(--border); }
  .doc-02 .kw-vol, .doc-02 .kw-intent { display:none; }
  .doc-02 .doc-footer { flex-direction:column; gap:16px; }
  .doc-02 .footer-meta { text-align:left; }
}

/* ===================================================================
   Plan-Modulo-03-Contenido.html — scoped module styles (moved from inline <style>)
   =================================================================== */
.doc-03 { --blue-600: #0063E0; --blue-400: #0082FA; --blue-300: #60AEFF; --blue-50:  #E8F0FE; --gray-900: #101A27; --gray-800: #1E2D3D; --gray-600: #475569; --gray-400: #94A3B8; --gray-200: #E2E8F0; --gray-300: #CBD5E1; --gray-50:  #F1F5F8; --white:    #ffffff; --text-primary:   var(--gray-900); --text-secondary: var(--gray-600); --text-tertiary:  var(--gray-400); --border:         var(--gray-200); }
.doc-03 .badge-green { background:#DCFCE7; color:#15803D; }
.doc-03 .badge-amber { background:#FEF3C7; color:#B45309; }
.doc-03 .badge-red { background:#FEE2E2; color:#B91C1C; }
.doc-03 .sub-h3-sm { font-size:15px; font-weight:600; color:var(--text-primary); margin-bottom:16px; }
.doc-03 .formato-block { border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:40px; }
.doc-03 .formato-header { padding:24px 28px 20px; border-bottom:1px solid var(--border); display:grid; grid-template-columns:1fr auto; align-items:start; gap:16px; }
.doc-03 .formato-header-reels { background:var(--gray-900); }
.doc-03 .formato-header-carousel { background:var(--blue-600); }
.doc-03 .formato-header-stories { background:var(--gray-800); }
.doc-03 .formato-eyebrow { font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--blue-300); margin-bottom:6px; }
.doc-03 .formato-header-carousel .formato-eyebrow { color:rgba(255,255,255,.65); }
.doc-03 .formato-header-stories .formato-eyebrow { color:var(--blue-300); }
.doc-03 .formato-nombre { font-size:26px; font-weight:700; letter-spacing:-.02em; color:var(--white); line-height:1.1; }
.doc-03 .formato-tagline { font-size:13px; color:rgba(255,255,255,.5); margin-top:5px; line-height:1.5; }
.doc-03 .formato-specs-pill { display:flex; flex-direction:column; gap:5px; align-items:flex-end; }
.doc-03 .spec-pill { font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; background:rgba(255,255,255,.12); color:rgba(255,255,255,.8); padding:4px 10px; border-radius:20px; white-space:nowrap; }
.doc-03 .formato-body { padding:0; }
.doc-03 .formato-row { display:grid; grid-template-columns:160px 1fr; gap:0; border-bottom:1px solid var(--border); }
.doc-03 .formato-row:last-child { border-bottom:none; }
.doc-03 .formato-row-label { padding:16px 20px; background:var(--gray-50); border-right:1px solid var(--border); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-tertiary); display:flex; align-items:flex-start; padding-top:18px; }
.doc-03 .formato-row-content { padding:16px 20px; font-size:13.5px; color:var(--text-secondary); line-height:1.65; }
.doc-03 .formato-row-content strong { color:var(--text-primary); font-weight:600; }
.doc-03 .formato-row-content ul { padding-left:0; list-style:none; }
.doc-03 .formato-row-content ul li { padding:5px 0 5px 16px; position:relative; border-bottom:1px solid var(--border); font-size:13px; line-height:1.55; }
.doc-03 .formato-row-content ul li:last-child { border-bottom:none; }
.doc-03 .formato-row-content ul li::before { content:'→'; position:absolute; left:0; color:var(--text-tertiary); font-size:11px; top:7px; }
.doc-03 .tipo-tag { display:inline-block; font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; background:var(--blue-50); color:var(--blue-600); padding:3px 8px; border-radius:4px; margin:2px 3px 2px 0; }
.doc-03 .tipo-tag-dark { background:var(--gray-900); color:var(--white); }
.doc-03 .estructura-grid { display:grid; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:24px; }
.doc-03 .estructura-row { display:grid; grid-template-columns:80px 1fr; background:var(--white); }
.doc-03 .estructura-tiempo { padding:14px 16px; background:var(--gray-900); color:var(--white); font-size:11px; font-weight:700; letter-spacing:.08em; text-align:center; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2px; }
.doc-03 .estructura-seg { font-size:18px; font-weight:700; letter-spacing:-.02em; color:var(--blue-300); line-height:1; }
.doc-03 .estructura-unit { font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.4); }
.doc-03 .estructura-content { padding:14px 20px; }
.doc-03 .estructura-content h4 { font-size:13px; font-weight:600; color:var(--text-primary); margin-bottom:4px; }
.doc-03 .estructura-content p { font-size:12.5px; color:var(--text-secondary); line-height:1.55; }
.doc-03 .tipos-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-03 .tipo-cell { background:var(--white); padding:22px 20px; }
.doc-03 .tipo-cell-num { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:8px; }
.doc-03 .tipo-cell h4 { font-size:14px; font-weight:600; color:var(--text-primary); margin-bottom:6px; line-height:1.3; }
.doc-03 .tipo-cell p { font-size:12.5px; color:var(--text-secondary); line-height:1.6; }
.doc-03 .copy-example { background:var(--gray-50); border:1px solid var(--border); border-radius:8px; padding:20px 24px; margin-bottom:16px; }
.doc-03 .copy-example-label { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:10px; }
.doc-03 .copy-example-text { font-size:14px; color:var(--gray-800); line-height:1.75; font-style:italic; }
.doc-03 .copy-example-note { font-size:12px; color:var(--text-tertiary); margin-top:10px; border-top:1px solid var(--border); padding-top:10px; }
.doc-03 .regla-num { font-size:12px; font-weight:700; color:var(--blue-400); padding-top:2px; }
.doc-03 .comp-table { width:100%; border-collapse:collapse; font-size:13px; margin-bottom:32px; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.doc-03 .comp-table th { background:var(--gray-900); color:var(--white); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; text-align:left; padding:12px 16px; border-bottom:1px solid var(--border); }
.doc-03 .comp-table td { padding:13px 16px; color:var(--text-secondary); border-bottom:1px solid var(--border); vertical-align:top; line-height:1.5; }
.doc-03 .comp-table tr:last-child td { border-bottom:none; }
.doc-03 .comp-table tr:hover td { background:var(--gray-50); }
.doc-03 .comp-table .formato-col { font-weight:600; color:var(--text-primary); font-size:13.5px; }
@media(max-width:680px) {
  .doc-03 .cover, .doc-03 .doc-footer { padding:40px 28px 36px; }
  .doc-03 .doc-wrapper { padding:0 24px 80px; }
  .doc-03 .toc-grid, .doc-03 .tipos-grid { grid-template-columns:1fr; }
  .doc-03 .toc-item:nth-child(odd) { border-right:none; padding-right:0; }
  .doc-03 .toc-item:nth-child(even) { padding-left:0; }
  .doc-03 .formato-row, .doc-03 .estructura-row { grid-template-columns:1fr; }
  .doc-03 .formato-row-label { border-right:none; border-bottom:1px solid var(--border); padding-top:14px; padding-bottom:10px; }
  .doc-03 .formato-header { grid-template-columns:1fr; }
  .doc-03 .formato-specs-pill { align-items:flex-start; flex-direction:row; flex-wrap:wrap; }
  .doc-03 .doc-footer { flex-direction:column; gap:16px; }
  .doc-03 .footer-meta { text-align:left; }
}

/* ===================================================================
   Plan-Modulo-04-Podcast.html — scoped module styles (moved from inline <style>)
   =================================================================== */
.doc-04 { --blue-600: #0063E0; --blue-400: #0082FA; --blue-300: #60AEFF; --blue-50:  #E8F0FE; --gray-900: #101A27; --gray-800: #1E2D3D; --gray-600: #475569; --gray-400: #94A3B8; --gray-200: #E2E8F0; --gray-300: #CBD5E1; --gray-50:  #F1F5F8; --white:    #ffffff; --text-primary:   var(--gray-900); --text-secondary: var(--gray-600); --text-tertiary:  var(--gray-400); --border:         var(--gray-200); --green-600: #059669; --green-50:  #ECFDF5; --amber-600: #D97706; --amber-50:  #FFFBEB; --red-50:    #FEF2F2; --red-600:   #DC2626; }
.doc-04 .callout-green { background:var(--green-50); border-left:3px solid var(--green-600); border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.doc-04 .callout-green .callout-label { color:var(--green-600); }
.doc-04 .callout-green p { font-size:14px; color:var(--gray-800); line-height:1.7; }
.doc-04 .callout-amber { background:var(--amber-50); border-left:3px solid var(--amber-600); border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.doc-04 .callout-amber .callout-label { color:var(--amber-600); }
.doc-04 .callout-amber p { font-size:14px; color:var(--gray-800); line-height:1.7; }
.doc-04 .card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-04 .badge-new { background:var(--blue-600); color:var(--white); }
.doc-04 .badge-green { background:var(--green-50); color:var(--green-600); }
.doc-04 .badge-amber { background:var(--amber-50); color:var(--amber-600); }
.doc-04 .badge-red { background:var(--red-50); color:var(--red-600); }
.doc-04 .tl-item { display:grid; grid-template-columns:140px 1fr; gap:32px; margin-bottom:40px; padding-bottom:40px; border-bottom:1px solid var(--border); }
.doc-04 .tl-item:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.doc-04 .tl-phase { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-400); margin-bottom:4px; }
.doc-04 .tl-period { font-size:22px; font-weight:700; color:var(--text-primary); letter-spacing:-.02em; line-height:1.1; }
.doc-04 .tl-right h3 { font-size:17px; font-weight:600; color:var(--text-primary); margin-bottom:12px; }
.doc-04 .tl-right ul { list-style:none; padding:0; }
.doc-04 .tl-right li { font-size:14px; color:var(--text-secondary); padding:6px 0 6px 18px; position:relative; line-height:1.55; border-bottom:1px solid var(--border); }
.doc-04 .tl-right li:last-child { border-bottom:none; }
.doc-04 .tl-right li::before { content:'→'; position:absolute; left:0; color:var(--text-tertiary); font-size:12px; top:7px; }
.doc-04 .pillar-row { display:grid; grid-template-columns:48px 1fr auto; align-items:start; gap:16px; padding:20px 0; border-bottom:1px solid var(--border); }
.doc-04 .pillar-row:first-child { border-top:1px solid var(--border); }
.doc-04 .pillar-icon { width:40px; height:40px; border-radius:8px; background:var(--blue-50); display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
.doc-04 .pillar-body h4 { font-size:14px; font-weight:600; color:var(--text-primary); margin-bottom:4px; }
.doc-04 .pillar-body p { font-size:13px; color:var(--text-secondary); line-height:1.6; }
.doc-04 .pillar-badge { padding-top:4px; }
.doc-04 .ep-card { border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:40px; }
.doc-04 .ep-header { background:var(--gray-900); color:var(--white); padding:20px 24px; display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.doc-04 .ep-header-left { flex:1; }
.doc-04 .ep-num-label { font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:6px; }
.doc-04 .ep-title-main { font-size:18px; font-weight:700; color:var(--white); line-height:1.25; margin-bottom:8px; }
.doc-04 .ep-meta { font-size:12px; color:rgba(255,255,255,.5); }
.doc-04 .ep-meta strong { color:rgba(255,255,255,.8); font-weight:500; }
.doc-04 .ep-header-badges { display:flex; flex-direction:column; gap:6px; align-items:flex-end; flex-shrink:0; }
.doc-04 .ep-body { padding:24px; }
.doc-04 .ep-block { margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid var(--border); }
.doc-04 .ep-block:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.doc-04 .ep-block-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:12px; }
.doc-04 .ep-block-title { font-size:15px; font-weight:600; color:var(--text-primary); margin-bottom:12px; }
.doc-04 .q-list { list-style:none; padding:0; }
.doc-04 .q-list li { font-size:13.5px; color:var(--text-secondary); padding:8px 0 8px 20px; position:relative; line-height:1.6; border-bottom:1px solid var(--border); }
.doc-04 .q-list li:last-child { border-bottom:none; }
.doc-04 .q-list li::before { content:'Q'; position:absolute; left:0; color:var(--text-tertiary); font-size:10px; font-weight:700; top:10px; }
.doc-04 .q-list li strong { color:var(--text-primary); font-weight:600; }
.doc-04 .clip-list { list-style:none; padding:0; }
.doc-04 .clip-item { display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--border); }
.doc-04 .clip-item:last-child { border-bottom:none; }
.doc-04 .clip-num { width:24px; height:24px; border-radius:50%; background:var(--gray-900); color:var(--white); font-size:10px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.doc-04 .clip-body { flex:1; }
.doc-04 .clip-title { font-size:13.5px; font-weight:600; color:var(--text-primary); margin-bottom:3px; }
.doc-04 .clip-desc { font-size:12.5px; color:var(--text-secondary); line-height:1.55; }
.doc-04 .prod-note { background:var(--amber-50); border:1px solid #FDE68A; border-radius:8px; padding:16px 20px; margin-bottom:0; }
.doc-04 .prod-note-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--amber-600); margin-bottom:10px; }
.doc-04 .prod-note ul { list-style:none; padding:0; }
.doc-04 .prod-note li { font-size:13px; color:var(--gray-800); padding:5px 0 5px 16px; position:relative; line-height:1.6; border-bottom:1px solid #FDE68A; }
.doc-04 .prod-note li:last-child { border-bottom:none; }
.doc-04 .prod-note li::before { content:'📌'; position:absolute; left:0; font-size:11px; top:6px; }
.doc-04 .ep-structure { display:grid; grid-template-columns:1fr 3fr 2fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:8px; overflow:hidden; margin-bottom:0; }
.doc-04 .ep-seg { padding:14px 12px; text-align:center; }
.doc-04 .ep-seg-label { font-size:12px; font-weight:600; margin-bottom:2px; }
.doc-04 .ep-seg-time { font-size:11px; opacity:.7; }
.doc-04 .seg-blue { background:var(--blue-50); }
.doc-04 .seg-blue .ep-seg-label { color:var(--blue-600); }
.doc-04 .seg-blue .ep-seg-time { color:var(--blue-400); }
.doc-04 .seg-dark { background:var(--gray-900); }
.doc-04 .seg-dark .ep-seg-label { color:var(--white); }
.doc-04 .seg-dark .ep-seg-time { color:rgba(255,255,255,.5); }
.doc-04 .seg-green { background:var(--green-50); }
.doc-04 .seg-green .ep-seg-label { color:var(--green-600); }
.doc-04 .seg-green .ep-seg-time { color:var(--green-600); opacity:.7; }
.doc-04 .ecosystem { border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-04 .eco-header { background:var(--gray-900); color:var(--white); padding:18px 24px; }
.doc-04 .eco-header h4 { font-size:14px; font-weight:600; }
.doc-04 .eco-header p { font-size:12px; color:rgba(255,255,255,.5); margin-top:2px; }
.doc-04 .eco-row { display:grid; grid-template-columns:160px 1fr; gap:0; border-bottom:1px solid var(--border); }
.doc-04 .eco-row:last-child { border-bottom:none; }
.doc-04 .eco-left { padding:16px 20px; background:var(--gray-50); border-right:1px solid var(--border); font-size:13px; font-weight:600; color:var(--text-primary); display:flex; align-items:center; }
.doc-04 .eco-right { padding:16px 20px; font-size:13px; color:var(--text-secondary); line-height:1.6; }
.doc-04 .hosts-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-04 .host-card { background:var(--white); padding:20px; }
.doc-04 .host-role { font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--blue-400); margin-bottom:6px; }
.doc-04 .host-name { font-size:15px; font-weight:600; color:var(--text-primary); margin-bottom:3px; }
.doc-04 .host-org { font-size:12px; color:var(--text-tertiary); }
.doc-04 .season-table { width:100%; border-collapse:collapse; font-size:13.5px; margin-bottom:32px; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.doc-04 .season-table th { background:var(--gray-900); color:var(--white); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; text-align:left; padding:12px 16px; border-bottom:1px solid var(--border); }
.doc-04 .season-table td { padding:14px 16px; color:var(--text-secondary); border-bottom:1px solid var(--border); vertical-align:top; line-height:1.55; }
.doc-04 .season-table tr:last-child td { border-bottom:none; }
.doc-04 .season-table tr:hover td { background:var(--gray-50); }
@media(max-width:680px) {
  .doc-04 .cover, .doc-04 .doc-footer { padding:40px 28px 36px; }
  .doc-04 .doc-wrapper { padding:0 24px 80px; }
  .doc-04 .toc-grid { grid-template-columns:1fr; }
  .doc-04 .toc-item:nth-child(odd) { border-right:none; padding-right:0; }
  .doc-04 .toc-item:nth-child(even) { padding-left:0; }
  .doc-04 .tl-item { grid-template-columns:1fr; gap:8px; }
  .doc-04 .ep-structure { grid-template-columns:1fr 1fr; }
  .doc-04 .eco-row { grid-template-columns:1fr; }
  .doc-04 .eco-left { border-right:none; border-bottom:1px solid var(--border); }
  .doc-04 .ep-header { flex-direction:column; }
  .doc-04 .ep-header-badges { flex-direction:row; align-items:flex-start; }
  .doc-04 .doc-footer { flex-direction:column; gap:16px; }
  .doc-04 .footer-meta { text-align:left; }
}

/* ===================================================================
   Plan-Modulo-05-Social.html — scoped module styles (moved from inline <style>)
   =================================================================== */
.doc-05 { --blue-600: #0063E0; --blue-400: #0082FA; --blue-300: #60AEFF; --blue-50:  #E8F0FE; --gray-900: #101A27; --gray-800: #1E2D3D; --gray-600: #475569; --gray-400: #94A3B8; --gray-200: #E2E8F0; --gray-300: #CBD5E1; --gray-50:  #F1F5F8; --white:    #ffffff; --text-primary:   var(--gray-900); --text-secondary: var(--gray-600); --text-tertiary:  var(--gray-400); --border:         var(--gray-200); }
.doc-05 .callout-pending { background:#FFFBEB; border-left:3px solid #F59E0B; border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.doc-05 .callout-pending-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#B45309; margin-bottom:8px; }
.doc-05 .callout-pending p { font-size:14px; color:#78350F; line-height:1.7; }
.doc-05 .badge-new { background:var(--blue-600); color:var(--white); }
.doc-05 .badge-green { background:#DCFCE7; color:#15803D; }
.doc-05 .badge-amber { background:#FEF3C7; color:#B45309; }
.doc-05 .sub-h3-sm { font-size:15px; font-weight:600; color:var(--text-primary); margin-bottom:16px; }
.doc-05 .pilar-block { border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:32px; }
.doc-05 .pilar-header { display:grid; grid-template-columns:1fr auto; align-items:start; padding:24px 28px 20px; border-bottom:1px solid var(--border); }
.doc-05 .pilar-header-core { background:var(--gray-900); }
.doc-05 .pilar-header-sec { background:var(--gray-50); }
.doc-05 .pilar-num-tag { font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--blue-400); margin-bottom:6px; }
.doc-05 .pilar-header-core .pilar-num-tag { color:var(--blue-300); }
.doc-05 .pilar-name { font-size:22px; font-weight:700; letter-spacing:-.02em; color:var(--text-primary); line-height:1.1; }
.doc-05 .pilar-header-core .pilar-name { color:var(--white); }
.doc-05 .pilar-tagline { font-size:13px; color:var(--text-tertiary); margin-top:4px; line-height:1.5; }
.doc-05 .pilar-header-core .pilar-tagline { color:rgba(255,255,255,.5); }
.doc-05 .pilar-day-pill { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; background:var(--blue-600); color:var(--white); padding:5px 12px; border-radius:20px; white-space:nowrap; margin-top:4px; }
.doc-05 .pilar-header-sec .pilar-day-pill { background:var(--blue-50); color:var(--blue-600); }
.doc-05 .pilar-body { padding:0; }
.doc-05 .pilar-row { display:grid; grid-template-columns:160px 1fr; gap:0; border-bottom:1px solid var(--border); }
.doc-05 .pilar-row:last-child { border-bottom:none; }
.doc-05 .pilar-row-label { padding:16px 20px; background:var(--gray-50); border-right:1px solid var(--border); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-tertiary); display:flex; align-items:flex-start; padding-top:18px; }
.doc-05 .pilar-row-content { padding:16px 20px; font-size:13.5px; color:var(--text-secondary); line-height:1.65; }
.doc-05 .pilar-row-content strong { color:var(--text-primary); font-weight:600; }
.doc-05 .pilar-row-content ul { padding-left:0; list-style:none; }
.doc-05 .pilar-row-content ul li { padding:4px 0 4px 16px; position:relative; border-bottom:1px solid var(--border); font-size:13px; }
.doc-05 .pilar-row-content ul li:last-child { border-bottom:none; }
.doc-05 .pilar-row-content ul li::before { content:'→'; position:absolute; left:0; color:var(--text-tertiary); font-size:11px; top:6px; }
.doc-05 .formato-tag { display:inline-block; font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; background:var(--blue-50); color:var(--blue-600); padding:3px 8px; border-radius:4px; margin:2px 3px 2px 0; }
.doc-05 .sub-serie-tag { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; background:var(--gray-900); color:var(--white); padding:4px 10px; border-radius:4px; margin-top:6px; }
.doc-05 .week-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-05 .week-day { background:var(--white); padding:16px 14px; min-height:160px; }
.doc-05 .week-day-name { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:12px; padding-bottom:8px; border-bottom:1px solid var(--border); }
.doc-05 .week-post { background:var(--blue-50); border-radius:6px; padding:8px 10px; margin-bottom:6px; }
.doc-05 .week-post-pilar { font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue-600); margin-bottom:2px; }
.doc-05 .week-post-desc { font-size:11px; color:var(--gray-800); line-height:1.4; font-weight:500; }
.doc-05 .week-post-fmt { font-size:9px; color:var(--text-tertiary); margin-top:2px; }
.doc-05 .week-post-clip { background:var(--gray-50); border:1px solid var(--border); border-radius:6px; padding:8px 10px; margin-bottom:6px; }
.doc-05 .week-post-clip .week-post-pilar { color:var(--text-tertiary); }
.doc-05 .week-rest { font-size:11px; color:var(--text-tertiary); font-style:italic; padding-top:4px; }
.doc-05 .cadencia-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-05 .cadencia-cell { background:var(--white); padding:20px 18px; }
.doc-05 .cadencia-label { font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:6px; }
.doc-05 .cadencia-value { font-size:22px; font-weight:700; letter-spacing:-.03em; color:var(--blue-600); margin-bottom:3px; line-height:1; }
.doc-05 .cadencia-note { font-size:11px; color:var(--text-tertiary); line-height:1.4; }
.doc-05 .two-col { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px 10px 0 0; overflow:hidden; }
.doc-05 .two-col-cell { background:var(--white); padding:24px; }
.doc-05 .two-col-cell h4 { font-size:13px; font-weight:600; color:var(--text-primary); margin-bottom:10px; }
.doc-05 .two-col-cell p { font-size:13px; color:var(--text-secondary); line-height:1.65; }
.doc-05 .two-col-cell ul { list-style:none; padding:0; }
.doc-05 .two-col-cell ul li { font-size:13px; color:var(--text-secondary); padding:5px 0 5px 16px; position:relative; border-bottom:1px solid var(--border); line-height:1.5; }
.doc-05 .two-col-cell ul li:last-child { border-bottom:none; }
.doc-05 .two-col-cell ul li::before { content:'→'; position:absolute; left:0; color:var(--text-tertiary); font-size:11px; top:7px; }
.doc-05 .full-row { background:var(--blue-50); border:1px solid var(--border); border-top:none; border-radius:0 0 10px 10px; padding:24px; margin-bottom:32px; }
.doc-05 .full-row h4 { font-size:13px; font-weight:600; color:var(--blue-600); margin-bottom:8px; }
.doc-05 .full-row p { font-size:13.5px; color:var(--gray-800); line-height:1.7; }
.doc-05 .regla-num { font-size:12px; font-weight:700; color:var(--text-tertiary); padding-top:2px; }
@media(max-width:680px) {
  .doc-05 .cover, .doc-05 .doc-footer { padding:40px 28px 36px; }
  .doc-05 .doc-wrapper { padding:0 24px 80px; }
  .doc-05 .toc-grid, .doc-05 .two-col { grid-template-columns:1fr; }
  .doc-05 .toc-item:nth-child(odd) { border-right:none; padding-right:0; }
  .doc-05 .toc-item:nth-child(even) { padding-left:0; }
  .doc-05 .pilar-row { grid-template-columns:1fr; }
  .doc-05 .pilar-row-label { border-right:none; border-bottom:1px solid var(--border); padding-top:14px; padding-bottom:10px; }
  .doc-05 .week-grid { grid-template-columns:1fr 1fr; }
  .doc-05 .cadencia-strip { grid-template-columns:1fr 1fr; }
  .doc-05 .doc-footer { flex-direction:column; gap:16px; }
  .doc-05 .footer-meta { text-align:left; }
}

/* ===================================================================
   Plan-Modulo-06-Newsletter.html — scoped module styles (moved from inline <style>)
   =================================================================== */
.doc-06 { --blue-600: #0063E0; --blue-400: #0082FA; --blue-300: #60AEFF; --blue-50:  #E8F0FE; --gray-900: #101A27; --gray-800: #1E2D3D; --gray-600: #475569; --gray-400: #94A3B8; --gray-200: #E2E8F0; --gray-300: #CBD5E1; --gray-50:  #F1F5F8; --white:    #ffffff; --text-primary:   var(--gray-900); --text-secondary: var(--gray-600); --text-tertiary:  var(--gray-400); --border:         var(--gray-200); }
.doc-06 .regla-num { font-size:12px; font-weight:700; color:var(--text-tertiary); padding-top:2px; }
.doc-06 .email-anatomy { border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:32px; }
.doc-06 .email-section-row { display:grid; grid-template-columns:140px 1fr; border-bottom:1px solid var(--border); }
.doc-06 .email-section-row:last-child { border-bottom:none; }
.doc-06 .email-section-label { padding:18px 20px; background:var(--gray-900); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue-300); display:flex; align-items:flex-start; padding-top:20px; }
.doc-06 .email-section-content { padding:18px 20px; font-size:13.5px; color:var(--text-secondary); line-height:1.65; }
.doc-06 .email-section-content strong { color:var(--text-primary); font-weight:600; }
.doc-06 .email-example { background:var(--gray-50); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-06 .email-example-header { background:var(--gray-900); padding:16px 24px; display:flex; justify-content:space-between; align-items:center; }
.doc-06 .email-example-from { font-size:12px; color:rgba(255,255,255,.5); }
.doc-06 .email-example-subject { font-size:13px; font-weight:600; color:var(--white); }
.doc-06 .email-example-body { padding:24px; }
.doc-06 .email-example-body p { font-size:13.5px; color:var(--text-secondary); line-height:1.75; margin-bottom:14px; }
.doc-06 .email-example-body p:last-child { margin-bottom:0; }
.doc-06 .email-example-body strong { color:var(--text-primary); font-weight:600; }
.doc-06 .email-example-divider { border:none; border-top:1px solid var(--border); margin:16px 0; }
.doc-06 .email-example-label { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:10px; }
.doc-06 .seq-grid { display:grid; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-06 .seq-row { display:grid; grid-template-columns:100px 1fr; background:var(--white); }
.doc-06 .seq-num { padding:18px 16px; background:var(--blue-600); color:var(--white); font-size:11px; font-weight:700; text-align:center; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2px; }
.doc-06 .seq-day { font-size:20px; font-weight:700; letter-spacing:-.02em; color:var(--white); line-height:1; }
.doc-06 .seq-unit { font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.doc-06 .seq-content { padding:16px 20px; }
.doc-06 .seq-content h4 { font-size:13px; font-weight:600; color:var(--text-primary); margin-bottom:4px; }
.doc-06 .seq-content p { font-size:12.5px; color:var(--text-secondary); line-height:1.55; }
.doc-06 .two-col { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-06 .two-col-cell { background:var(--white); padding:24px; }
.doc-06 .two-col-cell h4 { font-size:13px; font-weight:600; color:var(--text-primary); margin-bottom:10px; }
.doc-06 .two-col-cell ul { list-style:none; padding:0; }
.doc-06 .two-col-cell ul li { font-size:13px; color:var(--text-secondary); padding:5px 0 5px 16px; position:relative; border-bottom:1px solid var(--border); line-height:1.5; }
.doc-06 .two-col-cell ul li:last-child { border-bottom:none; }
.doc-06 .two-col-cell ul li::before { content:'→'; position:absolute; left:0; color:var(--text-tertiary); font-size:11px; top:7px; }
@media(max-width:680px) {
  .doc-06 .cover, .doc-06 .doc-footer { padding:40px 28px 36px; }
  .doc-06 .doc-wrapper { padding:0 24px 80px; }
  .doc-06 .toc-grid, .doc-06 .two-col { grid-template-columns:1fr; }
  .doc-06 .toc-item:nth-child(odd) { border-right:none; padding-right:0; }
  .doc-06 .toc-item:nth-child(even) { padding-left:0; }
  .doc-06 .email-section-row, .doc-06 .seq-row { grid-template-columns:1fr; }
  .doc-06 .email-section-label { border-bottom:1px solid var(--border); }
  .doc-06 .doc-footer { flex-direction:column; gap:16px; }
  .doc-06 .footer-meta { text-align:left; }
}

/* ===================================================================
   Plan-Modulo-07-WhatsApp.html — scoped module styles (moved from inline <style>)
   =================================================================== */
.doc-07 { --blue-600: #0063E0; --blue-400: #0082FA; --blue-300: #60AEFF; --blue-50:  #E8F0FE; --green-600: #25D366; --green-50:  #DCFCE7; --green-900: #14532D; --gray-900: #101A27; --gray-800: #1E2D3D; --gray-600: #475569; --gray-400: #94A3B8; --gray-200: #E2E8F0; --gray-300: #CBD5E1; --gray-50:  #F1F5F8; --white:    #ffffff; --text-primary:   var(--gray-900); --text-secondary: var(--gray-600); --text-tertiary:  var(--gray-400); --border:         var(--gray-200); }
.doc-07 .callout-green { background:var(--green-50); border-left:3px solid var(--green-600); border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.doc-07 .callout-green-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green-900); margin-bottom:8px; }
.doc-07 .callout-green p { font-size:14px; color:var(--green-900); line-height:1.7; }
.doc-07 .callout-green p strong { color:var(--green-900); font-weight:600; }
.doc-07 .modo-block { border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:40px; }
.doc-07 .modo-header { padding:24px 28px 20px; border-bottom:1px solid var(--border); display:grid; grid-template-columns:1fr auto; align-items:start; gap:16px; }
.doc-07 .modo-header-broadcast { background:#075E54; }
.doc-07 .modo-header-comunidad { background:#128C7E; }
.doc-07 .modo-header-atencion { background:var(--gray-900); }
.doc-07 .modo-eyebrow { font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:6px; }
.doc-07 .modo-nombre { font-size:24px; font-weight:700; letter-spacing:-.02em; color:var(--white); line-height:1.1; }
.doc-07 .modo-tagline { font-size:13px; color:rgba(255,255,255,.5); margin-top:5px; line-height:1.5; }
.doc-07 .modo-specs { display:flex; flex-direction:column; gap:5px; align-items:flex-end; }
.doc-07 .spec-pill { font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; background:rgba(255,255,255,.12); color:rgba(255,255,255,.8); padding:4px 10px; border-radius:20px; white-space:nowrap; }
.doc-07 .modo-body { padding:0; }
.doc-07 .modo-row { display:grid; grid-template-columns:160px 1fr; border-bottom:1px solid var(--border); }
.doc-07 .modo-row:last-child { border-bottom:none; }
.doc-07 .modo-row-label { padding:16px 20px; background:var(--gray-50); border-right:1px solid var(--border); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-tertiary); display:flex; align-items:flex-start; padding-top:18px; }
.doc-07 .modo-row-content { padding:16px 20px; font-size:13.5px; color:var(--text-secondary); line-height:1.65; }
.doc-07 .modo-row-content strong { color:var(--text-primary); font-weight:600; }
.doc-07 .modo-row-content ul { list-style:none; padding:0; }
.doc-07 .modo-row-content ul li { padding:5px 0 5px 16px; position:relative; border-bottom:1px solid var(--border); font-size:13px; line-height:1.55; }
.doc-07 .modo-row-content ul li:last-child { border-bottom:none; }
.doc-07 .modo-row-content ul li::before { content:'→'; position:absolute; left:0; color:#25D366; font-size:11px; top:7px; }
.doc-07 .msg-example { background:#E7FFDB; border:1px solid #c8f0b0; border-radius:12px 12px 2px 12px; padding:16px 20px; margin-bottom:12px; max-width:85%; }
.doc-07 .msg-example-label { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#15803D; margin-bottom:8px; }
.doc-07 .msg-example p { font-size:13.5px; color:var(--gray-900); line-height:1.7; }
.doc-07 .msg-example-time { font-size:11px; color:var(--text-tertiary); text-align:right; margin-top:6px; }
.doc-07 .msg-wrap { background:var(--gray-50); border:1px solid var(--border); border-radius:10px; padding:20px 24px; margin-bottom:32px; }
.doc-07 .msg-wrap-label { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:16px; }
.doc-07 .regla-num { font-size:12px; font-weight:700; color:#25D366; padding-top:2px; }
.doc-07 .flujo-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-07 .flujo-step { background:var(--white); padding:22px 20px; }
.doc-07 .flujo-step-tag { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:8px; }
.doc-07 .flujo-step h4 { font-size:14px; font-weight:600; color:var(--text-primary); margin-bottom:8px; line-height:1.3; }
.doc-07 .flujo-step p { font-size:12.5px; color:var(--text-secondary); line-height:1.6; }
.doc-07 .flujo-step-dark { background:var(--gray-900); }
.doc-07 .flujo-step-dark .flujo-step-tag { color:var(--green-600); }
.doc-07 .flujo-step-dark h4 { color:var(--white); }
.doc-07 .flujo-step-dark p { color:rgba(255,255,255,.55); }
.doc-07 .doc-footer { background:#075E54; color:var(--white); padding:40px max(40px, calc((100% - 1136px) / 2)); display:flex; justify-content:space-between; align-items:center; }
@media(max-width:680px) {
  .doc-07 .cover, .doc-07 .doc-footer { padding:40px 28px 36px; }
  .doc-07 .doc-wrapper { padding:0 24px 80px; }
  .doc-07 .toc-grid { grid-template-columns:1fr; }
  .doc-07 .toc-item:nth-child(odd) { border-right:none; padding-right:0; }
  .doc-07 .toc-item:nth-child(even) { padding-left:0; }
  .doc-07 .modo-header, .doc-07 .modo-row { grid-template-columns:1fr; }
  .doc-07 .modo-row-label { border-right:none; border-bottom:1px solid var(--border); }
  .doc-07 .modo-specs { align-items:flex-start; flex-direction:row; flex-wrap:wrap; }
  .doc-07 .doc-footer { flex-direction:column; gap:16px; }
  .doc-07 .footer-meta { text-align:left; }
}

/* ===================================================================
   Plan-Modulo-08-Reviews.html — scoped module styles (moved from inline <style>)
   =================================================================== */
.doc-08 { --blue-600: #0063E0; --blue-400: #0082FA; --blue-300: #60AEFF; --blue-50:  #E8F0FE; --google-yellow: #FBBC04; --google-blue:   #4285F4; --google-red:    #EA4335; --google-green:  #34A853; --gray-900: #101A27; --gray-800: #1E2D3D; --gray-600: #475569; --gray-400: #94A3B8; --gray-200: #E2E8F0; --gray-300: #CBD5E1; --gray-50:  #F1F5F8; --white:    #ffffff; --text-primary:   var(--gray-900); --text-secondary: var(--gray-600); --text-tertiary:  var(--gray-400); --border:         var(--gray-200); }
.doc-08 .toc-num { font-size:11px; font-weight:600; color:var(--blue-400); min-width:24px; flex-shrink:0; }
.doc-08 .section-meta { font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-400); margin-bottom:8px; }
.doc-08 .callout { background:var(--blue-50); border-left:3px solid var(--blue-400); border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.doc-08 .callout-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-600); margin-bottom:8px; }
.doc-08 .callout-yellow { background:#FFFBEB; border-left:3px solid var(--google-yellow); border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.doc-08 .callout-yellow-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#92400E; margin-bottom:8px; }
.doc-08 .callout-yellow p { font-size:14px; color:#78350F; line-height:1.7; }
.doc-08 .callout-yellow p strong { color:#92400E; font-weight:600; }
.doc-08 .card-num { font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--blue-400); margin-bottom:10px; }
.doc-08 .pull-quote { border-top:2px solid var(--google-yellow); border-bottom:1px solid var(--border); padding:28px 0; margin:40px 0; }
.doc-08 .pull-quote cite { display:block; margin-top:12px; font-size:12px; font-style:normal; color:var(--text-tertiary); letter-spacing:.05em; text-transform:uppercase; }
.doc-08 .kpi-value { font-size:26px; font-weight:700; letter-spacing:-.03em; color:var(--blue-600); margin-bottom:4px; line-height:1; }
.doc-08 .review-card { border:1px solid var(--border); border-radius:12px; padding:24px; margin-bottom:16px; background:var(--white); }
.doc-08 .review-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:12px; }
.doc-08 .review-user { font-size:14px; font-weight:600; color:var(--text-primary); }
.doc-08 .review-type { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:3px 8px; border-radius:4px; }
.doc-08 .review-type-buena { background:#DCFCE7; color:#15803D; }
.doc-08 .review-type-critica { background:#FEE2E2; color:#B91C1C; }
.doc-08 .review-stars { color:var(--google-yellow); font-size:14px; margin-bottom:10px; }
.doc-08 .review-text { font-size:13.5px; color:var(--text-secondary); line-height:1.7; font-style:italic; margin-bottom:16px; }
.doc-08 .review-response { background:var(--gray-50); border-left:3px solid var(--blue-400); border-radius:0 8px 8px 0; padding:14px 16px; }
.doc-08 .review-response-label { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue-600); margin-bottom:6px; }
.doc-08 .review-response p { font-size:13px; color:var(--gray-800); line-height:1.65; }
.doc-08 .flujo-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-08 .flujo-step { background:var(--white); padding:22px 20px; }
.doc-08 .flujo-step-tag { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-400); margin-bottom:8px; }
.doc-08 .flujo-step h4 { font-size:14px; font-weight:600; color:var(--text-primary); margin-bottom:8px; line-height:1.3; }
.doc-08 .flujo-step p { font-size:12.5px; color:var(--text-secondary); line-height:1.6; }
.doc-08 .flujo-step-dark { background:var(--gray-900); }
.doc-08 .flujo-step-dark .flujo-step-tag { color:var(--google-yellow); }
.doc-08 .flujo-step-dark h4 { color:var(--white); }
.doc-08 .flujo-step-dark p { color:rgba(255,255,255,.55); }
.doc-08 .regla-num { font-size:12px; font-weight:700; color:var(--google-yellow); padding-top:2px; }
.doc-08 .check-list { border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-08 .check-header { background:var(--gray-50); padding:14px 20px; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-tertiary); border-bottom:1px solid var(--border); }
.doc-08 .check-item { display:grid; grid-template-columns:28px 1fr auto; gap:12px; align-items:start; padding:14px 20px; border-bottom:1px solid var(--border); background:var(--white); }
.doc-08 .check-item:last-child { border-bottom:none; }
.doc-08 .check-box { width:18px; height:18px; border:2px solid var(--border); border-radius:4px; margin-top:2px; flex-shrink:0; }
.doc-08 .check-text { font-size:13.5px; color:var(--text-secondary); line-height:1.6; }
.doc-08 .check-text strong { color:var(--text-primary); font-weight:600; }
.doc-08 .check-badge { font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:3px 8px; border-radius:4px; white-space:nowrap; align-self:flex-start; margin-top:2px; }
.doc-08 .check-badge-critico { background:#FEE2E2; color:#B91C1C; }
.doc-08 .check-badge-importante { background:#FEF3C7; color:#B45309; }
.doc-08 .check-badge-opcional { background:var(--gray-200); color:var(--gray-800); }
@media(max-width:680px) {
  .doc-08 .cover, .doc-08 .doc-footer { padding:40px 28px 36px; }
  .doc-08 .doc-wrapper { padding:0 24px 80px; }
  .doc-08 .toc-grid { grid-template-columns:1fr; }
  .doc-08 .toc-item:nth-child(odd) { border-right:none; padding-right:0; }
  .doc-08 .toc-item:nth-child(even) { padding-left:0; }
  .doc-08 .check-item { grid-template-columns:28px 1fr; }
  .doc-08 .check-badge { display:none; }
  .doc-08 .doc-footer { flex-direction:column; gap:16px; }
  .doc-08 .footer-meta { text-align:left; }
}
.doc-08 .doc-wrapper > .section { grid-column: 2 !important; }

/* ===================================================================
   Plan-Modulo-09-Ads.html — scoped module styles (moved from inline <style>)
   =================================================================== */
.doc-09 { --blue-600: #0063E0; --blue-400: #0082FA; --blue-300: #60AEFF; --blue-50:  #E8F0FE; --gray-900: #101A27; --gray-800: #1E2D3D; --gray-600: #475569; --gray-400: #94A3B8; --gray-200: #E2E8F0; --gray-300: #CBD5E1; --gray-50:  #F1F5F8; --white:    #ffffff; --text-primary:   var(--gray-900); --text-secondary: var(--gray-600); --text-tertiary:  var(--gray-400); --border:         var(--gray-200); }
.doc-09 .badge-green { background:#DCFCE7; color:#15803D; }
.doc-09 .badge-amber { background:#FEF3C7; color:#B45309; }
.doc-09 .funnel-wrap { margin-bottom:32px; }
.doc-09 .funnel-stage { display:grid; grid-template-columns:120px 1fr; gap:0; margin-bottom:1px; border-radius:0; overflow:hidden; border:1px solid var(--border); border-bottom:none; }
.doc-09 .funnel-stage:first-child { border-radius:10px 10px 0 0; }
.doc-09 .funnel-stage:last-child { border-bottom:1px solid var(--border); border-radius:0 0 10px 10px; }
.doc-09 .funnel-stage-left { padding:20px 16px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:4px; }
.doc-09 .funnel-stage-left-awareness { background:var(--blue-600); }
.doc-09 .funnel-stage-left-intencion { background:var(--gray-900); }
.doc-09 .funnel-stage-left-retargeting { background:var(--gray-800); }
.doc-09 .funnel-stage-left-conversion { background:var(--blue-400); }
.doc-09 .funnel-stage-label { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.6); }
.doc-09 .funnel-stage-name { font-size:14px; font-weight:700; color:var(--white); line-height:1.2; }
.doc-09 .funnel-stage-right { background:var(--white); padding:20px 24px; display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:center; }
.doc-09 .funnel-channel {  }
.doc-09 .funnel-channel-label { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:4px; }
.doc-09 .funnel-channel-name { font-size:14px; font-weight:600; color:var(--text-primary); margin-bottom:4px; }
.doc-09 .funnel-channel-desc { font-size:12.5px; color:var(--text-secondary); line-height:1.5; }
.doc-09 .funnel-channel-solo { grid-column:1/-1; }
.doc-09 .funnel-divider { width:1px; background:var(--border); align-self:stretch; }
.doc-09 .canal-block { border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:16px; }
.doc-09 .canal-header { padding:20px 24px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:16px; }
.doc-09 .canal-header-meta { background:var(--gray-900); }
.doc-09 .canal-header-google { background:#1a1a2e; }
.doc-09 .canal-header-youtube { background:#CC0000; }
.doc-09 .canal-header-retarget { background:var(--gray-800); }
.doc-09 .canal-eyebrow { font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:4px; }
.doc-09 .canal-nombre { font-size:20px; font-weight:700; letter-spacing:-.02em; color:var(--white); }
.doc-09 .canal-objetivo { font-size:12px; color:rgba(255,255,255,.5); margin-top:3px; }
.doc-09 .canal-pct { font-size:28px; font-weight:700; color:var(--white); letter-spacing:-.03em; line-height:1; }
.doc-09 .canal-pct-label { font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-top:3px; text-align:right; }
.doc-09 .regla-num { font-size:12px; font-weight:700; color:var(--text-tertiary); padding-top:2px; }
.doc-09 .wip-banner { background:var(--gray-50); border:1px dashed var(--gray-400); border-radius:8px; padding:20px 24px; margin:48px 0 0; text-align:center; }
.doc-09 .wip-banner p { font-size:13px; color:var(--text-tertiary); }
.doc-09 .wip-banner strong { color:var(--text-primary); }
@media(max-width:680px) {
  .doc-09 .cover, .doc-09 .doc-footer { padding:40px 28px 36px; }
  .doc-09 .doc-wrapper { padding:0 24px 80px; }
  .doc-09 .toc-grid { grid-template-columns:1fr; }
  .doc-09 .toc-item:nth-child(odd) { border-right:none; padding-right:0; }
  .doc-09 .toc-item:nth-child(even) { padding-left:0; }
  .doc-09 .funnel-stage, .doc-09 .canal-header { grid-template-columns:1fr; }
  .doc-09 .funnel-stage-right { grid-template-columns:1fr; }
  .doc-09 .funnel-divider { display:none; }
  .doc-09 .doc-footer { flex-direction:column; gap:16px; }
  .doc-09 .footer-meta { text-align:left; }
}

/* ===================================================================
   Plan-Modulo-10-MicroEventos.html — scoped module styles (moved from inline <style>)
   =================================================================== */
.doc-10 { --blue-600: #0063E0; --blue-400: #0082FA; --blue-300: #60AEFF; --blue-50:  #E8F0FE; --gray-900: #101A27; --gray-800: #1E2D3D; --gray-600: #475569; --gray-400: #94A3B8; --gray-200: #E2E8F0; --gray-300: #CBD5E1; --gray-50:  #F1F5F8; --white:    #ffffff; --text-primary:   var(--gray-900); --text-secondary: var(--gray-600); --text-tertiary:  var(--gray-400); --border:         var(--gray-200); }
.doc-10 .badge-green { background:#DCFCE7; color:#15803D; }
.doc-10 .badge-amber { background:#FEF3C7; color:#B45309; }
.doc-10 .sub-h3-sm { font-size:15px; font-weight:600; color:var(--text-primary); margin-bottom:16px; }
.doc-10 .tl-item { display:grid; grid-template-columns:140px 1fr; gap:32px; margin-bottom:0; padding:28px 0; border-bottom:1px solid var(--border); }
.doc-10 .tl-item:last-child { border-bottom:none; }
.doc-10 .tl-phase { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-400); margin-bottom:4px; }
.doc-10 .tl-period { font-size:20px; font-weight:700; color:var(--text-primary); letter-spacing:-.02em; line-height:1.1; }
.doc-10 .tl-right h3 { font-size:15px; font-weight:600; color:var(--text-primary); margin-bottom:10px; }
.doc-10 .tl-right ul { list-style:none; padding:0; }
.doc-10 .tl-right li { font-size:13.5px; color:var(--text-secondary); padding:6px 0 6px 18px; position:relative; line-height:1.55; border-bottom:1px solid var(--border); }
.doc-10 .tl-right li:last-child { border-bottom:none; }
.doc-10 .tl-right li::before { content:'→'; position:absolute; left:0; color:var(--text-tertiary); font-size:11px; top:8px; }
.doc-10 .tl-wrap { border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; padding:0 24px; }
.doc-10 .evento-block { border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:40px; }
.doc-10 .evento-header { padding:24px 28px 20px; border-bottom:1px solid var(--border); display:grid; grid-template-columns:1fr auto; align-items:start; gap:16px; }
.doc-10 .evento-header-micro { background:var(--blue-600); }
.doc-10 .evento-header-sesion { background:var(--gray-800); }
.doc-10 .evento-header-next { background:var(--gray-900); }
.doc-10 .evento-eyebrow { font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:6px; }
.doc-10 .evento-nombre { font-size:24px; font-weight:700; letter-spacing:-.02em; color:var(--white); line-height:1.1; }
.doc-10 .evento-tagline { font-size:13px; color:rgba(255,255,255,.5); margin-top:5px; line-height:1.5; }
.doc-10 .evento-specs-pill { display:flex; flex-direction:column; gap:5px; align-items:flex-end; }
.doc-10 .spec-pill { font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; background:rgba(255,255,255,.12); color:rgba(255,255,255,.8); padding:4px 10px; border-radius:20px; white-space:nowrap; }
.doc-10 .evento-body { padding:0; }
.doc-10 .evento-row { display:grid; grid-template-columns:160px 1fr; gap:0; border-bottom:1px solid var(--border); }
.doc-10 .evento-row:last-child { border-bottom:none; }
.doc-10 .evento-row-label { padding:16px 20px; background:var(--gray-50); border-right:1px solid var(--border); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-tertiary); display:flex; align-items:flex-start; padding-top:18px; }
.doc-10 .evento-row-content { padding:16px 20px; font-size:13.5px; color:var(--text-secondary); line-height:1.65; }
.doc-10 .evento-row-content strong { color:var(--text-primary); font-weight:600; }
.doc-10 .evento-row-content ul { padding-left:0; list-style:none; }
.doc-10 .evento-row-content ul li { padding:5px 0 5px 16px; position:relative; border-bottom:1px solid var(--border); font-size:13px; line-height:1.55; }
.doc-10 .evento-row-content ul li:last-child { border-bottom:none; }
.doc-10 .evento-row-content ul li::before { content:'→'; position:absolute; left:0; color:var(--text-tertiary); font-size:11px; top:7px; }
.doc-10 .flujo-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-10 .flujo-step { background:var(--white); padding:22px 20px; }
.doc-10 .flujo-step-tag { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:8px; }
.doc-10 .flujo-step h4 { font-size:14px; font-weight:600; color:var(--text-primary); margin-bottom:8px; line-height:1.3; }
.doc-10 .flujo-step p { font-size:12.5px; color:var(--text-secondary); line-height:1.6; }
.doc-10 .flujo-step-dark { background:var(--gray-900); }
.doc-10 .flujo-step-dark .flujo-step-tag { color:var(--blue-300); }
.doc-10 .flujo-step-dark h4 { color:var(--white); }
.doc-10 .flujo-step-dark p { color:rgba(255,255,255,.55); }
.doc-10 .checklist { border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-10 .checklist-header { background:var(--gray-50); padding:14px 20px; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-tertiary); border-bottom:1px solid var(--border); }
.doc-10 .check-item { display:grid; grid-template-columns:28px 1fr; gap:12px; align-items:start; padding:13px 20px; border-bottom:1px solid var(--border); background:var(--white); }
.doc-10 .check-item:last-child { border-bottom:none; }
.doc-10 .check-box { width:18px; height:18px; border:2px solid var(--border); border-radius:4px; margin-top:1px; flex-shrink:0; }
.doc-10 .check-text { font-size:13.5px; color:var(--text-secondary); line-height:1.6; }
.doc-10 .check-text strong { color:var(--text-primary); font-weight:600; }
.doc-10 .regla-num { font-size:12px; font-weight:700; color:var(--text-tertiary); padding-top:2px; }
.doc-10 .two-col { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-10 .two-col-cell { background:var(--white); padding:24px; }
.doc-10 .two-col-cell h4 { font-size:13px; font-weight:600; color:var(--text-primary); margin-bottom:10px; }
.doc-10 .two-col-cell ul { list-style:none; padding:0; }
.doc-10 .two-col-cell ul li { font-size:13px; color:var(--text-secondary); padding:5px 0 5px 16px; position:relative; border-bottom:1px solid var(--border); line-height:1.5; }
.doc-10 .two-col-cell ul li:last-child { border-bottom:none; }
.doc-10 .two-col-cell ul li::before { content:'→'; position:absolute; left:0; color:var(--text-tertiary); font-size:11px; top:7px; }
@media(max-width:680px) {
  .doc-10 .cover, .doc-10 .doc-footer { padding:40px 28px 36px; }
  .doc-10 .doc-wrapper { padding:0 24px 80px; }
  .doc-10 .toc-grid, .doc-10 .two-col { grid-template-columns:1fr; }
  .doc-10 .toc-item:nth-child(odd) { border-right:none; padding-right:0; }
  .doc-10 .toc-item:nth-child(even) { padding-left:0; }
  .doc-10 .evento-row, .doc-10 .tl-item { grid-template-columns:1fr; }
  .doc-10 .evento-row-label { border-right:none; border-bottom:1px solid var(--border); }
  .doc-10 .evento-header { grid-template-columns:1fr; }
  .doc-10 .evento-specs-pill { align-items:flex-start; flex-direction:row; flex-wrap:wrap; }
  .doc-10 .tl-item { gap:8px; }
  .doc-10 .doc-footer { flex-direction:column; gap:16px; }
  .doc-10 .footer-meta { text-align:left; }
}

/* ===================================================================
   Plan-Modulo-11-Partners.html — scoped module styles (moved from inline <style>)
   =================================================================== */
.doc-11 { --blue-600: #0063E0; --blue-400: #0082FA; --blue-300: #60AEFF; --blue-50:  #E8F0FE; --gray-900: #101A27; --gray-800: #1E2D3D; --gray-600: #475569; --gray-400: #94A3B8; --gray-200: #E2E8F0; --gray-300: #CBD5E1; --gray-50:  #F1F5F8; --white:    #ffffff; --green-50: #DCFCE7; --green-700:#15803D; --amber-50: #FEF3C7; --amber-700:#B45309; --red-50:   #FEE2E2; --red-700:  #B91C1C; --text-primary:   var(--gray-900); --text-secondary: var(--gray-600); --text-tertiary:  var(--gray-400); --border:         var(--gray-200); }
.doc-11 .toc-num { font-size:11px; font-weight:600; color:var(--blue-400); min-width:24px; flex-shrink:0; }
.doc-11 .section-meta { font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-400); margin-bottom:8px; }
.doc-11 .callout { background:var(--blue-50); border-left:3px solid var(--blue-400); border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.doc-11 .callout-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-600); margin-bottom:8px; }
.doc-11 .callout-pending { background:#FFFBEB; border-left:3px solid #F59E0B; border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:20px; }
.doc-11 .callout-pending-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#B45309; margin-bottom:8px; }
.doc-11 .callout-pending p { font-size:14px; color:#78350F; line-height:1.7; }
.doc-11 .card-num { font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--blue-400); margin-bottom:10px; }
.doc-11 .data-table { width:100%; border-collapse:collapse; font-size:13px; margin-bottom:32px; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.doc-11 .data-table td { padding:13px 16px; color:var(--text-secondary); border-bottom:1px solid var(--border); vertical-align:top; line-height:1.55; }
.doc-11 .badge-new { background:var(--blue-600); color:var(--white); }
.doc-11 .badge-green { background:var(--green-50); color:var(--green-700); }
.doc-11 .badge-amber { background:var(--amber-50); color:var(--amber-700); }
.doc-11 .badge-red { background:var(--red-50); color:var(--red-700); }
.doc-11 .pull-quote { border-top:2px solid var(--blue-600); border-bottom:1px solid var(--border); padding:28px 0; margin:40px 0; }
.doc-11 .pull-quote cite { display:block; margin-top:12px; font-size:12px; font-style:normal; color:var(--text-tertiary); letter-spacing:.05em; text-transform:uppercase; }
.doc-11 .sub-h3-sm { font-size:15px; font-weight:600; color:var(--text-primary); margin-bottom:16px; }
.doc-11 .pilar-block { border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:32px; }
.doc-11 .pilar-header { display:grid; grid-template-columns:1fr auto; align-items:start; padding:24px 28px 20px; border-bottom:1px solid var(--border); }
.doc-11 .pilar-header-core { background:var(--gray-900); }
.doc-11 .pilar-header-sec { background:var(--gray-50); }
.doc-11 .pilar-num-tag { font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--blue-400); margin-bottom:6px; }
.doc-11 .pilar-header-core .pilar-num-tag { color:var(--blue-300); }
.doc-11 .pilar-name { font-size:22px; font-weight:700; letter-spacing:-.02em; color:var(--text-primary); line-height:1.1; }
.doc-11 .pilar-header-core .pilar-name { color:var(--white); }
.doc-11 .pilar-tagline { font-size:13px; color:var(--text-tertiary); margin-top:4px; line-height:1.5; }
.doc-11 .pilar-header-core .pilar-tagline { color:rgba(255,255,255,.5); }
.doc-11 .pilar-day-pill { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; background:var(--blue-600); color:var(--white); padding:5px 12px; border-radius:20px; white-space:nowrap; margin-top:4px; }
.doc-11 .pilar-header-sec .pilar-day-pill { background:var(--blue-50); color:var(--blue-600); }
.doc-11 .pilar-body { padding:0; }
.doc-11 .pilar-row { display:grid; grid-template-columns:160px 1fr; gap:0; border-bottom:1px solid var(--border); }
.doc-11 .pilar-row:last-child { border-bottom:none; }
.doc-11 .pilar-row-label { padding:16px 20px; background:var(--gray-50); border-right:1px solid var(--border); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-tertiary); display:flex; align-items:flex-start; padding-top:18px; }
.doc-11 .pilar-row-content { padding:16px 20px; font-size:13.5px; color:var(--text-secondary); line-height:1.65; }
.doc-11 .pilar-row-content strong { color:var(--text-primary); font-weight:600; }
.doc-11 .pilar-row-content ul { padding-left:0; list-style:none; }
.doc-11 .pilar-row-content ul li { padding:4px 0 4px 16px; position:relative; border-bottom:1px solid var(--border); font-size:13px; }
.doc-11 .pilar-row-content ul li:last-child { border-bottom:none; }
.doc-11 .pilar-row-content ul li::before { content:'→'; position:absolute; left:0; color:var(--blue-400); font-size:11px; top:6px; }
.doc-11 .nivel-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-11 .nivel-card { background:var(--white); padding:20px 16px; }
.doc-11 .nivel-card-dark { background:var(--gray-900); }
.doc-11 .nivel-num { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-400); margin-bottom:8px; }
.doc-11 .nivel-card-dark .nivel-num { color:var(--blue-300); }
.doc-11 .nivel-name { font-size:17px; font-weight:700; color:var(--text-primary); margin-bottom:6px; letter-spacing:-.01em; }
.doc-11 .nivel-card-dark .nivel-name { color:var(--white); }
.doc-11 .nivel-req { font-size:11px; color:var(--text-tertiary); line-height:1.5; }
.doc-11 .nivel-card-dark .nivel-req { color:rgba(255,255,255,.45); }
.doc-11 .ben-table { width:100%; border-collapse:collapse; font-size:13px; margin-bottom:32px; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.doc-11 .ben-table th { background:var(--gray-50); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--text-tertiary); text-align:center; padding:10px 12px; border-bottom:1px solid var(--border); border-right:1px solid var(--border); }
.doc-11 .ben-table th:first-child { text-align:left; }
.doc-11 .ben-table th:last-child { border-right:none; }
.doc-11 .ben-table td { padding:11px 12px; border-bottom:1px solid var(--border); border-right:1px solid var(--border); text-align:center; vertical-align:middle; }
.doc-11 .ben-table td:first-child { text-align:left; font-size:13px; color:var(--text-secondary); font-weight:500; border-right:1px solid var(--border); }
.doc-11 .ben-table td:last-child { border-right:none; }
.doc-11 .ben-table tr:last-child td { border-bottom:none; }
.doc-11 .ben-table tr:hover td { background:var(--gray-50); }
.doc-11 .ben-table .section-row td { background:var(--gray-50); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-tertiary); text-align:left; padding:8px 12px; border-right:none; }
.doc-11 .check { color:var(--green-700); font-size:14px; font-weight:700; }
.doc-11 .dash { color:var(--gray-400); font-size:16px; }
.doc-11 .th-dark { background:var(--gray-900) !important; color:var(--white) !important; }
.doc-11 .comision-strip { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-11 .comision-cell { background:var(--white); padding:24px 20px; }
.doc-11 .comision-cell-dark { background:var(--gray-900); }
.doc-11 .comision-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:8px; }
.doc-11 .comision-cell-dark .comision-label { color:rgba(255,255,255,.45); }
.doc-11 .comision-num { font-size:36px; font-weight:700; letter-spacing:-.03em; color:var(--blue-600); line-height:1; margin-bottom:6px; }
.doc-11 .comision-cell-dark .comision-num { color:var(--blue-300); }
.doc-11 .comision-desc { font-size:12px; color:var(--text-tertiary); line-height:1.5; }
.doc-11 .comision-cell-dark .comision-desc { color:rgba(255,255,255,.45); }
.doc-11 .regla-num { font-size:12px; font-weight:700; color:var(--blue-400); padding-top:2px; }
.doc-11 .two-col { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px 10px 0 0; overflow:hidden; }
.doc-11 .two-col-cell { background:var(--white); padding:24px; }
.doc-11 .two-col-cell h4 { font-size:13px; font-weight:600; color:var(--text-primary); margin-bottom:10px; }
.doc-11 .two-col-cell ul { list-style:none; padding:0; }
.doc-11 .two-col-cell ul li { font-size:13px; color:var(--text-secondary); padding:5px 0 5px 16px; position:relative; border-bottom:1px solid var(--border); line-height:1.5; }
.doc-11 .two-col-cell ul li:last-child { border-bottom:none; }
.doc-11 .two-col-cell ul li::before { content:'→'; position:absolute; left:0; color:var(--blue-400); font-size:11px; top:7px; }
.doc-11 .full-row { background:var(--blue-50); border:1px solid var(--border); border-top:none; border-radius:0 0 10px 10px; padding:24px; margin-bottom:32px; }
.doc-11 .full-row h4 { font-size:13px; font-weight:600; color:var(--blue-600); margin-bottom:8px; }
.doc-11 .full-row p { font-size:13.5px; color:var(--gray-800); line-height:1.7; }
.doc-11 .dev-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:32px; }
.doc-11 .dev-card { background:var(--white); padding:24px; }
.doc-11 .dev-tag { display:inline-block; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:3px 8px; border-radius:4px; margin-bottom:12px; }
.doc-11 .dev-tag-new { background:var(--blue-50); color:var(--blue-600); }
.doc-11 .dev-tag-mod { background:var(--amber-50); color:var(--amber-700); }
.doc-11 .dev-tag-exists { background:var(--green-50); color:var(--green-700); }
.doc-11 .dev-card h3 { font-size:14px; font-weight:600; color:var(--text-primary); margin-bottom:8px; line-height:1.3; }
.doc-11 .dev-card p { font-size:12px; color:var(--text-secondary); line-height:1.6; }
.doc-11 .dev-list { display:flex; flex-direction:column; gap:12px; margin-bottom:32px; }
.doc-11 .dev-list-item { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:20px 24px; background:var(--white); border:1px solid var(--border); border-radius:10px; }
.doc-11 .dev-list-item:hover { background:var(--gray-50); }
.doc-11 .dev-list-item-exists { background:var(--gray-50); }
.doc-11 .dev-list-main { flex:1; }
.doc-11 .dev-list-eyebrow { font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:5px; }
.doc-11 .dev-list-title { font-size:17px; font-weight:600; color:var(--text-primary); margin-bottom:6px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.doc-11 .dev-list-num { color:var(--text-primary); font-weight:600; }
.doc-11 .dev-list-desc { font-size:13px; color:var(--text-secondary); line-height:1.65; max-width:640px; }
.doc-11 .dev-list-badge { flex-shrink:0; padding-top:2px; }
@media(max-width:680px) {
  .doc-11 .cover, .doc-11 .doc-footer { padding:40px 28px 36px; }
  .doc-11 .doc-wrapper { padding:0 20px 80px; }
  .doc-11 .pilar-row { grid-template-columns:1fr; }
  .doc-11 .pilar-row-label { border-right:none; border-bottom:1px solid var(--border); }
  .doc-11 .nivel-grid { grid-template-columns:1fr 1fr; }
  .doc-11 .comision-strip { grid-template-columns:1fr; }
  .doc-11 .doc-footer { flex-direction:column; gap:16px; }
  .doc-11 .footer-meta { text-align:left; }
}
.doc-11 .doc-wrapper > .section { grid-column: 2 !important; }

/* ===================================================================
   index.html — scoped module styles (moved from inline <style>)
   =================================================================== */
.doc-index { --blue-600: #0063E0; --blue-400: #0082FA; --blue-300: #60AEFF; --blue-50:  #E8F0FE; --gray-900: #101A27; --gray-800: #1E2D3D; --gray-600: #475569; --gray-400: #94A3B8; --gray-200: #E2E8F0; --gray-50:  #F1F5F8; --white:    #ffffff; --text-primary:   var(--gray-900); --text-secondary: var(--gray-600); --text-tertiary:  var(--gray-400); --border:         var(--gray-200); --green-600: #25D366; --geo-purple: #7C3AED; --amber:     #F59E0B; }
/* base reset/typography for index come from the global rules at the top of this
   file (not re-scoped: scoping a universal `*` selector raises its specificity to
   match single-class rules and would clobber .cover-switcher / .badge padding). */
.doc-index .cover { background:var(--blue-600); color:var(--white); padding:20px max(40px, calc((100% - 1136px) / 2)) 56px; display:flex; flex-direction:column; justify-content:space-between; gap:40px; min-height:360px; }
.doc-index .cover-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.12); }
.doc-index .cover-wordmark { font-size:13px; font-weight:600; color:rgba(255,255,255,.75); }
.doc-index .cover-label { font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.55); background:rgba(255,255,255,.10); padding:5px 10px; border-radius:4px; }
.doc-index .cover-logo { height:25px; width:auto; display:block; flex-shrink:0; }
.doc-index .cover-eyebrow { font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:14px; }
.doc-index .cover-module-num { font-size:11px; font-weight:700; letter-spacing:.10em; text-transform:uppercase; color:var(--blue-400); margin-bottom:10px; }
.doc-index .cover-title { font-size:clamp(24px,5.5vw,50px); font-weight:700; line-height:1.05; letter-spacing:-.025em; margin-bottom:18px; }
.doc-index .cover-desc { font-size:15px; color:rgba(255,255,255,.65); max-width:520px; line-height:1.7; }
.doc-index .cover-footer { display:flex; justify-content:space-between; align-items:flex-end; border-top:1px solid rgba(255,255,255,.12); padding-top:24px; }
.doc-index .cover-meta { font-size:12px; color:rgba(255,255,255,.4); line-height:1.7; }
.doc-index .doc-wrapper { max-width:1280px; margin:0 auto; padding:0 72px 100px; }
.doc-index .section { padding:64px 0 0; border-top:1px solid var(--border); margin-top:64px; }
.doc-index .doc-wrapper > .section:first-child { border-top:none; margin-top:0; padding-top:60px; }
.doc-index .section-meta { font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:8px; }
.doc-index .section-title { font-size:clamp(18px,3.5vw,30px); font-weight:700; letter-spacing:-.02em; color:var(--text-primary); line-height:1.15; margin-bottom:32px; }
.doc-index .prose { font-size:15px; color:var(--text-secondary); line-height:1.75; margin-bottom:32px; }
.doc-index .prose strong { color:var(--text-primary); font-weight:600; }
.doc-index .modules-grid { display:grid; grid-template-columns:1fr; gap:8px; margin-bottom:48px; }
.doc-index .module-card { background:var(--white); display:grid; grid-template-columns:1fr auto; align-items:center; gap:0; text-decoration:none; border:1px solid var(--border); border-radius:10px; transition:background 0.15s, box-shadow 0.15s; padding:20px 24px; }
.doc-index .module-card:hover { background:var(--gray-50); box-shadow:0 2px 8px rgba(16,26,39,.06); }
.doc-index .module-card:hover .module-arrow { opacity:1; transform:translateX(0); }
.doc-index .module-num-col { display:none; }
.doc-index .module-body { padding:4px 0; }
.doc-index .module-tag { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:4px; }
.doc-index .module-title { font-size:16px; font-weight:600; color:var(--text-primary); line-height:1.25; margin-bottom:3px; }
.doc-index .module-num-inline { font-size:16px; font-weight:600; color:var(--text-primary); margin-right:6px; }
.doc-index .module-desc { font-size:13px; color:var(--text-secondary); line-height:1.55; }
.doc-index .module-arrow-col { padding:0 0 0 24px; display:flex; align-items:center; justify-content:center; }
.doc-index .module-arrow { font-size:18px; color:var(--text-tertiary); opacity:0.4; transition:opacity 0.15s, transform 0.15s; transform:translateX(-4px); }
.doc-index .badge { display:inline-block; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:3px 8px; border-radius:4px; margin-left:8px; vertical-align:middle; }
.doc-index .badge-blue { background:var(--blue-50); color:var(--blue-600); }
.doc-index .badge-green { background:#DCFCE7; color:#15803D; }
.doc-index .badge-amber { background:#FEF3C7; color:#B45309; }
.doc-index .badge-purple { background:#F5F3FF; color:var(--geo-purple); }
.doc-index .badge-dark { background:var(--gray-200); color:var(--gray-800); }
.doc-index .callout { background:#FAFAFA; border-left:3px solid var(--gray-200); border-radius:0 8px 8px 0; padding:20px 24px; margin-bottom:32px; }
.doc-index .callout-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-tertiary); margin-bottom:8px; }
.doc-index .callout p { font-size:14px; color:var(--gray-800); line-height:1.7; }
.doc-index .callout p strong { color:var(--gray-900); font-weight:600; }
.doc-index .kpi-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:48px; }
.doc-index .kpi-cell { background:var(--white); padding:22px 20px; }
.doc-index .kpi-label { font-size:11px; font-weight:500; color:var(--text-tertiary); margin-bottom:8px; line-height:1.4; }
.doc-index .kpi-value { font-size:26px; font-weight:700; letter-spacing:-.03em; color:var(--gray-900); margin-bottom:4px; line-height:1; }
.doc-index .kpi-note { font-size:11px; color:var(--text-tertiary); line-height:1.4; }
.doc-index .pull-quote { border-top:1px solid var(--gray-300); border-bottom:1px solid var(--border); padding:28px 0; margin:0 0 48px; }
.doc-index .pull-quote p { font-size:19px; font-weight:600; color:var(--text-primary); line-height:1.5; letter-spacing:-.01em; }
.doc-index .pull-quote cite { display:block; margin-top:12px; font-size:12px; font-style:normal; color:var(--text-tertiary); letter-spacing:0; text-transform:none; }
.doc-index .fase-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:48px; }
.doc-index .fase-block { background:var(--white); padding:28px 24px; display:flex; flex-direction:column; gap:0; }
.doc-index .fase-block-dark { background:var(--gray-900); }
.doc-index .fase-num { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-600); display:block; margin-bottom:6px; }
.doc-index .fase-block-dark .fase-num { color:var(--blue-300); }
.doc-index .fase-name { font-size:15px; font-weight:700; color:var(--text-primary); line-height:1.2; margin-bottom:8px; }
.doc-index .fase-block-dark .fase-name { color:var(--white); }
.doc-index .fase-desc { font-size:12.5px; color:var(--text-secondary); line-height:1.6; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--border); }
.doc-index .fase-block-dark .fase-desc { color:rgba(255,255,255,.5); border-bottom-color:rgba(255,255,255,.1); }
.doc-index .fase-modules { display:flex; flex-direction:column; gap:1px; }
.doc-index .fase-module-item { display:flex; align-items:center; gap:10px; padding:7px 8px; border-radius:6px; text-decoration:none; transition:background 0.12s; color:inherit; }
.doc-index .fase-module-item:hover { background:var(--gray-50); }
.doc-index .fase-block-dark .fase-module-item:hover { background:rgba(255,255,255,.07); }
.doc-index .fase-mod-num { font-size:11px; font-weight:600; color:var(--text-tertiary); min-width:18px; flex-shrink:0; }
.doc-index .fase-mod-name { font-size:13px; font-weight:500; color:var(--text-primary); line-height:1.3; }
.doc-index .fase-block-dark .fase-mod-name { color:rgba(255,255,255,.85); }
.doc-index .doc-footer { background:var(--gray-900); color:var(--white); padding:40px max(40px, calc((100% - 1136px) / 2)); display:flex; justify-content:space-between; align-items:center; }
.doc-index .footer-brand { font-size:14px; font-weight:600; }
.doc-index .footer-meta { font-size:12px; color:rgba(255,255,255,.4); text-align:right; line-height:1.7; }
@media(max-width:680px) {
  .doc-index .cover, .doc-index .doc-footer { padding:40px 28px 36px; }
  .doc-index .doc-wrapper { padding:0 24px 80px; }
  .doc-index .module-card { grid-template-columns:60px 1fr auto; }
  .doc-index .module-body { padding:18px 16px; }
  .doc-index .module-arrow-col { padding:18px 16px; }
  .doc-index .doc-footer { flex-direction:column; gap:16px; }
  .doc-index .footer-meta { text-align:left; }
}
.doc-index .doc-wrapper { display: grid !important; grid-template-columns: 250px minmax(0, 1fr) !important; column-gap: 64px !important; align-items: start !important; padding-top: 40px !important; }
.doc-index .doc-wrapper > .section { grid-column: 2 !important; }
.doc-index .toc-section { grid-column: 1 !important; grid-row: 1 / 999 !important; position: sticky !important; top: 24px !important; padding: 0 0 48px !important; max-height: calc(100vh - 48px) !important; overflow-y: auto; }
.doc-index .toc-label { font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--text-tertiary); padding-bottom: 12px; margin-bottom: 4px; border-bottom: 1px solid var(--border); }
.doc-index .toc-grid { display: flex; flex-direction: column; }
.doc-index a.toc-item { display: flex; align-items: flex-start; gap: 8px; padding: 7px 10px; border-radius: 6px; transition: background 0.12s; margin-bottom: 1px; text-decoration: none; color: inherit; }
.doc-index a.toc-item:hover { background: var(--gray-50); }
.doc-index .toc-num { font-size: 11px; font-weight: 600; color: var(--text-tertiary); min-width: 20px; flex-shrink: 0; padding-top: 1px; }
.doc-index .toc-name { font-size: 13px; font-weight: 500; color: var(--text-primary); line-height: 1.45; }
.doc-index .doc-wrapper > .section:nth-child(2) { border-top: none !important; margin-top: 0 !important; padding-top: 0 !important; }
.doc-index .section { scroll-margin-top: 24px; }
@media (max-width: 900px) {
  .doc-index .doc-wrapper { display: block !important; }
  .doc-index .toc-section { position: static !important; max-height: none !important; padding-bottom: 24px !important; border-bottom: 1px solid var(--border) !important; margin-bottom: 48px !important; }
}
.doc-index .table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin-bottom:32px; border:1px solid var(--border); border-radius:10px; }
.doc-index .table-wrap > table { margin-bottom:0 !important; border:none !important; border-radius:0 !important; }
@media (max-width:680px) {
  .doc-index .table-wrap > table { min-width:560px; }
  .doc-index .table-wrap th, .doc-index .table-wrap td { padding:11px 13px; }
  .doc-index .card-grid, .doc-index .kpi-strip, .doc-index .stack-row, .doc-index .diag-grid, .doc-index .flujo-grid, .doc-index .fase2-items, .doc-index .two-col, .doc-index .fase-grid, .doc-index .week-grid, .doc-index .nivel-grid, .doc-index .tipos-grid, .doc-index .dev-grid, .doc-index .hosts-grid, .doc-index .estructura-grid, .doc-index .seq-grid, .doc-index .modules-grid, .doc-index .comision-strip, .doc-index .cadencia-strip, .doc-index .ep-structure, .doc-index .tl-item, .doc-index .article-row, .doc-index .eco-row, .doc-index .evento-row, .doc-index .formato-row, .doc-index .modo-row, .doc-index .pilar-row, .doc-index .email-section-row, .doc-index .funnel-stage, .doc-index .funnel-stage-right, .doc-index .seq-row, .doc-index .estructura-row, .doc-index .kw-item { grid-template-columns:1fr !important; }
}
