/* recall-checklist.css — linked by recall_checklist.php ONLY (3 Nov 2026, MHRA Phase 4b). Scoped under .rc.
   Screen: the sheet as an A4-width preview with a Print button. Print: A4 portrait, the sheet alone.
   Class colours follow safety-alerts.css (1 red, 2 orange, 3 amber, 4 grey), always with words beside them. */

.rc { --rc-ink: #0f172a; --rc-muted: #475569; --rc-line: #94a3b8; --rc-soft: #e2e8f0; --rc-blue: #0b5394;
      color: var(--rc-ink); padding: 24px 16px 40px; box-sizing: border-box; }
.rc *, .rc *::before, .rc *::after { box-sizing: border-box; }

.rc-msg, .rc-tools { max-width: 210mm; margin: 0 auto 14px; }
.rc-msg h1 { font-size: 1.6rem; margin: 20px 0 10px; }
.rc-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.rc-tools a { color: var(--rc-blue); font-weight: 600; text-decoration: none; }
.rc-tools a:hover { text-decoration: underline; text-underline-offset: 3px; }
.rc-tip { flex-basis: 100%; margin: 0; font-size: .86rem; color: var(--rc-muted); }

.rc-sheet { max-width: 210mm; margin: 0 auto; background: #fff; border: 1px solid var(--rc-soft); border-radius: 6px;
            box-shadow: 0 2px 14px rgba(15, 23, 42, .08); padding: 12mm; font-size: 10.5pt; line-height: 1.35; }
.rc-sheet--c1 { border-top: 5px solid #b91c1c; }
.rc-sheet--c2 { border-top: 5px solid #9a3412; }
.rc-sheet--c3 { border-top: 5px solid #854d0e; }
.rc-sheet--c4 { border-top: 5px solid #334155; }

.rc-head { display: flex; gap: 6mm; align-items: flex-start; }
.rc-head-main { flex: 1; min-width: 0; }
.rc-kind { margin: 0 0 2mm; font-size: 9.5pt; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--rc-blue);
           display: flex; align-items: center; gap: 2mm; }
.rc-logo { width: 6mm; height: 6mm; }
.rc-head h1 { font-size: 13pt; line-height: 1.22; margin: 0 0 1.5mm; font-weight: 800; }
.rc-class { margin: 0 0 2mm; font-size: 9.5pt; color: var(--rc-muted); }
.rc-class strong { color: var(--rc-ink); }
.rc-facts { display: flex; flex-wrap: wrap; gap: 1mm 6mm; margin: 0; font-size: 9.5pt; }
.rc-facts div { display: flex; gap: 1.5mm; }
.rc-facts dt { color: var(--rc-muted); }
.rc-facts dt::after { content: ':'; }
.rc-facts dd { margin: 0; font-weight: 700; }
.rc-qr { width: 28mm; flex: none; text-align: center; }
.rc-qr-img { width: 26mm; height: 26mm; display: block; margin: 0 auto; }
.rc-qr p { margin: 1mm 0 0; font-size: 7.5pt; line-height: 1.25; color: var(--rc-muted); }

/* handwriting lines */
.rc-lines { display: flex; flex-wrap: wrap; gap: 2mm 6mm; margin: 2.5mm 0; }
.rc-line { flex: 1 1 45mm; border-bottom: 1px solid var(--rc-ink); min-height: 7.5mm; display: flex; align-items: flex-end; }
.rc-line--wide { flex-basis: 80mm; }
.rc-line span { font-size: 8.5pt; color: var(--rc-muted); padding-bottom: 1mm; white-space: nowrap; }

.rc-warn { margin: 2mm 0; padding: 2mm 3mm; border: 1.5px solid #b45309; border-radius: 4px; background: #fffbeb; font-size: 9.5pt; }
.rc-quote { margin: 0 0 3mm; }
.rc-quote blockquote { margin: 0; padding: 1.5mm 3mm; border-left: 3px solid var(--rc-line); font-size: 9pt; color: #334155; }
.rc-small { font-size: 8.5pt; color: var(--rc-muted); margin: 1mm 0 1.5mm; }
.rc-src { margin-top: 3mm; }

/* tables */
.rc-table { width: 100%; border-collapse: collapse; margin: 0 0 2.5mm; font-size: 9.5pt; }
.rc-table th, .rc-table td { border: 1px solid var(--rc-line); padding: .8mm 2mm; text-align: left; vertical-align: middle; }
.rc-table thead th { background: #f1f5f9; font-size: 8.5pt; font-weight: 700; }
.rc-table .rc-prod th { background: #e2e8f0; font-size: 9.5pt; }
.rc-table .rc-prod span { font-weight: 400; color: var(--rc-muted); margin-left: 2mm; }
.rc-table tbody tr { height: 7mm; }
.rc-table tbody tr, .rc-sum, .rc-record, .rc-foot { break-inside: avoid; page-break-inside: avoid; }
.rc-bn { font-family: ui-monospace, Consolas, monospace; font-weight: 700; }
.rc-c-w { width: 19%; }
.rc-c-i { width: 11%; }
.rc-c-p { width: 24%; }
.rc-c-bn { width: 18%; }

.rc-sum { margin: 2.5mm 0; padding: 2mm 3mm; border: 1px solid var(--rc-line); border-left: 3px solid #166534; border-radius: 4px; }
.rc-sum h2 { font-size: 10.5pt; margin: 0 0 1mm; }
.rc-sum ul { margin: 0 0 1mm 5mm; padding: 0; }
.rc-sum li, .rc-sum p { font-size: 9pt; line-height: 1.3; margin: 0 0 .5mm; }

.rc-record { margin: 2mm 0 2.5mm; padding: 0 3mm 2mm; border: 1px solid var(--rc-line); border-radius: 4px;
             display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 1mm 5mm; align-items: end; }
.rc-record .rc-line { min-height: 7mm; }
.rc-r-ret { grid-column: span 1; }
.rc-r-copy { grid-column: span 2; }
.rc-record .rc-tick { grid-column: 1 / -1; white-space: normal; }
.rc-record .rc-r-ret + .rc-tick { grid-column: auto; white-space: nowrap; }
.rc-tick { margin: 0; padding-bottom: .5mm; font-weight: 700; white-space: nowrap; font-size: 9.5pt; display: flex; align-items: center; gap: 2.5mm; }
.rc-box { display: inline-block; width: 4.5mm; height: 4.5mm; border: 1.5px solid var(--rc-ink); }

.rc-foot { margin-top: 2mm; padding: 1.5mm 0; border-top: 1px solid var(--rc-soft); border-bottom: 1px solid var(--rc-soft); font-size: 6.8pt; line-height: 1.3; color: var(--rc-muted); }
.rc-foot p { margin: 0; }

@media (max-width: 640px) {
    .rc-sheet { padding: 5mm; }
    .rc-head { flex-direction: column-reverse; }
    .rc-qr { width: auto; }
    .rc-table { font-size: 8.5pt; }
    .rc-record { grid-template-columns: 1fr 1fr; }
}

@page { size: A4 portrait; margin: 11mm 12mm; }
@media print {
    .ps-topbar, .ps-footer, .rc-tools { display: none !important; }
    html, body { background: #fff !important; }
    .rc { padding: 0; }
    .rc-sheet { max-width: none; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
    .rc-sheet--c1, .rc-sheet--c2, .rc-sheet--c3, .rc-sheet--c4 { border-top-width: 2mm; padding-top: 2mm; }
    .rc-table thead { display: table-header-group; }
    .rc-warn { background: #fff; }
    * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
