/* v2.2 · Cuestionarios de prospección. */
.section-title p{margin:.4rem 0 0;color:var(--muted);max-width:760px;line-height:1.5}
.badge.info{background:var(--blue-soft);color:var(--blue)}
.question-item{display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:start;border-top:1px solid var(--line);padding:18px 0}
.question-item:first-of-type{border-top:0}
.question-prompt{margin:.5rem 0 .6rem;font-weight:650;line-height:1.5}
.question-meta{display:flex;gap:.4rem;flex-wrap:wrap}
.question-options{margin:.8rem 0 0;padding-left:1.4rem;color:#405166;line-height:1.7}
.question-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.question-actions form{display:flex;gap:.4rem}
.question-actions button,.question-actions .btn{padding:.55rem .8rem;font-size:.85rem}
.question-actions button:disabled{opacity:.4;cursor:default}
.question-options-fields[hidden]{display:none}

@media(max-width:680px){
  .question-item{grid-template-columns:38px 1fr}
  .question-actions{grid-column:1/-1;justify-content:flex-start}
}

/* v2.3 · Secciones, aclaraciones y circuito de aprobación. */
.question-section{margin:26px 0 6px;font-size:.95rem;color:var(--primary-dark);border-bottom:1px solid var(--line);padding-bottom:6px}
.question-hint{margin:.2rem 0 .5rem;color:var(--muted);font-size:.85rem;line-height:1.45}
.question-item .eyebrow{margin-bottom:.15rem}
form.collapsible[hidden]{display:none}
form.collapsible{border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:18px;background:#f8fafb}

/* v2.5 · Compartir, responder e imprimir. */
.share-card .share-grid{display:grid;grid-template-columns:1fr 190px;gap:20px;align-items:start}
.qr-box{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff;display:grid;place-items:center}
.qr-box svg{width:100%;height:auto;max-width:170px}
.share-card input[readonly]{background:#f8fafb}
.public-intro h1{margin:.3rem 0}
.public-instructions{white-space:pre-line;color:#405166;line-height:1.6}
.public-form .panel{margin-bottom:18px}
.public-question{border-top:1px solid var(--line);padding:16px 0}
.public-question:first-of-type{border-top:0}
.public-question .question-head{margin-bottom:.6rem}
.public-question .question-prompt{margin:.2rem 0;font-weight:650;line-height:1.5}
.public-question .choice-list{margin:0}
.public-question.has-error{border-left:3px solid var(--danger);padding-left:12px}
.field-error{color:var(--danger);font-size:.82rem;margin:.35rem 0 0;font-weight:600}
abbr[title]{text-decoration:none;color:var(--danger)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.print-body{background:#fff}
.print-toolbar{display:flex;gap:.6rem;align-items:center;justify-content:flex-end;padding:14px max(4vw,24px);border-bottom:1px solid var(--line)}
.print-page{width:min(920px,calc(100% - 36px));margin:24px auto 60px}
.print-head{border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:20px}
.print-head h1{margin:.3rem 0}
.print-answer{border-bottom:1px solid var(--line);padding:11px 0}
.print-answer b{display:block;font-weight:650;line-height:1.45}
.print-answer p{margin:.35rem 0 0;color:#1f2d3f;line-height:1.5}
.print-answer p.muted{color:var(--muted)}
.print-answer.internal{background:#f8fafb;border-left:3px solid var(--blue);padding-left:12px}
.print-lines{border-bottom:1px dotted #9aa8b8;min-height:1.7rem}
.answer-code{color:var(--primary-dark);font-weight:800;font-size:.8rem}

@media(max-width:680px){
  .share-card .share-grid{grid-template-columns:1fr}
}

@media print{
  .print-toolbar,.no-print,.demo-bar,.app-header,footer{display:none!important}
  .print-page{width:auto;margin:0}
  body{background:#fff}
  .print-answer,.question-item,.public-question{break-inside:avoid}
}

/* v2.6 · Alta de pacientes, coberturas y archivado. */
form label[hidden]{display:none!important}
.field-hint{display:block;color:var(--warning);font-size:.78rem;font-weight:600;margin-top:.35rem}
.select-filter{margin-bottom:.35rem}
.qr-box svg{max-width:180px;height:auto}
.coverage-table td small{display:block;color:var(--muted);font-size:.78rem;margin-top:.15rem}
.row-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.row-actions form{display:inline}
.row-actions button,.row-actions .btn{padding:.4rem .7rem;font-size:.8rem}
.inline-restore{display:inline-block;margin-left:.6rem}
.inline-restore button{padding:.35rem .7rem;font-size:.8rem}
