
@page { margin: 16mm; }
html, body { background: #fff; color: #000; font-size: 11pt; }
body { padding: 0; display: block; }
.skip-link, .site-header, .site-footer-cols, .breadcrumbs, .button, .calc-actions, .calc-submit, .sticky-cta, .notifications,
.dialog, .menu-toggle, .site-nav, .illustration, .field-hint, .table-scroll-hint, .accordion-trigger .icon, .no-print { display: none !important; }
.print-only { display: block !important; }
.print-header { border-bottom: 1pt solid #000; padding-bottom: 6pt; margin-bottom: 10pt; }
.print-header p { margin: 0 0 3pt; }
.print-brand { display: flex; align-items: center; gap: 6pt; font-size: 14pt; }
.print-brand img { width: 24px; height: 24px; }
main { padding: 0; }
.container { max-width: none; padding: 0; }
h1 { font-size: 20pt; }
a { color: #000; text-decoration: none; }
.passport-method::after, .print-meta a::after { content: " (" attr(href) ")"; font-size: 9pt; }

.printing-result main > .container > *:not(h1):not(.calc):not(:has(.calc)) { display: none !important; }
.printing-result .calc ~ *, .printing-result .calc-form-col > :not(.calc-title):not(.calc-status):not(.calc-form) { display: none !important; }

.calc { display: block; }
.calc-fields .field-controls, .calc-fields .field-label, .calc-fields .field-error { display: none !important; }
.field-print { margin: 0; font-weight: bold; font-size: 12pt; }
.calc-form-col, .calc-result { border: 0; padding: 0; box-shadow: none; position: static; }
.calc-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 6pt; }
.field { margin: 0; }
input[type="range"] { display: none; }
input[type="number"] { border: 0; padding: 0; font-weight: bold; font-size: 12pt; background: transparent; max-width: none; }
.calc-figure-value { color: #000; font-size: 22pt; }
.tag { border: 1pt solid #000; background: transparent; color: #000; padding: 1pt 6pt; }
.notice { background: transparent; border: 1pt solid #000; }
.passport-row { border-bottom: 0.5pt solid #999; break-inside: avoid; }
.passport-row-total { background: transparent; border-top: 1pt solid #000; border-bottom: 1pt solid #000; }
.passport dt, .passport-assumptions, .passport-note, .scale-text { color: #000; }
.passport-assumptions { break-inside: avoid; }

.table-scroll, .compare-table-wrap { overflow: visible; border: 0; }
.schedule-table, .compare-table, .data-table, .print-table { display: table; min-width: 0; width: 100%; font-size: 10pt; border: 0; border-radius: 0; }
.schedule-table caption, .compare-table caption, .data-table caption, .print-table caption { display: table-caption; }
.schedule-table thead, .compare-table thead, .data-table thead, .print-table thead { display: table-header-group; position: static; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; white-space: normal; }
.schedule-table tbody, .compare-table tbody, .data-table tbody, .print-table tbody { display: table-row-group; }
.schedule-table tfoot, .compare-table tfoot, .data-table tfoot, .print-table tfoot { display: table-row-group; }
.schedule-table tr, .compare-table tr, .data-table tr, .print-table tr { display: table-row; break-inside: avoid; page-break-inside: avoid; border: 0; box-shadow: none; }
.schedule-table th, .schedule-table td, .compare-table th, .compare-table td, .data-table th, .data-table td, .print-table th, .print-table td { display: table-cell; border-top: 0.5pt solid #999; padding: 3pt 6pt; white-space: normal; }
.schedule-table td, .compare-table td { text-align: end; }
.schedule-table thead th, .compare-table thead th, .data-table thead th, .print-table thead th { background: #eee; color: #000; }
.schedule-table tbody tr:nth-child(even), .compare-table tr.compare-best { background: transparent; }
.compare-table td::before { content: none; }
.scale { break-inside: avoid; }
.scale-fill { fill: #000; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
.scale-bar { border: 0.5pt solid #999; }

.accordion-panel[hidden] { display: block !important; }

.site-footer { background: transparent; color: #000; padding: 10pt 0 0; border-top: 1pt solid #000; margin-top: 12pt; font-size: 9pt; }
.site-footer a, .site-footer-meta { color: #000; }
.site-footer-brand .brand { display: none; }
.site-footer-warning { background: transparent; padding: 0; }
.site-footer-top { display: block; }
