.su-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.su-builder .field { min-width: 0; }
.su-builder textarea { width: 100%; }
.su-kids { display: flex; align-items: center; gap: 10px; margin: 16px 0; }
.su-builder [hidden] { display: none !important; }
#su-error { color: var(--cran); }
.su-sheet { margin-top: 24px; padding: 24px; border: 1px solid var(--line); border-radius: 8px; background: var(--tag); }
.su-title { font: 600 1.8rem/1.15 var(--serif); margin: 0 0 12px; }
.su-group { font-weight: 600; overflow-wrap: anywhere; }
.su-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; }
.su-facts div { min-width: 0; }
.su-facts dt { font-size: .9rem; color: var(--muted); }
.su-facts dd { min-height: 1.7em; margin: 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.su-opt-in { font-size: .9rem; }
.page-body .su-table { width: 100%; table-layout: fixed; border-radius: 0; background: transparent; }
.su-table th:first-child { width: 36px; }
.su-table td { height: 2.7em; overflow-wrap: anywhere; }
.su-table th, .su-table td { padding: 8px; }
.su-rules { font-size: .95rem; overflow-wrap: anywhere; }
.su-foot { margin-bottom: 0; color: var(--muted); font-size: .78rem; overflow-wrap: anywhere; }
@media (max-width: 560px) {
  .su-grid, .su-facts { grid-template-columns: minmax(0, 1fr); }
  .su-sheet { padding: 14px; }
  .su-title { font-size: 1.5rem; }
  .su-table { font-size: .85rem; }
}
@media print {
  @page { margin: 12mm; }
  .page-head, .page-body > :not(#su-builder), #su-controls, #su-nojs { display: none !important; }
  .page-body, #su-builder { padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; }
  .su-sheet { margin: 0; padding: 0; border: 0; border-radius: 0; background: #fff; color: #000; font-size: 11pt; line-height: 1.35; break-after: page; break-inside: avoid; }
  .su-sheet:last-child { break-after: auto; }
  .su-title { font-size: 24pt; margin: 0 0 10pt; }
  .su-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 10pt; gap: 8pt 18pt; }
  .su-facts dd { min-height: 18pt; }
  .su-table { font-size: 10.5pt !important; line-height: 1.2; margin: 8pt 0; }
  .su-table caption { font-size: 13pt; line-height: 1.2; }
  .su-table th, .su-table td { padding: 4pt; height: 26pt; }
  .su-table thead { display: table-header-group; }
  .su-table th:first-child { width: 26pt; }
  .su-rules { font-size: 10pt; margin-top: 12pt; }
  .su-foot { font-size: 8pt; margin-top: 12pt; }
}
