.clinical-chart {
    --chart-ink: var(--pp-text, #173044);
    --chart-muted: var(--pp-muted, #526b79);
    --chart-line: var(--pp-line, #cedde4);
    --chart-surface: var(--pp-panel, #fff);
    --chart-soft: var(--pp-soft, #f1f7f8);
    --chart-accent: var(--pp-teal, #087e8b);
    color: var(--chart-ink);
    min-width: 0;
}
.clinical-chart [hidden] { display: none !important; }
.clinical-chart-legend { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-bottom: 22px; font-size: 12px; color: var(--chart-muted); }
.clinical-chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.clinical-chart-legend i { width: 12px; height: 12px; border-radius: 3px; background: #bd7c23; }
.clinical-chart-legend i[data-state=planned] { background: #268ea4; }
.clinical-chart-legend i[data-state=completed] { background: #2a8a61; }
.clinical-dentition-picker { display: flex; align-items: center; gap: 14px; font-size: 13px; font-weight: 600; margin-bottom: 20px; }
.clinical-dentition-picker select { flex: 1; max-width: 240px; min-height: 44px; border: 1px solid var(--chart-line); border-radius: 8px; padding: 8px 12px; background: var(--chart-surface); color: var(--chart-ink); font: inherit; }
.clinical-dentition h3 { margin: 20px 0 12px; font-size: 15px; }
.clinical-quadrants { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--chart-line); }
.clinical-quadrant { min-width: 0; padding: 14px 10px; border-bottom: 1px solid var(--chart-line); }
.clinical-quadrant:nth-child(odd) { border-right: 1px solid var(--chart-line); }
.clinical-quadrant-label { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 12px; font-size: 12px; font-weight: 600; }
.clinical-quadrant-label span { color: var(--chart-muted); font-size: 10px; font-weight: 400; }
.clinical-teeth { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); gap: 3px; }
.clinical-teeth--5 { grid-template-columns: repeat(5,minmax(0,1fr)); }
.clinical-chart .emr-tooth { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; min-height: 85px; min-width: 0; padding: 6px 1px; border: 1px solid transparent; border-radius: 7px; color: var(--chart-ink); background: transparent; cursor: pointer; font: inherit; font-size: 12px; font-weight: 600; line-height: 1.3; }
.clinical-chart .emr-tooth:hover { background: var(--chart-soft); }
.clinical-chart .emr-tooth:focus-visible, .clinical-dentition-picker select:focus-visible { outline: 3px solid var(--chart-accent); outline-offset: 2px; }
.clinical-chart .emr-tooth[aria-pressed=true] { border-color: var(--chart-accent); background: var(--chart-soft); }
.clinical-chart .emr-tooth svg { width: 28px; height: 38px; margin-bottom: 5px; overflow: visible; }
.clinical-chart .emr-tooth-outline { fill: var(--chart-surface); stroke: var(--chart-muted); stroke-width: 1.1; }
.clinical-chart .emr-tooth-surface { fill: transparent; stroke: var(--chart-line); stroke-width: .6; }
.clinical-chart .emr-tooth[data-recorded=true] .emr-tooth-outline { stroke-width: 1.7; stroke: #b47a24; }
.clinical-chart .emr-tooth-surface[data-recorded=true] { fill: #d6a64c; fill-opacity: .65; }
.clinical-chart .emr-tooth-surface[data-finding-states~=planned] { fill: #58b9cd; }
.clinical-chart .emr-tooth-surface[data-finding-states~=completed] { fill: #69bc91; }
.clinical-chart .emr-tooth-missing { fill: none; stroke: #b8414a; stroke-width: 2.2; }
.clinical-chart .emr-tooth-state-group { display: flex; gap: 2px; min-height: 17px; margin-top: 3px; }
.clinical-chart .emr-tooth-state-group abbr { text-decoration: none; font: 700 9px/14px Inter, sans-serif; border-radius: 3px; min-width: 13px; background: #fff0d4; color: #754307; }
.clinical-chart .emr-tooth-state-group abbr[data-state=planned] { color: #075368; background: #d8f2f8; }
.clinical-chart .emr-tooth-state-group abbr[data-state=completed] { color: #165d3a; background: #dbf5e7; }
.clinical-chart-caption { margin: 14px 0 20px; color: var(--chart-muted); font-size: 12px; max-width: 75ch; }
.clinical-target-detail { padding: 16px 0; border-block: 1px solid var(--chart-line); margin: 18px 0; }
.clinical-target-detail h3 { margin: 0 0 8px; font-size: 15px; }
.clinical-target-detail p, .clinical-target-detail ul { margin: 0; color: var(--chart-muted); font-size: 13px; }
.clinical-target-detail ul { padding-left: 20px; }
.clinical-target-detail li + li { margin-top: 7px; }
.clinical-findings-table { width: 100%; overflow-x: auto; }
.clinical-findings-table table { width: 100%; border-collapse: collapse; font-size: 12px; font-variant-numeric: tabular-nums; }
.clinical-findings-table caption { text-align: left; font-weight: 600; padding: 8px 0 12px; }
.clinical-findings-table th { text-align: left; background: var(--chart-soft); color: var(--chart-muted); font-size: 11px; }
.clinical-findings-table th, .clinical-findings-table td { padding: 12px 10px; border-bottom: 1px solid var(--chart-line); vertical-align: top; overflow-wrap: anywhere; }
.clinical-findings-table small { display: block; margin-top: 4px; color: var(--chart-muted); }
.clinical-stage { display: inline-block; border: 1px solid var(--chart-line); border-radius: 5px; padding: 3px 7px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.clinical-stage[data-state=existing] { color: #86580e; background: #fff4dc; border-color: #dec69c; }
.clinical-stage[data-state=planned] { color: #075b73; background: #def2f7; border-color: #a2cfdd; }
.clinical-stage[data-state=completed] { color: #1d6947; background: #e0f3e8; border-color: #afd6bf; }
.clinical-row-selected { background: var(--chart-soft); }
.clinical-eyes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.clinical-eye { min-width: 0; }
.clinical-eye + .clinical-eye { border-left: 1px solid var(--chart-line); padding-left: 24px; }
.clinical-eye header { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid var(--chart-line); }
.clinical-eye header svg { width: 80px; height: 45px; flex-shrink: 0; fill: none; stroke: var(--chart-accent); stroke-width: 2; }
.clinical-eye h3 { margin: 0 0 4px; font-size: 16px; }
.clinical-eye h3 span, .clinical-eye p { color: var(--chart-muted); }
.clinical-eye p { font-size: 12px; margin: 0; }
.clinical-eye-values { margin: 0; }
.clinical-eye-values > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(70px,.65fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--chart-line); }
.clinical-eye-values dt { font-size: 12px; color: var(--chart-muted); }
.clinical-eye-values dd { margin: 0; font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.clinical-tenant-logo { max-width: 170px; max-height: 64px; width: auto; height: auto; object-fit: contain; }
.clinical-print-header { display: none; }
.pp-treatment { padding: 0 0 22px; margin-bottom: 22px; border-bottom: 1px solid var(--pp-line); }
.pp-treatment:last-child { padding-bottom: 0; margin-bottom: 0; border: 0; }
.pp-treatment header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.pp-treatment h3 { margin: 0 0 4px; font-size: 17px; }
.pp-treatment p { color: var(--pp-muted); font-size: 13px; }
.pp-treatment dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; padding: 14px 0; margin: 0; }
.pp-treatment dt { font-size: 11px; color: var(--pp-muted); margin-bottom: 4px; }
.pp-treatment dd { margin: 0; font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.pp-case-print-button { gap: 8px; }
.pp-assessment-details { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--pp-line); }
.pp-assessment-details summary { cursor: pointer; font-size: 14px; font-weight: 600; color: var(--pp-teal); padding: 8px 0; }
.pp-diagnosis-list { list-style: none; margin: 0; padding: 0; }
.pp-diagnosis-list li { padding: 13px 0; border-bottom: 1px solid var(--pp-line); }
.pp-diagnosis-list li:last-child { border: 0; }
.pp-diagnosis-list strong { display: block; font-size: 14px; margin-bottom: 6px; }
.pp-case-nav { position: relative; }
html[data-theme=dark] .clinical-stage[data-state=existing] { background: #332b1c; color: #f2ca82; border-color: #6f5832; }
html[data-theme=dark] .clinical-stage[data-state=planned] { background: #173744; color: #98deed; border-color: #356373; }
html[data-theme=dark] .clinical-stage[data-state=completed] { background: #1b382f; color: #9be2ba; border-color: #3c6853; }
@media(max-width:700px) {
    .clinical-quadrants, .clinical-eyes { grid-template-columns: minmax(0,1fr); }
    .clinical-quadrant { padding: 14px 0; }
    .clinical-quadrant:nth-child(odd) { border-right: 0; }
    .clinical-chart .emr-tooth { min-height: 90px; }
    .clinical-eye + .clinical-eye { border-left: 0; padding-left: 0; }
    .pp-treatment dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .clinical-findings-table th, .clinical-findings-table td { padding: 10px 6px; }
    .clinical-findings-table table { font-size: 11px; }
}
@media print {
    @page { size: A4; margin: 15mm; }
    .clinical-chart { --chart-ink: #173044; --chart-muted: #526b79; --chart-line: #cad8df; --chart-surface: #fff; --chart-soft: #f1f7f8; --chart-accent: #087e8b; }
    .clinical-print-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 14px; margin-bottom: 20px; border-bottom: 2px solid #087e8b; color: #173044; }
    .clinical-print-header h2 { margin: 6px 0 0; font-size: 18px; }
    .clinical-print-header p { font-size: 11px; }
    .clinical-dentition-picker, .clinical-target-detail, .clinical-chart-caption, .pp-case-nav, .pp-filters, .pp-series-picker, .pp-back, .pp-help-panel, .pp-assessment-details summary, .pp-case-record #case-files { display: none !important; }
    .clinical-quadrants, .clinical-eyes { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .clinical-dentition[data-dentition=primary][data-has-findings=false] { display: none !important; }
    .clinical-chart .emr-tooth[aria-pressed=true] { border-color: transparent; background: transparent; outline: none; }
    .clinical-quadrant, .clinical-eye, .clinical-findings-table tr, .pp-treatment, .pp-panel-heading { break-inside: avoid; }
    .clinical-chart .emr-tooth { min-height: 74px; padding: 3px 0; }
    .clinical-chart .emr-tooth svg { height: 30px; width: 24px; }
    .clinical-tenant-logo { max-height: 50px; max-width: 160px; }
    .pp-record-grid { display: block !important; }
    .pp-panel, .pp-panel-body { background: #fff !important; color: #173044 !important; }
    .pp-panel { border: 0 !important; border-radius: 0 !important; margin: 0 0 24px !important; overflow: visible !important; }
    .pp-panel-heading { padding: 14px 0 !important; background: #fff !important; border-bottom: 1px solid #cad8df; }
    .pp-panel-body { padding: 12px 0 !important; }
    .pp-record { --pp-text: #173044 !important; --pp-muted: #526b79 !important; --pp-panel: #fff !important; --pp-line: #cad8df !important; --pp-soft: #f1f7f8 !important; --pp-teal: #087e8b !important; }
    .pp-case-record aside { margin-top: 24px; }
    .pp-treatment h3 { font-size: 14px; }
    .clinical-chart, .clinical-stage, .pp-badge { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .clinical-findings-table { overflow: visible; }
    .clinical-findings-table thead { display: table-header-group; }
    .pp-paper-heading .clinical-tenant-logo { width: auto; }
}
