/* Kundli Pro — print / Save as PDF (spec 6: window.print(), no library).
   Loaded with media="print". Light colours, no chrome, every report tab shown,
   one section per page. */

:root, :root[data-theme="dark"] {
  --bg: #fff; --surface: #fff; --text: #111; --text-soft: #444;
  --accent: #6b1a25; --accent-2: #b0561a; --line: #ccc; --line-strong: #999;
  --saffron-soft: #f6ead9; --warn-bg: #fff6e0; --warn-line: #d9a441;
  --ok: #17602f; --error: #8f1122; --focus: #1f4fa0; --shadow: none;
  color-scheme: light;
}

@page { size: A4; margin: 14mm 12mm; }

body { background: #fff; color: #111; font-size: 10.5pt; }

.site-header, .site-tools, nav, .skip, #form-section, .actions, .share-status,
.tabs, .segmented, .toolbar, .profiles, .planet-pop, noscript, .no-print,
.site-footer p:not(:first-child) { display: none !important; }

main { max-width: none; padding: 0; }
a { color: inherit; text-decoration: none; }

/* Cover: report title and birth details start the document. */
.report-head { border-bottom: 2px solid var(--accent); margin-bottom: 8mm; padding-bottom: 4mm; }
.report-head h2 { font-size: 20pt; }

/* Every tab panel, each starting on a new page with its title. */
.tab-panel, .tab-panel[hidden] { display: block !important; padding: 0; }
.tab-panel + .tab-panel { break-before: page; }
.print-only { display: block !important; }
figure, .yoga, .kv, .score-card, .manglik-person { break-inside: avoid; }
h2, h3, h4 { break-after: avoid; }
.card { box-shadow: none; border-color: #bbb; }
.cards { grid-template-columns: 1fr 1fr; }
.table-scroll { overflow: visible; border: 0; }
.data th, .data td { white-space: normal; padding: 3px 5px; }
.chart-grid { grid-template-columns: 1fr 1fr !important; gap: 6mm; }
.chart-svg { max-width: 85mm; min-width: 0; }
details > *:not(summary) { display: block; }
details:not([open]) > .dasha-children, details:not([open]) > table { display: none; }
.badge { border: 1px solid #999; }

/* Milan report: score, table and doshas, then charts on their own page. */
#milan-charts { break-before: page; }
.score-card { grid-template-columns: 60mm 1fr; }
