.dental-workspace{padding-block:24px 48px;max-width:1500px;margin-inline:auto}
.dental-patient-bar,.dental-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dental-patient-bar{padding:18px 0 24px}.dental-patient-bar h2{font-size:22px;line-height:1.4}
.dental-avatar{display:grid;place-items:center;inline-size:52px;block-size:52px;border-radius:18px;background:#dcebe6;color:#315e51;font-size:25px;font-weight:600}
.dental-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}
.dental-main{min-width:0}.dental-card{background:var(--bg-surface);border:1px solid var(--border-subtle,#dedfd9);border-radius:18px;padding:24px;box-shadow:0 5px 20px #172b2510;min-width:0}
.dental-card h2{font-size:18px;font-weight:650;line-height:1.5}.dental-card h3{font-size:16px;font-weight:600}.dental-card-heading{margin-block-end:16px}
.dental-segment{display:flex;border:1px solid var(--border-subtle,#ddd);padding:3px;border-radius:12px;gap:4px;direction:ltr}
.dental-segment .btn{border:0;box-shadow:none;min-inline-size:45px}.dental-segment [aria-pressed=true],[data-dentition][aria-pressed=true]{background:#315e51;color:#fff;border-color:#315e51}
.dental-dentition-settings{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;background:var(--bg-sunken);border-radius:12px;padding:14px}.dental-dentition-settings p{flex-basis:100%;line-height:1.65}
.dental-view-filter{margin-block:14px 0}.dental-view-filter [aria-pressed=true]{border-color:#658978;color:var(--text-primary);box-shadow:inset 0 0 0 1px #658978}
.dental-chart{width:100%;max-height:540px;display:block;direction:ltr}.dental-chart [data-tooth]{cursor:pointer;outline:none}.dental-gum{fill:url(#dental-gum);opacity:.8}
.dental-tooth>path:first-of-type{fill:url(#dental-enamel);stroke:#b8bdae;stroke-width:1.4}.dental-tooth.completed>path:first-of-type{fill:#d4e6dc;stroke:#618572}.dental-tooth.planned>path:first-of-type{fill:#fae4b9;stroke:#b88e42}
.dental-tooth.selected>path:first-of-type,.dental-tooth:focus>path:first-of-type{fill:#acd8cc;stroke:#1a6958;stroke-width:3.5}.dental-tooth:hover>path:first-of-type{stroke:#1a6958;stroke-width:2.5}
.dental-fissure{fill:none;stroke:#bac0b3;stroke-width:1;opacity:.5}.dental-tooth text{fill:#28372e;paint-order:stroke;stroke:#ffffffe0;stroke-width:3;font:600 13px system-ui;pointer-events:none}
.dental-orientation{fill:var(--text-secondary,#5d7268);font:13px system-ui}.dental-arch-label{fill:var(--text-secondary,#5d7268);font:500 15px system-ui}
.dental-legend{display:flex;gap:12px 18px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary,#58665e);border-top:1px solid var(--border-subtle,#eee);padding-block-start:14px}.dental-legend span{display:flex;align-items:center;gap:6px}.dental-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid #bbb}.dental-legend .unrecorded{background:#f2f1e9}.dental-legend .completed{background:#90b59f}.dental-legend .planned{background:#e8be76}
.dental-canvas{width:100%;height:420px;display:block;border-radius:14px;touch-action:none;margin-block:14px}.dental-canvas:focus-visible{outline:3px solid #568472;outline-offset:3px}.dental-3d-tools{padding-block:0 12px}
.dental-medical-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dental-field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500}.dental-field textarea{resize:vertical;min-height:90px;width:100%;line-height:1.8}.dental-field input,.dental-field select{width:100%}
.dental-history{position:sticky;top:18px}.dental-visit-list{display:flex;flex-direction:column;gap:8px}.dental-visit-link{display:flex;flex-direction:column;gap:7px;text-align:start;border:1px solid var(--border-subtle,#dedfd9);background:transparent;color:inherit;border-radius:11px;padding:13px;cursor:pointer}.dental-visit-link strong{font-size:13px}.dental-visit-link span{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.dental-visit-link[aria-pressed=true]{border-color:#638773;box-shadow:inset 3px 0 #638773;background:var(--bg-sunken)}
.dental-tooth-number{display:inline-grid;place-items:center;background:#e3eee7;color:#315e51;border-radius:9px;min-width:32px;height:32px;font:600 15px system-ui;direction:ltr}.dental-tooth-number.large{width:46px;height:46px;font-size:21px}
.dental-procedures{display:grid;gap:12px;margin-block-start:18px}.dental-procedure{border:1px solid var(--border-subtle,#dedfd9);border-radius:12px;padding:14px}.dental-procedure>p{margin-block:8px}.dental-procedure.is-void{opacity:.65;border-style:dashed}.dental-procedure.is-void strong{text-decoration:line-through}.dental-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:13px}.dental-error{color:var(--danger,#b24035);font-size:13px;line-height:1.7;white-space:pre-wrap}.dental-error:empty{display:none}.dental-section-title{margin-block-start:24px}.dental-context{background:var(--bg-sunken);padding:12px;border-radius:10px}.dental-revision{border-block-end:1px solid var(--border-subtle,#ddd);padding-block-end:16px}.dental-revision h4{font-size:12px;margin-block-start:12px}
@media(max-width:1100px){.dental-layout{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.dental-card{padding:18px}}

.dental-card .t-muted{color:var(--text-secondary)}
.dental-card [aria-busy="true"]{opacity:.75}
[data-theme="dark"] .dental-chart{background:var(--bg-sunken);border-radius:14px}
.dental-transition{border-block-start:1px solid var(--border-subtle);padding-block-start:14px}

.dental-tooth.shed>path:first-of-type{fill:transparent;stroke:var(--text-tertiary);stroke-dasharray:4 3;stroke-width:2}.dental-tooth.shed .dental-fissure{display:none}.dental-tooth.shed.selected>path:first-of-type{stroke:#1a6958;stroke-width:3}.dental-legend i.shed{background:transparent;border:1px dashed var(--text-tertiary)}

.dental-tooth-picker{margin-block:16px;max-width:420px}.dental-tooth-picker select{max-width:100%;min-width:0}.dental-chart text{user-select:none}

/* Desktop chart: natural crown anatomy, external labels and fixed patient orientation. */
.dental-chart{max-height:none;max-width:1060px;margin:16px auto 8px}
.dental-gum{opacity:1;stroke:#ad6d67;stroke-width:1}
.dental-tooth .dental-crown{filter:url(#dental-tooth-shadow);stroke:#b69d81;stroke-width:1.1}
.dental-crown-detail{pointer-events:none}.dental-fissure{stroke:#ab8768;stroke-width:1.1;opacity:.58;stroke-linecap:round;stroke-linejoin:round}
.dental-enamel-highlight{fill:none;stroke:#fffdf2;stroke-width:1.8;opacity:.6}
.dental-tooth .dental-crown-number{font:650 13px system-ui;opacity:0;fill:#204e43;stroke:#fff;stroke-width:4}
.dental-tooth:hover .dental-crown-number,.dental-tooth:focus .dental-crown-number,.dental-tooth.selected .dental-crown-number{opacity:1}
.dental-tooth.shed .dental-crown-detail{display:none}.dental-tooth.shed .dental-crown{filter:none}
.dental-tooth.shed .dental-crown-number{opacity:.7}
.dental-palate-ridges{fill:none;stroke:#c7877d;stroke-width:3;stroke-linecap:round;opacity:.32}
.dental-midline{fill:none;stroke:#fff2df;stroke-width:1.5;stroke-dasharray:4 5;opacity:.65}
.dental-quadrant-heading text{font:600 16px system-ui}.dental-arch-label{fill:#703d3b;font:600 20px system-ui}
.dental-orientation{font:14px system-ui}.dental-callout path{fill:none;stroke-width:1;opacity:.3}.dental-callout text{font:650 18px system-ui;fill:var(--text-secondary)}
.dental-callout .dental-fdi-label{font-size:13px;font-weight:400;fill:var(--text-tertiary)}
.dental-callout.selected path{opacity:1;stroke-width:2}.dental-callout.selected text{fill:var(--text-primary);font-weight:750}
.dental-notation-note{font-size:12px;line-height:1.7;color:var(--text-secondary);margin-block:12px 0}
.dental-tooth-number.large{width:auto;min-width:64px;padding-inline:10px;font-size:20px}
.dental-anatomical-sprite{pointer-events:none}
.dental-anatomical-tooth>path.dental-anatomical-outline{fill:transparent;stroke:transparent;stroke-width:2;pointer-events:all}
.dental-anatomical-tooth.completed>path.dental-anatomical-outline{fill:#45857714;stroke:#568b79;stroke-width:3}
.dental-anatomical-tooth.planned>path.dental-anatomical-outline{fill:#daa43f14;stroke:#c39744;stroke-width:3}
.dental-anatomical-tooth.selected>path.dental-anatomical-outline,.dental-anatomical-tooth:focus>path.dental-anatomical-outline,.dental-anatomical-tooth:hover>path.dental-anatomical-outline{fill:#2f9c891c;stroke:#216858;stroke-width:4}
.dental-anatomical-tooth.shed .dental-anatomical-sprite{display:none}
.dental-anatomical-tooth.shed>path.dental-anatomical-outline{fill:transparent;stroke:#8b9690;stroke-dasharray:6 5}
.dental-canvas{height:500px;background:#eef2ef}
.dental-hover-card{position:fixed;z-index:60;width:320px;padding:17px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-surface);color:var(--text-primary);box-shadow:0 12px 38px #142e292e;font-size:13px;line-height:1.6;max-height:calc(100vh - 32px);overflow:auto}
.dental-hover-card[hidden]{display:none}.dental-hover-heading{display:grid;gap:3px;border-block-end:1px solid var(--border-subtle);padding-block-end:10px}.dental-hover-heading>strong{font-size:16px}.dental-hover-heading small,.dental-hover-history span{color:var(--text-secondary);font-size:11px}.dental-hover-history>div{display:grid;gap:3px;margin-block:10px}.dental-hover-history strong{font-size:12px;font-weight:550;overflow-wrap:anywhere}.dental-hover-footer{border-block-start:1px solid var(--border-subtle);padding-block-start:10px;margin-block-start:10px;font-size:11px;color:var(--text-secondary)}
