/* Orthokeratology uses the dashboard theme and existing UI primitives. */
.page-section[data-page="orthokeratology"] {
  --accent-dark: var(--ui-accent-primary);
  --ok: var(--ui-status-success);
  --line: var(--ui-border-subtle);
  gap: var(--ui-space-3);
  color: var(--ui-text-primary);
  font-family: var(--ui-font-family);
}
.page-section[data-page="orthokeratology"] :is(h2,h3,h4) { font-family: inherit; color: var(--ui-text-primary); letter-spacing: -.02em; }
.page-section[data-page="orthokeratology"] .ui-page-header {
  padding: var(--ui-space-3) var(--ui-space-4);
  border: 0; box-shadow: none; background: transparent;
  min-height: 0; border-radius: 0;
}
.page-section[data-page="orthokeratology"] h2 { font-size: var(--ui-font-size-kpi); }
.page-section[data-page="orthokeratology"] #orthoPeriod { font-size: var(--ui-font-size-body); margin-top: var(--ui-space-2); }
.page-section[data-page="orthokeratology"] :is(.panel,.analytics-card) {
  min-width: 0; box-shadow: none; border-color: var(--ui-border-subtle);
  border-radius: var(--ui-radius-card); background: var(--ui-bg-card);
}
.page-section[data-page="orthokeratology"] .orthokeratology-toolbar { padding: var(--ui-space-4); gap: var(--ui-space-3); }
.page-section[data-page="orthokeratology"] :is(.ui-button,input,.source-sort-button) {
  border-radius: var(--ui-radius-control); box-shadow: none;
  font-family: inherit; font-size: var(--ui-font-size-body); min-height: var(--ui-control-height);
}
.page-section[data-page="orthokeratology"] :is(.source-sort-controls,.reviews-date-form) { background: transparent; border: 0; padding: 0; gap: var(--ui-space-2); }
.page-section[data-page="orthokeratology"] .source-sort-button { color: var(--ui-text-secondary); border: var(--ui-border-card); background: var(--ui-bg-card); }
.page-section[data-page="orthokeratology"] .source-sort-button.is-active { color: var(--ui-accent-primary); border-color: var(--ui-accent-primary); background: var(--ui-accent-subtle); }
.page-section[data-page="orthokeratology"] #orthoMessage:empty { display: none; }
.page-section[data-page="orthokeratology"] .orthokeratology-layout { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--ui-space-3); }
.page-section[data-page="orthokeratology"] .orthokeratology-overview-card { grid-column: 1/-1; padding: 0; border: 0; background: transparent; }
.page-section[data-page="orthokeratology"] :is([data-ortho-view="overview"],[data-ortho-view="insights"]) { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--ui-space-3); }
.page-section[data-page="orthokeratology"] :is(.reviews-kpi-card,.reviews-insight-card,.reviews-branch-card) {
  padding: var(--ui-space-5); min-width: 0; border: var(--ui-border-card);
  background: var(--ui-bg-card); border-radius: var(--ui-radius-card); box-shadow: none;
}
.page-section[data-page="orthokeratology"] .reviews-kpi-card { display: flex; flex-direction: column; gap: var(--ui-space-3); }
.page-section[data-page="orthokeratology"] .ortho-kpi-head { display: flex; align-items: center; gap: var(--ui-space-3); }
.page-section[data-page="orthokeratology"] .ortho-kpi-icon { padding: var(--ui-space-2); color: var(--ui-accent-primary); background: var(--ui-accent-subtle); border: 0; border-radius: var(--ui-radius-control); }
.page-section[data-page="orthokeratology"] .ortho-kpi-icon .ui-icon { width: var(--ui-space-5); height: var(--ui-space-5); }
.page-section[data-page="orthokeratology"] :is(.reviews-kpi-label,.reviews-insight-label) { color: var(--ui-text-muted); font-size: var(--ui-font-size-body); line-height: var(--ui-line-height-body); }
.page-section[data-page="orthokeratology"] .reviews-kpi-value { margin: 0; color: var(--ui-text-primary); font-size: var(--ui-font-size-kpi); font-weight: var(--ui-font-weight-bold); line-height: var(--ui-line-height-tight); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.page-section[data-page="orthokeratology"] :is(.reviews-kpi-hint,.reviews-insight-hint) { margin: 0; color: var(--ui-text-muted); font-size: var(--ui-font-size-caption); line-height: var(--ui-line-height-body); }
.page-section[data-page="orthokeratology"] .reviews-kpi-hint { margin-top: auto; }
.page-section[data-page="orthokeratology"] .ortho-primary-kpi { background: linear-gradient(145deg,var(--ui-accent-primary),var(--ui-accent-active)); border-color: transparent; }
.page-section[data-page="orthokeratology"] .ortho-primary-kpi :is(.reviews-kpi-label,.reviews-kpi-value,.reviews-kpi-hint) { color: var(--ui-bg-card); }
.page-section[data-page="orthokeratology"] .ortho-primary-kpi .ortho-kpi-icon { background: color-mix(in srgb,var(--ui-bg-card) 18%,transparent); color: var(--ui-bg-card); }
.page-section[data-page="orthokeratology"] .reviews-insight-card { display: grid; align-content: start; gap: var(--ui-space-2); padding: var(--ui-space-4); }
.page-section[data-page="orthokeratology"] .reviews-insight-value { margin: 0; font-size: var(--ui-font-size-section-title); color: var(--ui-text-primary); line-height: var(--ui-line-height-tight); }
.page-section[data-page="orthokeratology"] .analytics-card { padding: var(--ui-space-5); display: flex; flex-direction: column; gap: var(--ui-space-4); }
.page-section[data-page="orthokeratology"] .orthokeratology-overview-card { padding: 0; }
.page-section[data-page="orthokeratology"] .panel-subheader { margin: 0; padding: 0; border: 0; }
.page-section[data-page="orthokeratology"] h3 { margin: 0 0 var(--ui-space-2); font-size: var(--ui-font-size-section-title); }
.page-section[data-page="orthokeratology"] .panel-subheader .muted { font-size: var(--ui-font-size-body); color: var(--ui-text-muted); }
.page-section[data-page="orthokeratology"] .reviews-chart-host { min-height: 0; border: 0; padding: 0; border-radius: 0; background: transparent; }
.page-section[data-page="orthokeratology"] .reviews-line-chart { display: block; font-family: inherit; }
.page-section[data-page="orthokeratology"] .ortho-detail-section { grid-column: 1/-1; }
.page-section[data-page="orthokeratology"] .orthokeratology-branches-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--ui-space-3); }
.page-section[data-page="orthokeratology"] .orthokeratology-branch-card h4 { max-width: none; font-size: var(--ui-font-size-card-title); margin: 0 0 var(--ui-space-4); line-height: var(--ui-line-height-body); }
.page-section[data-page="orthokeratology"] .reviews-branch-metrics { gap: var(--ui-space-3); }
.page-section[data-page="orthokeratology"] .reviews-branch-metric { min-height: 0; padding: var(--ui-space-3); border: var(--ui-border-card); border-radius: var(--ui-radius-control); background: var(--ui-bg-card); gap: var(--ui-space-2); }
.page-section[data-page="orthokeratology"] .reviews-branch-metric span { font-size: var(--ui-font-size-caption); color: var(--ui-text-muted); }
.page-section[data-page="orthokeratology"] .reviews-branch-metric strong { font-size: var(--ui-font-size-section-title); line-height: var(--ui-line-height-tight); color: var(--ui-text-primary); font-variant-numeric: tabular-nums; }
.page-section[data-page="orthokeratology"] .reviews-branch-foot { margin-top: var(--ui-space-3); gap: var(--ui-space-2); }
.page-section[data-page="orthokeratology"] .reviews-foot-pill { font-size: var(--ui-font-size-caption); color: var(--ui-text-muted); background: var(--ui-bg-page); border-radius: var(--ui-radius-control); }
.page-section[data-page="orthokeratology"] .ui-table-wrap { min-width: 0; margin: 0; border: var(--ui-border-card); border-radius: var(--ui-radius-control); }
.page-section[data-page="orthokeratology"] .ui-data-table { width: 100%; }
.page-section[data-page="orthokeratology"] .ui-data-table :is(th,td) { padding: var(--ui-space-3); border-color: var(--ui-border-subtle); font-size: var(--ui-font-size-body); }
.page-section[data-page="orthokeratology"] .ui-data-table th { background: var(--ui-bg-page); color: var(--ui-text-muted); }
@media(max-width:1400px) {
  .page-section[data-page="orthokeratology"] [data-ortho-view="overview"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-section[data-page="orthokeratology"] .orthokeratology-branches-grid { grid-template-columns: 1fr; }
  .page-section[data-page="orthokeratology"] .reviews-branch-metrics { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media(max-width:1100px) {
  .page-section[data-page="orthokeratology"] [data-ortho-view="insights"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-section[data-page="orthokeratology"] .reviews-toolbar-row-wrap { grid-template-columns: 1fr; }
  .page-section[data-page="orthokeratology"] .reviews-grain-buttons { justify-content: flex-start; }
  .page-section[data-page="orthokeratology"] .reviews-chart-card { grid-column: 1/-1; }
}
@media(max-width:600px) {
  .page-section[data-page="orthokeratology"] :is([data-ortho-view="overview"],[data-ortho-view="insights"]) { grid-template-columns: 1fr; }
  .page-section[data-page="orthokeratology"] .reviews-branch-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-section[data-page="orthokeratology"] .reviews-toolbar-row { flex-wrap: wrap; }
  .page-section[data-page="orthokeratology"] .reviews-quick-ranges { flex-wrap: wrap; }
  .page-section[data-page="orthokeratology"] .reviews-date-form { width: 100%; }
  .page-section[data-page="orthokeratology"] .reviews-date-form input { flex: 1 1 100%; width: 100%; }
  .page-section[data-page="orthokeratology"] .ui-page-header { padding-inline: 0; }
  .page-section[data-page="orthokeratology"] .ui-data-table { min-width: 900px; }
}

.page-section[data-page="orthokeratology"] .panel.ui-page-header { background: transparent; border-radius: 0; }
.page-section[data-page="orthokeratology"] #orthoPeriod { color: var(--ui-text-muted); }

#dashboardOrthokeratologyContent .ortho-modal-view { display: grid; }
#dashboardOrthokeratologyContent .ortho-modal-view > .orthokeratology-layout { min-width: 0; }

.page-section[data-page="orthokeratology"] .ortho-source-table { width: 100%; min-width: 0; }
.page-section[data-page="orthokeratology"] .ortho-source-table :is(th, td) { padding: var(--ui-space-3); font-variant-numeric: tabular-nums; }
.page-section[data-page="orthokeratology"] .ortho-source-table :is(th, td):not(:first-child) { text-align: right; white-space: nowrap; }
.page-section[data-page="orthokeratology"] .ortho-source-table th:first-child { min-width: var(--ui-sidebar-width); max-width: var(--ui-sidebar-width); white-space: normal; text-align: left; }
.page-section[data-page="orthokeratology"] .ortho-source-table tbody th { font-weight: var(--ui-font-weight-regular); color: var(--ui-text-primary); background: transparent; }
.page-section[data-page="orthokeratology"] .ortho-source-table tfoot { font-weight: var(--ui-font-weight-bold); background: var(--ui-bg-page); }
.page-section[data-page="orthokeratology"] .ortho-sources-notes { display: grid; gap: var(--ui-space-2); font-size: var(--ui-font-size-caption); }
.page-section[data-page="orthokeratology"] .ortho-sources-notes p { margin: 0; }
