/* Módulo de Cultura (CG-Cultura, Ola 3). Reutiliza soa-*, culture-*, learning-*, maturity-panel e improvement-pill; aquí solo lo propio con prefijo cg-cul-. */
.cg-cul-hero-actions, .cg-cul-actions, .cg-cul-form-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.cg-cul-notice { border: 1px solid var(--border, #d0d7e2); border-left-width: 4px; border-radius: 8px; padding: 10px 14px; margin: 10px 0; font-size: 14px; line-height: 1.45; }
.cg-cul-notice-info { border-left-color: #3b6fd4; }
.cg-cul-notice-warn { border-left-color: #c98a00; }
.cg-cul-notice-error { border-left-color: #c0392b; }
.cg-cul-notice-ok { border-left-color: #2e8b57; }
.cg-cul-view .improvement-pill.warn { background: rgba(201, 138, 0, .16); color: #7a5300; }
.cg-cul-view .improvement-pill.danger { background: rgba(192, 57, 43, .14); color: #9a2a1f; }
.cg-cul-view .improvement-pill.ok { background: rgba(46, 139, 87, .14); color: #1f6b41; }
.cg-cul-view .soa-kpi small { display: block; margin-top: 2px; font-size: 12px; }
.cg-cul-filters { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.cg-cul-filters label, .cg-cul-form label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; }
.cg-cul-view input, .cg-cul-view select, .cg-cul-view textarea { font: inherit; padding: 8px 10px; border: 1px solid var(--border, #c4ccd8); border-radius: 8px; background: var(--surface, #fff); color: inherit; min-height: 44px; }
.cg-cul-view input[type="checkbox"] { min-height: 0; width: 18px; height: 18px; }
.cg-cul-view input:focus-visible, .cg-cul-view select:focus-visible, .cg-cul-view textarea:focus-visible, .cg-cul-view button:focus-visible, .cg-cul-view summary:focus-visible, .cg-cul-view [tabindex="-1"]:focus-visible { outline: 2px solid #3b6fd4; outline-offset: 2px; }
.cg-cul-view .btn { min-height: 40px; }
.cg-cul-view [aria-invalid="true"] { border-color: #c0392b; }
.cg-cul-field-error { color: #9a2a1f; font-weight: 500; }
.cg-cul-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px 16px; margin-top: 8px; }
.cg-cul-wide { grid-column: 1 / -1; }
.cg-cul-checks { border: 1px solid var(--border, #d0d7e2); border-radius: 8px; padding: 8px 12px; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.cg-cul-checks legend { font-size: 13px; font-weight: 600; padding: 0 4px; }
.cg-cul-check { flex-direction: row !important; align-items: center; gap: 8px; font-weight: 400 !important; min-height: 32px; }
.cg-cul-chip { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--border, #c4ccd8); margin: 2px 2px 2px 0; font-size: 12px; }
.cg-cul-detail-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.cg-cul-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px 16px; margin: 0 0 12px; }
.cg-cul-facts dt { font-size: 12px; opacity: .75; }
.cg-cul-facts dd { margin: 0; font-weight: 600; }
.cg-cul-text { white-space: pre-wrap; }
.cg-cul-trace, .cg-cul-decisions ul, .cg-cul-basis ul { padding-left: 18px; display: grid; gap: 6px; }
.cg-cul-quarters { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 12px 0; }
.cg-cul-quarter { border: 1px solid var(--border, #d0d7e2); border-radius: 10px; padding: 10px 12px; }
.cg-cul-quarter h5 { margin: 0 0 6px; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.cg-cul-quarter ul { padding-left: 16px; margin: 0; display: grid; gap: 8px; }
.cg-cul-more summary { cursor: pointer; font-weight: 600; margin: 10px 0; min-height: 32px; }
.cg-cul-meter { height: 8px; border-radius: 999px; background: rgba(120, 130, 150, .2); overflow: hidden; margin-top: 4px; }
.cg-cul-meter i { display: block; height: 100%; background: #2e8b57; }
.cg-cul-bars { display: flex; gap: 4px; min-height: 36px; border-radius: 8px; overflow: hidden; }
.cg-cul-bar { display: flex; align-items: center; padding: 4px 8px; min-width: 0; font-size: 12px; font-weight: 600; flex-basis: 0; }
.cg-cul-bar.ok { background: rgba(46, 139, 87, .18); color: #1f6b41; }
.cg-cul-bar.warn { background: rgba(201, 138, 0, .2); color: #7a5300; }
.cg-cul-bar.danger { background: rgba(192, 57, 43, .16); color: #9a2a1f; }
.cg-cul-bar span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cg-cul-hash { font-size: 11px; word-break: break-all; }
.cg-cul-copy { width: min(100%, 560px); margin-top: 6px; }
.cg-cul-view tr.is-selected { outline: 2px solid #3b6fd4; }
.cg-cul-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cg-cul-loading { padding: 24px; }
.cg-cul-view .culture-pillar h4 { margin: 0 0 4px; font-size: 14px; }
@media (max-width: 640px) {
  .cg-cul-view .soa-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cg-cul-form { grid-template-columns: 1fr; }
  .cg-cul-filters { flex-direction: column; align-items: stretch; }
  .cg-cul-hero-actions { width: 100%; }
  .cg-cul-hero-actions .btn { flex: 1 1 auto; }
  .cg-cul-bar { font-size: 11px; padding: 4px; }
}
@media (prefers-reduced-motion: reduce) { .cg-cul-view * { transition: none !important; animation: none !important; } }
@media print { .cg-cul-view button, .cg-cul-view form, .cg-cul-filters, .cg-cul-more, [data-cg-training-links] { display: none !important; } .cg-cul-view .culture-hero { color: #000; background: none; } }
/* El hero hereda el fondo claro de soa-hero: el eyebrow de culture-hero (claro) necesita color oscuro para el contraste AA. */
.cg-cul-view .cg-cul-hero .eyebrow { color: #9a3412; }
/* Encabezados de fila (th scope=row) en el cuerpo: sin el fondo azul del encabezado de columnas. */
.cg-cul-view .soa-table tbody th { position: static; background: transparent; color: inherit; font-weight: 400; padding: 9px; border-bottom: 1px solid #e2e8f0; vertical-align: top; }

/* CG-Cultura · registro de intentos por persona y curso (assets/culture-attempts.js) */
.cg-att { margin-top: 1.25rem; }
.cg-att-form { display: grid; gap: .6rem; margin: .6rem 0; padding: .75rem; border: 1px solid var(--line, #d9dde3); border-radius: 8px; }
.cg-att-form label { display: grid; gap: .25rem; font-size: .92rem; }
.cg-att-form textarea, .cg-att-form input[type="text"], .cg-att-form input:not([type]) { width: 100%; max-width: 100%; box-sizing: border-box; }
.cg-att-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.cg-att-list { padding-left: 1.2rem; }
.cg-att-list blockquote { margin: .3rem 0; padding-left: .6rem; border-left: 3px solid var(--line, #d9dde3); }
.cg-att-error { color: #a4161a; font-weight: 600; }
.cg-att-mine ul { list-style: none; padding: 0; }
@media (max-width: 640px) { .cg-att .soa-table-wrap { overflow-x: auto; } }
