.ra-responsibility { padding: 18px 20px; margin: 12px 0; border: 1px solid var(--d-line); border-radius: 12px; background: white; }
.ra-responsibility h2 { font-size: 1rem; line-height: 1.3; margin: 0 0 8px; }
.ra-responsibility p { font-size: .82rem; line-height: 1.6; margin: 0; }
#risk-fields { border: 0; margin: 0; padding: 0; min-width: 0; }
#risk-form > fieldset > section { padding: 26px 28px; background: white; border: 1px solid var(--d-line); border-radius: 14px; margin-bottom: 20px; }
#risk-form h2 { font-size: 1.25rem; line-height: 1.35; margin: 0 0 14px; }
#risk-form section > p { font-size: .88rem; }
.ra-library { border: 1px solid var(--d-line); border-radius: 10px; padding: 14px 16px; margin: 16px 0; background: #f8f9fc; }
.ra-library summary { cursor: pointer; font-size: .9rem; font-weight: 700; }
.ra-library h3 { font-size: .9rem; line-height: 1.4; margin: 22px 0 10px; }
.ra-prompts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ra-prompts button { border: 1px solid #c9d0dc; background: white; color: var(--d-ink); font: inherit; font-size: .8rem; padding: 10px 12px; min-height: 44px; border-radius: 8px; cursor: pointer; text-align: left; }
.ra-prompts button:hover { border-color: var(--d-ink); background: #edf0f5; }
.ra-count { font-weight: 600; padding: 16px 0 4px; }
.ra-hazard { border: 1px solid #c9d0dc; border-radius: 10px; padding: 20px; margin: 20px 0; scroll-margin-top: 24px; }
.ra-hazard-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--d-line); padding-bottom: 12px; }
.ra-hazard-heading h3 { font-size: 1.1rem; margin: 0; }
.ra-hazard-heading button { background: white; border: 1px solid var(--d-line); border-radius: 8px; min-height: 44px; padding: 8px 12px; font: inherit; font-size: .8rem; color: var(--d-ink); cursor: pointer; }
.ra-hazard textarea { min-height: 100px; }
.ra-score-toggle { display: flex !important; gap: 12px; align-items: start; margin: 20px 0; }
.ra-hazard fieldset { min-width: 0; border: 1px solid var(--d-line); border-radius: 8px; padding: 16px; background: #f8f9fc; }
.ra-hazard legend { font-size: .85rem; font-weight: 600; }
.ra-hazard h4 { font-size: .9rem; margin: 18px 0 0; line-height: 1.4; }
.ra-hazard output { display: block; font-size: .85rem; font-weight: 700; padding: 8px 0; }
.ra #ra-status:empty { display: none; }
.ra #ra-status:not(:empty) { padding: 14px 18px; background: #edf5f1; border-radius: 8px; }
.ra-document dl { display: grid; grid-template-columns: 1fr 2fr; gap: 8px 18px; }
.ra-document dt, .ra-document dd { margin: 0; font-size: .85rem; }
.ra-table-wrap { overflow-x: auto; }
#assessment-table { border-collapse: collapse; width: 100%; min-width: 640px; font-size: .8rem; }
#assessment-table caption { font-weight: 700; text-align: left; padding: 12px 0; }
#assessment-table th, #assessment-table td { border: 1px solid #c9d0dc; padding: 12px; text-align: left; vertical-align: top; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.5; }
#assessment-table th { background: #edf0f5; }
.ra-signoff div { padding: 12px 0 40px; border-bottom: 1px solid var(--d-line); font-size: .85rem; }
.ra-document footer { font-size: .75rem; line-height: 1.5; border-top: 1px solid var(--d-line); margin-top: 24px; padding-top: 16px; }
@media (max-width: 760px) { .ra-responsibility { margin: 8px 0; padding: 14px 16px; } #risk-form > fieldset > section { padding: 20px; } .ra-hazard { padding: 16px; } }
@page { size: A4 landscape; margin: 12mm; }
@media print {
  body.sf-print-ready #record-document table { display: table !important; min-width: 0; table-layout: fixed; font-size: 9pt; width: 100%; }
  body.sf-print-ready #record-document thead { display: table-header-group !important; }
  body.sf-print-ready #record-document tbody { display: table-row-group !important; }
  body.sf-print-ready #record-document tr { display: table-row !important; break-inside: avoid; }
  body.sf-print-ready #record-document th, body.sf-print-ready #record-document td { display: table-cell !important; padding: 7px; }
  body.sf-print-ready #record-document caption { display: table-caption !important; }
  body.sf-print-ready #record-document dl { display: grid !important; grid-template-columns: 1fr 3fr 1fr 3fr; }
  .ra-table-wrap { overflow: visible; }
  .ra-document h2 { margin: 0 0 12px; }
  .ra-signoff div { break-inside: avoid; }
  body.sf-print-ready #record-document footer { font-size: 8pt; }
}
@media print {
  #assessment-table th[data-column="hazard"], #assessment-table th[data-column="harm"] { width: 16%; }
  #assessment-table th[data-column="controls"] { width: 22%; }
  #assessment-table th[data-column="action"] { width: 18%; }
  #assessment-table th[data-column="responsibility"] { width: 12%; }
  #assessment-table th[data-column="current"], #assessment-table th[data-column="residual"] { width: 8%; }
}
@media print {
  .ra-document header > p { margin: 0 0 8px; }
  .ra-document header { margin-bottom: 12px; }
  .ra-signoff h3 { margin: 16px 0 8px; }
  .ra-signoff p { margin: 8px 0; font-size: 9pt; }
  .ra-signoff div { padding: 8px 0 22px; font-size: 9pt; }
  .ra-document footer { margin-top: 12px; padding-top: 8px; }
}
