/* Halawi Slate - print documents (call sheet, shot list, stripboard, budget top sheet, DOOD) */
.pdoc { font: 9.5pt/1.35 'Inter', Arial, Helvetica, sans-serif; color: #111; background: #fff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.pdoc * { box-sizing: border-box; }
.pdoc h1, .pdoc h2, .pdoc h3 { font-family: 'Lexend', Arial, sans-serif; color: #111; margin: 0; letter-spacing: 0; }
.pdoc .p-hd { display: flex; align-items: flex-start; gap: 14px; border-bottom: 2px solid #111; padding-bottom: 8px; margin-bottom: 10px; }
.pdoc .p-hd .logo { max-height: 34px; max-width: 160px; object-fit: contain; }
.pdoc .p-hd .co { font: 600 10pt 'Lexend', Arial, sans-serif; }
.pdoc .p-hd .ttl { flex: 1; }
.pdoc .p-hd h1 { font-size: 16pt; font-weight: 600; }
.pdoc .p-hd .sub { color: #555; font-size: 9pt; margin-top: 2px; }
.pdoc .p-hd .doc { text-align: right; font: 600 11pt 'Lexend', Arial, sans-serif; text-transform: uppercase; letter-spacing: .06em; }
.pdoc .p-hd .doc small { display: block; font: 400 8.5pt 'Inter', Arial, sans-serif; letter-spacing: 0; text-transform: none; color: #555; margin-top: 2px; }
.pdoc .p-sec { margin: 10px 0 4px; font: 600 8.5pt 'Lexend', Arial, sans-serif; text-transform: uppercase; letter-spacing: .1em; color: #111; background: #ececec; padding: 4px 6px; border-left: 3px solid #9b3df5; }
.pdoc table.pt { width: 100%; border-collapse: collapse; font-size: 8.8pt; }
.pdoc table.pt th { text-align: left; background: #f3f3f3; font: 600 7.8pt 'Lexend', Arial, sans-serif; text-transform: uppercase; letter-spacing: .05em; padding: 4px 5px; border: 1px solid #bbb; }
.pdoc table.pt td { padding: 4px 5px; border: 1px solid #ccc; vertical-align: top; }
.pdoc table.pt td.r, .pdoc table.pt th.r { text-align: right; }
.pdoc table.pt td.c, .pdoc table.pt th.c { text-align: center; }
.pdoc table.pt tr.sub td { background: #f6f6f6; font-weight: 600; }
.pdoc table.pt tr.sec td { background: #e9e3f5; font: 600 8pt 'Lexend', Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.pdoc table.pt tr.grand td { font: 700 11pt 'Lexend', Arial, sans-serif; border-top: 2px solid #111; }
.pdoc .muted { color: #666; }
.pdoc .cs-top { display: grid; grid-template-columns: 1.15fr 1fr 1.15fr; gap: 8px; margin-bottom: 8px; }
.pdoc .box { border: 1px solid #999; padding: 6px 8px; font-size: 8.8pt; }
.pdoc .box h3 { font: 600 7.8pt 'Lexend', Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; color: #444; margin-bottom: 4px; }
.pdoc .box .kv { display: flex; justify-content: space-between; gap: 6px; padding: 1px 0; }
.pdoc .box .kv b { font-weight: 600; }
.pdoc .callbox { text-align: center; border: 2px solid #111; padding: 8px; }
.pdoc .callbox .lbl { font: 600 8pt 'Lexend', Arial, sans-serif; text-transform: uppercase; letter-spacing: .12em; }
.pdoc .callbox .big { font: 700 28pt/1.05 'Lexend', Arial, sans-serif; margin: 4px 0; }
.pdoc .callbox .day { font: 600 10pt 'Lexend', Arial, sans-serif; }
.pdoc .callbox .date { font-size: 9pt; color: #333; }
.pdoc .notes { white-space: pre-wrap; font-size: 8.8pt; border: 1px solid #ccc; padding: 6px 8px; min-height: 28px; }
.pdoc .notes.safety { border-color: #c0392b; background: #fff6f5; }
.pdoc .two { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pdoc .crew-grid { columns: 2; column-gap: 12px; font-size: 8.6pt; }
.pdoc .crew-grid .dep { break-inside: avoid; margin-bottom: 6px; }
.pdoc .crew-grid .dep h4 { font: 600 7.8pt 'Lexend', Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; border-bottom: 1px solid #999; margin: 0 0 2px; padding-bottom: 1px; }
.pdoc .crew-grid .dep div { display: grid; grid-template-columns: 1.2fr 1.2fr .6fr 1fr; gap: 4px; padding: 1px 0; }
.pdoc .p-ft { margin-top: 12px; border-top: 1px solid #bbb; padding-top: 5px; font-size: 7.5pt; color: #777; display: flex; justify-content: space-between; gap: 10px; }
.pdoc .strip-p { display: grid; grid-template-columns: 48px 58px 1fr 58px 60px 1.1fr 60px; gap: 6px; padding: 4px 6px; border: 1px solid #888; border-bottom: 0; font-size: 8.6pt; align-items: center; }
.pdoc .strip-p:last-child { border-bottom: 1px solid #888; }
.pdoc .strip-p b { font-family: 'Lexend', Arial, sans-serif; }
.pdoc .strip-p.int-day { background: #ffffff; } .pdoc .strip-p.ext-day { background: #fbe56a; } .pdoc .strip-p.int-night { background: #9fb6f0; } .pdoc .strip-p.ext-night { background: #8fd1a8; } .pdoc .strip-p.int-dawn, .pdoc .strip-p.ext-dawn { background: #f6c2d2; } .pdoc .strip-p.int-dusk, .pdoc .strip-p.ext-dusk { background: #f7c48f; }
.pdoc .strip-p.ban { background: #333; color: #fff; grid-template-columns: 1fr; font: 600 8pt 'Lexend', Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.pdoc .strip-p.move { background: #ffe9c2; color: #6a4500; }
.pdoc .dayend { background: #111; color: #fff; padding: 4px 6px; font: 600 8pt 'Lexend', Arial, sans-serif; text-transform: uppercase; letter-spacing: .06em; display: flex; justify-content: space-between; margin-bottom: 8px; }
.pdoc .shot-img { width: 90px; height: 50px; object-fit: cover; display: block; border: 1px solid #ccc; }
.pdoc .sb-print { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.pdoc .sb-print figure { margin: 0; break-inside: avoid; border: 1px solid #bbb; }
.pdoc .sb-print figure .im { aspect-ratio: 16/9; background: #f2f2f2; display: grid; place-items: center; overflow: hidden; }
.pdoc .sb-print figure img { width: 100%; height: 100%; object-fit: cover; }
.pdoc .sb-print figcaption { padding: 4px 6px; font-size: 8pt; }
.pdoc .dood-p td.c-SW, .pdoc .dood-p td.c-SWF { background: #d4f2e3; font-weight: 700; }
.pdoc .dood-p td.c-W { background: #e8dcfb; font-weight: 700; }
.pdoc .dood-p td.c-WF { background: #fbe0dc; font-weight: 700; }
.pdoc .dood-p td.c-H { background: #fdf0d9; }
.pdoc .ts-sum { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 8px; }
.pdoc .ts-sum div { border: 1px solid #bbb; padding: 6px; }
.pdoc .ts-sum small { display: block; font: 600 7pt 'Lexend', Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; color: #555; }
.pdoc .ts-sum b { font: 700 12pt 'Lexend', Arial, sans-serif; }
.pdoc .sig { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 26px; font-size: 8pt; color: #555; }
.pdoc .sig div { border-top: 1px solid #555; padding-top: 3px; }
.pdoc .pb { break-before: page; }

@media print {
  @page { size: A4; margin: 10mm; }
  html, body { background: #fff !important; height: auto !important; overflow: visible !important; }
  body::before { display: none !important; }
  body > *:not(#print-root) { display: none !important; }
  #print-root { display: block !important; }
  #print-root.landscape-doc { }
  .pdoc { font-size: 9pt; }
  .pdoc tr, .pdoc .strip-p, .pdoc .box { break-inside: avoid; }
}
