#thermal-print-report { display: none; }
.thermal-report-options { margin-top: 18px; font-size: .85rem; }
.thermal-report-options summary { cursor: pointer; padding: 10px 0; font-weight: 700; }
.thermal-report-options label { margin-top: 10px; }
@page { size: A4 portrait; margin: 10mm; }
@media print {
    html:has(body.thermal-report-available), body.thermal-report-available { margin: 0 !important; padding: 0 !important; background: #fff !important; height: auto !important; overflow: visible !important; }
    body.thermal-report-available > * { display: none !important; }
    body.thermal-report-available > #thermal-print-report { display: block !important; }
    #thermal-print-report { color: #173e50; font: 9pt/1.35 Arial, sans-serif; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    #thermal-print-report * { box-sizing: border-box; letter-spacing: 0; text-shadow: none; animation: none; }
    #thermal-print-report .tp-sheet { width: 190mm; max-width: 100%; min-height: 275mm; display: flex; flex-direction: column; break-after: page; }
    #thermal-print-report .tp-sheet:last-child { break-after: auto; }
    #thermal-print-report p, #thermal-print-report h1, #thermal-print-report h2, #thermal-print-report dl, #thermal-print-report dd { margin: 0; }
    #thermal-print-report .tp-brand { display: flex; justify-content: space-between; gap: 4mm; padding-bottom: 3mm; border-bottom: .4mm solid #1b6e83; }
    #thermal-print-report .tp-identity { display: flex; gap: 3mm; align-items: center; min-width: 0; }
    #thermal-print-report .tp-identity img { width: 27mm; height: 17mm; object-fit: contain; flex-shrink: 0; }
    #thermal-print-report .tp-identity strong { font-size: 12pt; }
    #thermal-print-report .tp-brand p { font-size: 7pt; color: #587381; overflow-wrap: anywhere; }
    #thermal-print-report .tp-edition { display: grid; align-content: center; gap: 1mm; text-align: right; flex: 0 0 44mm; font-size: 7pt; }
    #thermal-print-report h1 { font-size: 19pt; margin: 4mm 0; line-height: 1.2; }
    #thermal-print-report h2 { font-size: 10pt; margin: 4mm 0 2mm; break-after: avoid; }
    #thermal-print-report .tp-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 1mm 5mm; background: #f4f8fa; padding: 3mm; margin-bottom: 3mm; }
    #thermal-print-report .tp-meta > div { display: flex; gap: 2mm; min-width: 0; }
    #thermal-print-report dt { color: #587381; }
    #thermal-print-report dd { font-weight: 700; overflow-wrap: anywhere; }
    #thermal-print-report .tp-kpis { display: grid; grid-template-columns: 1.25fr .8fr 1fr; gap: 3mm; }
    #thermal-print-report .tp-kpis > div { padding: 3mm; border: 1px solid #c7dde5; background: #f0f6f8; border-radius: 1.5mm; }
    #thermal-print-report .tp-kpis span { display: block; font-size: 7.5pt; }
    #thermal-print-report .tp-kpis strong { display: block; margin-top: 1mm; font-size: 14pt; }
    #thermal-print-report .tp-scenario { margin-top: 3mm; font-size: 8pt; color: #587381; }
    #thermal-print-report .tp-load { display: grid; grid-template-columns: 58mm 1fr 22mm; align-items: center; gap: 3mm; padding: 1mm 0; font-size: 8pt; }
    #thermal-print-report .tp-load b { text-align: right; }
    #thermal-print-report .tp-bar { background: #e9f0f3; height: 2mm; }
    #thermal-print-report .tp-bar::after { content: ''; display: block; background: #25889a; height: 100%; width: var(--share); }
    #thermal-print-report table { border-collapse: collapse; width: 100%; table-layout: fixed; font-size: 8pt; }
    #thermal-print-report th, #thermal-print-report td { padding: 1.8mm 2mm; border-bottom: 1px solid #cbdbe2; text-align: left; overflow-wrap: anywhere; }
    #thermal-print-report thead { display: table-header-group; background: #edf4f7; }
    #thermal-print-report tr { break-inside: avoid; }
    #thermal-print-report .tp-alert { margin-top: 3mm; padding: 2.5mm 3mm; background: #fff7e7; border-left: .6mm solid #c39738; font-size: 8pt; break-inside: avoid; }
    #thermal-print-report .tp-method { font-size: 7.7pt; margin-top: 2mm; color: #587381; }
    #thermal-print-report .tp-footer { display: flex; justify-content: space-between; gap: 4mm; margin-top: auto; padding: 3mm 0 1mm; border-top: 1px solid #cbdbe2; font-size: 7pt; color: #587381; }
    #thermal-print-report .tp-content { padding-bottom: 4mm; }
    #thermal-print-report .tp-room { margin: 4mm 0; padding: 3mm; border: 1px solid #cbdbe2; border-radius: 1.5mm; break-inside: avoid; }
    #thermal-print-report .tp-room h2 { margin: 0 0 1mm; overflow-wrap: anywhere; }
    #thermal-print-report .tp-room-power { color: #18778b; font-size: 13pt; font-weight: 700; margin-bottom: 3mm; }
    #thermal-print-report .tp-settings { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm 5mm; font-size: 8pt; }
    #thermal-print-report .tp-settings > div { min-width: 0; }
}
