.plakat-intro { font-size:14px; color:var(--text-dim); line-height:1.65; margin-bottom:12px; }
.plakat { background:var(--bg-card); border:1px solid var(--border-soft); box-shadow:var(--shadow-card); border-radius:var(--radius); padding:18px 20px; margin-bottom:22px; display:flex; flex-direction:column; min-width:0; }
.plakat-kopf { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:8px 14px; border-bottom:3px solid var(--text); padding-bottom:9px; }
.plakat-nr { font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); }
.plakat h2 { font-size:24px; line-height:1.2; letter-spacing:-.3px; margin-top:2px; }
.plakat-inhalt { display:flex; flex-direction:column; gap:12px; padding:14px 0; min-width:0; }
.plakat-lead { font-size:15px; line-height:1.5; }
.pf-liste { display:flex; flex-direction:column; gap:9px; }
.pf { font-family:var(--mono); font-size:clamp(16px, 4.3vw, 23px); line-height:1.35; background:var(--bg-input); border-left:4px solid var(--accent); border-radius:var(--radius-sm); padding:9px 14px; display:flex; flex-wrap:wrap; align-items:center; gap:6px 1.2em; min-width:0; }
.pf-name { flex-basis:100%; font-family:var(--font); font-size:13px; font-weight:700; color:var(--text-dim); }
.fr { display:inline-flex; flex-direction:column; vertical-align:middle; text-align:center; line-height:1.15; margin:0 .1em; }
.fr > span { white-space:nowrap; padding:0 .15em; }
.fr > span:first-child { border-bottom:.07em solid currentColor; padding-bottom:.06em; }
.fr > span + span { padding-top:.06em; }
.legende { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:0 20px; font-size:14px; }
.legende > div { display:flex; gap:10px; align-items:baseline; border-bottom:1px solid var(--border); padding:4px 0; }
.legende dt { font-family:var(--mono); font-weight:700; min-width:3.4em; flex-shrink:0; }
.legende dd { color:var(--text-dim); }
.merke { font-size:14.5px; line-height:1.55; border:2px solid var(--text); border-radius:var(--radius-sm); padding:9px 14px; }
.bsp { font-size:14px; line-height:1.55; color:var(--text-dim); background:var(--bg-card2); border:1px solid var(--border); border-radius:var(--radius-sm); padding:9px 14px; }
.merke strong, .bsp strong { color:var(--text); }
.mono { font-family:var(--mono); color:var(--text); }
.rad { display:grid; grid-template-columns:1fr 1fr; gap:6px; font-family:var(--mono); font-size:clamp(15px, 4.2vw, 23px); line-height:1.5; }
.rad > div { background:var(--bg-input); padding:10px 16px; border:2px solid var(--accent); border-radius:8px; }
.rad > div:nth-child(odd) { text-align:right; }
.rad > div:nth-child(1) { border-top-left-radius:90px; }
.rad > div:nth-child(2) { border-top-right-radius:90px; }
.rad > div:nth-child(3) { border-bottom-left-radius:90px; }
.rad > div:nth-child(4) { border-bottom-right-radius:90px; }
.rad b { display:block; font-size:1.6em; line-height:1.1; color:var(--accent); }
.nq { display:flex; flex-wrap:wrap; gap:6px; }
.nq span { font-family:var(--mono); font-weight:700; border:1.5px solid var(--text); border-radius:6px; padding:1px 8px; }
.skala { display:grid; grid-template-columns:repeat(5, 1fr); border:2px solid var(--text); border-radius:var(--radius-sm); overflow:hidden; }
.skala > div { text-align:center; padding:6px 2px; font-size:13px; color:var(--text-dim); }
.skala > div + div { border-left:1px solid var(--border); }
.skala b { display:block; font-family:var(--mono); font-size:clamp(15px, 4vw, 21px); color:var(--text); }
.plakat .table-wrap { margin:0; }
.plakat table.data { font-size:14px; }
.plakat table.data th, .plakat table.data td { white-space:normal; vertical-align:top; text-align:left; }
.plakat table.data td.z { font-family:var(--mono); }
.fb { display:inline-block; width:1.1em; height:1.1em; border:1px solid #444; border-radius:3px; vertical-align:-.18em; margin-right:.45em; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.fb-gg { background:repeating-linear-gradient(135deg, #1e9a3c 0 .28em, #f4d000 .28em .56em); }
.plakat-fuss { margin-top:auto; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:12px 18px; border-top:1px solid var(--border); padding-top:12px; }
.plakat-hinweis { flex:1 1 220px; font-size:12px; color:var(--text-dim); line-height:1.5; }
.plakat-qr { min-width:0; display:flex; flex-direction:row-reverse; align-items:center; gap:10px; font-size:12px; line-height:1.4; color:var(--text-dim); text-align:right; }
.plakat-qr span { min-width:0; overflow-wrap:anywhere; }
.plakat-qr img { width:90px; height:90px; flex-shrink:0; display:block; background:#fff; padding:3px; border-radius:4px; }
@media (max-width:520px) {
.plakat { padding:14px; }
.plakat h2 { font-size:21px; }
.rad > div { padding:8px 10px; }
.rad > div:nth-child(n) { border-radius:8px; }
}
@page { size: A4; margin: 10mm; }
@media print {
html, body { background:#fff !important; }
.app { max-width:none; padding:0; }
.app > *:not(main), main > *:not(.plakate), .header, .footer, .plakat-einzeln, #druck-ausweg { display:none !important; }
html.nur-ein-plakat .plakat:not(.plakat-aktiv) { display:none !important; }
.plakat { box-sizing:border-box; height:276mm; margin:0; padding:0; overflow:hidden; border:none; box-shadow:none; border-radius:0; background:#fff; color:#000; break-after:page; page-break-after:always; break-inside:avoid; page-break-inside:avoid; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.plakat:last-child { break-after:auto; page-break-after:auto; }
.plakat-kopf { border-bottom:1.2mm solid #000; padding-bottom:2.5mm; }
.plakat-nr { font-size:11pt; color:#333; }
.plakat h2 { font-size:30pt; line-height:1.12; letter-spacing:-.4pt; margin-top:1mm; }
.plakat-inhalt { flex:1; justify-content:space-evenly; gap:3mm; padding:3mm 0; }
.plakat-lead { font-size:13pt; }
.pf-liste { gap:2.5mm; }
.pf { font-size:26pt; line-height:1.25; background:#eef1f6; color:#000; border-left:2mm solid #2f5fe0; border-radius:2mm; padding:1.5mm 5mm 2mm; gap:1mm 9mm; }
.pf-name { font-size:10pt; color:#333; }
.pf-liste.links .pf:not(.oben) .pf-name { flex:0 0 25mm; margin-right:-4mm; }
.pf.gross { font-size:30pt; }
.pf.klein { font-size:21pt; }
.fr { line-height:1.08; }
.legende { font-size:12pt; gap:0 8mm; grid-template-columns:1fr 1fr; }
.legende > div { padding:.8mm 0; border-bottom-color:#999; }
.legende dd { color:#222; }
.merke { font-size:12.5pt; line-height:1.45; border:.7mm solid #000; padding:2.5mm 5mm; border-radius:2mm; }
.bsp { font-size:11.5pt; line-height:1.45; color:#222; background:#f3f4f6; border-color:#bbb; padding:2.5mm 5mm; border-radius:2mm; }
.rad { font-size:26pt; line-height:1.3; gap:2mm; }
.rad > div { background:#eef1f6; border:.6mm solid #2f5fe0; padding:2mm 7mm; }
.rad > div:nth-child(1) { border-top-left-radius:28mm; }
.rad > div:nth-child(2) { border-top-right-radius:28mm; }
.rad > div:nth-child(3) { border-bottom-left-radius:28mm; }
.rad > div:nth-child(4) { border-bottom-right-radius:28mm; }
.rad b { color:#2f5fe0; }
.nq { gap:1.5mm; }
.nq span { font-size:15pt; border:.5mm solid #000; padding:.3mm 2mm; }
.skala > div { font-size:11pt; color:#222; padding:1.5mm 1mm; }
.skala b { font-size:20pt; color:#000; }
.plakat table.data { font-size:13pt; line-height:1.25; }
.plakat table.data th { font-size:9pt; color:#333; }
.plakat table.data th, .plakat table.data td { padding:1mm 2mm; border-bottom-color:#999; }
.plakat table.data.gross { font-size:18pt; }
.plakat-fuss { border-top:.3mm solid #999; padding-top:2.5mm; gap:4mm; flex-wrap:nowrap; }
.plakat-hinweis { font-size:9pt; color:#333; }
.plakat-qr { font-size:9pt; color:#000; gap:3mm; }
.plakat-qr img { width:26mm; height:26mm; padding:0; border-radius:0; }
html.sparsam .plakat, html.sparsam .plakat * { color:#000 !important; }
html.sparsam .pf, html.sparsam .rad > div, html.sparsam .bsp, html.sparsam .fb { background:#fff !important; }
html.sparsam .pf { border:.3mm solid #000; border-left:1.2mm solid #000; }
html.sparsam .rad > div, html.sparsam .bsp { border-color:#000; }
}
.plakat-spar { display:inline-flex; align-items:center; gap:8px; font-size:13.5px; color:var(--text-dim); cursor:pointer; min-height:40px; }
.plakat-spar input { width:17px; height:17px; accent-color:var(--accent-tief); }
