.pdf-wrap{max-width:900px;margin:0 auto}
.pdf-page{background:#fff;border:1px solid #ccc;padding:26px 30px 34px;font-size:11px;line-height:1.45;color:#161c1a;box-shadow:0 10px 30px #1e29260f}
.pdf-reg{font-size:9px;color:#6b756f;text-align:right;margin:0 0 14px}
.pdf-h1{font:700 15px 'Space Grotesk',sans-serif;text-align:right;text-transform:uppercase;letter-spacing:.3px;margin:0 0 18px}
.pdf-act-number{font:400 11px 'DM Sans',sans-serif;text-transform:none;letter-spacing:0;color:#4c564f;white-space:nowrap;display:inline-block;min-width:13ch;text-align:right}
.pdf-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:12px}
/* Kolm eraldi tabelit (Hooldatud seadmed / Reservtoiteakude mahtuvus /
   Vastab nõuetele) peavad välja nägema nagu ÜKS järjepidev tabel — igaüks
   saab renderAct'i lõpus automaatselt oma .pdf-scroll ümbrise (koos selle
   margin-bottom'iga), mis muidu jätaks nähtava vahe ridade vahele. Kui
   kaks .pdf-scroll't on vahetult üksteise järel (ainult see kolmik seda
   teeb kogu aktis), tühistame vahepealse vahe. Tabeli enda margin-top:-1px
   jääb piire kokku sulama, nagu mujalgi failis. */
.pdf-scroll + .pdf-scroll{margin-top:-12px}
.pdf-table{width:100%;border-collapse:collapse;margin-bottom:0;table-layout:fixed;border:1px solid #9aa39d;box-sizing:border-box}
.pdf-table.pdf-table-wide{min-width:640px;table-layout:auto}
.pdf-table td,.pdf-table th{border:1px solid #9aa39d;padding:6px 9px;vertical-align:top;word-break:break-word;box-sizing:border-box}
.pdf-label{display:block;font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#69756f;margin-bottom:4px}
.pdf-section{background:#eef2ef;font-weight:700;font-size:10.5px;padding:6px 9px;border:1px solid #9aa39d;border-bottom:none;letter-spacing:.2px}
.pdf-nr{width:26px;text-align:center;white-space:nowrap;word-break:normal}
.pdf-check{display:inline-block;margin-right:12px;white-space:nowrap;color:#8a938d}
.pdf-check.checked{color:#161c1a;font-weight:700}
.pdf-check-cell{width:34px;text-align:center;font-size:13px;white-space:nowrap}
.pdf-check-cell-wide{width:58px;text-align:center;white-space:nowrap}
.pdf-yn-cell{width:64px;white-space:nowrap}
.pdf-w-narrow{width:56px}
/* "Valikulised kontrollitoimingud" — ilma min-width'ita sõltub veeru
   laius auto-layout'is konkreetse rea sildi pikkusest, nii et lühema
   sildiga read (nt "Ventilatsiooni...") saavad kitsama veeru kui pikema
   sildiga read ja "on olemas [ ] ei ole olemas [ ]" rida ei mahu, mistõttu
   viimane linnuke murdub omaette reale. Ekraanivaates on font (11px)
   suurem kui prindis, seega vajab laiemat minimaalset veergu. */
.pdf-optional-label{min-width:195px}
.pdf-lisa-nr{width:130px;word-break:normal;white-space:normal}
.pdf-text-block{white-space:pre-wrap;min-height:18px}
.pdf-hint{display:block;color:#9aa39d;font-size:9px;font-style:italic;margin-bottom:2px}
.pdf-footnote{font-size:9.5px;color:#4c564f;line-height:1.5;margin:14px 0 0}
.pdf-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.pdf-meta span{font-size:10px;color:#69756f}
.pdf-status-badge{display:inline-block;padding:3px 8px;border-radius:5px;font-size:9px;font-weight:700;background:#e4f3eb;color:#3f9d76}
.pdf-status-badge.mustand{background:#f0f2ef;color:#69756f}
.pdf-status-badge.allkirjastatud{background:#e4f3eb;color:#3f9d76}
.pdf-status-badge.ule_antud{background:#dff1e8;color:#2f7a58}
.pdf-signature-img{max-height:34px;max-width:130px;object-fit:contain;display:block}
/* Allkiri on suurem kui lahter: fikseeritud kõrgus + negatiivsed veerised,
   nii et rea kõrgus jääb samaks (~34px), aga pilt võib joontest üle
   ulatuda. multiply laseb allkirja valgel taustal jooni mitte katta. */
.pdf-signature-img{height:70px;max-height:none;max-width:min(100%,230px);object-position:left center;margin:-18px 0;position:relative;z-index:1;mix-blend-mode:multiply}
/* Tabeli kerimisraam (.pdf-scroll, overflow:auto) lõikaks viimase rea alt
   üle ulatuva allkirja ära ja tekitaks kerimisriba — anname raami alla ruumi. */
.pdf-scroll:has(.pdf-signature-img){padding-bottom:14px;margin-bottom:-2px}
.pdf-callout-signatures .pdf-signature-img{margin:-6px 0 -30px}
.pdf-annex-sign .pdf-signature-img{margin:2px 0 0}
@media(max-width:640px){
  .pdf-page{padding:16px 14px 22px;font-size:10px}
  .pdf-h1{font-size:13px}
  .pdf-table td,.pdf-table th{padding:5px 6px}
  .pdf-meta{gap:8px}
}
@media print{
  /* @page veeris 9mm (7mm asemel) annab kindla puhvri printeri/vaaturi
     enda mitteprinditava serva jaoks. Sisu ISE jäetakse tavalises
     loetavas suuruses (mitte üliväikeses fondis) — kui akt on pikk (nt
     palju kontrollitud tsoone), venib see lihtsalt mitmele lehele, mis
     on printimisel täiesti normaalne, selle asemel et kogu sisu
     loetamatult kokku suruda ühele lehele. */
  @page{size:A4;margin:9mm}
  .no-print{display:none!important}
  body{background:#fff}
  .pdf-wrap{max-width:100%}
  /* .pdf-page jäetakse teadlikult veidi alla 100% laiuse (96%) ja
     tsentreeritakse — väike, aga reaalne puhver printeri/vaaturi enda
     mitteprinditava serva jaoks, ilma et sisu muutuks loetamatult
     väikeseks (vt eelnev, liiga agressiivne 87%/7.5px katse). */
  .pdf-page{border:none;box-shadow:none;padding:0;font-size:8.5px;line-height:1.3;width:96%;margin:0 auto}
  .pdf-scroll{overflow:visible;margin-bottom:3px}
  .pdf-scroll + .pdf-scroll{margin-top:-3px}
  .pdf-table{table-layout:auto;width:100%}
  .pdf-table.pdf-table-wide{min-width:0;table-layout:auto}
  .pdf-table td,.pdf-table th{padding:2px 4px;overflow-wrap:anywhere}
  .pdf-check-cell{width:20px;font-size:9.5px}
  .pdf-check-cell-wide{width:36px}
  /* white-space:nowrap (ekraanivaikimisi) sunniks "Korras"/"Puudus"
     sõnad tabelit lehest laiemaks tegema, kui rida ei mahu — see oli
     SE akti parema serva äralõikumise tõenäoline põhjus. Prindis
     laseme sõnal vajadusel reale murduda, mitte kunagi tabelit
     laiendada. */
  .pdf-yn-cell{width:42px;white-space:normal}
  .pdf-w-narrow{width:30px}
  /* "Valikulised kontrollitoimingud" lahtrid — ilma min-width'ita jäi
     veerulaius auto-layout'is kitsam kui "on olemas [ ] ei ole olemas
     [ ]" rida vajab, mistõttu viimane linnuke murdus omaette reale. */
  .pdf-optional-label{min-width:150px}
  .pdf-lisa-nr{width:78px}
  .pdf-act-number{font-size:9px}
  .pdf-label{font-size:6.5px;margin-bottom:1px}
  .pdf-section{padding:3px 6px;font-size:7.5px}
  .pdf-h1{font-size:11.5px;margin:0 0 6px}
  .pdf-reg{font-size:8px;line-height:1.3;margin:0 0 5px}
  .pdf-footnote{font-size:6.5px;line-height:1.3;margin-top:6px}
  .pdf-hint{font-size:6.5px;margin-bottom:1px}
  .pdf-nr{width:15px}
  .pdf-signature-img{height:46px;max-height:none;max-width:min(100%,150px);margin:-12px 0}
  .pdf-scroll:has(.pdf-signature-img){padding-bottom:9px}
  .pdf-callout-signatures .pdf-signature-img{margin:-4px 0 -20px}
  .pdf-annex-sign .pdf-signature-img{margin:2px 0 0}
}

/* Väljakutse-hooldusteenuse akt (akt-render.js renderCalloutAct) —
   ettevõtte paberakti vorm. */
.pdf-callout{font-family:'Times New Roman',Times,serif;font-size:12px;color:#111}
/* Balthazaril on ainult tavakaal — kerge kontuur annab logo paksuse. */
.pdf-callout-logo{font:400 30px 'Balthazar',serif;color:#1d6fbf;-webkit-text-stroke:.7px currentColor;margin-bottom:30px}
.pdf-callout-title{text-align:center;font:700 15px 'Times New Roman',Times,serif;margin:0 0 22px;line-height:1.3}
.pdf-callout-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:18px}
.pdf-callout-table td{border:1px solid #333;padding:5px 7px;vertical-align:top;word-break:break-word}
.pdf-callout-label{display:block}
.pdf-callout-body{height:360px}
.pdf-callout-subhead{margin:10px 0 2px}
.pdf-callout-list{margin:0;padding-left:34px}
.pdf-callout-signatures td{height:52px;width:50%}
.pdf-callout-footer{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:12px;font-size:10px;line-height:1.35;margin-top:24px}
@media print{
  .pdf-callout{font-size:11px}
  .pdf-callout-body{height:300px}
}
/* ATS akti lisa "Hoolduse käigus tuvastatud puudused" (vt akt-render.js
   renderDefectAnnex) — ekraanil eraldusjoonega akti all, prindis uuelt lehelt. */
.pdf-annex{border-top:2px dashed #c7ceca;margin-top:28px;padding-top:26px;font-family:'Times New Roman',Times,serif;font-size:12.5px;line-height:1.35}
.pdf-annex-reg{text-align:right;margin:0 0 42px}
.pdf-annex-client,.pdf-annex-title{margin:0 0 22px 24px}
.pdf-annex-heading{font-weight:700;margin:24px 0 18px 24px}
.pdf-annex-list{margin:0 0 60px 24px;white-space:pre-wrap}
.pdf-annex-sign{display:flex;justify-content:space-between;max-width:560px;margin-left:54px;line-height:1.6}
@media print{
  .pdf-annex{break-before:page;page-break-before:always;border-top:none;margin-top:0;padding-top:4mm;font-size:11.5pt}
}
@media print{
  /* Prindis on read madalamad (8.5px font) — allkiri ulatub ridadest kõvasti üle. */
  .pdf-signature-img{height:72px;max-width:min(100%,240px);margin:-16px 0 -38px}
  .pdf-scroll:has(.pdf-signature-img){padding-bottom:0;margin-bottom:22px}
  .pdf-callout-signatures .pdf-signature-img{height:85px;margin:-4px 0 -45px}
  .pdf-annex-sign .pdf-signature-img{height:85px;margin:2px 0 0}
}
/* SE aastahoolduse lisatoimingute alamgrupid (vt akt-render.js SE_ANNUAL_GROUPS) */
.pdf-subsection{background:#f7f9f7;font-size:9.5px;font-weight:700;color:#3f4a45}
/* EVAK akt (akt-render.js renderEvakAct) — väljakutse akti vorm, pikem pealkiri */
.pdf-evak-title{font-size:14px;letter-spacing:.2px}
.pdf-evak-body{height:300px}
.pdf-evak-signatures tr:first-child td{height:auto}
.pdf-evak-signatures tr:first-child td:first-child{border-left-color:transparent;border-top-color:transparent}
@media print{.pdf-evak-body{height:250px}}
/* Videovalvesüsteemi hooldusteenuse akt (akt-render.js renderVideoAct) */
.pdf-video{font-family:'DM Sans',sans-serif;color:#1d2a3a;font-size:11.5px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.vv-header{display:flex;align-items:center;gap:28px;background:#4a5568;color:#fff;padding:18px 22px;border-bottom:3px solid #2f6fc4;border-radius:6px 6px 0 0}
.vv-logo{font:700 26px 'Times New Roman',serif;color:#9cc0f0;letter-spacing:.5px;line-height:1}
.vv-logo small{display:block;font:700 8.5px 'Times New Roman',serif;color:#fff;letter-spacing:.3px;margin-top:3px}
.vv-heading h2{margin:0;font:700 19px 'DM Sans',sans-serif;color:#fff}
.vv-heading p{margin:4px 0 0;font-size:10px;letter-spacing:1.5px;color:#cbd5e1}
.vv-info{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 18px;background:#eef4fb;padding:14px 22px}
.vv-field span{display:block;font-size:8.5px;font-weight:700;letter-spacing:.8px;color:#5b6b80;text-transform:uppercase}
.vv-field strong{display:block;font-weight:500;font-size:12px;border-bottom:1px solid #9ab6d8;padding:3px 2px;margin-top:2px}
.vv-system{background:#1f3a5f;color:#fff;padding:9px 22px;font-size:11.5px;margin-bottom:14px}
.vv-section{border:1px solid #c5d4e6;border-radius:6px;margin:0 0 14px;overflow:hidden;break-inside:avoid}
.vv-section-head{background:#1f3a5f;color:#fff;font-weight:700;font-size:10.5px;letter-spacing:1px;padding:8px 14px}
.vv-table{width:100%;border-collapse:collapse}
.vv-table td{padding:8px 10px;border-top:1px solid #e3eaf3;vertical-align:middle}
.vv-table tr:first-child td{border-top:0}
.vv-table tr:nth-child(even) td{background:#f5f8fc}
.vv-code{width:46px;color:#8a9ab0;font:600 10px ui-monospace,Consolas,monospace}
.vv-title strong{display:block;font-weight:500;font-size:12px}
.vv-title small{display:block;color:#6b7d95;font-size:10px;margin-top:2px}
.vv-result{width:205px;white-space:nowrap}
.vv-chip{display:inline-block;border:1px solid #d5dbe3;border-radius:12px;padding:2px 7px;margin-right:3px;font-size:9.5px;font-weight:600;color:#9aa5b4;background:#fff}
.vv-korras.on{border:2px solid #7fd8a4;color:#1f7a4a;background:#ecfaf2}
.vv-viga.on{border:2px solid #f0a3a3;color:#b03a3a;background:#fdeeee}
.vv-puudub.on{border:2px solid #b8c2cf;color:#4a5568;background:#f1f3f6}
.vv-note{width:190px}
.vv-note div{border:1px solid #9ab6d8;border-radius:5px;padding:5px 7px;font-size:10.5px;background:#f6f9fd;white-space:pre-wrap}
.vv-row-fault td{background:#fff7f7!important}
.vv-two{display:grid;grid-template-columns:1fr 1fr}
.vv-two>div{padding:12px 16px}
.vv-two>div+div{border-left:1px solid #c5d4e6}
.vv-label{display:block;font-size:8.5px;font-weight:700;letter-spacing:.8px;color:#5b6b80;text-transform:uppercase;margin-bottom:6px}
.vv-box{border:1px solid #9ab6d8;border-radius:5px;background:#eef4fb;padding:8px 10px;min-height:56px;white-space:pre-wrap;line-height:1.5}
.vv-signatures p{margin:0 0 8px;border-bottom:1px solid #9ab6d8;padding:3px 2px;min-height:20px}
.vv-signatures .vv-sign-line{color:#b0bccb;font-size:9.5px;min-height:34px}
@media(max-width:640px){.vv-info{grid-template-columns:1fr 1fr}.vv-header{flex-direction:column;align-items:flex-start;gap:8px}.vv-result{white-space:normal}.vv-two{grid-template-columns:1fr}.vv-two>div+div{border-left:0;border-top:1px solid #c5d4e6}}
@media print{.pdf-video{font-size:9.5px}.vv-table td{padding:5px 8px}.vv-info{gap:6px 14px}}
