/* Print-only result view. Link with media="print" or import in a print media query. */

@page {
  size: auto;
  margin: 0.55in;
}

@media print {
  :root {
    color-scheme: light;
    --print-ink: #111111;
    --print-muted: #444444;
    --print-line: #777777;
    --print-fill: #eeeeee;
  }

  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;
    animation: none !important;
    transition: none !important;
  }

  html,
  body {
    min-width: 0 !important;
    background: #ffffff !important;
    color: var(--print-ink) !important;
    font-family: var(--font-family);
    font-size: 10pt;
    line-height: 1.4;
  }

  body {
    margin: 0;
    print-color-adjust: economy;
    -webkit-print-color-adjust: economy;
  }

  a {
    color: var(--print-ink) !important;
    text-decoration: underline;
  }

  .prose a[href^="http"]::after,
  .print-url::after {
    color: var(--print-muted);
    content: " (" attr(href) ")";
    font-size: 8pt;
    font-weight: normal;
    overflow-wrap: anywhere;
  }

  h1,
  h2,
  h3,
  h4 {
    break-after: avoid-page;
    color: var(--print-ink) !important;
    font-family: var(--font-family);
    line-height: 1.15;
  }

  h1 { font-size: 22pt; }
  h2 { font-size: 16pt; }
  h3 { font-size: 12pt; }

  p,
  li,
  blockquote {
    orphans: 3;
    widows: 3;
  }

  .site-header,
  .site-nav,
  .nav-toggle,
  .breadcrumbs,
  .site-footer,
  .hero__actions,
  .result-actions,
  .chart-toolbar,
  .theme-control,
  .ad-slot,
  .ad-placeholder,
  .no-print,
  button,
  input[type="range"],
  dialog,
  .toast,
  .status-message,
  .related-calculators,
  .content-layout__aside {
    display: none !important;
  }

  .container,
  .site-container,
  .container--narrow,
  .reading-width,
  .page-header__content,
  .prose {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .section,
  .section--compact,
  .section--spacious,
  .page-header {
    padding-block: 0.12in !important;
  }

  .calculator-workspace,
  .calculator-layout,
  .content-layout {
    display: block !important;
  }

  .calculator-inputs,
  .result-panel,
  .results-panel,
  .calculator-results,
  .chart-section,
  .data-section {
    position: static !important;
    max-height: none !important;
    margin: 0 0 0.18in !important;
    padding: 0.14in !important;
    overflow: visible !important;
    break-inside: avoid-page;
    border: 1px solid var(--print-line) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--print-ink) !important;
  }

  .calculator-inputs__header,
  .result-panel__header {
    margin-bottom: 0.12in !important;
    padding-bottom: 0.08in !important;
    border-bottom: 1px solid var(--print-line) !important;
  }

  .form-section + .form-section {
    margin-top: 0.14in !important;
  }

  .form-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.08in 0.2in !important;
  }

  .field label,
  .field-label,
  legend,
  .form-section__heading {
    display: block !important;
    margin: 0 0 0.02in !important;
    color: var(--print-muted) !important;
    font-size: 7.5pt !important;
    font-weight: bold !important;
  }

  .field input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  .field select,
  .field textarea,
  .field output,
  .input {
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 0 0.025in !important;
    border: 0 !important;
    border-bottom: 1px solid var(--print-line) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--print-ink) !important;
    font-size: 9pt !important;
    font-weight: bold !important;
    appearance: none !important;
  }

  .input-prefix,
  .input-suffix {
    position: static !important;
    display: inline !important;
    color: var(--print-muted) !important;
    translate: none !important;
  }

  .field-hint,
  .field-error,
  .field-status,
  .choice-list,
  .segmented-control {
    display: none !important;
  }

  .print-inputs,
  .print-assumptions {
    display: block !important;
  }

  .result-primary__value,
  .primary-result__value,
  .metric__value,
  output,
  .number,
  .currency,
  .percent,
  td {
    color: var(--print-ink) !important;
    font-variant-numeric: tabular-nums lining-nums;
  }

  .result-primary__value,
  .primary-result__value {
    font-size: 24pt !important;
  }

  .metric-grid,
  .results-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    border: 1px solid var(--print-line) !important;
    border-radius: 0 !important;
    background: var(--print-line) !important;
  }

  .metric {
    padding: 0.1in !important;
    background: #ffffff !important;
  }

  .assumptions-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 0.04in 0.15in !important;
  }

  .assumptions-list dd { text-align: right !important; }

  .notice,
  .alert,
  .disclaimer,
  .result-interpretation,
  .formula,
  .worked-example {
    border: 1px solid var(--print-line) !important;
    border-left: 3px solid var(--print-ink) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--print-ink) !important;
  }

  .estimate-label,
  .badge {
    border: 1px solid var(--print-line) !important;
    background: #ffffff !important;
    color: var(--print-ink) !important;
  }

  details {
    display: block !important;
  }

  details > summary {
    display: none !important;
  }

  details > *:not(summary),
  .disclosure__content,
  .advanced-fields__content,
  .faq-item__content {
    display: block !important;
  }

  .advanced-fields,
  .faq-item,
  .related-grid,
  .print-hide-details {
    display: none !important;
  }

  .advanced-fields.print-assumptions {
    display: block !important;
  }

  .chart-section {
    break-inside: auto;
  }

  .chart-container,
  .chart-wrap {
    width: 100% !important;
    height: 2.6in !important;
    min-height: 0 !important;
    margin: 0.1in 0 !important;
    break-inside: avoid-page;
  }

  canvas,
  svg,
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  .table-container,
  .table-scroll {
    max-width: none !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  table {
    width: 100% !important;
    min-width: 0 !important;
    border-collapse: collapse !important;
    color: var(--print-ink) !important;
    font-size: 7.5pt !important;
  }

  caption {
    padding: 0 0 0.08in !important;
    color: var(--print-ink) !important;
  }

  thead {
    display: table-header-group;
  }

  tfoot {
    display: table-footer-group;
  }

  tr {
    break-inside: avoid;
  }

  th,
  td {
    padding: 0.045in !important;
    border: 1px solid var(--print-line) !important;
    background: #ffffff !important;
    color: var(--print-ink) !important;
    white-space: normal !important;
  }

  thead th,
  tfoot td {
    background: var(--print-fill) !important;
    font-weight: bold;
  }

  .monthly-table,
  [data-print="monthly-detail"] {
    display: none !important;
  }

  .annual-table,
  [data-print="annual-summary"] {
    display: table !important;
  }

  .page-break-before { break-before: page; }
  .page-break-after { break-after: page; }
  .avoid-break { break-inside: avoid-page; }
  .print-only { display: block !important; }

  .prose h2 {
    margin-top: 0.25in !important;
  }

  .prose,
  .faq-section,
  .guide-section {
    break-before: auto;
  }
}
