/* C-26 public report form. Shared design system (gp-*), petrol accent, radius 4-6, no gradients. */
.lr-table-wrap { overflow-x: auto; max-width: 100%; border: 1px solid var(--g-line, #dfe3e6); border-radius: 6px; }
.lr-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 520px; }
.lr-table th, .lr-table td { padding: 10px 12px; text-align: start; border-bottom: 1px solid var(--g-line, #dfe3e6); vertical-align: top; }
.lr-table thead th { background: var(--g-surface-2, #f4f6f7); font-weight: 600; }
.lr-table tbody tr:last-child th, .lr-table tbody tr:last-child td { border-bottom: 0; }
.lr-note, .lr-help { font-size: 13px; color: var(--g-ink-3, #5b6670); margin: 6px 0 0; }
.lr-form { margin-top: 12px; }
.lr-form textarea { min-height: 96px; width: 100%; box-sizing: border-box; }
.lr-decl { border: 1px solid var(--g-line, #dfe3e6); border-radius: 6px; padding: 12px 14px; margin: 0; display: grid; gap: 10px; min-width: 0; }
.lr-decl legend { padding: 0 6px; font-weight: 600; }
.lr-code input { max-width: 200px; letter-spacing: 6px; font-size: 20px; text-align: center; }
.lr-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.lr-done { border: 1px solid var(--g-accent, #1F4E5F); border-radius: 6px; padding: 16px 18px; margin-top: 12px; }
.lr-done h2 { margin-top: 0; }
.lr-dl { display: grid; gap: 10px; margin: 16px 0; }
.lr-dl > div { display: grid; grid-template-columns: minmax(90px, 160px) 1fr; gap: 12px; border-bottom: 1px solid var(--g-line, #dfe3e6); padding-bottom: 8px; }
.lr-dl dt { color: var(--g-ink-3, #5b6670); }
.lr-dl dd { margin: 0; overflow-wrap: anywhere; }
/* C-27 fix (21:39): shared components inside the legal prose column (.gp-legal p/li/a rules must not reach them). */
.gp-legal .lr-form { max-width: var(--gp-read, 65ch); }
.gp-legal .gf-pop li, .gp-legal .gf-pop p { max-width: none; color: inherit; }
.gp-legal .gf-pop--menu .gf-opt { justify-content: flex-start; }
.gp-legal .gf-pop--menu .gf-opt__main { flex: 0 1 auto; }
.gp-legal .gf-pop--menu .gf-opt::after { order: -1; }
.pr-callout { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; max-width: var(--gp-read, 65ch); margin: 0 0 8px; }
.pr-callout .g-alert { width: 100%; box-sizing: border-box; margin: 0; }
.gp-legal .pr-callout .g-alert__body, .gp-legal .pr-callout .g-alert__body * { max-width: none; }
.gp-legal .pr-callout a.g-btn { text-decoration: none; }
@media (max-width: 480px) { .pr-callout__btn { width: 100%; } }
