/* ═══════════════════════════════════════════════
   MODUS RETIS BRAIN — Design System v2.0
   Archivo centralizado de estilos.
   Claude Code: editá SOLO este archivo para
   cambios globales de colores, tipografía o layout.
   ═══════════════════════════════════════════════ */

/* ── Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Syne:wght@400;500;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

/* ── Variables ── */
:root {
  --teal:       #38898C;
  --teal-light: #4da8ab;
  --teal-dark:  #2a6b6e;
  --orange:     #fca85d;
  --orange-light: #fdb97e;
  --orange-dark:  #e89440;

  --bg:         #0e1117;
  --bg-card:    #161b22;
  --bg-hover:   #1c222b;
  --border:     #21262d;
  --text:       #e6edf3;
  --text-dim:   #8b949e;
  --text-muted: #6e7681;

  --green:      #3fb950;
  --red:        #f85149;
  --yellow:     #d29922;
  --blue:       #58a6ff;

  --font-display: 'Syne', sans-serif;
  --font-body:    'DM Sans', sans-serif;
  --font-mono:    'IBM Plex Mono', monospace;

  --teal-glow:  rgba(56,137,140,.25);
  --teal-dim:   rgba(56,137,140,.12);
  --teal-l:     #4da8ab;
  --orange-glow: rgba(252,168,93,.18);
  --orange-dim:  rgba(252,168,93,.12);

  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;

  --shadow-card: 0 1px 3px rgba(0,0,0,.3), 0 0 0 1px var(--border);
  --shadow-hover: 0 4px 12px rgba(0,0,0,.4), 0 0 0 1px var(--teal);

  --sidebar-width: 260px;
  --content-max: 1100px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a { color: var(--teal-light); text-decoration: none; }
a:hover { color: var(--orange); }

h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 700; line-height: 1.2; }
h1 { font-size: 1.8rem; }
h2 { font-size: 1.4rem; }
h3 { font-size: 1.15rem; }
h4 { font-size: 1rem; }

.layout { display: flex; min-height: 100vh; overflow: hidden; }

/* ── Sidebar (overlay mode) ── */
.sidebar, #brain-sidebar {
  width: var(--sidebar-width);
  background: var(--bg-card);
  border-right: 1px solid var(--border);
  padding: 0 0 var(--space-xl);
  position: fixed;
  top: 0; left: calc(-1 * var(--sidebar-width) - 10px);
  bottom: 0;
  overflow-y: auto;
  z-index: 1000;
  transition: left .3s ease;
}
.sidebar.open, #brain-sidebar.open { left: 0; }

/* Overlay backdrop */
#nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 999;
  backdrop-filter: blur(2px);
}
#nav-overlay.open { display: block; }

/* Desktop/tablet: push content instead of overlay */
@media (min-width: 769px) {
  .layout { transition: margin-left .3s ease; }
  body.nav-open .layout { margin-left: var(--sidebar-width); }
  body.nav-open #nav-overlay { display: none; }
}

/* Hamburger toggle button */
#nav-toggle {
  position: fixed;
  top: 12px; left: 12px;
  z-index: 998;
  width: 38px; height: 38px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg-card);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  transition: opacity .3s;
}
body.nav-open #nav-toggle { opacity: 0; pointer-events: none; }
#nav-toggle span {
  display: block;
  width: 18px; height: 2px;
  background: var(--text-dim);
  border-radius: 1px;
  transition: background .2s;
}
#nav-toggle:hover span { background: var(--teal-light); }

/* ── Nav header ── */
.nav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-md);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  background: var(--bg-card);
  z-index: 1;
}
.nav-logo {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--teal);
  text-decoration: none;
}
.nav-logo:hover { color: var(--teal-light); }
.nav-close {
  background: none; border: none; cursor: pointer;
  color: var(--text-muted); font-size: 1.1rem;
  padding: 4px 8px; border-radius: var(--radius-sm);
  transition: all .15s;
}
.nav-close:hover { color: var(--text); background: var(--bg-hover); }

/* ── Nav sections (collapsible) ── */
.nav-section { border-bottom: 1px solid var(--border); }
.nav-section-head {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: 10px var(--space-md);
  cursor: pointer;
  user-select: none;
  transition: background .15s;
}
.nav-section-head:hover { background: var(--bg-hover); }
.nav-section-icon { font-size: 1rem; flex-shrink: 0; }
.nav-section-title {
  font-family: var(--font-display);
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-dim);
  flex: 1;
}
.nav-section-arrow {
  font-size: .85rem;
  color: var(--text-muted);
  transition: transform .2s;
}
.nav-section.open .nav-section-arrow { transform: rotate(90deg); }
.nav-section.open .nav-section-title { color: var(--teal-light); }
.nav-section-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}
.nav-section.open .nav-section-body { max-height: 2000px; }

/* ── Nav links ── */
.nav-link {
  display: block;
  padding: 5px var(--space-md) 5px calc(var(--space-md) + 8px);
  color: var(--text-dim);
  font-size: .82rem;
  text-decoration: none;
  border-radius: 0;
  transition: all .12s;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nav-link:hover { background: var(--bg-hover); color: var(--text); }
.nav-link.active {
  color: var(--teal-light);
  background: rgba(56,137,140,.08);
  border-left: 2px solid var(--teal);
}
.nav-dashboard {
  margin: var(--space-sm) var(--space-sm);
  padding: 8px var(--space-md);
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: .88rem;
}

/* ── Nav folders (sub-trees) ── */
.nav-folder-head {
  display: flex;
  align-items: center;
  gap: 2px;
  cursor: pointer;
  padding-right: var(--space-sm);
}
.nav-folder-head .nav-link { flex: 1; }
.nav-folder-arrow {
  font-size: .78rem;
  color: var(--text-muted);
  transition: transform .2s;
  flex-shrink: 0;
  width: 16px;
  text-align: center;
}
.nav-folder.open > .nav-folder-head .nav-folder-arrow { transform: rotate(90deg); }
.nav-sub {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
  padding-left: 10px;
}
.nav-folder.open > .nav-sub { max-height: 1500px; }
.nav-sub .nav-link { font-size: .78rem; padding-top: 3px; padding-bottom: 3px; color: var(--text-muted); }
.nav-sub .nav-link:hover { color: var(--text-dim); }
.nav-sub .nav-link.active { color: var(--teal-light); }

/* ── Nav group labels ── */
.nav-group-label {
  font-family: var(--font-display);
  font-size: .65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-muted);
  padding: 10px var(--space-md) 4px calc(var(--space-md) + 8px);
}

/* ── Content (no sidebar offset) ── */
.content {
  flex: 1;
  padding: var(--space-xl) var(--space-2xl);
  padding-top: 56px; /* space for hamburger */
  max-width: var(--content-max);
  margin: 0 auto;
}

/* Legacy class compatibility */
.sidebar-logo, .sidebar-section, .sidebar-section-title, .sidebar-link, .sidebar-dashboard { display: none; }

.card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  transition: all .2s;
}

.card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-md);
}

.badge {
  display: inline-block;
  font-size: .75rem;
  font-weight: 600;
  padding: 2px 10px;
  border-radius: 99px;
  letter-spacing: .02em;
}

.badge-teal   { background: rgba(56,137,140,.15); color: var(--teal-light); }
.badge-orange { background: rgba(252,168,93,.15); color: var(--orange); }
.badge-green  { background: rgba(63,185,80,.15);  color: var(--green); }
.badge-red    { background: rgba(248,81,73,.15);   color: var(--red); }
.badge-yellow { background: rgba(210,153,34,.15);  color: var(--yellow); }
.badge-blue   { background: rgba(88,166,255,.15);  color: var(--blue); }

.section-header {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--border);
}

.section-header .emoji { font-size: 1.4rem; }

.block {
  background: rgba(255,255,255,.02);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  margin-bottom: var(--space-md);
}

.block-title {
  font-family: var(--font-display);
  font-size: .85rem;
  font-weight: 600;
  color: var(--teal-light);
  margin-bottom: var(--space-sm);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.alert {
  display: flex;
  gap: var(--space-sm);
  align-items: flex-start;
  padding: var(--space-md);
  border-radius: var(--radius-sm);
  font-size: .9rem;
}

.alert-teal   { background: rgba(56,137,140,.1);  border-left: 3px solid var(--teal); }
.alert-orange { background: rgba(252,168,93,.1);   border-left: 3px solid var(--orange); }
.alert-red    { background: rgba(248,81,73,.1);    border-left: 3px solid var(--red); }

table { width: 100%; border-collapse: collapse; font-size: .88rem; }

th {
  text-align: left;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--text-muted);
  padding: var(--space-sm) var(--space-md);
  border-bottom: 1px solid var(--border);
}

td {
  padding: var(--space-sm) var(--space-md);
  border-bottom: 1px solid rgba(255,255,255,.04);
}

tr:hover td { background: var(--bg-hover); }

details {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  margin-bottom: var(--space-sm);
}

summary {
  padding: var(--space-md);
  cursor: pointer;
  font-weight: 500;
  list-style: none;
}

summary::before {
  content: '▸';
  margin-right: var(--space-sm);
  color: var(--teal);
  transition: transform .2s;
}

details[open] summary::before { transform: rotate(90deg); }

details > div, details > p {
  padding: 0 var(--space-md) var(--space-md);
}

.breadcrumb {
  font-size: .82rem;
  color: var(--text-muted);
  margin-bottom: var(--space-lg);
}

.breadcrumb a { color: var(--text-dim); }
.breadcrumb a:hover { color: var(--teal-light); }
.breadcrumb span { margin: 0 6px; }

.footer {
  margin-top: var(--space-2xl);
  padding-top: var(--space-md);
  border-top: 1px solid var(--border);
  font-size: .78rem;
  color: var(--text-muted);
  text-align: center;
}

@media (max-width: 768px) {
  .content { padding: var(--space-md); padding-top: 52px; }
  .card-grid { grid-template-columns: 1fr; }
  .sidebar, #brain-sidebar { width: 85vw; max-width: 320px; left: calc(-85vw - 10px); }
  .sidebar.open, #brain-sidebar.open { left: 0; }
  #nav-toggle { top: 8px; left: 8px; width: 34px; height: 34px; }
  .section-header { flex-direction: column; align-items: flex-start; }
  .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .table-wrap table { min-width: 480px; }
}

/* ═══════════════════════════════════════════════
   EXTENDED COMPONENTS
   Custom classes migradas desde HTMLs inline.
   ═══════════════════════════════════════════════ */

/* ── Grids ── */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.grid-auto-clients { display: grid; grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)); gap: 12px; }
.grid-auto-ops { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }

/* ── Section Typography ── */
.section-eyebrow {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--teal);
  letter-spacing: .15em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.section-title { font-size: 22px; font-weight: 600; letter-spacing: -.02em; color: var(--text); }
.section-desc { font-size: 13px; color: var(--text-dim); margin-top: 6px; max-width: 600px; }
.sec-label {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 24px 0 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.sec-label::after { content: ''; flex: 1; height: 1px; background: var(--border); }

h2.sec {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
  margin: 40px 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}
h2.sec .emoji { margin-right: 8px; }
h3.sub { font-size: 1.15rem; font-weight: 700; color: var(--teal-light); margin: 24px 0 12px; font-family: var(--font-display); }

.section-num {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.section-num::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.section-tag {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 12px;
}

/* ── KPIs ── */
.kpi-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 20px; }
.kpi {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px 16px;
}
.kpi-label {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 6px;
}
.kpi-value { font-size: 24px; font-weight: 600; color: var(--text); letter-spacing: -.03em; }
.kpi-value.teal { color: var(--teal-light); }
.kpi-value.orange { color: var(--orange); }
.kpi-sub { font-size: 11px; color: var(--text-muted); margin-top: 3px; }

/* ── Client Cards ── */
.client-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color .2s, transform .15s;
  text-decoration: none;
  color: inherit;
  display: block;
}
.client-card:hover { border-color: var(--teal-glow); transform: translateY(-2px); }
.client-card.static { cursor: default; }
.client-card.static:hover { transform: none; border-color: var(--border); }
.client-header {
  padding: 13px 15px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.client-name-wrap { display: flex; align-items: center; gap: 6px; }
.client-emoji { font-size: 17px; }
.client-name { font-size: 13px; font-weight: 600; color: var(--text); }
.client-sector { font-size: 11px; color: var(--text-muted); margin-top: 1px; }
.client-body { padding: 10px 15px; }
.client-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 5px 0;
  font-size: 12px;
  border-bottom: 1px solid var(--border);
  gap: 8px;
}
.client-row:last-child { border-bottom: none; }
.client-key { color: var(--text-muted); flex-shrink: 0; }
.client-val { color: var(--text-dim); font-weight: 500; text-align: right; }

/* ── Ops Cards (Dashboard) ── */
.ops-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 18px;
  text-decoration: none;
  color: inherit;
  display: block;
  transition: border-color .2s, transform .15s;
  position: relative;
  overflow: hidden;
}
.ops-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--teal), var(--teal-light));
  opacity: 0;
  transition: opacity .2s;
}
.ops-card:hover { border-color: var(--teal-glow); transform: translateY(-3px); }
.ops-card:hover::before { opacity: 1; }
.ops-icon {
  width: 38px; height: 38px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  background: rgba(56,137,140,.12);
  margin-bottom: 10px;
}
.ops-title {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 5px;
}
.ops-desc { font-size: 11px; color: var(--text-muted); line-height: 1.55; margin-bottom: 8px; }
.ops-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.ops-tag {
  font-family: var(--font-mono);
  font-size: 9px;
  padding: 2px 6px;
  background: var(--bg-hover);
  border: 1px solid var(--border);
  border-radius: 3px;
  color: var(--text-muted);
}
.ops-tag.active { color: var(--green); border-color: rgba(63,185,80,.2); }
.ops-tag.wip { color: var(--orange); border-color: rgba(252,168,93,.2); }

/* ── CRM Funnel ── */
.funnel { display: flex; gap: 6px; margin-bottom: 14px; flex-wrap: wrap; }
.funnel-stage {
  flex: 1; min-width: 60px;
  background: var(--bg-hover);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 10px 8px;
  text-align: center;
}
.funnel-stage.teal { border-color: var(--teal-glow); }
.funnel-stage.green { border-color: rgba(63,185,80,.25); }
.funnel-stage.active { border-color: var(--teal-glow); }
.funnel-stage.client { border-color: rgba(63,185,80,.25); }
.funnel-count {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  color: var(--text-dim);
}
.funnel-stage.teal .funnel-count,
.funnel-stage.active .funnel-count { color: var(--teal-light); }
.funnel-stage.green .funnel-count,
.funnel-stage.client .funnel-count { color: var(--green); }
.funnel-label { font-size: 9px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .05em; margin-top: 2px; }

/* ── Progress Bars ── */
.progress-wrap { margin: 8px 0; }
.progress-label { display: flex; justify-content: space-between; font-size: 11px; color: var(--text-muted); margin-bottom: 4px; }
.progress-bar { height: 4px; background: var(--bg-hover); border-radius: 2px; overflow: hidden; }
.progress-fill { height: 100%; background: var(--teal); border-radius: 2px; }
.progress-fill.orange { background: var(--orange); }

/* ── Lists ── */
.list-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  color: var(--text-dim);
}
.list-item:last-child { border-bottom: none; }
.list-bullet {
  color: var(--orange);
  font-family: var(--font-mono);
  font-size: 11px;
  flex-shrink: 0;
  margin-top: 2px;
}

/* ── Block Variants ── */
.block-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.block-header .block-title { margin: 0; border: none; padding: 0; }
.block-link {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--teal-light);
  text-decoration: none;
  letter-spacing: .05em;
}
.block-link:hover { color: var(--orange); }
.table-wrap { border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden; }

/* ── Page Hero ── */
.hero {
  padding: 60px 64px 40px;
  position: relative;
  overflow: hidden;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 50% at 60% 50%, rgba(56,137,140,.15) 0%, transparent 60%), var(--bg);
}
.hero-grid {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(78,179,183,.04) 1px, transparent 1px),
                     linear-gradient(90deg, rgba(78,179,183,.04) 1px, transparent 1px);
  background-size: 60px 60px;
}
.hero-content { position: relative; z-index: 1; max-width: 720px; }
.hero-tag {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--teal-light);
  margin-bottom: 20px;
}
.hero-title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.1;
  color: var(--teal-light);
  margin-bottom: 12px;
}
.hero-title .accent {
  font-size: clamp(42px, 6vw, 72px);
  color: var(--teal-light);
  display: block;
}
.hero-title .sub {
  font-size: clamp(18px, 2.5vw, 28px);
  font-weight: 600;
  color: var(--text-dim);
  display: block;
  margin-top: 8px;
}
.hero-desc { font-size: 15px; color: var(--text-dim); max-width: 560px; line-height: 1.7; }

/* ── Data Rows ── */
.row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 0;
  font-size: 12px;
  border-bottom: 1px solid var(--border);
}
.row:last-child { border-bottom: none; }
.row-k { color: var(--text-muted); }
.row-v { color: var(--text-dim); font-weight: 500; }
td.mono, .mono { font-family: var(--font-mono); font-size: 11px; }

/* ── Data Lists ── */
.li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  color: var(--text-dim);
}
.li:last-child { border-bottom: none; }
.li-b {
  color: var(--teal);
  font-family: var(--font-mono);
  font-size: 11px;
  flex-shrink: 0;
  margin-top: 2px;
}

/* ── Accordions ── */
.accordion { margin-bottom: 8px; }
.acc-h {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 11px 14px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
  transition: background .15s;
  user-select: none;
}
.acc-h:hover { background: var(--bg-hover); }
.acc-h.open { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-color: var(--teal-glow); color: var(--teal-light); }
.acc-icon {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--text-muted);
  transition: transform .2s;
}
.acc-h.open .acc-icon { transform: rotate(45deg); color: var(--teal); }
.acc-b {
  display: none;
  background: var(--bg-card);
  border: 1px solid var(--teal-glow);
  border-top: none;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  padding: 14px 16px;
  font-size: 13px;
  color: var(--text-dim);
  line-height: 1.7;
}
.acc-b.open { display: block; }

/* ── CRM Accordion (alternate style) ── */
.acc {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: .6rem;
  background: var(--bg-card);
  transition: border-color .3s;
}
.acc:hover { border-color: rgba(56,137,140,.2); }
.acc.open { border-color: var(--teal-glow); }
.acc-head {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .9rem 1.2rem;
  cursor: pointer;
  user-select: none;
  transition: background .2s;
}
.acc-head:hover { background: var(--bg-hover); }
.acc .acc-icon {
  width: 20px; height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform .3s;
  font-family: inherit;
  font-size: inherit;
}
.acc .acc-icon svg { width: 12px; height: 12px; stroke: var(--text-dim); stroke-width: 2.5; fill: none; transition: stroke .3s; }
.acc.open .acc-icon { transform: rotate(90deg); }
.acc.open .acc-icon svg { stroke: var(--teal-light); }
.acc-title { font-family: var(--font-display); font-weight: 700; font-size: .88rem; flex: 1; }
.acc-badge { font-size: .68rem; padding: .12rem .5rem; border-radius: 3px; font-weight: 600; flex-shrink: 0; }
.acc-body { max-height: 0; overflow: hidden; transition: max-height .4s ease; }
.acc.open .acc-body { max-height: 5000px; }
.acc-inner { padding: 0 1.2rem 1.2rem; font-size: .84rem; color: var(--text-dim); line-height: 1.6; }
.acc-inner p { margin-bottom: .5rem; }
.acc-inner p strong { color: var(--text); }

/* ── Code Blocks ── */
.code {
  background: var(--bg-hover);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--teal-light);
  margin: 8px 0;
  overflow-x: auto;
  white-space: pre;
  line-height: 1.7;
}

/* ── Tags ── */
.tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.tag {
  font-family: var(--font-mono);
  font-size: 10px;
  padding: 3px 8px;
  background: var(--bg-hover);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text-muted);
}
.tag-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.tag-sm {
  font-size: .75rem;
  padding: 3px 10px;
  border-radius: 14px;
  border: 1px solid var(--border);
  color: var(--text-dim);
  background: var(--bg-hover);
}
.tag-sm.teal { border-color: var(--teal-glow); color: var(--teal-light); background: rgba(56,137,140,.12); }
.tag-sm.orange { border-color: var(--orange-glow); color: var(--orange); background: rgba(252,168,93,.1); }

/* ── Sticky Breadcrumb (legacy nav) ── */
.nav-bc {
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 11px 20px;
  background: rgba(14,17,23,.96);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
}
.nav-bc a {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--teal-light);
  text-decoration: none;
}
.nav-bc a:hover { color: var(--orange); }
.nav-bc .sep { color: var(--text-muted); }
.nav-bc .cur { font-family: var(--font-display); font-weight: 600; color: var(--text-dim); }

/* ── Container (CRM / Prospect pages) ── */
.container { max-width: 960px; margin: 0 auto; padding: 0 1.5rem 4rem; }

/* ── CRM Section ── */
.section { margin-bottom: 2.5rem; }
.section h2 { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; margin-bottom: .8rem; }
.section p { margin-bottom: .6rem; color: var(--text-dim); font-size: .9rem; }
.section p strong { color: var(--text); }

/* ── Section element formatting (CRM / Prospect pages) ── */
.container section { margin-bottom: 2rem; }
.container section > p {
  font-size: .9rem; color: var(--text-dim); line-height: 1.7; margin-bottom: .8rem;
}
.container section > p strong { color: var(--text); }

/* ── Details inner content formatting ── */
details > div p, details > div ul.clean li {
  font-size: .88rem; color: var(--text-dim); line-height: 1.7;
}
details > div p { margin-bottom: .6rem; }
details > div p strong { color: var(--text); }
details > div p:last-child { margin-bottom: 0; }

/* ── Proposal block inner formatting ── */
.proposal-block p {
  font-size: .9rem; color: var(--text-dim); line-height: 1.7; margin-bottom: .8rem;
}
.proposal-block p strong { color: var(--text); }
.proposal-block p:last-child { margin-bottom: 0; }
.proposal-block ul.clean { margin-bottom: var(--space-md); }
.proposal-block h3.sub { margin-top: 20px; }

/* ── Fase block inner formatting ── */
.fase p {
  font-size: .9rem; color: var(--text-dim); line-height: 1.7; margin: 0;
}
.fase p strong { color: var(--text); }

.hero-label {
  font-family: var(--font-display);
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--teal);
  margin-bottom: .5rem;
}
.hero-sub { color: var(--text-dim); font-size: .95rem; }
.estado { display: inline-block; font-size: .65rem; padding: .1rem .4rem; border-radius: 3px; font-weight: 600; }
.estado-nuevo { background: rgba(88,166,255,.12); color: var(--blue); }
.estado-contactado { background: rgba(210,153,34,.12); color: var(--yellow); }
.estado-alianza { background: rgba(56,137,140,.15); color: var(--teal-light); }
.postura { font-size: .7rem; font-weight: 600; }
.postura-alta { color: var(--green); }
.postura-media { color: var(--yellow); }
.postura-baja { color: var(--red); }
.postura-nd { color: var(--text-muted); }
.score { font-family: var(--font-display); font-weight: 800; font-size: 1rem; }
.s-a { color: var(--green); }
.s-b { color: var(--yellow); }
.s-c { color: var(--red); }

/* ── Link Card ── */
.link-card {
  display: block;
  background: linear-gradient(135deg, rgba(56,137,140,.12) 0%, var(--bg-card) 60%);
  border: 1px solid var(--teal-glow);
  border-radius: var(--radius-md);
  padding: 1.2rem 1.5rem;
  margin: 1.5rem 0;
  text-decoration: none;
  transition: border-color .3s, transform .2s;
}
.link-card:hover { border-color: var(--teal); transform: translateY(-2px); }
.link-card-label { font-family: var(--font-display); font-size: .65rem; letter-spacing: .15em; text-transform: uppercase; color: var(--teal); margin-bottom: .3rem; }
.link-card-title { font-family: var(--font-display); font-size: 1.05rem; font-weight: 700; color: var(--text); margin-bottom: .3rem; }
.link-card-desc { font-size: .85rem; color: var(--text-dim); }
.link-card-arrow { font-size: .85rem; color: var(--teal-light); margin-top: .4rem; }

/* ── PEV (key-value pairs) ── */
.pev { display: grid; grid-template-columns: auto 1fr; gap: .2rem .6rem; font-size: .8rem; margin-top: .3rem; }
.pev dt { color: var(--text-muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; padding-top: .15rem; }
.pev dd { margin: 0; padding-bottom: .2rem; }
.note {
  font-size: .82rem; color: var(--text-dim); padding: var(--space-md);
  border-left: 3px solid var(--teal); background: rgba(56,137,140,.06);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin: var(--space-md) 0;
  line-height: 1.6;
}
.note:last-child { margin-bottom: 0; }
.note strong { color: var(--text); }

/* ── CRM Table (compact) ── */
.tbl { width: 100%; border-collapse: collapse; font-size: .78rem; margin: 1rem 0; }
.tbl th {
  font-family: var(--font-display);
  font-size: .65rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-muted);
  text-align: left;
  padding: .5rem;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  background: var(--bg);
}
.tbl td { padding: .5rem; border-bottom: 1px solid rgba(255,255,255,.03); vertical-align: top; color: var(--text-dim); }
.tbl tr:hover td { background: var(--bg-card); }
.tbl td:first-child { font-weight: 500; color: var(--text); }
.tbl td:first-child a { color: var(--text); text-decoration: none; }
.tbl td:first-child a:hover { color: var(--teal-light); }
.tbl-wrapper { overflow-x: auto; margin: 1rem 0; }

/* ── Prospect Pages ── */
.prospect-header {
  padding: 40px 0 32px;
  border-bottom: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.prospect-header::before {
  content: '';
  position: absolute;
  top: -80px; right: -60px;
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(56,137,140,.12) 0%, transparent 70%);
  pointer-events: none;
}
.prospect-tag {
  display: inline-block;
  font-family: var(--font-display);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--orange);
  background: rgba(252,168,93,.1);
  border: 1px solid var(--orange-glow);
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.prospect-header h1 {
  font-family: var(--font-display);
  font-size: 2.1rem;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.prospect-header .subtitle { font-size: 1rem; color: var(--text-dim); margin-top: 6px; }
.meta-row { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 16px; font-size: .85rem; color: var(--text-dim); }
.meta-row .item { display: flex; align-items: center; gap: 6px; }

.section-title-prospect {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--teal-light);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-title-prospect .icon { font-size: 1.2rem; }
.subsection { margin-top: 24px; }
.subsection-title {
  font-family: var(--font-display);
  font-size: .95rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 10px;
  padding-left: 12px;
  border-left: 3px solid var(--teal);
}

/* ── Detail Cards ── */
.detail-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 16px;
  transition: border-color .2s;
}
.detail-card:hover { border-color: var(--teal); }
.detail-card .card-label {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 6px;
}
.detail-card .card-value { font-size: .92rem; color: var(--text-dim); }
.detail-card .card-value strong { color: var(--text); }

/* ── Note Box ── */
.note-box {
  border-left: 3px solid var(--teal);
  border-radius: 0 8px 8px 0;
  padding: 14px 16px;
  margin: 12px 0;
  font-size: .88rem;
  color: var(--text-dim);
  background: rgba(56,137,140,.12);
}
.note-box strong { color: var(--teal-light); }
.note-box.orange { background: rgba(252,168,93,.1); border-color: var(--orange); }
.note-box.orange strong { color: var(--orange); }
.note-box.yellow { background: rgba(210,153,34,.08); border-color: var(--yellow); }
.note-box.yellow strong { color: var(--yellow); }
.note-box.blue { background: rgba(88,166,255,.1); border-color: var(--blue); }
.note-box.blue strong { color: var(--blue); }

/* ── Timeline ── */
.timeline { position: relative; padding-left: 24px; }
.timeline::before { content: ''; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 2px; background: var(--border); }
.tl-item { position: relative; padding-bottom: 20px; }
.tl-item:last-child { padding-bottom: 0; }
.tl-item::before {
  content: '';
  position: absolute;
  left: -20px; top: 8px;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--teal);
  border: 2px solid var(--bg);
}
.tl-item.pending::before { background: var(--orange); box-shadow: 0 0 8px var(--orange-glow); }
.tl-item.done::before { background: var(--green); }
.tl-date { font-size: .75rem; color: var(--text-muted); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.tl-text { font-size: .9rem; color: var(--text-dim); margin-top: 2px; }

/* ── Stats ── */
.stat-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0; }
.stat {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px 16px;
  flex: 1;
  min-width: 120px;
  text-align: center;
}
.stat-num { font-family: var(--font-display); font-size: 1.4rem; font-weight: 800; color: var(--teal-light); }
.stat-label { font-size: .72rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: .06em; margin-top: 2px; }
.score-bar { height: 6px; background: var(--bg-hover); border-radius: 3px; margin: 8px 0 4px; overflow: hidden; }
.score-fill { height: 100%; border-radius: 3px; background: linear-gradient(90deg, var(--teal), var(--orange)); }
.score-label { font-size: .72rem; color: var(--text-muted); }

ul.clean { list-style: none; padding: 0; }
ul.clean li { position: relative; padding-left: 16px; margin-bottom: 8px; font-size: .9rem; color: var(--text-dim); }
ul.clean li::before { content: '\25B8'; position: absolute; left: 0; color: var(--teal); }
.status { display: inline-flex; align-items: center; gap: 5px; font-size: .78rem; font-weight: 600; padding: 3px 10px; border-radius: 14px; }
.status.warm { color: var(--orange); background: rgba(252,168,93,.1); }

/* ── Hub Cards (Ops Index) ── */
.hub-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 28px;
  transition: all .3s ease;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  overflow: hidden;
}
.hub-card:hover {
  border-color: var(--teal);
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(56,137,140,.15);
}
.hub-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--teal), var(--teal-light));
  opacity: 0;
  transition: opacity .3s;
}
.hub-card:hover::before { opacity: 1; }
.hub-card .card-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  background: rgba(56,137,140,.1);
}
.hub-card .card-title { font-family: var(--font-display); font-size: 19px; font-weight: 700; color: var(--text); }
.hub-card .card-desc { font-size: 14px; color: var(--text-dim); line-height: 1.6; }
.hub-card .card-meta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: auto; }
.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 20px;
  margin-top: 28px;
}

/* ── Hub Badge variants ── */
.badge.orange { background: rgba(252,168,93,.12); color: var(--orange); }
.badge.green { background: rgba(63,185,80,.12); color: var(--green); }
.badge.gray { background: rgba(255,255,255,.05); color: var(--text-muted); }

/* ── Docs Section ── */
.docs-section {
  padding: 32px 0;
  border-top: 1px solid var(--border);
}
.docs-label {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.docs-label::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.docs-links { display: flex; gap: 12px; flex-wrap: wrap; }
.doc-link {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px 18px;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, transform .15s;
  flex: 1;
  min-width: 220px;
}
.doc-link:hover { border-color: var(--teal); transform: translateY(-2px); }
.doc-link-icon {
  width: 32px; height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  background: rgba(56,137,140,.08);
  flex-shrink: 0;
}
.doc-link-title { font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 2px; }
.doc-link-sub { font-size: 11px; color: var(--text-muted); }

/* ── Value Cards (Identidad) ── */
.values-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.value-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 28px;
  position: relative;
  overflow: hidden;
}
.value-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
.value-card:nth-child(1)::before { background: var(--teal); }
.value-card:nth-child(2)::before { background: var(--orange); }
.value-card:nth-child(3)::before { background: var(--teal-light); }
.value-num { font-family: var(--font-display); font-size: 36px; font-weight: 800; color: rgba(56,137,140,.15); margin-bottom: 8px; }
.value-name { font-family: var(--font-display); font-size: 18px; font-weight: 700; color: var(--text); margin-bottom: 8px; }
.value-desc { font-size: 14px; color: var(--text-dim); line-height: 1.6; }
.tagline { text-align: center; padding: 60px 0; }
.tagline-text { font-family: var(--font-display); font-size: clamp(20px, 3vw, 32px); font-weight: 700; color: var(--text); line-height: 1.4; }
.tagline-text .accent { color: var(--teal-light); }
.tagline-text .orange-accent { color: var(--orange); }

/* ── Info Card (Identidad) ── */
.info-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 32px;
  margin-bottom: 20px;
}
.info-card .card-label {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--teal-light);
  margin-bottom: 12px;
}
.info-card p { color: var(--text-dim); line-height: 1.75; font-size: 15px; }

/* ── Footer (legacy extended) ── */
.footer-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: var(--text-muted);
  font-family: var(--font-display);
  letter-spacing: .05em;
}
.footer-brand { display: flex; align-items: center; gap: 10px; }
.footer-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--teal); }

/* ── Animations ── */
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
.hero-content > * { animation: fadeUp .6s ease backwards; }
.hero-content > .hero-tag { animation-delay: .1s; }
.hero-content > .hero-title { animation-delay: .2s; }
.hero-content > .hero-desc { animation-delay: .3s; }

/* ── Extended Responsive ── */
@media (max-width: 900px) {
  .kpi-row { grid-template-columns: repeat(3, 1fr); }
  .grid-2 { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .hero { padding: 40px 24px 30px; }
  .cards-grid { grid-template-columns: 1fr; }
  .docs-links { flex-direction: column; }
  .footer-line { flex-direction: column; gap: 10px; text-align: center; }
  .container { padding: 0 1rem 3rem; }
  .detail-card, .card-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .kpi-row { grid-template-columns: 1fr 1fr; }
  .grid-auto-clients, .grid-auto-ops { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════
   CRM / PROSPECT PAGE COMPONENTS
   Clases compartidas por fichas de prospectos.
   ═══════════════════════════════════════════════ */

/* ── Hero Variants ── */
.hero-badge {
  display: inline-block;
  font-size: .72rem;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 14px;
  letter-spacing: .02em;
}
.badge-warm { background: rgba(252,168,93,.15); color: var(--orange); border: 1px solid var(--orange-glow); }
.badge-tag { background: var(--bg-hover); color: var(--text-dim); border: 1px solid var(--border); }
.hero-meta { display: flex; flex-wrap: wrap; gap: var(--space-md); margin-top: var(--space-md); font-size: .82rem; color: var(--text-muted); }
.hero-top { display: flex; align-items: flex-start; gap: var(--space-lg); margin-bottom: var(--space-md); }
.hero-icon {
  width: 56px; height: 56px; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; font-weight: 700; flex-shrink: 0;
  background: rgba(56,137,140,.12); color: var(--teal-light);
  font-family: var(--font-display);
}
.hero-info { flex: 1; }
.hero-badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: var(--space-sm); }
.hero-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: var(--space-sm); }
.dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--teal); margin-right: .4rem; vertical-align: middle; }
.hero h1 .sub { font-size: .95rem; font-weight: 400; color: var(--text-dim); display: block; margin-top: .3rem; }
.stage { display: inline-flex; align-items: center; gap: .4rem; font-size: .78rem; font-weight: 600; padding: 3px 10px; border-radius: 14px; background: rgba(88,166,255,.12); color: var(--blue); }
.stage-dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }

/* ── Info Grid / Data Grid ── */
.info-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--space-sm); margin-bottom: var(--space-lg); }
.info-grid .info-card { padding: var(--space-md); margin-bottom: 0; }
.data-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--space-sm); margin-bottom: var(--space-lg); }
.data-cell, .data-card {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--space-md);
}
.data-label {
  font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: .3rem;
}
.data-value { font-size: .92rem; color: var(--text-dim); }
.label {
  font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: .3rem;
}
.value { font-size: .92rem; color: var(--text-dim); }
.value.highlight { color: var(--teal-light); font-weight: 600; }
.value.accent { color: var(--orange); font-weight: 600; }
.value.pending { color: var(--yellow); }

/* ── Persona Cards ── */
.persona {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md);
  padding: var(--space-lg); margin-bottom: var(--space-md);
}
.persona-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-sm); }
.persona-name { font-family: var(--font-display); font-size: 1rem; font-weight: 700; }
.persona-role { font-size: .82rem; color: var(--text-muted); }
.persona-bio { font-size: .88rem; color: var(--text-dim); line-height: 1.6; margin: 0; }

/* ── Person Cards (alternate) ── */
.person, .person-card {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--space-md); margin-bottom: var(--space-sm);
  display: flex; align-items: flex-start; gap: var(--space-md);
}
.person-avatar {
  width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: .72rem; font-weight: 700; color: #fff;
  background: var(--teal);
}
.person-name { font-family: var(--font-display); font-size: .88rem; font-weight: 600; }
.person-role { font-size: .78rem; color: var(--text-muted); margin-top: 1px; }
.person-note { font-size: .82rem; color: var(--text-dim); margin-top: .3rem; }
.people-row { display: flex; flex-wrap: wrap; gap: var(--space-sm); }

/* ── Strategy & Script Cards ── */
.strategy-card {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md);
  padding: var(--space-lg); margin-bottom: var(--space-md);
}
.strategy-card h3 { font-family: var(--font-display); font-size: 1rem; font-weight: 700; margin-bottom: var(--space-sm); }
.strategy-card p { font-size: .88rem; color: var(--text-dim); line-height: 1.6; }
.strategy-card ul { list-style: none; padding: 0; margin-top: var(--space-sm); }
.strategy-card ul li { position: relative; padding-left: var(--space-md); margin-bottom: var(--space-sm); font-size: .88rem; color: var(--text-dim); }
.strategy-card ul li::before { content: '\25B8'; position: absolute; left: 0; color: var(--teal); }

.script-block {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--space-md); margin-bottom: var(--space-sm);
}
.script-label {
  font-family: var(--font-display); font-size: .72rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: var(--teal-light);
  margin-bottom: var(--space-sm);
}
.script-text { font-size: .88rem; color: var(--text-dim); line-height: 1.65; font-style: italic; }
.script-text em { font-style: normal; color: var(--teal-light); font-weight: 500; }

/* ── Opportunity List ── */
.opp-list { list-style: none; padding: 0; }
.opp-list li {
  padding: var(--space-md); margin-bottom: var(--space-sm);
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm);
  font-size: .88rem; color: var(--text-dim); line-height: 1.6;
}
.opp-list li strong { color: var(--text); }
.opp-tag {
  display: inline-block; font-size: .68rem; font-weight: 600; padding: 2px 8px;
  border-radius: 3px; margin-top: .4rem;
}
.opp-tag.high { background: rgba(63,185,80,.12); color: var(--green); }
.opp-tag.med { background: rgba(210,153,34,.12); color: var(--yellow); }
.opp-tag.low { background: rgba(248,81,73,.12); color: var(--red); }

/* ── Pain Items ── */
.pain-item {
  padding: var(--space-sm) 0; border-bottom: 1px solid var(--border);
  font-size: .88rem; color: var(--text-dim);
}
.pain-item:last-child { border-bottom: none; }
.pain-label {
  display: inline-block; font-size: .68rem; font-weight: 600; padding: 2px 8px;
  border-radius: 3px; background: rgba(210,153,34,.12); color: var(--yellow);
}

/* ── Context Block ── */
.context-block {
  background: rgba(56,137,140,.06); border: 1px solid rgba(56,137,140,.15);
  border-radius: var(--radius-md); padding: var(--space-lg); margin-bottom: var(--space-md);
}
.context-block h3 { font-family: var(--font-display); font-size: 1rem; font-weight: 700; margin-bottom: var(--space-sm); }
.context-block p { font-size: .88rem; color: var(--text-dim); line-height: 1.6; }
.advantage {
  padding: var(--space-sm) 0; border-bottom: 1px solid var(--border);
  font-size: .88rem; color: var(--text-dim);
}
.advantage:last-child { border-bottom: none; }

/* ── Brand Grid ── */
.brand-grid { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.brand-chip {
  font-size: .78rem; padding: 4px 12px; border-radius: 14px;
  background: var(--bg-hover); border: 1px solid var(--border); color: var(--text-dim);
  text-decoration: none;
}
.brand-chip:hover { border-color: var(--teal-glow); color: var(--teal-light); }

/* ── Abbreviated Classes (Eurostil, Mapa Mat.) ── */
.sn { /* alias section-num */
  font-family: var(--font-display); font-size: 11px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted);
  margin-bottom: 12px; display: flex; align-items: center; gap: .5rem;
}
.sn::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--space-sm); }
.dc {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--space-md);
}
.dc-label {
  font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: .3rem;
}
.dc-val { font-size: .92rem; color: var(--text-dim); }
.dc-val strong { color: var(--text); }
.dc-sm { font-size: .78rem; color: var(--text-muted); margin-top: .2rem; }

/* ── Eurostil Header Variants ── */
.header-top { display: flex; align-items: flex-start; gap: var(--space-lg); }
.header-eyebrow {
  font-family: var(--font-display); font-size: .7rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--teal); margin-bottom: var(--space-sm);
}
.header-title {
  font-family: var(--font-display); font-size: 1.8rem; font-weight: 800;
  letter-spacing: -.02em; line-height: 1.2; margin-bottom: var(--space-xs);
}
.header-sub { font-size: .95rem; color: var(--text-dim); margin-top: .3rem; }
.header-badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: var(--space-md); }
.company-name { font-family: var(--font-display); font-size: 1.8rem; font-weight: 800; letter-spacing: -.02em; }
.company-sub { font-size: .95rem; color: var(--text-dim); margin-top: .3rem; }

/* ── Contact Cards (Eurostil) ── */
.cc {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--space-md); display: flex; align-items: center; gap: var(--space-md); margin-bottom: var(--space-sm);
}
.av {
  width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: .72rem; font-weight: 700; color: #fff;
  background: var(--teal);
}
.cc-info { flex: 1; }
.cc-name { font-family: var(--font-display); font-size: .88rem; font-weight: 600; }
.cc-role { font-size: .78rem; color: var(--text-muted); margin-top: 1px; }
.cc-tag {
  font-size: .65rem; font-weight: 600; padding: 2px 8px; border-radius: 3px;
  background: var(--bg-hover); color: var(--text-muted);
}
.cc-tag.ow { background: rgba(56,137,140,.12); color: var(--teal-light); }
.cc-tag.tg { background: rgba(252,168,93,.12); color: var(--orange); }
.cc-tag.br { background: rgba(88,166,255,.12); color: var(--blue); }

/* ── Strategy Blocks (Eurostil) ── */
.sb { /* strategy block — NOT china-guide override */
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--space-md); margin-bottom: var(--space-sm);
}
.sb-label {
  font-family: var(--font-display); font-size: .72rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: var(--teal-light); margin-bottom: var(--space-sm);
}
.sb-text { font-size: .88rem; color: var(--text-dim); line-height: 1.6; }

/* ── SWOT Grid ── */
.swot { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm); margin-bottom: var(--space-md); }
.sw {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--space-md);
}
.sw h4 {
  font-family: var(--font-display); font-size: .78rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; margin-bottom: var(--space-sm);
}
.sw.sf h4 { color: var(--green); }
.sw.sd h4 { color: var(--red); }
.sw.so h4 { color: var(--teal-light); }
.sw.sa h4 { color: var(--orange); }
.sw ul { list-style: none; padding: 0; }
.sw ul li { position: relative; padding-left: var(--space-md); margin-bottom: .4rem; font-size: .82rem; color: var(--text-dim); }
.sw ul li::before { content: '\25B8'; position: absolute; left: 0; color: var(--text-muted); font-size: .72rem; }

/* ── Note Box abbreviated ── */
.nb {
  border-left: 3px solid var(--teal); border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: var(--space-md); margin: var(--space-sm) 0;
  font-size: .88rem; color: var(--text-dim); background: rgba(56,137,140,.12);
}
.nb strong { color: var(--teal-light); }

/* ── Abbreviated Timeline (ti) ── */
.tl { position: relative; padding-left: 24px; }
.tl::before { content: ''; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 2px; background: var(--border); }
.ti { position: relative; padding-bottom: var(--space-md); }
.ti:last-child { padding-bottom: 0; }
.ti::before {
  content: ''; position: absolute; left: -20px; top: 8px;
  width: 10px; height: 10px; border-radius: 50%; background: var(--teal); border: 2px solid var(--bg);
}
.ti.pending::before { background: var(--orange); }
.ti-date { font-size: .75rem; color: var(--text-muted); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.ti-text { font-size: .88rem; color: var(--text-dim); margin-top: 2px; }

/* ── Mapa Materiales — Proposal Classes ── */
.wrap { max-width: 960px; margin: 0 auto; padding: 0 var(--space-lg) var(--space-2xl); }
.stitle {
  font-family: var(--font-display); font-size: 1.1rem; font-weight: 700;
  margin: var(--space-xl) 0 var(--space-md); padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--border);
}
.prose { font-size: .9rem; color: var(--text-dim); line-height: 1.7; margin-bottom: var(--space-md); }
.metrics { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-bottom: var(--space-md); }
.metric {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--space-md); text-align: center; flex: 1; min-width: 100px;
}
.metric .n { font-family: var(--font-display); font-size: 1.4rem; font-weight: 800; color: var(--teal-light); }
.metric .l { font-size: .72rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: .06em; margin-top: .2rem; }
.source {
  display: inline-block; font-size: .78rem; color: var(--teal-light); margin-top: var(--space-sm);
  text-decoration: none; border-bottom: 1px solid rgba(77,168,171,.3);
}
.source:hover { color: var(--orange); }
.comp-row { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-bottom: var(--space-md); }
.comp {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--space-md); flex: 1; min-width: 140px;
}
.comp-name { font-family: var(--font-display); font-size: .88rem; font-weight: 600; margin-bottom: .3rem; }
.comp-tag {
  display: inline-block; font-size: .65rem; font-weight: 600; padding: 2px 6px;
  border-radius: 3px; margin-bottom: var(--space-sm);
}
.comp-tag.tag-of { background: rgba(56,137,140,.12); color: var(--teal-light); }
.comp-tag.tag-ml { background: rgba(252,168,93,.12); color: var(--orange); }
.comp-detail { font-size: .78rem; color: var(--text-muted); }
.fase {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md);
  padding: var(--space-lg); margin-bottom: var(--space-md);
}
.fase-head { display: flex; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-md); }
.fase-label {
  font-family: var(--font-display); font-size: .68rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--orange);
  background: rgba(252,168,93,.12); padding: 3px 10px; border-radius: 14px;
}
.fase-title { font-family: var(--font-display); font-size: 1rem; font-weight: 700; }
.cta {
  background: rgba(56,137,140,.08); border: 1px solid rgba(56,137,140,.2);
  border-radius: var(--radius-md); padding: var(--space-xl); text-align: center;
  margin: var(--space-xl) 0;
}
.cta h3 { font-family: var(--font-display); margin-bottom: var(--space-sm); }
.cta p { font-size: .9rem; color: var(--text-dim); margin-bottom: var(--space-md); }
.cta-btn {
  display: inline-block; background: var(--teal); color: #fff; font-family: var(--font-display);
  font-size: .88rem; font-weight: 600; padding: var(--space-sm) var(--space-xl);
  border-radius: var(--radius-sm); text-decoration: none; transition: background .2s;
}
.cta-btn:hover { background: var(--teal-dark); color: #fff; }
.div { height: 1px; background: var(--border); margin: var(--space-xl) 0; }

/* ── Ragnar Proposal Classes ── */
.proposal-block {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md);
  padding: var(--space-lg); margin-bottom: var(--space-md);
}
.pack { margin-bottom: var(--space-md); }
.pack-name { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--teal-light); margin-bottom: var(--space-sm); }
.pricing-table { width: 100%; border-collapse: collapse; font-size: .85rem; margin: var(--space-md) 0; }
.pricing-table th {
  text-align: left; font-size: .72rem; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; color: var(--text-muted); padding: var(--space-sm);
  border-bottom: 1px solid var(--border);
}
.pricing-table td { padding: var(--space-sm); border-bottom: 1px solid rgba(255,255,255,.04); color: var(--text-dim); }
.price-highlight { font-family: var(--font-display); font-size: 1.4rem; font-weight: 800; color: var(--orange); }
.price-sub { font-size: .78rem; color: var(--text-muted); }
.hipotesis-list { list-style: none; padding: 0; }
.hipotesis-list li {
  position: relative; padding-left: var(--space-md); margin-bottom: var(--space-sm);
  font-size: .88rem; color: var(--text-dim);
}
.hipotesis-list li::before { content: '\25B8'; position: absolute; left: 0; color: var(--teal); }
.approach-card {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md);
  padding: var(--space-lg); margin-bottom: var(--space-md);
}
.approach-card h4 { font-family: var(--font-display); font-weight: 700; margin-bottom: var(--space-sm); }
.approach-steps { padding-left: var(--space-lg); }
.approach-steps li { margin-bottom: var(--space-sm); font-size: .88rem; color: var(--text-dim); }

/* ── Watervan — Product & Distribution ── */
.product-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.ptag {
  font-size: .72rem; padding: 3px 10px; border-radius: 14px;
  background: var(--bg-hover); border: 1px solid var(--border); color: var(--text-dim);
}
.dist-table { width: 100%; border-collapse: collapse; font-size: .82rem; margin: var(--space-md) 0; }
.dist-table th {
  text-align: left; font-size: .68rem; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; color: var(--text-muted); padding: var(--space-sm);
  border-bottom: 1px solid var(--border);
}
.dist-table td { padding: var(--space-sm); border-bottom: 1px solid rgba(255,255,255,.04); color: var(--text-dim); }
.sat-box { margin-bottom: var(--space-md); }
.sat-row { display: flex; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-sm); font-size: .82rem; }
.sat-label { width: 80px; flex-shrink: 0; color: var(--text-muted); }
.sat-bar-wrap { flex: 1; height: 6px; background: var(--bg-hover); border-radius: 3px; overflow: hidden; }
.sat-bar { height: 100%; border-radius: 3px; }
.sat-bar.high { background: var(--red); }
.sat-bar.med { background: var(--yellow); }
.sat-bar.low { background: var(--green); }
.sat-val { width: 80px; text-align: right; font-size: .72rem; font-weight: 600; color: var(--text-muted); }
.opp-table { width: 100%; border-collapse: collapse; font-size: .82rem; margin: var(--space-md) 0; }
.opp-table th {
  text-align: left; font-size: .68rem; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; color: var(--text-muted); padding: var(--space-sm);
  border-bottom: 1px solid var(--border);
}
.opp-table td { padding: var(--space-sm); border-bottom: 1px solid rgba(255,255,255,.04); color: var(--text-dim); }
.area { font-weight: 600; color: var(--text); }
.pill {
  display: inline-block; font-size: .68rem; font-weight: 600; padding: 2px 8px;
  border-radius: 14px;
}
.pill-green { background: rgba(63,185,80,.12); color: var(--green); }
.pill-red { background: rgba(248,81,73,.12); color: var(--red); }
.pill-yellow { background: rgba(210,153,34,.12); color: var(--yellow); }

/* ── PACS Analysis ── */
.group { margin-bottom: var(--space-xl); }
.group-label {
  font-family: var(--font-display); font-size: .78rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--teal-light);
  margin-bottom: var(--space-md); display: flex; align-items: center; gap: var(--space-sm);
}
.group-label::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.g-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border-radius: 50%; background: var(--teal);
  color: #fff; font-size: .68rem; font-weight: 700; flex-shrink: 0;
}
.pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-sm); margin-bottom: var(--space-lg); }
.pillar {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md);
  padding: var(--space-lg); text-align: center;
}
.pillar-letter {
  font-family: var(--font-display); font-size: 2rem; font-weight: 800;
  margin-bottom: var(--space-sm);
}
.pillar-p .pillar-letter, .p-p .pillar-letter { color: var(--orange); }
.pillar-a .pillar-letter, .p-a .pillar-letter { color: var(--teal-light); }
.pillar-c .pillar-letter, .p-c .pillar-letter { color: var(--green); }
.pillar-s .pillar-letter, .p-s .pillar-letter { color: var(--blue); }
.pillar-title { font-family: var(--font-display); font-size: .88rem; font-weight: 700; margin-bottom: .3rem; }
.pillar-desc { font-size: .78rem; color: var(--text-dim); }
.signal {
  font-size: .84rem; color: var(--text-dim); line-height: 1.6;
  padding: var(--space-md); margin-bottom: var(--space-sm);
  background: rgba(63,185,80,.08); border-left: 3px solid var(--green);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.signal strong { color: var(--text); }
.signal.orange { background: rgba(252,168,93,.08); border-color: var(--orange); }
.signal.red { background: rgba(248,81,73,.08); border-color: var(--red); }

/* ── Note Box variant: .teal ── */
.note-box.teal { background: var(--teal-dim); border-color: var(--teal-glow); }
.note-box.teal strong { color: var(--teal-l); }

/* ── Utility Classes ── */
.badge-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .3rem; }
.section-note { font-size: .82rem; color: var(--text-muted); margin-bottom: var(--space-md); }
.text-teal { color: var(--teal-light); }
.text-orange { color: var(--orange); }
.text-green { color: var(--green); }
.text-red { color: var(--red); }
.text-muted { color: var(--text-muted); }
.mb-sm { margin-bottom: var(--space-sm); }
.mb-md { margin-bottom: var(--space-md); }
.mb-lg { margin-bottom: var(--space-lg); }
.mt-sm { margin-top: var(--space-sm); }
.mt-md { margin-top: var(--space-md); }
.mt-lg { margin-top: var(--space-lg); }
.color-swatch { width: 48px; height: 48px; border-radius: var(--radius-sm); }
.color-swatch.teal { background: var(--teal); }
.color-swatch.orange { background: var(--orange); }
.color-swatch.dark { background: var(--bg); }
.channel-status { display: inline-block; font-size: .72rem; font-weight: 600; padding: 3px 10px; border-radius: 14px; }
.channel-status.wip { background: var(--orange-dim); color: var(--orange); }
.channel-status.active { background: rgba(78,179,183,.15); color: var(--teal-l); }
.channel-status.none { background: rgba(248,81,73,.1); color: var(--red); }

/* ── Responsive for new components ── */
@media (max-width: 768px) {
  .info-grid, .data-grid, .grid { grid-template-columns: 1fr; }
  .pillars { grid-template-columns: 1fr 1fr; }
  .swot { grid-template-columns: 1fr; }
  .people-row { flex-direction: column; }
  .hero-top { flex-direction: column; }
}
@media (max-width: 600px) {
  .pillars { grid-template-columns: 1fr; }
}

/* ── Ficha Equipo ── */
.ficha-header { display: flex; align-items: center; gap: var(--space-lg); margin-bottom: var(--space-xl); }
.ficha-avatar {
  width: 80px; height: 80px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; color: #fff; flex-shrink: 0;
}
.ficha-name { font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; }
.ficha-role { color: var(--text-dim); margin-top: var(--space-xs); }
.ficha-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-lg); margin-bottom: var(--space-lg); }
@media (max-width: 768px) { .ficha-grid { grid-template-columns: 1fr; } }
.ficha-card {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-lg);
}
.ficha-card h3 {
  font-family: var(--font-display); font-size: .78rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .05em; color: var(--text-muted); margin-bottom: var(--space-md);
}
.ficha-stat { display: flex; justify-content: space-between; padding: var(--space-sm) 0; border-bottom: 1px solid var(--border); font-size: .88rem; }
.ficha-stat:last-child { border-bottom: none; }
.ficha-stat-label { color: var(--text-dim); }
.ficha-stat-value { font-weight: 600; }
.ficha-stat-value.active { color: var(--green); }
.ficha-stat-value.closed { color: var(--red); }
.ficha-tag {
  display: inline-block; padding: 3px 10px; border-radius: var(--radius-sm);
  font-size: .78rem; margin: 2px; background: rgba(56,137,140,.12); color: var(--teal-light);
  font-family: var(--font-body);
}
.task-list { list-style: none; padding: 0; }
.task-list li {
  padding: var(--space-sm) 0; border-bottom: 1px solid var(--border);
  font-size: .88rem; color: var(--text-dim);
}
.task-list li:last-child { border-bottom: none; }
.linkedin-link {
  display: inline-flex; align-items: center; gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md); background: rgba(56,137,140,.1);
  color: var(--teal-light); border-radius: var(--radius-sm); text-decoration: none; font-size: .88rem;
}
.linkedin-link:hover { background: rgba(56,137,140,.2); color: var(--teal-light); }
.ficha-note {
  padding: var(--space-md); background: rgba(210,153,34,.08); border-left: 3px solid var(--yellow);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin-top: var(--space-md); font-size: .88rem; color: var(--text-dim);
}

/* ═══════════════════════════════════════════════
   PAGE-SPECIFIC STYLES
   CSS migrado desde artefactos con layouts custom.
   ═══════════════════════════════════════════════ */

/* ── Team Page (Equipo) ── */
.socio-block { margin-bottom: 28px; }
.socio-header {
  display: flex; align-items: center; gap: 16px;
  padding: 18px 22px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}
.socio-avatar {
  width: 46px; height: 46px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 700; font-size: 15px; color: #fff; flex-shrink: 0;
}
.socio-info { flex: 1; }
.socio-name { font-family: var(--font-display); font-size: 17px; font-weight: 700; }
.socio-role { font-size: 12px; color: var(--text-dim); margin-top: 2px; }
.socio-ln { font-size: 11px; margin-top: 3px; }
.socio-ln a { color: var(--teal-light); font-family: var(--font-mono); font-size: 10px; }

.team-list {
  border: 1px solid var(--border); border-top: none;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  overflow: hidden;
}
.team-row {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 22px;
  border-bottom: 1px solid rgba(255,255,255,.03);
  transition: background .15s;
}
.team-row:last-child { border-bottom: none; }
.team-row:hover { background: var(--bg-hover); }
.team-av {
  width: 30px; height: 30px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; font-weight: 600; color: #fff; flex-shrink: 0;
}
.team-info { flex: 1; min-width: 0; }
.team-name { font-size: 13px; font-weight: 500; }
.team-role { font-size: 11px; color: var(--text-dim); }
.team-meta { text-align: right; font-size: 10px; color: var(--text-muted); max-width: 200px; }
.team-meta a { color: var(--teal-light); font-family: var(--font-mono); font-size: 10px; }

.team-divider {
  padding: 6px 22px;
  background: rgba(255,255,255,.015);
  border-bottom: 1px solid rgba(255,255,255,.03);
}
.team-divider span {
  font-family: var(--font-display); font-size: 9px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted);
}

.team-row.vacancy { border: none; background: transparent; }
.vacancy-dot {
  width: 30px; height: 30px; border-radius: 50%;
  border: 2px dashed var(--text-muted);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; color: var(--text-muted); flex-shrink: 0;
}
.team-row.vacancy .team-name { color: var(--text-muted); font-style: italic; }

.av-purple { background: #7c3aed; }
.av-blue { background: #3b82f6; }
.av-coral { background: #ef6c4a; }
.av-green { background: #22c55e; }
.av-gray { background: #6b7280; }

.legend-row { display: flex; gap: 20px; flex-wrap: wrap; padding: 14px 20px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); margin-bottom: 24px; }
.legend-item { display: flex; align-items: center; gap: 7px; font-size: 11px; color: var(--text-dim); }
.legend-dot { width: 9px; height: 9px; border-radius: 50%; }

.roadmap-card {
  background: rgba(56,137,140,.04);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 18px 22px;
  margin-bottom: 10px;
}
.roadmap-card h4 {
  font-family: var(--font-display); font-size: 11px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--teal-light); margin-bottom: 10px;
}
.roadmap-card .li { font-size: 12px; padding: 5px 0; }

/* ── Slide Presentation (Q2 Plans) ── */
/* Shared by placebo-q2-2026, ultragrif-q2-2026.
   Use <body class="page-slide"> to activate. */
body.page-slide {
  --teal-l:#4AABB0;--teal-bg:rgba(56,137,140,.08);--teal-br:rgba(56,137,140,.25);
  --orange-bg:rgba(252,168,93,.10);
  --bg1:#0E1B1C;--bg2:#152021;--bg3:#1C2B2C;
  --t1:#F2F7F7;--t2:#A8BABB;--t3:#637A7B;
  --brd:rgba(242,247,247,.08);
  --fd:'Syne',sans-serif;--fb:'DM Sans',sans-serif;
  font-family:var(--fb);background:var(--bg1);color:var(--t1);overflow-x:hidden;
}
body.page-slide html{scroll-behavior:smooth;scroll-snap-type:y mandatory;}
body.page-slide .layout{display:block;min-height:auto;}
body.page-slide .content{margin-left:0;padding:0;max-width:none;padding-top:0;}
body.page-slide #nav-toggle,body.page-logistica #nav-toggle,body.page-china-guide #nav-toggle{display:none;}
body.page-slide .content,body.page-logistica .content,body.page-china-guide .content{padding-top:0;}
body.page-slide .breadcrumb{position:fixed;top:0;left:0;right:0;z-index:200;padding:10px 24px;background:rgba(14,27,28,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--brd);margin-bottom:0;}
body.page-slide .breadcrumb a{color:var(--t2);}
body.page-slide .breadcrumb a:hover{color:var(--teal-l);}
body.page-slide .breadcrumb span{color:var(--t3);}
body.page-slide .footer{background:transparent;border-top:1px solid var(--brd);color:var(--t3);padding:14px 24px;text-align:center;font-size:11px;}

.slide{min-height:100vh;scroll-snap-align:start;position:relative;display:flex;flex-direction:column;overflow:hidden;}
.pnav{position:fixed;top:42px;right:24px;z-index:200;display:flex;gap:7px;}
.ndot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.15);border:none;cursor:pointer;transition:all .3s;}
.ndot.active{background:var(--orange);transform:scale(1.4);}

.bgabs{position:absolute;inset:0;pointer-events:none;}
.bgrid{background-image:linear-gradient(var(--brd) 1px,transparent 1px),linear-gradient(90deg,var(--brd) 1px,transparent 1px);background-size:72px 72px;}
.glow{position:absolute;border-radius:50%;}
.gt{background:radial-gradient(circle,rgba(56,137,140,.16) 0%,transparent 65%);}
.go{background:radial-gradient(circle,rgba(252,168,93,.10) 0%,transparent 65%);}
@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.06);opacity:.8;}}
@keyframes scan{0%{left:-100%;}100%{left:100%;}}

/* S1 Portada */
#s1{background:var(--bg1);justify-content:center;padding:120px 52px 80px;}
#s1 .gt{width:680px;height:680px;top:-160px;right:-80px;animation:pulse 9s ease-in-out infinite;}
#s1 .go{width:380px;height:380px;bottom:0;left:-60px;animation:pulse 12s ease-in-out infinite reverse;}
.s1i{position:relative;z-index:1;max-width:860px;}
.ey{display:inline-flex;align-items:center;gap:8px;font-family:var(--fd);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--teal-l);margin-bottom:28px;}
.eyl{width:26px;height:1px;background:var(--teal-l);}
.s1t{font-family:var(--fd);font-size:clamp(58px,9vw,124px);font-weight:800;line-height:.88;letter-spacing:-.03em;color:var(--t1);margin-bottom:10px;animation:fadeUp .7s ease both;}
.s1t span{color:var(--teal);}
.s1t.s1t-lg{font-size:clamp(68px,10.5vw,144px);}
.s1sub{font-family:var(--fd);font-size:clamp(18px,2.5vw,28px);font-weight:600;color:var(--t3);letter-spacing:.04em;margin-bottom:8px;animation:fadeUp .7s .05s ease both;}
.s1p{font-family:var(--fd);font-size:clamp(28px,4vw,52px);font-weight:700;color:var(--orange);margin-bottom:36px;animation:fadeUp .7s .1s ease both;}
.s1d{font-size:15px;font-weight:300;line-height:1.75;color:var(--t2);max-width:540px;margin-bottom:48px;animation:fadeUp .7s .2s ease both;}
body.page-slide .kpis{display:flex;border:1px solid var(--brd);border-radius:12px;width:fit-content;overflow:hidden;animation:fadeUp .7s .3s ease both;}
body.page-slide .kpi{padding:16px 28px;display:flex;flex-direction:column;gap:3px;background:transparent;border:none;border-radius:0;}
body.page-slide .kpi+.kpi{border-left:1px solid var(--brd);}
.kl{font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);}
.kv{font-family:var(--fd);font-size:14px;font-weight:700;color:var(--t1);}
.kv em{font-style:normal;color:var(--teal-l);}
.scroll{position:absolute;bottom:36px;left:52px;display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);}
.sbar{width:32px;height:1px;background:var(--t3);position:relative;overflow:hidden;}
.sbar::after{content:'';position:absolute;left:-100%;top:0;width:100%;height:100%;background:var(--orange);animation:scan 2s ease-in-out infinite;}

/* S2 Resumen */
#s2{background:var(--bg2);padding:110px 52px 60px;}
#s2 .gt{width:480px;height:480px;top:-80px;right:-80px;opacity:.45;}
.rel{position:relative;z-index:1;}
.seyb{font-family:var(--fd);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--orange);margin-bottom:10px;}
.stit{font-family:var(--fd);font-size:clamp(34px,4vw,52px);font-weight:800;line-height:.95;color:var(--t1);margin-bottom:36px;}
.stit em{font-style:normal;color:var(--teal-l);}
.egrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;}
.egrid.cols-2{grid-template-columns:repeat(2,1fr);}
.ecard{background:var(--bg3);border:1px solid var(--brd);border-radius:12px;padding:22px 24px;transition:all .3s;position:relative;overflow:hidden;}
.ecard::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:2px 0 0 2px;}
.ecard.fa::before{background:var(--orange);}
.ecard.ec::before{background:var(--teal);}
.ecard.di::before{background:#9B6DFF;}
.ecard.it::before{background:var(--teal);}
.ecard.te::before{background:#4CAF50;}
.ecard:hover{border-color:var(--teal-br);transform:translateY(-2px);}
.etop{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.eico{font-size:18px;}
.enm{font-family:var(--fd);font-size:17px;font-weight:700;color:var(--t1);}
.ehs{margin-left:auto;font-family:var(--fd);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);background:var(--orange-bg);padding:3px 9px;border-radius:100px;}
.ebl{list-style:none;display:flex;flex-direction:column;gap:7px;}
.ebl li{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:300;line-height:1.5;color:var(--t2);}
.bd{width:4px;height:4px;border-radius:50%;flex-shrink:0;margin-top:7px;}
.bd.fa{background:var(--orange);}
.bd.ec{background:var(--teal-l);}
.bd.di{background:#9B6DFF;}
.bd.it{background:var(--teal-l);}
.bd.te{background:#4CAF50;}
.trimbar{display:flex;align-items:center;gap:16px;padding:14px 22px;background:var(--teal-bg);border:1px solid var(--teal-br);border-radius:9px;}
.trlb{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--t2);}
.trtot{font-family:var(--fd);font-size:20px;font-weight:800;color:var(--teal-l);}
.trdt{font-size:12px;color:var(--t3);}

/* S3 Plan Mensual */
#s3{background:var(--bg1);padding:110px 52px 60px;}
.mrow{display:flex;align-items:center;gap:14px;margin-bottom:28px;}
.mtabs{display:flex;gap:3px;background:rgba(255,255,255,.04);padding:3px;border-radius:9px;}
.mbtn{padding:7px 20px;border-radius:6px;border:none;background:transparent;color:var(--t3);font-family:var(--fd);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.mbtn.active{background:var(--teal);color:#fff;}
.mhs{font-family:var(--fd);font-size:12px;font-weight:600;color:var(--t3);letter-spacing:.05em;}
.mhs span{color:var(--orange);}
.mcont{display:none;}
.mcont.active{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.mcont.cols-2.active{grid-template-columns:repeat(2,1fr);}
.pcard{background:var(--bg3);border:1px solid var(--brd);border-radius:12px;padding:20px 22px;transition:all .3s;}
.pcard:hover{border-color:var(--teal-br);}
.ph{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--brd);}
.pico{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.pico.fa{background:var(--orange-bg);}
.pico.ec{background:var(--teal-bg);}
.pico.di{background:rgba(155,109,255,.10);}
.pico.it{background:var(--teal-bg);}
.pico.te{background:rgba(76,175,80,.10);}
.pnm{font-family:var(--fd);font-size:15px;font-weight:700;color:var(--t1);}
.phs{margin-left:auto;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);}
.pbl{list-style:none;display:flex;flex-direction:column;gap:7px;}
.pbl li{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:300;line-height:1.5;color:var(--t2);}

/* S4 Cierre */
#s4{background:var(--bg2);justify-content:center;align-items:center;text-align:center;padding:80px 52px;}
#s4 .gt{width:800px;height:800px;bottom:-320px;left:50%;transform:translateX(-50%);}
#s4 .go{width:380px;height:380px;top:-100px;right:-100px;}
.s4i{position:relative;z-index:1;max-width:560px;}
.s4orn{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--fd);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);margin-bottom:32px;}
.s4orn::before,.s4orn::after{content:'';flex:1;max-width:44px;height:1px;background:var(--brd);}
.s4t{font-family:var(--fd);font-size:clamp(48px,7.5vw,96px);font-weight:800;line-height:.9;margin-bottom:24px;letter-spacing:-.03em;}
.s4t .l1{color:var(--t1);}
.s4t .l2{color:var(--orange);display:block;}
.s4tx{font-size:14px;font-weight:300;line-height:1.75;color:var(--t2);margin-bottom:40px;}
.cbox{display:inline-flex;flex-direction:column;align-items:center;gap:5px;padding:20px 44px;background:var(--teal-bg);border:1px solid var(--teal-br);border-radius:11px;margin-bottom:28px;}
.cbn{font-family:var(--fd);font-size:15px;font-weight:700;color:var(--t1);}
body.page-slide .cbr{font-size:11px;color:var(--t3);letter-spacing:.04em;}
.cbe{font-size:13px;color:var(--teal-l);text-decoration:none;border-bottom:1px solid rgba(74,171,176,.3);padding-bottom:1px;margin-top:3px;}
.s4f{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.15);}

@media(max-width:900px){
  body.page-slide .breadcrumb{padding:8px 16px;}
  .pnav{top:38px;right:16px;}
  #s1,#s2,#s3,#s4{padding-left:20px;padding-right:20px;}
  .egrid,.mcont.active{grid-template-columns:1fr;}
  body.page-slide .kpis{flex-direction:column;}
  body.page-slide .kpi+.kpi{border-left:none;border-top:1px solid var(--brd);}
}

/* ── Logistica Report (Confort Ivan — light theme) ── */
/* Use <body class="page-logistica"> to activate. */
body.page-logistica {
  --teal-dk:#2a6a6d;--teal-lt:#e8f4f4;--teal-xlt:#f2fafa;
  --orange-dk:#e8883a;--orange-lt:#fff5eb;
  --ink:#1a2226;--mid:#4a5a5f;--soft:#8fa3a8;
  --bg-l:#f2f7f7;--white:#fff;--border-l:#d8e8e8;
  --ok:#38a169;--ok-lt:#e6f7ee;
  --warn:#e8883a;--warn-lt:#fff3e0;
  --red-l:#c53030;--red-lt:#fde8e8;
  font-family:'DM Sans',sans-serif;background:var(--bg-l);color:var(--ink);font-size:14px;line-height:1.6;
}
body.page-logistica .layout{display:block;min-height:auto;}
body.page-logistica .content{margin-left:0;padding:0;max-width:none;}

/* Header */
body.page-logistica header{background:var(--ink);color:#fff;padding:40px 52px 34px;position:relative;overflow:hidden;}
body.page-logistica header::before{content:'';position:absolute;top:-70px;right:-70px;width:300px;height:300px;border-radius:50%;background:var(--teal);opacity:.14;}
body.page-logistica header::after{content:'';position:absolute;bottom:-40px;left:220px;width:180px;height:180px;border-radius:50%;background:var(--orange);opacity:.1;}
body.page-logistica .h-eye{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:8px;}
body.page-logistica header h1{font-family:'DM Serif Display',serif;font-size:clamp(22px,3vw,34px);line-height:1.15;margin-bottom:6px;position:relative;}
body.page-logistica .h-sub{color:var(--soft);font-size:13px;}
body.page-logistica .h-pills{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap;}
body.page-logistica .hp{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:40px;padding:3px 12px;font-size:11.5px;color:rgba(255,255,255,.7);}
body.page-logistica .hp.act{background:rgba(56,137,140,.3);border-color:rgba(56,137,140,.5);color:#a0d8da;}
body.page-logistica .hp.pend{background:rgba(252,168,93,.15);border-color:rgba(252,168,93,.4);color:#fca85d;}
body.page-logistica .hp.new{background:rgba(107,70,193,.25);border-color:rgba(107,70,193,.4);color:#c4b5fd;}

/* Status band */
body.page-logistica .status-band{background:#1e3438;display:flex;overflow-x:auto;}
body.page-logistica .sb{flex:1;min-width:150px;padding:12px 18px;display:flex;gap:9px;align-items:flex-start;border-right:1px solid rgba(255,255,255,.07);}
body.page-logistica .sb:last-child{border:none;}
body.page-logistica .sb-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;}
body.page-logistica .dg{background:#48bb78;}
body.page-logistica .do{background:var(--orange);}
body.page-logistica .dd{background:#718096;}
body.page-logistica .sb-txt{font-size:11.5px;color:rgba(255,255,255,.65);line-height:1.3;}
body.page-logistica .sb-txt strong{color:#fff;display:block;font-size:12px;}

/* Accordion */
body.page-logistica .aw{max-width:980px;margin:0 auto;padding:22px 22px 60px;display:flex;flex-direction:column;gap:9px;}
body.page-logistica .ac{background:var(--white);border-radius:12px;border:1.5px solid var(--border-l);overflow:hidden;box-shadow:0 2px 6px rgba(56,137,140,.04);}
body.page-logistica .ac.open{border-color:var(--teal);box-shadow:0 4px 18px rgba(56,137,140,.11);}
body.page-logistica .ab{width:100%;display:flex;align-items:center;gap:12px;padding:16px 20px;background:none;border:none;cursor:pointer;text-align:left;}
body.page-logistica .ab:hover,body.page-logistica .ac.open .ab{background:var(--teal-xlt);}
body.page-logistica .an{width:28px;height:28px;border-radius:50%;background:var(--teal-lt);color:var(--teal-dk);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,color .2s;}
body.page-logistica .ac.open .an{background:var(--teal);color:#fff;}
body.page-logistica .ae{font-size:17px;flex-shrink:0;}
body.page-logistica .ah{flex:1;}
body.page-logistica .at{font-weight:600;font-size:14.5px;color:var(--ink);line-height:1.2;}
body.page-logistica .as{font-size:11.5px;color:var(--soft);margin-top:1px;}
body.page-logistica .ach{width:22px;height:22px;border-radius:50%;background:var(--teal-lt);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--teal-dk);transition:transform .22s,background .2s;}
body.page-logistica .ac.open .ach{transform:rotate(180deg);background:var(--teal);color:#fff;}
body.page-logistica .body{display:none;padding:4px 20px 22px;border-top:1px solid var(--border-l);}
body.page-logistica .ac.open .body{display:block;}

/* Layout grids */
body.page-logistica .g2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;}
body.page-logistica .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:14px 0;}
@media(max-width:600px){body.page-logistica .g2,body.page-logistica .g3{grid-template-columns:1fr;}}
body.page-logistica .card{background:var(--teal-xlt);border-radius:9px;padding:14px 16px;border:1px solid var(--border-l);}
body.page-logistica .card.orn{background:var(--orange-lt);border-color:#f5d5b0;}
body.page-logistica .card.wht{background:var(--white);}
body.page-logistica .ct{font-weight:600;font-size:12.5px;color:var(--teal-dk);margin-bottom:6px;}
body.page-logistica .card.orn .ct{color:var(--orange-dk);}
body.page-logistica .card ul{list-style:none;padding:0;}
body.page-logistica .card ul li{font-size:12.5px;color:var(--mid);padding:2px 0 2px 13px;position:relative;}
body.page-logistica .card ul li::before{content:'–';position:absolute;left:0;color:var(--teal);font-weight:700;}
body.page-logistica .card.orn ul li::before{color:var(--orange-dk);}
body.page-logistica .card ul li strong{color:var(--ink);font-weight:500;}

/* Notes */
body.page-logistica .note{border-radius:9px;padding:12px 16px;margin:12px 0;font-size:13px;line-height:1.6;}
body.page-logistica .note.tl{background:var(--teal-lt);border-left:4px solid var(--teal);}
body.page-logistica .note.or{background:var(--warn-lt);border-left:4px solid var(--warn);}
body.page-logistica .note.rd{background:var(--red-lt);border-left:4px solid var(--red-l);}
body.page-logistica .note.gn{background:var(--ok-lt);border-left:4px solid var(--ok);}
body.page-logistica .note.tl strong{color:var(--teal-dk);}
body.page-logistica .note.or strong{color:var(--orange-dk);}
body.page-logistica .note.rd strong{color:var(--red-l);}
body.page-logistica .note.gn strong{color:#276749;}

/* Section label */
body.page-logistica .sl{font-family:'DM Serif Display',serif;font-size:16px;color:var(--teal-dk);margin:18px 0 10px;padding-bottom:7px;border-bottom:1.5px solid var(--teal-lt);}

/* Badge overrides */
body.page-logistica .badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;white-space:nowrap;}
body.page-logistica .bok{background:var(--ok-lt);color:#276749;}
body.page-logistica .bwr{background:var(--warn-lt);color:#7c4a03;}
body.page-logistica .brd{background:var(--red-lt);color:var(--red-l);}
body.page-logistica .bgr{background:#ecf0f0;color:#5a6a6f;}
body.page-logistica .btl{background:var(--teal-lt);color:var(--teal-dk);}
body.page-logistica .bnw{background:#f0ebff;color:#6b46c1;}

/* Tables */
body.page-logistica .t{width:100%;border-collapse:collapse;font-size:12.5px;background:var(--white);border-radius:10px;overflow:hidden;border:1px solid var(--border-l);margin:14px 0;}
body.page-logistica .t thead{background:var(--ink);color:#fff;}
body.page-logistica .t thead th{padding:10px 12px;text-align:left;font-weight:500;font-size:11.5px;white-space:nowrap;}
body.page-logistica .t tbody tr{border-bottom:1px solid #edf2f2;}
body.page-logistica .t tbody tr:last-child{border-bottom:none;}
body.page-logistica .t tbody tr:hover{background:#f5fbfb;}
body.page-logistica .t td{padding:9px 12px;color:var(--mid);vertical-align:middle;}
body.page-logistica .t td:first-child{font-weight:600;color:var(--ink);}
body.page-logistica .t tr.hi td{background:#f5fcfc;}
body.page-logistica .ok{color:var(--ok);font-weight:600;}
body.page-logistica .wr{color:var(--orange-dk);font-weight:600;}
body.page-logistica .rd{color:var(--red-l);font-weight:600;}
body.page-logistica .gn{color:var(--ok);font-weight:600;}

/* Catalog cards */
body.page-logistica .cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:14px 0;}
body.page-logistica .cat-card{background:var(--white);border:1.5px solid var(--border-l);border-radius:10px;padding:14px;position:relative;}
body.page-logistica .cat-card.vidrio{border-color:var(--teal);}
body.page-logistica .cat-card.blanca{border-color:#c8d8db;}
body.page-logistica .cat-card.sillas{border-color:#f5d5b0;}
body.page-logistica .cat-card.combo{border-color:#e6b3ff;background:#fdf9ff;}
body.page-logistica .cat-card.noml{border-color:#f5d5b0;background:#fff8f0;}
body.page-logistica .cat-tag{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;}
body.page-logistica .cat-card.vidrio .cat-tag{color:var(--teal-dk);}
body.page-logistica .cat-card.blanca .cat-tag{color:var(--mid);}
body.page-logistica .cat-card.sillas .cat-tag{color:var(--orange-dk);}
body.page-logistica .cat-card.combo .cat-tag{color:#6b46c1;}
body.page-logistica .cat-card.noml .cat-tag{color:var(--orange-dk);}
body.page-logistica .cat-name{font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:6px;line-height:1.3;}
body.page-logistica .cat-price{font-size:18px;font-weight:700;color:var(--ink);}
body.page-logistica .cat-cuota{font-size:11px;color:var(--soft);margin-top:2px;}
body.page-logistica .cat-weight{font-size:11px;color:var(--mid);margin-top:5px;padding-top:5px;border-top:1px solid var(--border-l);}
body.page-logistica .cat-buf{font-size:11px;font-weight:600;margin-top:3px;}
body.page-logistica .cat-discount{position:absolute;top:10px;right:10px;background:var(--ok);color:#fff;font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:4px;}
body.page-logistica .nostock{opacity:.55;pointer-events:none;}
body.page-logistica .nostock::after{content:'Sin stock';position:absolute;top:10px;right:10px;background:var(--red-l);color:#fff;font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:4px;}

/* Buffer visual */
body.page-logistica .buf{display:flex;align-items:stretch;border-radius:9px;overflow:hidden;margin:14px 0;}
body.page-logistica .buf-i{padding:13px 16px;text-align:center;flex:1;}
body.page-logistica .buf-l{font-size:10px;opacity:.75;margin-bottom:3px;}
body.page-logistica .buf-v{font-size:20px;font-weight:700;}
body.page-logistica .buf-s{font-size:10.5px;opacity:.6;margin-top:2px;}
body.page-logistica .buf-op{padding:13px 8px;display:flex;align-items:center;font-size:16px;font-weight:300;opacity:.5;color:#fff;}
body.page-logistica .b1{background:#2a4a4e;color:#fff;}
body.page-logistica .b2{background:#1e3a3e;color:#fff;}
body.page-logistica .b3{background:var(--teal);color:#fff;}

/* Zona table */
body.page-logistica .zt{width:100%;border-collapse:collapse;font-size:12px;background:var(--white);border-radius:10px;overflow:hidden;border:1px solid var(--border-l);margin:14px 0;}
body.page-logistica .zt thead{background:var(--ink);color:#fff;}
body.page-logistica .zt th{padding:9px 10px;text-align:left;font-weight:500;font-size:11px;white-space:nowrap;}
body.page-logistica .zt th.cheap{background:#2a3e42;}
body.page-logistica .zt th.mid-{background:#2a3020;}
body.page-logistica .zt th.exp{background:#3a2020;}
body.page-logistica .zt tbody tr{border-bottom:1px solid #edf2f2;}
body.page-logistica .zt tbody tr:last-child{border-bottom:none;}
body.page-logistica .zt tbody tr:hover{background:#f5fbfb;}
body.page-logistica .zt td{padding:8px 10px;color:var(--mid);vertical-align:middle;font-size:12px;}
body.page-logistica .zt td:first-child{font-weight:600;color:var(--ink);font-size:12.5px;}
body.page-logistica .zt td.cheap{background:#f5fcfc;}
body.page-logistica .zt td.mid-{background:#f5fbf0;}
body.page-logistica .zt td.exp{background:#fff5f0;}
body.page-logistica .pool-row td{background:#f0f8f0!important;font-weight:600;}

/* Branches */
body.page-logistica .branches{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:14px 0;}
@media(max-width:620px){body.page-logistica .branches{grid-template-columns:1fr;}}
body.page-logistica .br{border-radius:10px;padding:14px;border:2px solid var(--border-l);}
body.page-logistica .brA{border-color:var(--teal);background:#f5fcfc;}
body.page-logistica .brB{border-color:var(--orange);background:var(--orange-lt);}
body.page-logistica .brC{border-color:#c8d8db;background:#f9fbfb;border-style:dashed;}
body.page-logistica .br-tag{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;}
body.page-logistica .brA .br-tag{color:var(--teal-dk);}
body.page-logistica .brB .br-tag{color:var(--orange-dk);}
body.page-logistica .brC .br-tag{color:var(--soft);}
body.page-logistica .br h4{font-weight:600;font-size:13.5px;margin-bottom:8px;color:var(--ink);}
body.page-logistica .br ul{list-style:none;padding:0;}
body.page-logistica .br ul li{font-size:12px;color:var(--mid);padding:2px 0 2px 13px;position:relative;}
body.page-logistica .brA ul li::before{content:'·';position:absolute;left:0;color:var(--teal);font-weight:900;font-size:14px;line-height:1.1;}
body.page-logistica .brB ul li::before{content:'·';position:absolute;left:0;color:var(--orange-dk);font-weight:900;font-size:14px;line-height:1.1;}
body.page-logistica .brC ul li::before{content:'·';position:absolute;left:0;color:var(--soft);font-weight:900;font-size:14px;line-height:1.1;}
body.page-logistica .br-note{font-size:11px;color:var(--soft);font-style:italic;margin-top:8px;}

/* Steps */
body.page-logistica .steps{position:relative;padding-left:42px;}
body.page-logistica .steps::before{content:'';position:absolute;top:18px;left:14px;bottom:18px;width:2px;background:var(--teal-lt);}
body.page-logistica .step{position:relative;padding:11px 0;}
body.page-logistica .sn{position:absolute;left:-42px;width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;z-index:1;box-shadow:0 0 0 4px var(--white);}
body.page-logistica .sn.or{background:var(--orange-dk);}
body.page-logistica .sn.gr{background:var(--mid);}
body.page-logistica .sn.ok{background:var(--ok);}
body.page-logistica .st{font-weight:600;font-size:13.5px;color:var(--ink);margin-bottom:3px;}
body.page-logistica .sd{font-size:12.5px;color:var(--mid);}
body.page-logistica .stag{display:inline-block;margin-top:5px;font-size:10.5px;font-weight:600;padding:2px 9px;border-radius:20px;}
body.page-logistica .stl{background:var(--teal-lt);color:var(--teal-dk);}
body.page-logistica .sor{background:var(--orange-lt);color:var(--orange-dk);}
body.page-logistica .sgr{background:#ecf0f0;color:#5a6a6f;}
body.page-logistica .sok{background:var(--ok-lt);color:#276749;}

/* Embalaje */
body.page-logistica .emb-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;}
@media(max-width:540px){body.page-logistica .emb-grid{grid-template-columns:1fr;}}
body.page-logistica .emb-s{background:var(--white);border:1px solid var(--border-l);border-radius:9px;padding:12px;display:flex;gap:11px;align-items:flex-start;}
body.page-logistica .emb-ilu{flex-shrink:0;width:56px;height:56px;}
body.page-logistica .emb-n{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:2px;}
body.page-logistica .emb-t{font-weight:600;font-size:13px;color:var(--ink);margin-bottom:3px;}
body.page-logistica .emb-d{font-size:11.5px;color:var(--mid);line-height:1.45;}

/* Nota final */
body.page-logistica .nf{background:var(--ink);color:rgba(255,255,255,.88);border-radius:12px;padding:20px 24px;font-size:13px;line-height:1.7;margin-top:12px;}
body.page-logistica .nf strong{color:var(--orange);}

/* Scroll & mobile */
body.page-logistica .scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;}
body.page-logistica .t,body.page-logistica .zt{min-width:480px;}
body.page-logistica .buf{min-width:360px;}
@media(max-width:640px){
  body.page-logistica .g2,body.page-logistica .g3{grid-template-columns:1fr!important;}
  body.page-logistica .branches{grid-template-columns:1fr!important;}
  body.page-logistica .buf-v{font-size:16px;}
  body.page-logistica .g3resp{grid-template-columns:1fr!important;}
  body.page-logistica .pool-grid{grid-template-columns:1fr!important;}
}
body.page-logistica .g3resp{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
body.page-logistica .pool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:12.5px;}

body.page-logistica footer{text-align:center;padding:20px;font-size:11px;color:var(--soft);border-top:1px solid var(--border-l);}
body.page-logistica footer span{color:var(--teal);font-weight:600;}

/* Sub-accordions */
body.page-logistica .sac{border:1px solid var(--border-l);border-radius:8px;margin:10px 0;overflow:hidden;}
body.page-logistica .sac.open .sac-body{display:block;}
body.page-logistica .sac-btn{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;}
body.page-logistica .sac-btn:hover,body.page-logistica .sac.open .sac-btn{background:var(--teal-xlt);}
body.page-logistica .sac-icon{font-size:16px;flex-shrink:0;}
body.page-logistica .sac-title{font-weight:600;font-size:13px;color:var(--ink);flex:1;}
body.page-logistica .sac-sub{font-size:11.5px;color:var(--soft);margin-top:1px;}
body.page-logistica .sac-arr{font-size:11px;color:var(--soft);transition:transform .2s;flex-shrink:0;}
body.page-logistica .sac.open .sac-arr{transform:rotate(180deg);}
body.page-logistica .sac-body{display:none;padding:14px 16px;border-top:1px solid var(--border-l);background:#fafafa;}
body.page-logistica .sac.open{border-color:var(--teal);}
body.page-logistica .sac.open .sac-btn{background:var(--teal-xlt);}

/* ── China Product Guide (Placebo — light theme) ── */
/* Use <body class="page-china-guide"> to activate. */
body.page-china-guide {
  --teal-cg:#38898C;--td:#2a6669;--tl:#e8f4f4;--or-cg:#fca85d;--od:#e8883a;
  --cr:#faf8f4;--ink:#1a1a1a;--mu:#6b7280;--bo:#e5e7eb;
  --gr:#16a34a;--am:#d97706;--re:#dc2626;
  font-family:'DM Sans',sans-serif;background:var(--cr);color:var(--ink);line-height:1.6;
}
body.page-china-guide .layout{display:block;min-height:auto;}
body.page-china-guide .content{margin-left:0;padding:0;max-width:none;}

body.page-china-guide header{background:var(--teal-cg);color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 20px rgba(0,0,0,.15);}
body.page-china-guide .hi{max-width:1100px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;}
body.page-china-guide .logo{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;letter-spacing:-.5px;}
body.page-china-guide .logo span{color:var(--or-cg);}
body.page-china-guide .hm{font-size:12px;opacity:.8;text-align:right;}
body.page-china-guide .hm strong{display:block;font-size:14px;opacity:1;font-weight:500;}
body.page-china-guide .hero{background:linear-gradient(135deg,var(--teal-cg),var(--td));color:#fff;padding:52px 24px 44px;text-align:center;}
body.page-china-guide .hero h1{font-family:'Syne',sans-serif;font-size:clamp(26px,5vw,50px);font-weight:800;line-height:1.1;letter-spacing:-1px;margin-bottom:12px;}
body.page-china-guide .hero h1 em{color:var(--or-cg);font-style:normal;}
body.page-china-guide .hero p{font-size:16px;opacity:.85;max-width:520px;margin:0 auto 28px;font-weight:300;}
body.page-china-guide .pills{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
body.page-china-guide .pill{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:100px;padding:6px 16px;font-size:13px;font-weight:500;}
body.page-china-guide .summ{background:#fff;border-bottom:1px solid var(--bo);padding:20px 24px;}
body.page-china-guide .si{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
body.page-china-guide .stat{text-align:center;padding:12px;}
body.page-china-guide .sv{font-family:'Syne',sans-serif;font-size:26px;font-weight:700;color:var(--teal-cg);line-height:1;}
body.page-china-guide .sl{font-size:12px;color:var(--mu);margin-top:4px;}
body.page-china-guide main{max-width:1100px;margin:0 auto;padding:40px 24px 80px;}
body.page-china-guide .sh{display:flex;align-items:center;gap:14px;margin-bottom:24px;margin-top:48px;}
body.page-china-guide .sh:first-child{margin-top:0;}
body.page-china-guide .sn{width:36px;height:36px;background:var(--teal-cg);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-weight:700;font-size:15px;flex-shrink:0;}
body.page-china-guide .sh h2{font-family:'Syne',sans-serif;font-size:22px;font-weight:700;letter-spacing:-.3px;}
body.page-china-guide .sh .cnt{margin-left:auto;font-size:13px;background:var(--tl);color:var(--td);border-radius:100px;padding:4px 12px;font-weight:500;}

/* Product cards */
body.page-china-guide .pc{background:#fff;border-radius:16px;border:1px solid var(--bo);overflow:hidden;transition:box-shadow .2s;margin-bottom:20px;}
body.page-china-guide .pc:hover{box-shadow:0 8px 32px rgba(56,137,140,.12);}
body.page-china-guide .ct{display:grid;grid-template-columns:240px 1fr;}
body.page-china-guide .ci{height:240px;overflow:hidden;background:var(--tl);position:relative;}
body.page-china-guide .ci img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
body.page-china-guide .pc:hover .ci img{transform:scale(1.04);}
body.page-china-guide .cm{padding:20px 24px;}
body.page-china-guide .ch{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
body.page-china-guide .cn{font-family:'Syne',sans-serif;font-size:17px;font-weight:700;line-height:1.2;}
body.page-china-guide .cc{font-size:11px;font-weight:500;padding:3px 10px;border-radius:100px;white-space:nowrap;}
body.page-china-guide .cm-c{background:#e8f4f4;color:var(--td);}
body.page-china-guide .ch-c{background:#fff4ec;color:var(--od);}
body.page-china-guide .cd{font-size:13px;color:var(--mu);line-height:1.5;margin-bottom:14px;}
body.page-china-guide .mets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
body.page-china-guide .met{background:#f9fafb;border-radius:10px;padding:10px 12px;}
body.page-china-guide .ml-l{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;}
body.page-china-guide .mv{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;color:var(--ink);line-height:1;}
body.page-china-guide .mv.g{color:var(--gr);}
body.page-china-guide .mv.o{color:var(--od);}
body.page-china-guide .mv.t{color:var(--teal-cg);}

/* Expand button */
body.page-china-guide .ab{width:100%;background:none;border:none;border-top:1px solid var(--bo);padding:13px 24px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;color:var(--mu);text-align:left;transition:background .15s;}
body.page-china-guide .ab:hover{background:#f9fafb;color:var(--ink);}
body.page-china-guide .ab .chv{width:16px;height:16px;transition:transform .2s;flex-shrink:0;}
body.page-china-guide .ab.open .chv{transform:rotate(180deg);}
body.page-china-guide .abo{display:none;padding:20px 24px;background:#f9fafb;border-top:1px solid var(--bo);}
body.page-china-guide .abo.open{display:block;}
body.page-china-guide .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px;}
body.page-china-guide .gi{aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#e8f4f4;}
body.page-china-guide .gi img{width:100%;height:100%;object-fit:cover;display:block;}
body.page-china-guide .dg{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px;}
body.page-china-guide .db h4{font-family:'Syne',sans-serif;font-size:12px;font-weight:600;color:var(--teal-cg);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;}
body.page-china-guide .db ul{list-style:none;display:flex;flex-direction:column;gap:5px;}
body.page-china-guide .db li{font-size:13px;padding-left:14px;position:relative;line-height:1.4;}
body.page-china-guide .db li::before{content:'·';position:absolute;left:0;color:var(--or-cg);font-weight:700;}
body.page-china-guide .cbw{margin-bottom:14px;}
body.page-china-guide .cbl{font-size:11px;color:var(--mu);margin-bottom:4px;display:flex;justify-content:space-between;}
body.page-china-guide .cbr{height:6px;background:#e5e7eb;border-radius:100px;overflow:hidden;}
body.page-china-guide .cbf{height:100%;border-radius:100px;}
body.page-china-guide .cl{background:var(--gr);}
body.page-china-guide .cm2{background:var(--am);}
body.page-china-guide .ca{background:var(--re);}
body.page-china-guide .sb{background:#f0f9f9;border:1px dashed var(--teal-cg);border-radius:10px;padding:12px 16px;margin-bottom:14px;}
body.page-china-guide .sb h5{font-size:11px;font-weight:600;color:var(--td);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
body.page-china-guide .sts{display:flex;flex-wrap:wrap;gap:6px;}
body.page-china-guide .st{background:#fff;border:1px solid var(--teal-cg);color:var(--td);border-radius:6px;padding:4px 10px;font-size:12px;font-family:monospace;}
body.page-china-guide .mlb{background:#fff8f0;border:1px solid #fed7aa;border-radius:10px;padding:12px 16px;margin-bottom:14px;}
body.page-china-guide .mlb h5{font-size:11px;font-weight:600;color:#9a3412;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;}
body.page-china-guide .mll{display:flex;flex-direction:column;gap:6px;}
body.page-china-guide .mla{display:flex;align-items:center;gap:8px;font-size:13px;color:#c2410c;text-decoration:none;padding:6px 10px;background:#fff;border-radius:7px;border:1px solid #fed7aa;transition:background .15s;}
body.page-china-guide .mla:hover{background:#fff4ec;}
body.page-china-guide .mli{width:18px;height:18px;flex-shrink:0;background:#ffe0b2;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;}
body.page-china-guide .mla .lbl{flex:1;font-weight:500;}
body.page-china-guide .tip{background:linear-gradient(135deg,#fff8f0,#fff4e6);border:1px solid #fed7aa;border-radius:10px;padding:12px 16px;display:flex;gap:10px;align-items:flex-start;}
body.page-china-guide .ti{font-size:18px;flex-shrink:0;line-height:1;}
body.page-china-guide .tt{font-size:13px;color:#7c2d12;line-height:1.5;}
body.page-china-guide .tt strong{color:#9a3412;}
body.page-china-guide footer{background:var(--td);color:rgba(255,255,255,.7);text-align:center;padding:24px;font-size:12px;}
body.page-china-guide footer strong{color:#fff;}

@media(max-width:700px){
  body.page-china-guide .ct{grid-template-columns:1fr;}
  body.page-china-guide .ci{height:200px;}
  body.page-china-guide .mets{grid-template-columns:repeat(2,1fr);}
  body.page-china-guide .dg{grid-template-columns:1fr;}
  body.page-china-guide .si{grid-template-columns:repeat(2,1fr);}
  body.page-china-guide .gal{grid-template-columns:repeat(2,1fr);}
}

/* ═══════════════════════════════════════════════
   ESTRATEGIA / SERVICIOS / PRICING / MARKETING
   Estilos para páginas de operaciones internas.
   ═══════════════════════════════════════════════ */

/* ── Estrategia 2026 ── */
.aspirational {
  text-align:center;padding:var(--space-xl) var(--space-lg);
  background:linear-gradient(135deg,rgba(56,137,140,.08),rgba(252,168,93,.06));
  border:1px solid var(--teal-glow);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);
}
.aspirational-label {
  font-family:var(--font-display);font-size:.7rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--teal-light);margin-bottom:var(--space-sm);
}
.aspirational-text {
  font-family:var(--font-display);font-size:clamp(18px,3vw,26px);font-weight:700;
  color:var(--text);line-height:1.3;
}
.objectives { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-sm); }
.obj-card {
  display:flex;align-items:flex-start;gap:var(--space-md);
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);transition:border-color .2s;
}
.obj-card:hover { border-color:var(--teal-glow); }
.obj-icon {
  width:40px;height:40px;border-radius:var(--radius-sm);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;
}
.obj-icon.teal { background:rgba(56,137,140,.12); }
.obj-icon.orange { background:rgba(252,168,93,.12); }
.obj-text { font-size:.88rem;color:var(--text-dim);line-height:1.6; }
.obj-text strong { color:var(--text); }

/* Roadmap trimestral */
.roadmap { display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-bottom:var(--space-lg); }
.quarter {
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);position:relative;overflow:hidden;
}
.quarter::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--teal); }
.quarter:nth-child(2)::before { background:var(--orange); }
.quarter:nth-child(3)::before { background:var(--teal-light); }
.quarter:nth-child(4)::before { background:var(--text-muted); }
.q-label {
  font-family:var(--font-display);font-size:1.3rem;font-weight:800;
  color:var(--teal-light);margin-bottom:var(--space-md);
}
.q-items { list-style:none;padding:0; }
.q-item {
  position:relative;padding-left:var(--space-md);margin-bottom:var(--space-sm);
  font-size:.85rem;color:var(--text-dim);
}
.q-item::before { content:'\25B8';position:absolute;left:0;color:var(--teal);font-size:.7rem; }

/* Responsables */
.responsibility { display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-sm); }
.resp-card {
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);
}
.resp-name {
  font-family:var(--font-display);font-size:1rem;font-weight:700;
  color:var(--teal-light);margin-bottom:var(--space-sm);
}
.resp-areas { font-size:.82rem;color:var(--text-dim);line-height:1.7; }

/* Pain grid */
.pain-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-sm); }
.pain-card {
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);border-top:3px solid var(--orange);
}
.pain-title {
  font-family:var(--font-display);font-size:.95rem;font-weight:700;
  color:var(--orange);margin-bottom:var(--space-md);
}
.pain-list { list-style:none;padding:0; }
.pain-list li {
  position:relative;padding-left:var(--space-md);margin-bottom:var(--space-sm);
  font-size:.85rem;color:var(--text-dim);
}
.pain-list li::before { content:'!';position:absolute;left:0;color:var(--orange);font-weight:700;font-size:.78rem; }

/* ── Servicios & Digital 360 ── */
.ejes-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md); }
.eje {
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:var(--space-xl);position:relative;overflow:hidden;
}
.eje::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--teal); }
.eje:nth-child(2)::before { background:var(--orange); }
.eje:nth-child(3)::before { background:var(--green); }
.eje-num {
  font-family:var(--font-display);font-size:2.5rem;font-weight:800;
  color:rgba(56,137,140,.15);margin-bottom:var(--space-sm);
}
.eje-title {
  font-family:var(--font-display);font-size:1.1rem;font-weight:700;
  color:var(--text);margin-bottom:var(--space-md);
}
.eje-content { font-size:.85rem;color:var(--text-dim);line-height:1.7; }
.eje-content strong { display:block;color:var(--text-muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;margin-top:var(--space-md);margin-bottom:2px; }
.eje-content strong:first-child { margin-top:0; }

/* Digital 360 flow */
.digital-flow { display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-sm); }
.step {
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);position:relative;
}
.step-num {
  font-family:var(--font-display);font-size:.68rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--teal-light);margin-bottom:var(--space-xs);
}
.step-title {
  font-family:var(--font-display);font-size:1rem;font-weight:700;
  color:var(--text);margin-bottom:var(--space-md);
}
.step-list { list-style:none;padding:0; }
.step-list li {
  position:relative;padding-left:var(--space-md);margin-bottom:var(--space-sm);
  font-size:.82rem;color:var(--text-dim);
}
.step-list li::before { content:'\25B8';position:absolute;left:0;color:var(--teal);font-size:.7rem; }

/* Complementary blocks */
.complementary { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-sm); }
.comp-block {
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);
}
.comp-block h4 {
  font-family:var(--font-display);font-size:.92rem;font-weight:700;
  color:var(--teal-light);margin-bottom:var(--space-sm);
}
.comp-block p { font-size:.85rem;color:var(--text-dim);line-height:1.6; }

/* ── Pricing ── */
.confidential-badge {
  display:inline-block;margin-top:var(--space-md);font-size:.78rem;
  padding:4px 12px;border-radius:14px;background:rgba(248,81,73,.1);
  color:var(--red);border:1px solid rgba(248,81,73,.2);
}
.erp-table { width:100%;border-collapse:collapse;font-size:.82rem;margin:var(--space-md) 0; }
.erp-table th {
  text-align:left;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-muted);padding:var(--space-sm);border-bottom:1px solid var(--border);
}
.erp-table td { padding:var(--space-sm);border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-dim); }
.erp-table .check { color:var(--green);font-weight:600;text-align:center; }
.tbd { color:var(--text-muted);font-style:italic; }
.price { color:var(--teal-light);font-weight:600; }
.highlight { font-weight:600;color:var(--text); }

.model-cards { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md); }
.model-card {
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:var(--space-xl);position:relative;overflow:hidden;
}
.model-card::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--teal); }
.model-card.alt::before { background:var(--orange); }
.model-label {
  font-family:var(--font-display);font-size:.68rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--teal-light);margin-bottom:var(--space-xs);
}
.model-card.alt .model-label { color:var(--orange); }
.model-title {
  font-family:var(--font-display);font-size:1.15rem;font-weight:700;
  color:var(--text);margin-bottom:var(--space-sm);
}
.model-desc { font-size:.85rem;color:var(--text-dim);line-height:1.6;margin-bottom:var(--space-md); }
.model-detail { font-size:.85rem;color:var(--text-dim);line-height:1.8; }
.model-detail strong { color:var(--text); }

/* ── Marketing ── */
.status-card {
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);transition:border-color .2s;
}
.status-card:hover { border-color:var(--teal-glow); }
.status-icon { font-size:1.4rem;margin-bottom:var(--space-sm); }
.status-label { font-size:.88rem;font-weight:600;color:var(--text);margin-bottom:2px; }
.status-value { font-size:.78rem;color:var(--text-dim);margin-bottom:var(--space-sm); }
.status-tag {
  display:inline-block;font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:14px;
}
.status-tag.active { background:rgba(63,185,80,.12);color:var(--green); }
.status-tag.early { background:rgba(88,166,255,.12);color:var(--blue); }
.status-tag.pending { background:rgba(210,153,34,.12);color:var(--yellow); }
.status-tag.wip { background:rgba(252,168,93,.12);color:var(--orange); }
.status-tag.none { background:rgba(248,81,73,.12);color:var(--red); }

.brand-block {
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);margin-bottom:var(--space-md);
}
.brand-row { display:flex;flex-wrap:wrap;gap:var(--space-lg);margin-bottom:var(--space-md); }
.brand-row:last-child { margin-bottom:0; }
.brand-item { display:flex;align-items:center;gap:var(--space-sm); }
.brand-font { font-size:.85rem;color:var(--text-dim); }
.brand-font strong { color:var(--text); }

.msg-card {
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);margin-bottom:var(--space-sm);
}
.msg-label {
  font-family:var(--font-display);font-size:.68rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--teal-light);margin-bottom:var(--space-xs);
}
.msg-text { font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:2px; }
.msg-sub { font-size:.85rem;color:var(--text-dim); }

.channel-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-sm); }
.channel {
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);
}
.channel-name { font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:2px; }
.channel-handle { font-family:var(--font-mono);font-size:.78rem;color:var(--teal-light);margin-bottom:var(--space-sm); }
.channel-stats { font-size:.82rem;color:var(--text-dim);line-height:1.6;margin-bottom:var(--space-sm); }
.channel-stats strong { color:var(--text); }

.team-member {
  display:flex;align-items:center;gap:var(--space-md);
  padding:var(--space-sm) 0;border-bottom:1px solid var(--border);
}
.team-member:last-child { border-bottom:none; }
.tm-avatar {
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:.72rem;font-weight:700;color:#fff;
}
.tm-avatar.teal { background:var(--teal); }
.tm-avatar.orange { background:var(--orange-dark); }
.tm-name { font-size:.88rem;font-weight:600;color:var(--text); }
.tm-role { font-size:.78rem;color:var(--text-muted); }

.pillar {
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);
}
.pillar-icon { font-size:1.5rem;margin-bottom:var(--space-sm); }
.pillar-name { font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:var(--space-xs); }
.pillar-examples { font-size:.75rem;color:var(--text-muted);font-style:italic;margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border); }

/* Workflow */
.workflow { display:flex;gap:var(--space-sm);flex-wrap:wrap; }
.wf-step {
  flex:1;min-width:120px;background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:var(--space-md);text-align:center;
  position:relative;
}
.wf-num {
  font-family:var(--font-display);font-size:.78rem;font-weight:800;
  color:var(--teal-light);margin-bottom:var(--space-xs);
}
.wf-label { font-size:.88rem;font-weight:600;color:var(--text);margin-bottom:2px; }
.wf-tool { font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted); }

/* Actions */
.actions { display:flex;flex-direction:column;gap:var(--space-sm); }
.action {
  display:flex;align-items:flex-start;gap:var(--space-md);
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-md) var(--space-lg);
}
.action-priority {
  width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px;
}
.action-priority.high { background:var(--red); }
.action-priority.med { background:var(--orange); }
.action-priority.low { background:var(--text-muted); }
.action-text { font-size:.88rem;color:var(--text-dim);line-height:1.6; }
.action-text strong { color:var(--text); }

/* ── Responsive for ops pages ── */
@media (max-width: 768px) {
  .roadmap { grid-template-columns:1fr 1fr; }
  .ejes-grid { grid-template-columns:1fr; }
  .objectives { grid-template-columns:1fr; }
  .digital-flow { grid-template-columns:1fr; }
  .model-cards { grid-template-columns:1fr; }
  .channel-grid { grid-template-columns:1fr; }
  .workflow { flex-direction:column; }
  .wf-step { min-width:auto; }
}
@media (max-width: 480px) {
  .roadmap { grid-template-columns:1fr; }
  .responsibility { grid-template-columns:1fr; }
  .pain-grid { grid-template-columns:1fr; }
  .complementary { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════
   MIGRATED COMPONENTS
   Estilos migrados desde <style> inline de
   Carlos Banko, Equipo y Marketing.
   ═══════════════════════════════════════════════ */

/* ── Proposal Cover ── */
.cover {
  min-height:100vh;display:flex;flex-direction:column;justify-content:center;
  padding:40px 24px;background:var(--bg);color:var(--text);position:relative;overflow:hidden;
}
.cover::before {
  content:'';position:absolute;top:-80px;right:-60px;width:360px;height:360px;
  background:radial-gradient(circle,rgba(56,137,140,.12),transparent 70%);pointer-events:none;
}
.cover-tag {
  font-family:var(--font-display);font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--teal-light);margin-bottom:28px;
}
.cover h1 {
  font-family:var(--font-display);font-size:clamp(28px,6vw,48px);
  font-weight:800;line-height:1.1;margin-bottom:14px;
}
.cover h1 em { font-style:italic;font-weight:400;color:var(--orange); }
.cover-sub {
  font-size:15px;color:var(--text-dim);font-weight:300;max-width:500px;
  margin-bottom:40px;line-height:1.7;
}
.cover-meta { display:flex;gap:24px;font-size:12px;color:var(--text-muted);flex-wrap:wrap; }
.cover-meta span { display:flex;flex-direction:column;gap:1px; }
.cover-meta strong { color:var(--text-dim);font-weight:500; }

/* ── Map Cards (Carlos Banko) ── */
.map-card {
  display:flex;border:1px solid var(--border);border-radius:var(--radius-md);
  overflow:hidden;text-decoration:none;color:inherit;margin-bottom:var(--space-lg);transition:border-color .2s;
}
.map-card:hover { border-color:var(--teal); }
.map-card-icon {
  width:72px;background:var(--bg-hover);display:flex;
  align-items:center;justify-content:center;font-size:24px;flex-shrink:0;
}
.map-card-body { padding:12px 16px;flex:1;background:var(--bg-card); }
.map-card-body p { font-size:.78rem;color:var(--text-dim);margin-bottom:6px; }
.map-stats { display:flex;gap:16px; }
.map-stat-v { font-family:var(--font-mono);font-size:15px;font-weight:700;color:var(--teal-light); }
.map-stat-l { font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px; }

/* ── Proposal Cards ── */
.prop-card {
  display:block;background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:16px;margin-bottom:10px;
  text-decoration:none;color:inherit;transition:border-color .2s;
}
.prop-card:hover { border-color:var(--teal); }
.prop-card h4 { font-family:var(--font-display);font-size:.92rem;font-weight:700;margin-bottom:4px; }
.prop-tag {
  display:inline-block;font-size:.68rem;font-weight:600;padding:2px 8px;
  border-radius:10px;background:var(--teal-dim);color:var(--teal-light);margin-bottom:8px;
}
.prop-card p { font-size:.82rem;color:var(--text-dim);line-height:1.6; }
.prop-price { font-family:var(--font-mono);font-size:.85rem;color:var(--orange);font-weight:600;margin-top:8px; }

/* ── Cost Grid ── */
.cost-grid { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0; }
.cost-card { background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;text-align:center; }
.cost-label { font-size:.68rem;color:var(--text-muted); }
.cost-value { font-family:var(--font-mono);font-size:1.1rem;color:var(--teal-light);font-weight:700; }
.cost-note { font-size:.65rem;color:var(--text-muted);margin-top:2px; }

/* ── Proposal Sections ── */
.page-dk { background:var(--bg-card);padding:40px 0;margin:0 -20px; }
.page-dk .wrap { padding:0 20px; }
.page-ac {
  background:rgba(56,137,140,.06);border:1px solid rgba(56,137,140,.15);
  border-radius:var(--radius-lg);padding:28px;margin:28px 0;
}
.two { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0; }
.mc2 { background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px; }
.mc2 h4 { font-size:14px;font-weight:600;margin-bottom:4px; }
.mc2 p { font-size:13px;color:var(--text-dim);line-height:1.5; }
.cta-block { text-align:center;padding:48px 0;border-top:1px solid var(--border); }
.cta-block h2 { font-family:var(--font-display);font-size:22px;font-weight:800;margin-bottom:8px; }
.cta-block p { color:var(--text-dim);font-size:14px;margin-bottom:24px; }
.brand-box {
  background:rgba(56,137,140,.06);border:1px solid rgba(56,137,140,.15);
  border-radius:var(--radius-lg);padding:24px;margin:20px 0;
}
.brand-name { text-align:center;font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--teal-light);letter-spacing:.1em;margin-bottom:4px; }
.brand-tag { text-align:center;font-size:11px;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px; }
.bl { display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border); }
.bl:last-child { border-bottom:none; }
.bl-icon { width:36px;height:36px;border-radius:8px;background:rgba(56,137,140,.12);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0; }
.bl-name { font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--text); }
.bl-desc { font-size:12px;color:var(--text-muted); }
.qb { border-left:3px solid var(--teal);padding:16px 18px;margin:20px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:rgba(56,137,140,.06); }
.qb p { font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--text);line-height:1.5; }
.qb cite { display:block;margin-top:6px;font-size:11px;color:var(--text-muted);font-style:normal; }

/* ── LinkedIn Analysis (Equipo) ── */
.ln-header { display:flex;align-items:center;gap:.5rem; }
.team-av-sm { width:28px;height:28px;font-size:.65rem; }
.li-proposal { padding:.75rem;background:rgba(63,185,80,.08);border-radius:8px; }
.acc-avatar { width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0; }

/* ── Equipo Accordion (Fichas) ── */
.accordion-header {
  display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius-md);cursor:pointer;transition:background .2s;
}
.accordion-header:hover { background:var(--bg-hover); }
.accordion-header .acc-name { font-weight:600;flex:1; }
.accordion-header .acc-arrow { transition:transform .3s;opacity:.5; }
.accordion-header.open .acc-arrow { transform:rotate(90deg); }
.accordion-body { max-height:0;overflow:hidden;transition:max-height .35s ease; }
.accordion-body.open { max-height:300px; }
.accordion-content {
  padding:.75rem 1rem .75rem 3.5rem;border:1px solid var(--border);border-top:none;
  border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--bg-card);
}
.mini-stats { display:flex;gap:1.5rem;margin-bottom:.5rem;font-size:.85rem; }
.mini-stats span { opacity:.7; }
.mini-stats strong { margin-left:.25rem; }
.mini-stats .ms-active { color:var(--green); }
.mini-stats .ms-closed { color:var(--red); }
.ficha-link {
  display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:6px;
  background:rgba(56,137,140,.12);color:var(--teal-light);text-decoration:none;font-size:.85rem;font-weight:500;
}
.ficha-link:hover { background:rgba(56,137,140,.22); }
.fichas-group { margin-bottom:1.5rem; }
.fichas-group-title { font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem; }

/* ── Marketing Page Grids ── */
.status-grid { display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:var(--space-sm); }
.pillar-grid { display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:var(--space-md); }

/* ═══════════════════════════════════════════════
   PROPUESTAS — Estilos de secciones y pricing
   ═══════════════════════════════════════════════ */
.sl { font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-light);margin-bottom:6px; }
.sh { font-family:var(--font-display);font-size:clamp(20px,4vw,28px);font-weight:800;line-height:1.15;margin-bottom:10px; }
.si { font-size:14px;color:var(--text-dim);line-height:1.7;max-width:600px;margin-bottom:24px; }

.sr { display:flex;gap:16px;align-items:flex-start;margin-bottom:20px; }
.snum { width:36px;height:36px;border-radius:50%;background:rgba(56,137,140,.15);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:14px;color:var(--teal-light);flex-shrink:0; }
.sc { flex:1; }
.sc h4 { font-family:var(--font-display);font-size:15px;font-weight:700;margin-bottom:4px; }
.sc p { font-size:13px;color:var(--text-dim);line-height:1.6; }

.ph { display:flex;gap:16px;align-items:flex-start;margin-bottom:24px; }
.pn { width:36px;height:36px;border-radius:50%;background:rgba(56,137,140,.15);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:14px;color:var(--teal-light);flex-shrink:0; }
.pb { flex:1; }
.pb h4 { font-family:var(--font-display);font-size:15px;font-weight:700;margin-bottom:2px; }
.pb p { font-size:13px;color:var(--text-dim);line-height:1.6;margin-bottom:8px; }
.pb ul { padding-left:18px;font-size:12px;color:var(--text-muted);line-height:1.7; }
.pt { font-size:11px;font-weight:600;color:var(--orange);margin-bottom:6px; }

.pg { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0; }
.pc { background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px;text-align:center; }
.pc.f { border-color:var(--teal);background:rgba(56,137,140,.08); }
.pc-l { font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px; }
.pc-a { font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--teal-light);margin-bottom:4px; }
.pc-d { font-size:12px;color:var(--text-dim); }

.ops { margin:32px 0;padding:24px;background:rgba(56,137,140,.06);border-radius:var(--radius-md);border:1px solid rgba(56,137,140,.15); }
.ops h3 { font-family:var(--font-display);font-size:16px;font-weight:700;margin-bottom:8px; }
.ops p { font-size:13px;color:var(--text-dim);line-height:1.6; }

/* ═══════════════════════════════════════════════
   PROPUESTAS — Layout full-width (sin sidebar)
   ═══════════════════════════════════════════════ */
body.page-proposal { max-width: 100%; }
body.page-proposal .cover { max-width: 100%; padding: 60px 10vw; }
body.page-proposal .map-card { max-width: 1200px; margin: 0 auto var(--space-lg); padding: 0; }
body.page-proposal .wrap { max-width: 1200px; padding: 0 5vw var(--space-2xl); }
body.page-proposal .page-dk { margin: 0; padding: 40px 0; }
body.page-proposal .page-dk .wrap { padding: 0 5vw; }
body.page-proposal .page-ac { max-width: 1200px; }
body.page-proposal .cover-sub { max-width: 640px; }
body.page-proposal .si { max-width: 720px; }
body.page-proposal .prose { max-width: 720px; }
body.page-proposal .pg { max-width: 600px; }

/* ═══════════════════════════════════════════════
   ENHANCED RESPONSIVE
   Breakpoints adicionales para mobile/tablet.
   ═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  .hero { padding: 32px 16px 24px; }
  .hero-title { font-size: clamp(22px, 5vw, 32px); }
  .hero-title .accent { font-size: clamp(32px, 7vw, 52px); }
  .hero-icon { width: 48px; height: 48px; font-size: 1.2rem; }
  .hero-meta { gap: var(--space-sm); font-size: .78rem; }
  .meta-row { gap: 10px; font-size: .78rem; }
  .prospect-header { padding: 24px 0 20px; }
  .prospect-header h1 { font-size: 1.5rem; }
  .stat-row { gap: 8px; }
  .stat { min-width: 90px; padding: 10px 12px; }
  .stat-num { font-size: 1.1rem; }
  .persona { padding: var(--space-md); }
  .strategy-card { padding: var(--space-md); }
  .script-block { padding: var(--space-sm) var(--space-md); }
  .context-block { padding: var(--space-md); }
  .opp-list li { padding: var(--space-sm) var(--space-md); }
  .detail-card { padding: 12px; }
  .funnel { gap: 4px; }
  .funnel-stage { padding: 8px 6px; min-width: 50px; }
  .funnel-count { font-size: 16px; }
  .funnel-label { font-size: 8px; }
  .note-box { padding: 10px 12px; font-size: .82rem; }
  .link-card { padding: 1rem; margin: 1rem 0; }
  .section-title-prospect { font-size: 1rem; }
  .ficha-header { flex-direction: column; text-align: center; gap: var(--space-md); }
  .ficha-avatar { width: 64px; height: 64px; font-size: 1.2rem; }
  .ficha-name { font-size: 1.2rem; }
  .values-grid { grid-template-columns: 1fr; }
  .value-card { padding: 20px; }
  .tagline { padding: 40px 16px; }
  .info-card { padding: var(--space-sm) var(--space-md); }
  .info-card p { font-size: .88rem; }
  h2.sec { font-size: 17px; margin: 28px 0 12px; }
  .block { padding: var(--space-md); }
  .socio-header { padding: 14px 16px; gap: 12px; }
  .socio-avatar { width: 38px; height: 38px; font-size: 13px; }
  .socio-name { font-size: 15px; }
  .team-row { padding: 10px 16px; gap: 10px; }
  .team-meta { display: none; }
  .legend-row { gap: 12px; padding: 10px 14px; }
  .comp-row { flex-direction: column; }
  .comp { min-width: auto; }
  .brand-grid { gap: var(--space-xs); }
  .brand-chip { font-size: .72rem; padding: 3px 10px; }
  .wrap { padding: 0 var(--space-md) var(--space-xl); }
  .fase { padding: var(--space-md); }
  .metrics { gap: var(--space-xs); }
  .metric { min-width: 80px; padding: var(--space-sm); }
  .metric .n { font-size: 1.1rem; }
  .cta { padding: var(--space-lg); }
  .cost-grid { grid-template-columns: 1fr; }
  .map-card { flex-direction: column; }
  .map-card-icon { width: 100%; height: 48px; }
  .cover { padding: 32px 16px; }
  .cover h1 { font-size: clamp(24px, 6vw, 36px); }
  .two { grid-template-columns: 1fr; }
  .page-ac { padding: var(--space-md); margin: var(--space-md) 0; }
  .status-grid { grid-template-columns: 1fr; }
  .pillar-grid { grid-template-columns: 1fr; }
  .accordion-content { padding-left: 1rem; }
}

@media (max-width: 480px) {
  .kpi-row { grid-template-columns: 1fr; }
  .funnel { flex-direction: column; }
  .funnel-stage { min-width: auto; }
  .hero-badges, .hero-tags { gap: .3rem; }
  .hero-badge { font-size: .65rem; padding: 2px 8px; }
  .stat-row { flex-direction: column; }
  .stat { min-width: auto; }
  .cover-meta { flex-direction: column; gap: 10px; }
  .sr { flex-direction: column; gap: 8px; }
  .ph { flex-direction: column; gap: 8px; }
  .pg { grid-template-columns: 1fr; }
}
