print.css
| 1 | /* Handout: A4, schlicht, gut lesbar für Patienten */ |
| 2 | @page { size: A4; margin: 15mm 14mm; } |
| 3 | * { box-sizing: border-box; } |
| 4 | body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-size: 12pt; line-height: 1.45; |
| 5 | color: #111; max-width: 190mm; margin: 0 auto; padding: 1rem; background: #fff; } |
| 6 | .hint { background: #fff8d6; border: 1px solid #e6d27a; padding: .5rem .8rem; border-radius: 6px; font-size: 10pt; } |
| 7 | header { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 2px solid #16a085; padding-bottom: .4rem; margin-bottom: .8rem; } |
| 8 | h1 { font-size: 20pt; margin: 0; } |
| 9 | .for { margin: .2rem 0 0; font-size: 13pt; } |
| 10 | .meta { text-align: right; font-size: 10pt; color: #555; } |
| 11 | .notes { background: #f2f7f6; border-left: 4px solid #16a085; padding: .3rem .8rem; margin-bottom: .8rem; } |
| 12 | .ex { break-inside: avoid; page-break-inside: avoid; border: 1px solid #ccc; border-radius: 8px; padding: .6rem .9rem; margin-bottom: .7rem; } |
| 13 | .ex h2 { font-size: 14pt; margin: 0 0 .4rem; display: flex; align-items: center; gap: .5rem; } |
| 14 | .num { display: inline-flex; align-items: center; justify-content: center; width: 1.6em; height: 1.6em; border-radius: 50%; |
| 15 | background: #16a085; color: #fff; font-size: 11pt; } |
| 16 | .ex-body { display: flex; gap: .9rem; } |
| 17 | .pics { flex: 0 0 38%; display: flex; flex-direction: column; gap: .4rem; } |
| 18 | .pics img { width: 100%; max-height: 55mm; object-fit: contain; border-radius: 4px; } |
| 19 | .text { flex: 1; } |
| 20 | .text p, .text ul, .text ol { margin: .2rem 0 .4rem; } |
| 21 | .dose { font-weight: 700; font-size: 13pt; margin-top: .5rem; padding: .3rem .6rem; background: #f2f7f6; border-radius: 4px; display: inline-block; } |
| 22 | .note { font-style: italic; } |
| 23 | footer { margin-top: 1rem; font-size: 9.5pt; color: #555; border-top: 1px solid #ccc; padding-top: .4rem; } |
| 24 | @media print { .hint { display: none; } body { padding: 0; } } |
| 25 | |
| 26 | /* Zusammenfassung für Patienten */ |
| 27 | .summary .logo { height: 14mm; width: auto; margin-bottom: .2rem; } |
| 28 | .summary-body { font-size: 12.5pt; line-height: 1.55; } |
| 29 | .summary-body h2 { font-size: 14pt; color: #16a085; margin: 1.1rem 0 .3rem; padding-bottom: .15rem; border-bottom: 1px solid #cfe5df; break-after: avoid; } |
| 30 | .summary-body ul { margin: .2rem 0 .5rem; padding-left: 1.3rem; } |
| 31 | .summary-body li { margin: .15rem 0; } |
| 32 | .summary-body p { margin: .3rem 0; } |
| 33 | |
| 34 | /* Terminliste */ |
| 35 | .appt-print { width: 100%; border-collapse: collapse; font-size: 11.5pt; margin: .5rem 0 1rem; } |
| 36 | .appt-print th, .appt-print td { border: 1px solid #bbb; padding: .3rem .45rem; text-align: left; vertical-align: top; } |
| 37 | .appt-print th { background: #f2f7f6; } |
| 38 | .appt-print tr { break-inside: avoid; } |
| 39 | .appt-print tr.cancelled td { color: #888; text-decoration: line-through; } |
| 40 | .appt-print tr.cancelled td strong { text-decoration: none; color: #c0392b; } |
| 41 | .cal-box { display: flex; gap: 6mm; align-items: center; border: 1px solid #cfe5df; border-radius: 8px; padding: 4mm; break-inside: avoid; } |
| 42 | .cal-box .qr { width: 38mm; height: 38mm; flex: 0 0 auto; } |
| 43 | .cal-box h2 { font-size: 13pt; margin: 0 0 .3rem; color: #16a085; } |
| 44 | .cal-box p { margin: .2rem 0; } |
| 45 | .cal-box .url { font-family: ui-monospace, monospace; font-size: 8.5pt; color: #555; word-break: break-all; } |
| 46 |