/* Druckansicht (Drehtag, Shot-Liste, Storyboard, Board-PDF) */
@page { size: A4 landscape; margin: 11mm; }
html, body { height: auto !important; overflow: visible !important; background: #fff !important; color: #111 !important; }
#app, #gate, #toasts, #modal-root, .floatbar, .ctx-menu, .rtbar, .pop { display: none !important; }
#print-root { display: block !important; }
.print-doc { font: 10pt/1.35 "Segoe UI", Arial, sans-serif; color: #111; }
.p-head { display: flex; justify-content: space-between; gap: 20px; border-bottom: 2px solid #111; padding-bottom: 8px; margin-bottom: 10px; }
.p-brand { font: 700 8pt Arial, sans-serif; letter-spacing: 3px; color: #df5326; }
.p-head h1 { margin: 2px 0; font: 700 20pt Georgia, serif; }
.p-sub { font-size: 11pt; }
.p-meta { font-size: 9pt; text-align: right; }
.p-meta b { font-weight: 600; color: #555; margin-right: 4px; }
.p-facts { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border: 1px solid #111; margin-bottom: 8px; }
.p-facts div { padding: 5px 8px; border-right: 1px solid #ccc; }
.p-facts div:last-child { border-right: 0; }
.p-facts span { display: block; font-size: 7.5pt; text-transform: uppercase; color: #666; letter-spacing: .5px; }
.p-facts b { font-size: 12pt; }
.p-notes { margin: 4px 0; }
.p-warn { color: #b00; font-weight: 700; margin: 4px 0; }
.print-doc h2 { font: 700 12pt Georgia, serif; margin: 12px 0 5px; }
.print-doc h3 { font-size: 10pt; margin: 6px 0 3px; }
.p-table { width: 100%; border-collapse: collapse; font-size: 8.5pt; }
.p-table th { text-align: left; background: #eee; border: 1px solid #999; padding: 3px 4px; font-size: 7.5pt; text-transform: uppercase; }
.p-table td { border: 1px solid #bbb; padding: 3px 4px; vertical-align: top; }
.p-table tr { break-inside: avoid; }
.p-scene td { background: #f3ede6; font-weight: 700; }
.p-break td { background: #fff6e0; font-style: italic; }
.p-no { font: 700 9pt Consolas, monospace; color: #df5326; white-space: nowrap; }
.p-frame { width: 30mm; }
.p-frame img, .p-frame svg { width: 30mm; height: 16.9mm; object-fit: cover; display: block; border: 1px solid #ccc; }
.pf-empty { width: 30mm; height: 16.9mm; border: 1px dashed #bbb; }
.p-note { color: #555; font-size: 8pt; margin-top: 2px; }
.p-box { width: 7mm; }
.p-plan { break-inside: avoid; page-break-before: always; }
.p-plan svg { width: 100%; max-height: 150mm; display: block; }
.p-legend { display: flex; gap: 16px; font-size: 9pt; margin-top: 4px; }
.p-pf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6mm; }
.p-pf { break-inside: avoid; border: 1px solid #ccc; padding: 3mm; }
.p-pf h3 { margin: 0 0 2mm; font-size: 11pt; }
.p-pf svg { width: 100%; height: auto; max-height: 75mm; display: block; }
.p-pf p { margin: 2mm 0 0; font-size: 9pt; }
.p-pf-dlg { font-family: Consolas, monospace; font-size: 8.5pt !important; }
.p-break-before { page-break-before: always; }
.p-cols { columns: 3; column-gap: 10mm; }
.p-cols > div { break-inside: avoid; margin-bottom: 6px; }
.p-check { font-size: 9.5pt; padding: 1px 0; }
.p-table.small { width: auto; min-width: 60%; }
.p-sb { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6mm 5mm; }
.p-sb-card { break-inside: avoid; }
.p-sb-frame { aspect-ratio: 16 / 9; border: 1px solid #999; overflow: hidden; }
.p-sb-frame img, .p-sb-frame svg { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-sb-frame .pf-empty { width: 100%; height: 100%; border: 0; }
.p-sb-cap { font-size: 8.5pt; margin-top: 2px; }
.p-sb-cap b { color: #df5326; font-family: Consolas, monospace; }
.p-sb-cap small { display: block; color: #777; }
.p-foot { margin-top: 10px; font-size: 7.5pt; color: #888; text-align: right; }
