.teeth-chart-container{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-md)0}.teeth-chart-header{align-items:baseline;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);display:flex}.teeth-chart-title{font-weight:var(--font-medium);color:var(--color-text-primary)}.teeth-chart-subtitle{font-size:var(--font-sm);color:var(--color-text-tertiary)}.teeth-chart-svg{margin:0 auto;display:block}.teeth-chart-legend{justify-content:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light);display:flex}.legend-item{font-size:var(--font-sm);color:var(--color-text-primary);align-items:center;gap:4px;font-weight:400;display:flex}.legend-dot{border-radius:2px;width:10px;height:10px}.legend-dot.status-problem{background:var(--color-error)}.legend-dot.status-treated{background:var(--color-info)}.legend-dot.status-watch{background:var(--color-warning)}.legend-dot.status-missing{background:var(--color-gray-500)}.teeth-chart-note{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.note-label{font-weight:var(--font-medium);color:var(--color-text-secondary)}.note-text{color:var(--color-text-primary)}.teeth-details-list{margin-top:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.teeth-details-title{font-weight:var(--font-medium);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-size:var(--font-sm)}.teeth-detail-item{align-items:center;gap:var(--spacing-sm);border-bottom:1px solid var(--color-border-light);padding:4px 0;display:flex}.teeth-detail-item:last-child{border-bottom:none}.teeth-detail-fdi{border-radius:var(--radius-sm);min-width:32px;height:24px;color:var(--color-text-inverse);font-weight:var(--font-medium);font-size:var(--font-sm);justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.teeth-status-problem{background:var(--color-error)}.teeth-status-treated{background:var(--color-info)}.teeth-status-watch{background:var(--color-warning);color:var(--color-gray-700)}.teeth-status-missing{background:var(--color-gray-500)}.teeth-detail-issue{color:var(--color-text-primary);font-size:var(--font-sm)}@media print{.teeth-chart-container{break-inside:avoid;border:1px solid #ddd}.teeth-chart-legend .legend-dot{-webkit-print-color-adjust:exact;print-color-adjust:exact}}