[data-bs-theme="dark"] .card, .dark-mode .card, body.dark .card {
    background-color: var(--bs-body-bg, #1e293b) !important;
    border-color: var(--bs-border-color, #334155) !important;
}
[data-bs-theme="dark"] .card-header, .dark-mode .card-header, body.dark .card-header {
    background-color: var(--bs-tertiary-bg, #0f172a) !important;
    border-color: var(--bs-border-color, #334155) !important;
}
[data-bs-theme="dark"] .table, .dark-mode .table, body.dark .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--bs-body-color, #f1f5f9);
    --bs-table-border-color: var(--bs-border-color, #334155);
    --bs-table-hover-bg: rgba(255, 255, 255, 0.05);
}
[data-bs-theme="dark"] .table-light, .dark-mode .table-light, body.dark .table-light {
    background-color: var(--bs-tertiary-bg, #0f172a) !important;
    color: var(--bs-body-color, #cbd5e1) !important;
}
.code-badge { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; letter-spacing: 0.5px; }
.score-pill { min-width: 65px; font-weight: 700; text-align: center; }
.dim-badge { width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; }
.chart-compare-wrap { position: relative; width: 100%; height: 420px; }
@media (max-width: 768px) { .chart-compare-wrap { height: 360px; } }
.pdf-option-card { cursor: pointer; transition: border-color .15s, background-color .15s; }
.pdf-option-card:has(input:checked) { border-color: var(--bs-primary) !important; background-color: rgba(var(--bs-primary-rgb), 0.06); }
.pdf-option-card .form-check-input { margin-top: 0.35rem; }
#btnKirimSurvey:disabled, #btnConfirmExcel:disabled { cursor: not-allowed; opacity: 0.65; }
.print-only-block { display: none; }
@media print {
    .site-footer, .navbar, nav, header.page-header, .cta-section, #backToTop, .modal, .modal-backdrop, #formProvinsi, #chart-perbandingan-dimensi, button, .btn { display: none !important; }
    #data-provinsi .card:has(#formProvinsi) { display: none !important; }
    body { background: #fff !important; color: #212529 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .print-only-block { display: block !important; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 2px solid #0d6efd; text-align: center; }
    .print-header-inner { text-align: center; }
    .print-eyebrow { font-size: 9pt; color: #6c757d !important; letter-spacing: .06em; text-transform: uppercase; }
    .print-title { font-size: 16pt; font-weight: 700; color: #212529 !important; margin: 4px 0 6px; }
    .print-meta { font-size: 9pt; color: #495057 !important; line-height: 1.4; }
    #data-provinsi, #data-provinsi .container { width: 100% !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
    .card, .card-header, .card-body, .accordion-item, .accordion-button, .table { background: #fff !important; color: #212529 !important; border-color: #dee2e6 !important; box-shadow: none !important; }
    .table-light, thead { background: #f1f3f5 !important; color: #212529 !important; }
    .text-body, .text-secondary, .text-body-secondary, .text-muted { color: #495057 !important; }
    .text-primary, .display-5 { color: #0d6efd !important; }
    body.print-scope-dimensi #accordionIndikator, body.print-scope-dimensi .card:has(#accordionIndikator) { display: none !important; }
    body.print-scope-semua .accordion-collapse { display: block !important; height: auto !important; visibility: visible !important; overflow: visible !important; }
    body.print-scope-semua .accordion-button::after { display: none !important; }
    .card, .accordion-item, tr { break-inside: avoid; page-break-inside: avoid; }
    a[href]::after { content: none !important; }
}
