/* Extensiones locales; identidad y valores visuales heredados de shared/. */
.course-label { color: var(--color-brand-dark); font-weight: 700; }
.hero-actions, .resource-links, .pilot-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-block: var(--space-5); }
.block-meta { color: var(--color-muted); font-size: .9em; margin-bottom: var(--space-5); }
.flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0; gap: var(--space-5); counter-reset: step; }
.flow li { position: relative; border: 1px solid var(--color-line); padding: var(--space-4); border-radius: var(--radius-sm); background: var(--color-lilac); margin: 0; counter-increment: step; }
.flow li::before { content: counter(step) ". "; color: var(--color-brand-dark); font-weight: 750; }
.flow li + li::after { content: ""; position: absolute; inset-inline-start: -1.15rem; top: 50%; width: .6rem; height: .6rem; border-block-start: 2px solid var(--color-brand); border-inline-end: 2px solid var(--color-brand); transform: rotate(45deg); }
.flow strong { display: block; color: var(--color-ink); }
.flow .human { background: var(--color-teal-light); }
.flow-caption { color: var(--color-muted); font-size: .9em; }
.table-wrap { overflow-x: auto; overscroll-behavior-x: contain; margin-block: var(--space-5); }
table { width: 100%; border-collapse: collapse; text-align: start; font-variant-numeric: tabular-nums; }
caption { text-align: start; color: var(--color-ink); font-weight: 700; margin-bottom: var(--space-3); }
th, td { padding: var(--space-3); border-bottom: 1px solid var(--color-line); vertical-align: top; overflow-wrap: anywhere; }
th { background: var(--color-lilac); color: var(--color-ink); }
.compact-list { list-style: none; padding: 0; }
.compact-list li { border-bottom: 1px solid var(--color-line); padding-block: var(--space-3); }
.compact-list strong { color: var(--color-ink); }
.case-filter { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block: var(--space-5); }
.case-filter .button[aria-pressed="true"] { background: var(--color-brand); color: var(--color-paper); }
.case-list { list-style: none; padding: 0; }
.case-list li { padding-block: var(--space-5); border-bottom: 1px solid var(--color-line); }
.case-list h3 { margin: 0 0 var(--space-3); }
.case-list p:last-child { margin: 0; }
.case-type { color: var(--color-purple); font-size: var(--text-small); font-weight: 650; }
.filter-search { display: block; max-width: 34rem; }
.filter-search span { display: block; margin-bottom: var(--space-2); }
input[type="search"], .pilot-fields textarea { width: 100%; border: 1px solid var(--color-line); border-radius: var(--radius-sm); padding: var(--space-3); background: var(--color-paper); color: var(--color-text); min-width: 0; font-size: 1rem; }
.pilot-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.pilot-fields label { display: block; color: var(--color-ink); font-weight: 650; min-width: 0; }
.pilot-fields .field-help { display: block; color: var(--color-muted); font-size: .85em; font-weight: 400; margin-block: var(--space-2); }
.pilot-fields textarea { display: block; resize: vertical; min-height: 7rem; font-weight: 400; line-height: 1.45; }
.pilot-status { color: var(--color-purple); min-height: 1.6em; }
.pilot-progress { color: var(--color-teal); font-weight: 650; }
.worksheet { max-width: var(--page-width); padding-block: var(--space-7); }
.worksheet section { margin-block: var(--space-7); }
.worksheet .write-space { min-height: 7rem; border: 1px solid var(--color-line); border-radius: var(--radius-sm); padding: var(--space-4); margin-block: var(--space-3); }
.worksheet .write-space.small-space { min-height: 4rem; }
.worksheet .write-space[contenteditable] { background: var(--color-paper); }
.worksheet .write-space:empty::before { content: attr(data-placeholder); color: var(--color-muted); }
.worksheet .line { min-height: 2.5rem; border-bottom: 1px solid var(--color-line); }
.worksheet-nav { display: flex; gap: var(--space-4); flex-wrap: wrap; padding-block: var(--space-4); }
.document-source { padding: var(--space-5); border: 1px solid var(--color-line); border-radius: var(--radius-card); }
.qa-only { padding-bottom: 6rem; }
.qa-picker { position: fixed; bottom: var(--space-4); left: 50%; transform: translateX(-50%); display: flex; gap: var(--space-2); flex-wrap: wrap; width: min(95%, 45rem); justify-content: center; background: var(--color-paper); border: 1px solid var(--color-line); padding: var(--space-3); z-index: 50; }
.projection-mode .flow { margin-block: var(--space-5); }
.projection-mode .bloque { padding-bottom: var(--space-5); }
.projection-mode .pilot-fields textarea { font-size: 1em; min-height: 6rem; }
.projection-mode .pilot-fields .field-help { font-size: .75em; }
@media (max-width: 760px) {
  .flow, .pilot-fields { grid-template-columns: minmax(0, 1fr); }
  .flow li + li::after { top: -1rem; inset-inline-start: 50%; transform: rotate(135deg); }
  .table-wrap table { font-size: .95rem; }
  th, td { padding: var(--space-2); }
  .table-wrap.wide table { min-width: 36rem; }
  .worksheet section { margin-block: var(--space-6); }
}
@media print {
  @page { size: A4; margin: 16mm; }
  html { font-size: 10pt; }
  body, .worksheet { background: white; color: black; }
  .container { width: 100%; max-width: none; padding: 0; }
  .worksheet { padding: 0; }
  .worksheet-nav, .no-print, .qa-picker, .case-filter, .filter-search { display: none !important; }
  .worksheet h1 { font-size: 23pt; }
  .worksheet h2 { font-size: 17pt; }
  .worksheet h3 { font-size: 12pt; }
  .worksheet section { margin-block: 6mm; break-inside: auto; }
  .worksheet .write-space { border-color: #777; min-height: 19mm; }
  .worksheet .write-space.small-space { min-height: 10mm; }
  .table-wrap { overflow: visible; }
  table { font-size: 9pt; min-width: 0 !important; }
  tr, .document-source, .flow li, .pilot-fields label { break-inside: avoid; }
  thead { display: table-header-group; }
  th, td { border-color: #777; padding: 2mm; }
  a { color: black; }
  .pilot-fields { display: block; }
  .pilot-fields label { margin-bottom: 5mm; }
  textarea { border-color: #777 !important; }
  .case-list li { display: list-item !important; break-inside: avoid; }
}
