/* planes-negocio-manager.css — [PN2 OCT 2026] sección «📊 Planes de negocio» (workspace Manager / Dirección).
   Look & feel Apple con los tokens --ad-* (admin-apple-redesign.css), como Unidad Pública y Organización. */

/* reset de la regla global `.section button` (style.css) para los botones propios */
#planesNegocioSection .pnm-btn { margin: 0 !important; position: static !important; overflow: visible !important; box-shadow: none !important; background-image: none !important; transform: none !important; font-family: inherit !important; line-height: 1.2 !important; }
#planesNegocioSection .pnm-btn::before { content: none !important; display: none !important; }
#planesNegocioSection .pnm-btn:hover { transform: none !important; box-shadow: none !important; }

#planesNegocioSection { font-family: var(--ad-font, -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, sans-serif); color: var(--ad-text, #1d1d1f); }
.pnm { display: flex; flex-direction: column; gap: 14px; max-width: 1500px; }
.pnm-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.pnm-head h2 { margin: 0; font-size: 1.9rem; font-weight: 700; letter-spacing: -.025em; color: var(--ad-text, #1d1d1f); }
.pnm-sub { margin-top: 6px; font-size: 13.5px; color: var(--ad-text-2, #6e6e73); line-height: 1.45; max-width: 820px; }
.pnm-acciones { display: flex; gap: 8px; align-items: center; }
.pnm-btn { border: 1px solid var(--ad-border, rgba(0,0,0,.1)); background: var(--ad-card, #fff); color: var(--ad-text, #1d1d1f); border-radius: 10px; padding: 7px 12px; font-size: 13px; font-weight: 600; cursor: pointer; }
.pnm-btn:hover { background: color-mix(in srgb, var(--ad-text, #1d1d1f) 5%, var(--ad-card, #fff)); }
.pnm-btn.mini { padding: 4px 9px; font-size: 12px; border-radius: 8px; }
.pnm-muted { color: var(--ad-text-2, #6e6e73); font-size: 12.5px; }
.pnm-error { color: #c0392b; background: #fdecea; border-radius: 10px; padding: 10px 14px; }
.pnm .rojo { color: #c0392b; } .pnm .ambar { color: #b35c00; } .pnm .verde { color: #1f8a4c; }

/* KPIs */
.pnm-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.pnm-kpi { position: relative; overflow: hidden; background: var(--ad-card, #fff); border: 1px solid var(--ad-border, rgba(0,0,0,.08)); border-radius: var(--ad-r-card, 18px); box-shadow: var(--ad-sh, 0 1px 3px rgba(0,0,0,.05)); padding: 14px 16px; display: flex; flex-direction: column; gap: 3px; }
.pnm-kpi::after { content: ''; position: absolute; right: -18px; top: -18px; width: 64px; height: 64px; border-radius: 50%; background: var(--pnm-tinte, rgba(10,132,255,.10)); pointer-events: none; }
.pnm-kpi:nth-child(6n+2) { --pnm-tinte: rgba(255,159,10,.12); } .pnm-kpi:nth-child(6n+3) { --pnm-tinte: rgba(52,199,89,.12); } .pnm-kpi:nth-child(6n+4) { --pnm-tinte: rgba(175,82,222,.12); } .pnm-kpi:nth-child(6n+5) { --pnm-tinte: rgba(255,69,58,.10); } .pnm-kpi:nth-child(6n+6) { --pnm-tinte: rgba(90,200,250,.14); }
.pnm-kpi.ambar .pnm-kpi-v { color: #b35c00; }
.pnm-kpi-v { font-size: 22px; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.pnm-kpi-l { font-size: 12px; font-weight: 600; color: var(--ad-text-2, #6e6e73); text-transform: uppercase; letter-spacing: .02em; }
.pnm-kpi-s { font-size: 11.5px; color: var(--ad-text-2, #6e6e73); }

/* Filtros */
.pnm-filtros { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: var(--ad-card, #fff); border: 1px solid var(--ad-border, rgba(0,0,0,.08)); border-radius: 14px; padding: 10px 12px; }
.pnm-filtros input[type="search"] { flex: 1 1 260px; min-width: 200px; font-size: 13px; padding: 7px 10px; border: 1px solid var(--ad-border, rgba(0,0,0,.12)); border-radius: 10px; background: var(--ad-bg, #f5f5f7); color: inherit; font-family: inherit; }
.pnm-filtros select { font-size: 12.5px; padding: 6px 8px; border: 1px solid var(--ad-border, rgba(0,0,0,.12)); border-radius: 10px; background: var(--ad-card, #fff); color: inherit; font-family: inherit; }

/* Lista */
.pnm-lista { display: flex; flex-direction: column; gap: 8px; }
.pnm-vacio { padding: 28px; text-align: center; color: var(--ad-text-2, #6e6e73); background: var(--ad-card, #fff); border-radius: 14px; }
.pnm-fila { background: var(--ad-card, #fff); border: 1px solid var(--ad-border, rgba(0,0,0,.08)); border-radius: var(--ad-r-card, 16px); box-shadow: var(--ad-sh, 0 1px 3px rgba(0,0,0,.04)); overflow: hidden; }
.pnm-fila.abierta { border-color: color-mix(in srgb, #0a84ff 40%, var(--ad-border, rgba(0,0,0,.08))); }
.pnm-fila-cab { display: grid; grid-template-columns: 44px minmax(260px, 2.2fr) repeat(5, minmax(96px, .8fr)) minmax(150px, 1.2fr) auto; gap: 12px; align-items: center; padding: 10px 14px; cursor: pointer; }
.pnm-fila-cab:hover { background: color-mix(in srgb, var(--ad-text, #1d1d1f) 3%, var(--ad-card, #fff)); }
.pnm-sem { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; color: #fff; }
.pnm-sem.verde { background: #34c759; } .pnm-sem.ambar { background: #ff9f0a; } .pnm-sem.rojo { background: #ff453a; } .pnm-sem.gris { background: #9a9aa0; } .pnm-sem.gris[title*='insuficientes'] { background: #c7c7cc; color: #1d1d1f; }
.pnm-fila-main { min-width: 0; }
.pnm-fila-t { font-weight: 600; font-size: 14px; line-height: 1.3; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.pnm-fila-s { font-size: 12px; color: var(--ad-text-2, #6e6e73); margin-top: 2px; }
.pnm-col-v { font-weight: 600; font-size: 13.5px; }
.pnm-col-l { font-size: 11px; color: var(--ad-text-2, #6e6e73); }
.pnm-huginn { font-size: 13px; min-width: 0; }
.pnm-link { color: #0a84ff; text-decoration: none; font-weight: 600; }
.pnm-link:hover { text-decoration: underline; }
.pnm-fila-acc { display: flex; gap: 6px; align-items: center; justify-content: flex-end; }
.pnm-chev { color: var(--ad-text-2, #6e6e73); font-size: 12px; margin-left: 4px; }
.pnm-badge { display: inline-block; font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px; line-height: 1.5; white-space: nowrap; }
.pnm-badge.verde { background: #dcfce7; color: #166534; } .pnm-badge.azul { background: #dbeafe; color: #1e40af; } .pnm-badge.ambar { background: #fef3c7; color: #92400e; }
.pnm-badge.rojo { background: #fee2e2; color: #991b1b; } .pnm-badge.gris { background: #f1f5f9; color: #475569; } .pnm-badge.violeta { background: #ede9fe; color: #5b21b6; } .pnm-badge.fase { background: #f1f5f9; color: #334155; }
.pnm-fila.est-incompleto .pnm-sem { opacity: .75; }

/* Detalle desplegado */
.pnm-detalle { border-top: 1px solid var(--ad-border, rgba(0,0,0,.08)); padding: 12px 14px 14px; background: color-mix(in srgb, var(--ad-text, #1d1d1f) 2%, var(--ad-card, #fff)); }
.pnm-narrativa { background: linear-gradient(135deg, #eff6ff, #f5f3ff); border: 1px solid #dbeafe; border-radius: 12px; padding: 10px 14px; font-size: 13.5px; line-height: 1.55; color: #1e293b; margin-bottom: 10px; }
.pnm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 10px; }
.pnm-bloque { background: var(--ad-card, #fff); border: 1px solid var(--ad-border, rgba(0,0,0,.08)); border-radius: 12px; padding: 10px 12px; font-size: 13px; }
.pnm-bloque-t { font-size: 12px; font-weight: 700; color: var(--ad-text-2, #6e6e73); text-transform: uppercase; letter-spacing: .03em; margin-bottom: 6px; }
.pnm-kv { display: flex; flex-direction: column; gap: 4px; }
.pnm-kv > div { display: flex; gap: 10px; justify-content: space-between; align-items: baseline; border-bottom: 1px dashed color-mix(in srgb, var(--ad-text, #1d1d1f) 10%, transparent); padding-bottom: 3px; }
.pnm-kv > div > span { color: var(--ad-text-2, #6e6e73); font-size: 12px; flex: 0 0 auto; }
.pnm-kv > div > b { font-weight: 600; text-align: right; font-size: 12.5px; }
.pnm-bloques { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.pnm-bl { font-size: 11.5px; padding: 3px 8px; border-radius: 999px; background: #f1f5f9; color: #334155; }
.pnm-bl.falta { background: #fee2e2; color: #991b1b; } .pnm-bl.estimado { background: #fef3c7; color: #92400e; } .pnm-bl.parcial { background: #fef3c7; color: #92400e; }

@media (max-width: 1100px) {
  .pnm-fila-cab { grid-template-columns: 44px 1fr; }
  .pnm-fila-cab .pnm-col, .pnm-fila-cab .pnm-huginn, .pnm-fila-acc { grid-column: 2; }
}
/* Sin modo oscuro propio: la sección sigue a los tokens --ad-* como Unidad Pública y Organización. */
