@media print {
  @page {
    size: A4 portrait;
    margin: 8mm;
  }

  html,
  body {
    margin: 0;
    color: #000 !important;
    background: #fff !important;
    font-size: 11pt;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
  }

  body {
    min-height: auto;
    padding: 0 4mm !important;
    overflow: visible !important;
  }

  header,
  footer,
  nav,
  button,
  .btn,
  .navbar,
  .no-print,
  .print-hidden,
  .dashboard-availability,
  .month-navigation,
  .daily-report-filter,
  .dashboard-filter,
  .analysis-filter,
  form.print-hidden {
    display: none !important;
  }

  .print-only {
    display: block !important;
  }

  .app-shell,
  .app-main {
    display: block;
    min-height: auto;
  }

  .container,
  .app-main > .container {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .print-page-break {
    break-before: page;
    page-break-before: always;
  }

  .print-section + .print-section,
  .print-day + .print-day {
    break-before: page;
    page-break-before: always;
  }

  .print-avoid-break,
  .app-card,
  .app-chart-card,
  .app-stat-card,
  .daily-report-metric,
  .daily-range-summary,
  tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .app-card,
  .app-chart-card,
  .app-stat-card,
  .daily-report-day,
  .daily-report-metric,
  .table-responsive,
  .app-table-wrap,
  .daily-measurement-table-wrap,
  .range-percent-table-wrap,
  .dashboard-chart,
  .surface-chart,
  .daily-glucose-chart {
    border-color: #adb5bd !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .app-card,
  .app-chart-card,
  .app-stat-card,
  .daily-report-metric {
    background: #fff !important;
  }

  .app-stat-card::after {
    display: none !important;
  }

  .app-page-header,
  .dashboard-toolbar,
  .analysis-toolbar {
    margin-bottom: 0.4rem !important;
  }

  .dashboard-toolbar h1,
  .analysis-toolbar h1,
  .app-page-title {
    font-size: 1.15rem !important;
    margin-bottom: 0.1rem;
  }

  .app-page-subtitle,
  .app-muted-text,
  .text-muted {
    color: #333 !important;
  }

  table {
    width: 100%;
    border-collapse: collapse;
    font-size: 8.4pt;
    table-layout: fixed;
  }

  thead {
    display: table-header-group;
  }

  tfoot {
    display: table-footer-group;
  }

  th,
  td {
    border: 1px solid #ccc;
    padding: 2px 3px;
    line-height: 1.15;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .table > :not(caption) > * > * {
    border-bottom-color: #ccc;
  }

  .table thead th {
    color: #000;
    background: #f3f4f6 !important;
  }

  .table-responsive,
  .app-table-wrap,
  .range-percent-table-wrap,
  .daily-measurement-table-wrap {
    max-width: 100% !important;
    overflow: visible !important;
  }

  .dashboard-metric-grid,
  .dashboard-secondary-grid,
  .dashboard-count-grid {
    display: grid !important;
    gap: 0.25rem !important;
    margin-bottom: 0.45rem !important;
  }

  .dashboard-metric-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .dashboard-secondary-grid,
  .dashboard-count-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dashboard-metric-grid > [class*="col-"],
  .dashboard-secondary-grid > [class*="col-"],
  .dashboard-count-grid > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .dashboard-metric-grid .app-stat-card,
  .dashboard-secondary-grid .app-stat-card,
  .dashboard-secondary-grid .app-card,
  .dashboard-count-grid .app-card {
    padding: 0.35rem !important;
  }

  .app-stat-value,
  .dashboard-metric-grid .fs-2,
  .dashboard-secondary-grid .fs-2 {
    font-size: 1.1rem !important;
    line-height: 1.1;
  }

  .dashboard-count-grid .fs-4 {
    font-size: 1rem !important;
  }

  .dashboard-chart,
  .surface-chart,
  .daily-glucose-chart,
  canvas,
  svg {
    max-width: 100% !important;
    overflow: visible !important;
  }

  .dashboard-chart {
    min-height: 290px;
    width: 100% !important;
  }

  .dashboard-chart-compact {
    min-height: 230px;
  }

  .surface-chart {
    min-height: 520px;
  }

  .daily-glucose-chart {
    min-height: 190px;
    width: 100% !important;
  }

  .dashboard-chart .plot-container,
  .dashboard-chart .svg-container,
  .dashboard-chart .main-svg,
  .surface-chart .plot-container,
  .surface-chart .svg-container,
  .surface-chart .main-svg,
  .daily-glucose-chart .plot-container,
  .daily-glucose-chart .svg-container,
  .daily-glucose-chart .main-svg {
    max-width: 100% !important;
    overflow: visible !important;
  }

  .dashboard-chart .svg-container,
  .dashboard-chart .main-svg,
  .surface-chart .svg-container,
  .surface-chart .main-svg,
  .daily-glucose-chart .svg-container,
  .daily-glucose-chart .main-svg {
    width: 100% !important;
  }

  .analysis-surface {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .daily-report-day {
    break-inside: avoid;
    page-break-inside: avoid;
    margin-bottom: 0 !important;
    padding: 0.3rem !important;
  }

  .daily-report-day-spans-pages {
    break-after: page;
    break-inside: auto;
    page-break-after: always;
    page-break-inside: auto;
  }

  .daily-report-day > .d-flex:first-child {
    margin-bottom: 0.2rem !important;
  }

  .daily-report-day h2 {
    font-size: 0.86rem;
    margin-bottom: 0.1rem !important;
  }

  .daily-report-day h3 {
    font-size: 0.7rem;
  }

  .daily-report-day > .row.g-3 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.16rem !important;
    margin-bottom: 0.22rem !important;
  }

  .daily-report-day > .row.g-3 > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .daily-report-metric {
    padding: 0.14rem 0.22rem;
    min-height: 0;
  }

  .daily-report-metric .fs-4 {
    font-size: 0.82rem !important;
    line-height: 1;
  }

  .daily-report-metric .small {
    font-size: 0.56rem;
    line-height: 1.1;
  }

  .daily-range-bar {
    display: flex !important;
    min-height: 0.72rem;
    border: 1px solid #6c757d;
    background-color: #fff !important;
    color: #000;
  }

  .daily-range-segment {
    background-color: #f8f9fa !important;
    border-left: 1px solid #adb5bd;
    color: #000;
    font-size: 0.52rem;
    line-height: 1;
  }

  .daily-range-segment:first-child {
    border-left: 0;
  }

  .daily-range-target {
    background-color: #fff !important;
  }

  .daily-range-high {
    background-color: #e9ecef !important;
  }

  .daily-range-very-high {
    background-color: #dee2e6 !important;
  }

  .daily-range-legend {
    gap: 0.12rem 0.4rem;
    margin-top: 0.12rem;
    font-size: 0.54rem;
  }

  .daily-range-dot {
    display: none !important;
  }

  .daily-measurement-table {
    margin-bottom: 0.08rem;
    min-width: 0 !important;
    max-width: 100%;
    table-layout: fixed;
    width: 100% !important;
  }

  .daily-measurement-table-wrap {
    box-sizing: border-box;
    max-width: 100%;
    overflow: visible !important;
    padding-left: 0;
    padding-right: 0;
  }

  .daily-measurement-table thead {
    break-after: avoid;
    page-break-after: avoid;
  }

  .daily-measurement-table th,
  .daily-measurement-table td {
    line-height: 1;
    overflow-wrap: anywhere;
    padding: 0.01rem;
    white-space: normal;
    width: 4.166% !important;
    font-size: 0.44rem;
  }

  .daily-report-day section {
    margin-bottom: 0.18rem !important;
    margin-top: 0.18rem !important;
  }

  .daily-report-day p {
    margin-bottom: 0.12rem !important;
  }

  .daily-report-day .table-responsive {
    border-width: 1px !important;
  }

  .daily-report-day .table-responsive table {
    font-size: 0.54rem;
  }

  .daily-report-day .table-responsive th,
  .daily-report-day .table-responsive td {
    padding: 0.04rem 0.08rem !important;
    line-height: 1.05;
  }

  .daily-report-day .row.g-3:not(:first-of-type) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.18rem !important;
  }

  .daily-report-day .row.g-3:not(:first-of-type) > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .range-percent-table {
    font-size: 6.6pt !important;
    table-layout: fixed;
  }

  .range-percent-table th,
  .range-percent-table td {
    padding: 1px 2px !important;
    line-height: 1.05;
    white-space: normal !important;
  }

  .range-percent-table th:first-child {
    width: 8.5rem;
  }

  .range-percent-table th:nth-child(2),
  .range-percent-table td:nth-child(2) {
    width: 3rem;
  }

  .range-percent-range-heading {
    max-width: none;
  }

  .range-percent-swatch {
    width: 0.45rem;
    height: 0.45rem;
    margin-bottom: 0.08rem;
  }
}
