.odontogram-root,.odontogram-portal{--bg:var(--odon-bg,#f3f6fb);--panel:var(--odon-panel,#fff);--card:var(--odon-card,#fff);--muted:var(--odon-muted,#5b6b7d);--text:var(--odon-text,#1e2a3a);--line:var(--odon-line,#d7e0ec);--accent:var(--odon-accent,#3b7bff);--accent2:var(--odon-accent2,#12b981);color:var(--text)}.dark .odontogram-root,.dark .odontogram-portal{--bg:var(--odon-bg,#0f172a);--panel:var(--odon-panel,#1e293b);--card:var(--odon-card,#1e293b);--muted:var(--odon-muted,#94a3b8);--text:var(--odon-text,#f1f5f9);--line:var(--odon-line,#334155)}.odontogram-root,.odontogram-root *,.odontogram-portal,.odontogram-portal *{box-sizing:border-box}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#ffffffd9;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.dot{background:var(--accent2);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 6px #12b9811f}.title{letter-spacing:.2px;font-weight:700}.subtitle{color:var(--muted);margin-top:2px;font-size:12px}.topbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.topbar-group{align-items:center;gap:8px;display:flex}.segmented{gap:6px;display:flex}.btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#3b7bff1f;border-radius:12px;padding:8px 12px;font-weight:600}.btn-sm{padding:6px 10px;font-size:12px}.btn:hover{background:#3b7bff2e}.btn-ghost{background:#0000000a}.btn-ghost:hover{background:#00000014}.btn-danger{color:#b83a3a;background:#d945451f;border-color:#d9454566}.btn-danger:hover{background:#d9454533}.btn-toggle[aria-pressed=true]{background:#640feb33;border-color:#12b98180}.btn-toggle[aria-pressed=false]{background:#0000000a}.dropdown{position:relative}.dropdown-menu{border:1px solid var(--line);z-index:20;background:#fff;border-radius:12px;flex-direction:column;gap:4px;min-width:180px;margin-top:6px;padding:6px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 12px 24px #1e2a3a1f}.dropdown-item{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:start;background:#0000000a;border-radius:10px;padding:8px 10px;font-weight:600}.dropdown-item:hover{background:#00000014}.dropdown-item:disabled{opacity:.45;cursor:not-allowed}.dropdown-item:disabled:hover{background:#0000000a}.dropdown-item[aria-checked=true]{background:#3b7bff2e;border-color:#3b7bff73}.odontogram-root select,.odontogram-portal select{appearance:none;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#3b7bff1f;background-image:linear-gradient(45deg,transparent 50%,var(--text) 50%),linear-gradient(135deg,var(--text) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 12px) 52%;background-repeat:no-repeat;background-size:6px 6px,6px 6px;border-radius:12px;min-width:220px;padding:8px 34px 8px 12px;font-weight:600}.odontogram-root select:focus,.odontogram-portal select:focus{outline:none;box-shadow:0 0 0 3px #3b7bff2e}.layout{grid-template-columns:1fr 360px;gap:14px;padding:14px;display:grid}.perio-launch-bar{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:10px;display:flex}.chart{border:1px solid var(--line);background:#ffffffe6;border-radius:18px;flex-shrink:0;overflow:hidden}.chart-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.chart-title{font-weight:700}.chart-hint{color:var(--muted);margin-top:4px;font-size:12px}.chart-actions{align-items:center;gap:8px;display:flex}.chart-mode-toggle{border:1px solid var(--line);background:#00000008;border-radius:999px;align-items:center;gap:4px;padding:4px;display:flex}.chart-mode-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.chart-mode-btn:hover{background:#3b7bff24}.chart-mode-btn.is-active{background:var(--accent);color:#fff}.chart-mode-btn.is-active:hover{background:var(--accent)}.plan-selector{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.plan-chip{background:#3b7bff14;border:1px solid #3b7bff59;border-radius:999px;align-items:center;gap:2px;padding:0 2px 0 0;display:inline-flex}.plan-chip-name{color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:999px;max-width:16ch;padding:4px 10px;font-size:12px;font-weight:600;overflow:hidden}.plan-chip-name:hover{background:#3b7bff24}.plan-chip.is-active{background:var(--accent);border-color:var(--accent)}.plan-chip.is-active .plan-chip-name{color:#fff}.plan-chip.is-active .plan-chip-name:hover{background:var(--accent)}.plan-chip-delete{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;border-radius:999px;padding:2px 6px 3px 2px;font-size:14px;line-height:1}.plan-chip-delete:hover{opacity:1;background:#00000026}.plan-chip-input{border:1px solid var(--accent);background:var(--panel,#fff);color:var(--text);border-radius:999px;outline:none;width:14ch;padding:3px 9px;font-size:12px;font-weight:600}.plan-chip-add{color:var(--accent);cursor:pointer;background:0 0;border-style:dashed;padding:4px 10px;font-size:12px;font-weight:600}.plan-chip-add:hover{background:#3b7bff1a}.chart.plan-mode{border-color:var(--accent);box-shadow:0 0 0 2px #3b7bff2e}.proposed-legend{color:var(--muted);align-items:center;gap:6px;margin-top:4px;font-size:12px;display:none}.chart.plan-mode .proposed-legend{display:flex}.proposed-legend-swatch{border-top:2px dashed var(--accent);width:18px;height:0;display:inline-block}.tooth-grid,.chart-column,.dental-chart-column,.ma-arch,.perio-fullgrid-scroll,[data-perio-arch]{direction:ltr}.tooth-grid{flex-direction:column;gap:4px;padding:10px;display:flex;position:relative}.tooth-arch{justify-content:center;gap:4px;display:grid}.upper-arch{grid-template-columns:minmax(28px,54px) minmax(28px,58px) minmax(28px,62px) minmax(28px,35px) minmax(28px,39px) minmax(28px,39px) minmax(28px,36px) minmax(28px,39px) minmax(28px,39px) minmax(28px,36px) minmax(28px,39px) minmax(28px,39px) minmax(28px,35px) minmax(28px,62px) minmax(28px,58px) minmax(28px,54px)}.lower-arch{grid-template-columns:minmax(28px,58px) minmax(28px,61px) minmax(28px,66px) minmax(28px,41px) minmax(28px,34px) minmax(28px,37px) minmax(28px,32px) minmax(28px,28px) minmax(28px,28px) minmax(28px,32px) minmax(28px,37px) minmax(28px,34px) minmax(28px,41px) minmax(28px,66px) minmax(28px,61px) minmax(28px,58px)}.tooth-grid>svg.gum-overlay{pointer-events:none;position:absolute;inset:0}.tooth-grid>svg.gum-overlay [id=gum-base]{fill:#c31703!important}.tooth-tile .tooth-svg svg [id=bone-base],.tooth-tile .tooth-svg svg [id=gum-base]{display:none}.tooth-grid>svg.bridge-overlay{pointer-events:none;z-index:5;position:absolute;inset:0}.tooth-grid .tooth-tile.side-view svg [id$=-crown],.tooth-grid .tooth-tile svg [id$=-veneer]{stroke:#a2937e!important}.tooth-grid .tooth-tile.side-view svg [id$=-bridge-connector]{display:none!important}.tooth-grid .tooth-tile[data-pontic].side-view svg [id$=-crown]{clip-path:inset(12% 0 0)}.tooth-label-row{display:contents}.tooth-label-cell{text-align:center;color:#1e2a3acc;cursor:pointer;padding:2px 0 4px;font-size:11px;font-weight:600}.tooth-label-cell:hover{color:#1e2a3a}.tooth-tile{border:1px solid var(--line);cursor:pointer;background:#ffffffb3;border-radius:14px;min-height:157px;padding:2px;transition:transform 50ms,border-color .12s,background .12s;position:relative}.tooth-tile.occl-view{min-height:78px}.tooth-tile.placeholder{cursor:default;background:#ffffff4d}.tooth-tile.placeholder .tooth-svg svg{opacity:0}.tooth-tile:hover{background:linear-gradient(#3b7bff14,#3b7bff14),#ffffffb3}.tooth-tile:active{transform:scale(.99)}@keyframes odon-dash-pulse{0%,to{border-color:#3b7bff80}50%{border-color:#3b7bffe6}}@keyframes odon-glow-pulse{0%,to{filter:drop-shadow(0 0 3px #3b7bff33)}50%{filter:drop-shadow(0 0 7px #3b7bff73)}}.tooth-tile:after{content:"";pointer-events:none;border:2px dashed #0000;border-radius:15px;transition:border-color .25s;position:absolute;inset:-2px}.tooth-tile .tooth-svg svg{transition:filter .25s}.tooth-tile.active{background:linear-gradient(#3b7bff0f,#3b7bff0f),#ffffffb3;border-color:#3b7bffb3;transition:border-color .2s,background .2s}.tooth-tile.active:after{border-color:#3b7bff8c;animation:1.6s ease-in-out infinite odon-dash-pulse}.tooth-tile.active .tooth-svg svg{filter:drop-shadow(0 0 4px #3b7bff4d);animation:2.5s ease-in-out infinite odon-glow-pulse}.tooth-tile:focus{outline:none}.tooth-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px;z-index:1;box-shadow:0 0 0 3px #3b7bff40}.tooth-grid.read-only .tooth-tile{cursor:default;pointer-events:none}.tooth-grid.read-only .tooth-tile:hover{background:inherit}.tooth-grid.read-only .tooth-label-cell{cursor:default;pointer-events:none}.panel.read-only{pointer-events:none;opacity:.5;-webkit-user-select:none;user-select:none}.perio-overlay.read-only{pointer-events:none}.perio-overlay.read-only .perio-overlay-panel{opacity:.5}.perio-inline-panel.read-only{pointer-events:none;opacity:.5;-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){.tooth-tile.active:after{border-color:#3b7bffb3;animation:none}.tooth-tile.active .tooth-svg svg{filter:drop-shadow(0 0 4px #3b7bff59);animation:none}}.tooth-svg{justify-content:center;align-items:flex-end;width:100%;height:147px;display:flex}.tooth-svg svg{pointer-events:none;flex:none;width:72px;height:122px;overflow:visible}.tooth-svg{z-index:1;position:relative;overflow:visible}.tooth-tile{overflow:visible}.tooth-tile.lower-row.side-view .tooth-svg{align-items:flex-start}.tooth-tile.occl-view .tooth-svg{align-items:center;height:80px}.tooth-tile.occl-view .tooth-svg svg{flex:none;width:calc(100% - 1px);height:auto;max-height:100%;overflow:hidden}.tooth-tile.tpl-11 .tooth-svg svg{width:64.31px;height:131.38px}.tooth-tile.tpl-12 .tooth-svg svg{width:64.31px;height:132.95px}.tooth-tile.tpl-13 .tooth-svg svg{width:65.29px;height:141.57px}.tooth-tile.tpl-14 .tooth-svg svg{width:64.48px;height:145.62px}.tooth-tile.tpl-15 .tooth-svg svg{width:64.48px;height:134.06px}.tooth-tile.tpl-16 .tooth-svg svg{width:69.5px;height:147.79px}.tooth-tile.tpl-17 .tooth-svg svg{width:69.5px;height:143.76px}.tooth-tile.tpl-18 .tooth-svg svg{width:69.5px;height:141.59px}.tooth-tile.tpl-41 .tooth-svg svg{width:64.31px;height:124.74px}.tooth-tile.tpl-42 .tooth-svg svg{width:64.31px;height:130.26px}.tooth-tile.tpl-43 .tooth-svg svg{width:65.29px;height:139.64px}.tooth-tile.tpl-44 .tooth-svg svg{width:64.48px;height:134.93px}.tooth-tile.tpl-45 .tooth-svg svg{width:64.48px;height:131.17px}.tooth-tile.tpl-46 .tooth-svg svg{width:69.5px;height:147.4px}.tooth-tile.tpl-47 .tooth-svg svg{width:69.5px;height:137.36px}.tooth-tile.tpl-48 .tooth-svg svg{width:69.5px;height:135.14px}.tooth-tile.tpl-51 .tooth-svg svg{width:64.31px;height:114.16px}.tooth-tile.tpl-52 .tooth-svg svg{width:64.31px;height:102.17px}.tooth-tile.tpl-53 .tooth-svg svg{width:65.29px;height:120.24px}.tooth-tile.tpl-54 .tooth-svg svg{width:64.48px;height:111px}.tooth-tile.tpl-55 .tooth-svg svg{width:69.5px;height:111.33px}.tooth-tile.tpl-81 .tooth-svg svg{width:64.31px;height:105.14px}.tooth-tile.tpl-82 .tooth-svg svg{width:64.31px;height:104.62px}.tooth-tile.tpl-83 .tooth-svg svg{width:65.29px;height:119.6px}.tooth-tile.tpl-84 .tooth-svg svg{width:69.5px;height:109.04px}.tooth-tile.tpl-85 .tooth-svg svg{width:69.5px;height:120.8px}.tooth-tile.wisdom-hidden{opacity:.45;pointer-events:none}.tooth-tile.wisdom-hidden .tooth-svg svg{opacity:0}.tooth-tile.occl-hidden,.tooth-svg [data-active="0"]{display:none!important}.panel{border:1px solid var(--line);background:#fffffff2;border-radius:18px;grid-column:2;overflow:hidden}.panel-header{border-bottom:1px solid var(--line);padding:12px 14px}.select-actions{flex-direction:column;gap:8px;margin-top:8px;display:flex}.select-actions-row{flex-wrap:wrap;gap:6px;display:flex}.status-actions{flex-wrap:wrap;gap:6px}.status-extra-row{flex-wrap:wrap;align-items:center;gap:8px}.status-extra-row select{min-width:220px}.btn-icon{padding:9px 15px;font-size:12px}.btn-icon .icon,.btn-icon .icon-img,.btn-icon svg{width:32px;height:32px;display:block}.fade-toggle{max-width:200px;transition:opacity .16s,max-width .16s,padding .16s,margin .16s,border-width .16s,transform .16s}.fade-toggle.is-hidden{opacity:0;pointer-events:none;border-width:0;max-width:0;margin:0;padding-left:0;padding-right:0;transform:scale(.96)}.panel-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-title-actions{align-items:center;gap:8px;display:flex}.panel-title{font-weight:800}.panel-subtitle{color:var(--muted);margin-top:4px;font-size:12px}.pill{color:var(--text);background:#12b98124;border:1px solid #12b98140;border-radius:999px;padding:2px 8px;font-weight:700;display:inline-block}.warnings{flex-direction:column;gap:8px;margin-top:10px;display:flex}.warning{color:#8a5b1a;background:#ffc67438;border:1px solid #ffc67473;border-radius:12px;padding:8px 10px;font-size:12px}.panel-body{flex-direction:column;gap:12px;max-height:calc(100vh - 110px);padding:14px;display:flex;overflow:auto}.card{border:1px solid var(--line);background:#ffffffe6;border-radius:16px;padding:12px}.card-title{margin-bottom:8px;font-weight:800}.card-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.card.collapsed .card-title{margin-bottom:0}.card.collapsed>:not(.card-title-row){display:none}.icon-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffffb3;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;line-height:1;display:flex}.icon-btn .icon{width:16px;height:16px}.icon-btn:hover{background:#3b7bff1f}.icon-btn-danger{color:#d94545;background:#d9454514;border-color:#d9454566}.icon-btn-danger:hover{background:#d9454526}.card-subtitle{margin:6px 0;font-weight:700}.hint{color:var(--muted);margin:6px 0 10px;font-size:12px}.row{align-items:center;gap:10px;padding:6px 2px;font-size:13px;display:flex}.contact-row{margin-bottom:6px}.bruxism-row{gap:8px;margin-top:6px}.wear-stack{flex-direction:column;gap:6px;display:flex}.wear-stack .row{margin-top:0}.fissure-row{text-align:center;justify-content:center;margin-top:10px}#crownReplaceRow,#crownNeededRow,#missingClosedRow{margin-top:8px}.bridge-pillar-row{margin-top:10px}.inline-checks{padding:0}.inline-checks+.inline-checks,#calculusRow{margin-top:8px}.inline-checks label{border:1px solid var(--line);cursor:pointer;background:#00000005;border-radius:12px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.inline-checks label:hover{background:#3b7bff0f}.inline-checks input[type=checkbox]{display:none}.inline-checks label:has(input[type=checkbox]:checked){background:#12b9812e;border-color:#12b98180}.check-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.check-grid label{border:1px solid var(--line);cursor:pointer;background:#00000005;border-radius:12px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.check-grid label:hover{background:#3b7bff0f}.check-grid input[type=checkbox]{display:none}.check-grid label:has(input[type=checkbox]:checked){background:#12b9812e;border-color:#12b98180}.surface-cross{grid-template-rows:repeat(3,auto);grid-template-columns:repeat(3,1fr);gap:8px;max-width:340px;margin:4px auto;display:grid}.surface-cross .surface-cell{text-align:center;border:1px solid var(--line);cursor:pointer;background:#00000005;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 6px;display:flex}.surface-cross .surface-cell:hover{background:#3b7bff0f}.surface-cross .surface-cell input[type=checkbox]{display:none}.surface-cross .surface-cell .surf-letter{font-size:18px;font-weight:700;line-height:1}.surface-cross .surface-cell .surf-name{color:var(--muted);font-size:11px}.surface-cross .surface-cell:has(input[type=checkbox]:checked){background:#12b9812e;border-color:#12b98180}.surface-cross .pos-buccal{grid-area:1/2}.surface-cross .pos-mesial{grid-area:2/1}.surface-cross .pos-occlusal{grid-area:2/2}.surface-cross .pos-distal{grid-area:2/3}.surface-cross .pos-lingual{grid-area:3/2}.subcrown-row{margin-top:8px}.surface-cross .surface-cell[data-material=amalgam]{box-shadow:inset 0 0 0 2px #7a7f87}.surface-cross .surface-cell[data-material=composite]{box-shadow:inset 0 0 0 2px #d9a441}.surface-cross .surface-cell[data-material=gic]{box-shadow:inset 0 0 0 2px #4aa3df}.surface-cross .surface-cell[data-material=temporary]{box-shadow:inset 0 0 0 2px #b07ad9}.surface-cross .surface-cell{position:relative}.surf-depth{cursor:pointer;border-radius:4px;flex-direction:column;gap:1.5px;padding:2px;display:none;position:absolute;top:5px;right:5px}.surface-cross .surface-cell:has(input[type=checkbox]:checked) .surf-depth{display:flex}.surf-depth:hover{background:#0000000f}.surf-depth i{background:#b3261e38;border-radius:1px;width:11px;height:3px;display:block}.surf-depth[data-depth=surface] i:first-child,.surf-depth[data-depth=dentin] i:nth-child(-n+2),.surf-depth[data-depth=deep] i{background:#b3261e}.surf-depth.has-subcaries{border:2px solid #1f2937;padding:1px}.surf-depth.icdas.has-subcaries{border:2px solid #1f2937;box-shadow:0 0 0 1px #fff}.surf-depth.radio-badge[data-radio]{display:flex}.surf-defect{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:none;position:absolute;top:5px;left:5px}.surface-cross .surface-cell:has(input[type=checkbox]:checked) .surf-defect{display:flex}.surf-defect:hover{background:#0000000f}.surf-defect i{background:#2e319240;border-radius:50%;width:9px;height:9px;display:block}.surf-defect.has-defect{border:2px solid #2e3192;padding:1px}.surf-defect.has-defect i{background:#f5ff15;box-shadow:0 0 0 1px #2e3192}.surface-cross .surface-cell[data-cervical]:after{content:attr(data-cervical);color:#2e3192;opacity:.85;pointer-events:none;font-size:10px;font-style:italic;font-weight:700;line-height:1;position:absolute;bottom:4px;right:5px}.odon-depth-popup{z-index:130;background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;min-width:150px;padding:6px;display:flex;position:fixed;box-shadow:0 12px 24px #1e2a3a2e}.odon-depth-group{flex-direction:column;gap:4px;display:flex}.odon-depth-option{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:start;background:#0000000a;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:600}.odon-depth-option:hover{background:#3b7bff1f}.odon-depth-option.is-active{border-color:var(--accent,#3b7bff);background:#3b7bff29}.odon-depth-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#7b8794);padding:6px 4px 2px;font-size:11px;font-weight:700}.odon-depth-group-label:first-child{padding-top:2px}.odon-depth-title{color:var(--text);border-bottom:1px solid var(--line);margin-bottom:2px;padding:2px 4px 6px;font-size:12px;font-weight:800}.row input[type=checkbox]{display:none}.row:has(input[type=checkbox]){border:1px solid var(--line);cursor:pointer;background:#00000005;border-radius:12px;padding:6px 10px}.inline-checks:has(input[type=checkbox]){background:0 0;border:0;padding:0}.row:has(input[type=checkbox]:checked){background:#12b9812e;border-color:#12b98180}.inline-checks:has(input[type=checkbox]:checked){background:0 0;border:0}.wear-stack .row:has(input[type=checkbox]){cursor:default;background:0 0;border:0;border-radius:0;padding:6px 2px}.wear-stack .row:has(input[type=checkbox]:checked){cursor:default;background:0 0;border:0;border-radius:0;padding:6px 2px}.dark .wear-stack .row:has(input[type=checkbox]){cursor:default;background:0 0;border:0;border-radius:0;padding:6px 2px}.radio-list{flex-direction:column;gap:8px;display:flex}.radio-list label{border:1px solid var(--line);background:#00000005;border-radius:12px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.radio-list label:hover{background:#3b7bff0f}.divider{background:var(--line);height:1px;margin:10px 0}.perio-block{margin-top:10px}.perio-block-title{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600}.perio-grid{flex-direction:column;gap:6px;display:flex}.perio-site-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.perio-site-cell{border:1px solid var(--line);background:#00000005;border-radius:8px;flex-direction:column;gap:3px;padding:6px;display:flex}.perio-site-label{text-align:center;color:var(--text);margin-bottom:2px;font-size:12px;font-weight:700}.perio-field{justify-content:space-between;align-items:center;gap:4px;font-size:11px;display:flex}.perio-field span{color:var(--muted)}.perio-field input[type=number]{border:1px solid var(--line);background:var(--card);width:46px;color:var(--text);border-radius:4px;padding:2px 4px;font-size:11px}.perio-check{align-items:center;gap:4px;font-size:11px;display:flex}.perio-check span{color:var(--muted)}.perio-readout{margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.hidden{display:none!important}@media (max-width:1100px){.layout{grid-template-columns:1fr}.chart-column,.dental-chart-column,.ortho-column{grid-column:auto}.panel{order:2;grid-column:auto}}.dark .topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172aeb}.dark .btn{background:#60a5fa26}.dark .btn:hover{background:#60a5fa40}.dark .btn-ghost{background:#ffffff0f}.dark .btn-ghost:hover{background:#ffffff1f}.dark .btn-danger{color:#f87171;background:#f871711f;border-color:#f871714d}.dark .btn-danger:hover{background:#f8717138}.dark .btn-toggle[aria-pressed=false]{background:#ffffff0f}.dark .dropdown-menu{background:#1e293b;box-shadow:0 12px 24px #00000073}.dark .dropdown-item{background:#ffffff0f}.dark .dropdown-item:hover{background:#ffffff1f}.dark .dropdown-item[aria-checked=true]{background:#60a5fa33;border-color:#60a5fa73}.dark .odontogram-root select,.dark .odontogram-portal select{background:#60a5fa26;background-image:linear-gradient(45deg,transparent 50%,var(--text) 50%),linear-gradient(135deg,var(--text) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 12px) 52%;background-repeat:no-repeat;background-size:6px 6px,6px 6px}.dark .chart{background:#1e293be6}.dark .chart-mode-toggle{border-color:var(--line);background:#ffffff0f}.dark .chart-mode-btn{color:var(--text)}.dark .chart-mode-btn:hover{background:#60a5fa2e}.dark .odontogram-root svg.schematic-chart .schem-badge,.dark .odontogram-portal svg.schematic-chart .schem-badge{fill:#cbd5e1}.dark .schematic-keypad{border-color:var(--line);background:#1e293beb}.dark .keypad-group{border-color:var(--line)}.dark .keypad-btn{color:var(--text);border-color:var(--line);background:#ffffff0d}.dark .keypad-btn:active:not(:disabled){background:#60a5fa2e}.dark .keypad-mat.is-active{color:#fff;background:#3b7bff;border-color:#3b7bff}.dark .keypad-caries{color:#f28b82}.dark .keypad-caries.is-active{color:#fff;background:#c62828;border-color:#c62828}.dark .keypad-readout{color:#bfd7ff;background:#60a5fa29}.dark .keypad-readout.is-notice{color:#f6b8b1;background:#f28b8224}.dark .plan-chip{background:#60a5fa1a;border-color:#60a5fa66}.dark .plan-chip-name{color:var(--text)}.dark .plan-chip-name:hover{background:#60a5fa2e}.dark .plan-chip.is-active{background:#60a5fa73;border-color:#60a5fa99}.dark .plan-chip-input{color:var(--text);background:#ffffff0f}.dark .plan-chip-add{color:#93c5fd}.dark .chart-mode-btn.is-active{color:#fff;background:#60a5fa73}.dark .chart-mode-btn.is-active:hover{background:#60a5fa73}.dark .chart.plan-mode{border-color:#60a5fa99;box-shadow:0 0 0 2px #60a5fa47}.dark .proposed-legend{color:var(--text)}.dark .proposed-legend-swatch{border-top-color:#60a5fad9}.dark .tooth-label-cell{color:#f1f5f999}.dark .tooth-label-cell:hover{color:#f1f5f9}.dark .tooth-tile{background:#1e293bb3}.dark .tooth-tile.placeholder{background:#1e293b4d}.dark .tooth-tile:hover{background:#60a5fa1f}@keyframes odon-dash-pulse-dark{0%,to{border-color:#60a5fa73}50%{border-color:#60a5fad9}}@keyframes odon-glow-pulse-dark{0%,to{filter:drop-shadow(0 0 3px #60a5fa33)}50%{filter:drop-shadow(0 0 7px #60a5fa73)}}.dark .tooth-tile.active{background:#60a5fa14;border-color:#60a5fa99}.dark .tooth-tile.active:after{border-color:#60a5fa73;animation-name:odon-dash-pulse-dark}.dark .tooth-tile.active .tooth-svg svg{filter:drop-shadow(0 0 4px #60a5fa4d);animation-name:odon-glow-pulse-dark}.dark .tooth-tile:focus-visible{outline-color:#60a5facc;box-shadow:0 0 0 3px #60a5fa40}.dark .odon-note-backdrop{background:#0000008c}.dark .odon-note-popover{background:var(--panel);box-shadow:0 16px 48px #00000080}.dark .odon-note-textarea{border-color:var(--line);color:var(--text);background:#ffffff0f}.dark .odon-note-textarea:focus{border-color:#60a5fa80;box-shadow:0 0 0 3px #60a5fa33}.dark .panel{background:#1e293bf2}.dark .card{border-color:var(--line);background:#1e293bcc}.dark .icon-btn{background:#1e293bb3}.dark .icon-btn:hover{background:#60a5fa26}.dark .icon-btn-danger{color:#f87171;background:#f871711a;border-color:#f871714d}.dark .icon-btn-danger:hover{background:#f8717133}.dark .warning{color:#fbbf24;background:#fbbf241a;border-color:#fbbf244d}.dark .inline-checks label,.dark .check-grid label,.dark .radio-list label{background:#ffffff0a}.dark .inline-checks label:hover,.dark .check-grid label:hover,.dark .radio-list label:hover{background:#60a5fa1a}.dark .row:has(input[type=checkbox]){background:#ffffff0a}.dark .pill{background:#34d39926;border-color:#34d3994d}.btn-theme{border:1px solid var(--line);width:36px;height:36px;color:var(--text);cursor:pointer;background:#0000000a;border-radius:12px;justify-content:center;align-items:center;padding:0;transition:background .15s;display:flex}.btn-theme:hover{background:#3b7bff1f}.dark .btn-theme{background:#ffffff0f}.dark .btn-theme:hover{background:#60a5fa26}.tooth-note-icon{vertical-align:middle;color:var(--text);align-items:center;margin-inline-start:3px;display:inline-flex}.tooth-note-icon svg{width:13px;height:13px}.odon-note-backdrop{z-index:120;background:#00000059;animation:.12s odon-fade-in;position:fixed;inset:0}.odon-note-popover{background:var(--panel,#fff);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;width:min(320px,90vw);padding:14px;animation:.12s odon-ctx-pop;display:flex;position:relative;box-shadow:0 16px 48px #0003}.odon-note-header{justify-content:space-between;align-items:center;display:flex}.odon-note-title{color:var(--text);font-size:14px;font-weight:700}.odon-note-textarea{border:1px solid var(--line);width:100%;min-height:60px;color:var(--text);resize:vertical;background:#00000005;border-radius:10px;padding:8px 10px;font-family:inherit;font-size:13px}.odon-note-textarea:focus{border-color:#3b7bff80;outline:none;box-shadow:0 0 0 3px #3b7bff2e}.odon-note-textarea::placeholder{color:var(--muted)}.odon-note-actions{gap:8px;display:flex}.odon-note-actions .odon-zoom-btn{flex:1}.warning-item{color:#92400e;background:#eab3081f;border-radius:8px;margin-bottom:4px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.4}.dark .warning-item{color:#fde047;background:#facc151a}.odon-zoom-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;animation:.15s odon-fade-in;display:flex;position:fixed;inset:0}@keyframes odon-fade-in{0%{opacity:0}to{opacity:1}}.odon-zoom-popover{background:var(--panel,#fff);border:1px solid var(--line);border-radius:20px;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:min(360px,90vw);padding:16px;display:flex;box-shadow:0 20px 60px #00000040}.odon-zoom-header{justify-content:space-between;align-items:center;width:100%;display:flex}.odon-zoom-title{color:var(--text);font-size:16px;font-weight:800}.odon-zoom-close{border:1px solid var(--line);width:32px;height:32px;color:var(--text);cursor:pointer;background:#0000000a;border-radius:999px;justify-content:center;align-items:center;font-size:18px;font-weight:700;line-height:1;display:flex}.odon-zoom-close:hover{color:#d94545;background:#d945451f}.odon-zoom-svg{justify-content:center;align-items:center;width:200px;height:200px;display:flex}.odon-zoom-svg svg{pointer-events:none;width:180px;height:180px}.odon-zoom-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.odon-zoom-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:center;background:#3b7bff14;border-radius:12px;padding:10px 8px;font-size:13px;font-weight:600}.odon-zoom-btn:hover{background:#3b7bff2e}.odon-zoom-btn.active{background:#12b9812e;border-color:#12b98180}.odon-zoom-btn.danger{color:#b83a3a;background:#d9454514;border-color:#d945454d}.odon-zoom-btn.danger:hover{background:#d945452e}.odon-ctx-menu{z-index:110;background:var(--panel,#fff);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:4px;min-width:180px;padding:6px;animation:.12s odon-ctx-pop;display:flex;position:fixed;box-shadow:0 12px 40px #0003}@keyframes odon-ctx-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.odon-ctx-item{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:start;background:#00000005;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:600}.odon-ctx-item:hover{background:#3b7bff1a}.odon-ctx-item.danger{color:#b83a3a}.odon-ctx-item.danger:hover{background:#d945451f}.odon-ctx-divider{background:var(--line);height:1px;margin:2px 0}.dark .odon-zoom-overlay{background:#0009}.dark .odon-zoom-popover{background:var(--panel);box-shadow:0 20px 60px #00000080}.dark .odon-zoom-close{background:#ffffff0f}.dark .odon-zoom-close:hover{color:#f87171;background:#f8717126}.dark .odon-zoom-btn{background:#60a5fa1a}.dark .odon-zoom-btn:hover{background:#60a5fa33}.dark .odon-zoom-btn.active{background:#34d3992e;border-color:#34d39966}.dark .odon-zoom-btn.danger{color:#f87171;background:#f871711a;border-color:#f8717140}.dark .odon-ctx-menu{background:var(--panel);box-shadow:0 12px 40px #00000080}.dark .odon-ctx-item{background:#ffffff0a}.dark .odon-ctx-item:hover{background:#60a5fa1f}.dark .odon-ctx-item.danger{color:#f87171}.tooth-grid.odon-pinch-active{touch-action:none;transform-origin:50%;transition:transform 50ms}@media (pointer:coarse){.tooth-tile{min-height:56px}.tooth-tile .tooth-svg{height:80px}.tooth-tile.occl-view .tooth-svg{height:60px}.tooth-label-cell{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.chart-actions .btn-icon{min-width:44px;min-height:44px}}.odon-arch-toggle{border-bottom:1px solid var(--line);justify-content:center;gap:8px;padding:8px 10px;display:none}.odon-arch-toggle .odon-arch-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:center;background:#0000000a;border-radius:12px;flex:1;padding:8px 20px;font-size:13px;font-weight:700}.odon-arch-toggle .odon-arch-btn.active{background:#3b7bff2e;border-color:#3b7bff73}.dark .odon-arch-toggle .odon-arch-btn{background:#ffffff0f}.dark .odon-arch-toggle .odon-arch-btn.active{background:#60a5fa33;border-color:#60a5fa73}@media (max-width:600px){.odon-arch-toggle{display:flex}.tooth-grid.odon-arch-upper .lower-row,.tooth-grid.odon-arch-upper .lower-row+.tooth-label-row,.tooth-grid.odon-arch-lower .upper-row,.tooth-grid.odon-arch-lower .tooth-label-row:first-child{display:none!important}}.odon-export-overlay{z-index:130;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141c288c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.odon-export-card{background:var(--panel);text-align:center;border-radius:18px;min-width:240px;padding:28px 40px;box-shadow:0 20px 60px #1e2a3a40}.odon-export-title{color:var(--muted);margin-bottom:8px;font-size:14px;font-weight:600}.odon-export-pct{color:var(--text);font-size:40px;font-weight:800;line-height:1}.odon-export-phase{color:var(--muted);margin-top:8px;font-size:12px}.odon-tour-backdrop{z-index:140;background:#141c2873;position:fixed;inset:0}.odon-tour-highlight{z-index:141;border:3px solid var(--accent,#3b7bff);pointer-events:none;border-radius:12px;transition:all .15s;position:fixed;box-shadow:0 0 0 9999px #141c2873}.odon-tour-card{z-index:142;background:var(--panel);border-radius:16px;width:300px;padding:18px 20px;position:fixed;box-shadow:0 16px 48px #1e2a3a40}.odon-tour-card-center{top:50%;left:50%;transform:translate(-50%,-50%)}.odon-tour-counter{color:var(--muted);margin-bottom:6px;font-size:11px}.odon-tour-title{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:700}.odon-tour-text{color:var(--muted);margin-bottom:14px;font-size:13px}.odon-tour-actions{justify-content:flex-end;gap:8px;display:flex}.odon-tour-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#0000000a;border-radius:10px;padding:6px 12px;font-weight:600}.odon-tour-btn:disabled{opacity:.4;cursor:default}.odon-tour-skip{background:0 0;margin-right:auto}.odon-tour-next{background:#3b7bff2e;border-color:#3b7bff73}.caries-deep path,.caries-deep circle,.caries-deep ellipse{stroke:#b3261e;stroke-width:.5px}.settings-menu{min-width:200px}.settings-group-label{color:var(--muted);padding:4px 8px 2px;font-size:11px;font-weight:700}.settings-sep{background:var(--line);height:1px;margin:6px 4px}.surf-depth.icdas{color:#fff;background:#b3261e;border-radius:50%;flex-direction:row;justify-content:center;align-items:center;gap:0;min-width:15px;height:15px;padding:0;font-size:10px;font-weight:800}.surf-depth.icdas[data-depth=surface]{background:#e6a23c}.surf-depth.icdas[data-depth=dentin]{background:#d9663d}.surf-depth.icdas[data-depth=deep]{background:#b3261e}.surf-depth.icdas i{display:none}.chart-column{flex-direction:column;grid-column:1;gap:14px;min-width:0;display:flex}.dental-chart-column{flex-direction:column;grid-column:1;min-width:0;display:flex}.ortho-column{min-width:0;grid-column:1/-1;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;inline-size:100%;max-inline-size:1800px;margin-inline:auto;display:grid}@media (min-width:1400px){.ortho-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.schematic-column{grid-column:1/-1;min-width:0;padding:12px 8px;overflow-x:auto}.schematic-chart-wrap{max-inline-size:1600px;margin-inline:auto}.schematic-chart-wrap svg.schematic-chart{width:100%;height:auto;max-height:max(300px,100vh - 412px);margin-inline:auto;display:block}.schematic-chart-outer{position:relative}.schematic-toolbar{justify-content:space-between;align-items:center;gap:12px;max-inline-size:1400px;margin:0 auto 8px;padding:0 2px;display:flex}.schematic-hint{color:var(--muted,#667);font-size:13px}.schematic-toolbar-actions{align-items:center;gap:8px;display:flex}.schematic-hit{cursor:pointer;stroke:#0000;stroke-width:1.5px;transition:stroke 80ms}.schematic-hit:hover{stroke:#9bbcff}.schematic-hit.is-active{stroke:#0000}.schematic-hit.is-active:hover{stroke:#9bbcff}.odontogram-root svg.schematic-chart .schem-num-sel{display:none}.odontogram-root svg.schematic-chart .schem-num-sel.is-selected{display:inline}.odontogram-root svg.schematic-chart .schem-num.is-selected{display:none}.schematic-canal-hit{cursor:pointer;stroke:#0000;stroke-width:1.5px;transition:stroke 80ms}.schematic-canal-hit.is-armed:hover{stroke:#d98f4a}.schematic-surf-hit{cursor:pointer;stroke:#0000;stroke-width:1.2px;transition:stroke 80ms,fill 80ms}.schematic-surf-hit.is-armed:hover{stroke:#3b7bff;fill:#3b7bff1a}.schematic-tooltip{z-index:180;pointer-events:none;color:#222;border:1px solid var(--line,#d8dde3);background:#fffffffa;border-radius:8px;max-width:320px;padding:8px 10px;font-size:12px;line-height:1.4;position:fixed;box-shadow:0 6px 20px #00000024}.schematic-tooltip-title{margin-bottom:2px;font-weight:700}.schematic-tooltip-line{white-space:normal}.schematic-tooltip-empty{color:#999}.layout.schematic-edit:not(.schematic-edit-all) aside.panel{display:none}.layout.schematic-edit.schematic-edit-all aside.panel{grid-column:1/-1;margin-top:4px;display:block;overflow:visible}.layout.schematic-edit.schematic-edit-all .panel-body{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:12px;max-height:none;display:grid;overflow:visible}.layout.dock-mode:not(.dock-mode-all) aside.panel{display:none}.layout.dock-mode .chart-column{grid-column:1/-1}.layout.dock-mode .befund-dock-column{grid-column:1/-1;min-width:0}.layout.dock-mode #toothGrid{zoom:.82}.layout.dock-mode.dock-mode-all aside.panel{grid-column:1/-1;margin-top:4px;display:block;overflow:visible}.layout.dock-mode.dock-mode-all .panel-body{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:12px;max-height:none;display:grid;overflow:visible}.layout.schematic-edit.schematic-edit-all .panel-body>*,.layout.dock-mode.dock-mode-all .panel-body>*{min-width:0;max-width:100%}.layout.schematic-edit.schematic-edit-all .panel-body .row,.layout.dock-mode.dock-mode-all .panel-body .row{flex-wrap:wrap}.layout.schematic-edit.schematic-edit-all .panel-body select,.layout.dock-mode.dock-mode-all .panel-body select{flex:150px;min-width:0;max-width:100%}.layout.schematic-edit.schematic-edit-all .panel-body .row>label,.layout.dock-mode.dock-mode-all .panel-body .row>label{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.schematic-keypad{border:1px solid var(--line,#d8dde3);background:#ffffffe6;border-radius:10px;max-inline-size:1600px;margin:4px auto 0;padding:6px 10px 8px}.keypad-readout{color:#274b8f;background:#3b7bff1a;border-radius:6px;margin-inline-start:auto;padding:2px 8px;font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace}.keypad-readout.is-notice{color:#9b1c1c;background:#c628281a;font-family:inherit;font-weight:500}.schematic-keypad.is-disabled .keypad-row-label,.schematic-keypad.is-disabled .keypad-hint{opacity:.6}.keypad-head{align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.keypad-title{font-size:14px;font-weight:700}.keypad-active{color:var(--muted,#667);font-size:13px}.keypad-groups{flex-wrap:wrap;align-items:flex-start;gap:6px 0;display:flex}.keypad-group{border-inline-start:1px solid var(--line,#d8dde3);padding:0 12px}.keypad-group:first-child{border-inline-start:0;padding-inline-start:0}.keypad-group-title{letter-spacing:.09em;text-transform:uppercase;color:var(--muted,#667);margin:0 0 3px;font-size:10px;font-weight:700}.keypad-row{flex-direction:row;align-items:center;gap:5px;margin:3px 0 0;display:flex}.keypad-row:first-of-type{margin-top:0}.keypad-row-label{text-align:start;inline-size:auto;color:var(--muted,#667);letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:10px}.keypad-keys{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.keypad-btn{border:1px solid var(--line,#d8dde3);color:#222;cursor:pointer;background:#fff;border-radius:5px;block-size:27px;min-inline-size:30px;padding:0 7px;font-size:12.5px;font-weight:600;transition:border-color 80ms,color 80ms,background 80ms;position:relative}.keypad-btn:hover:not(:disabled){color:#3b7bff;border-color:#3b7bff}.keypad-btn[data-tip]:after{content:attr(data-tip);z-index:60;text-align:center;color:#fff;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;background:#1f2937;border-radius:6px;width:max-content;max-width:220px;padding:6px 9px;font-size:12px;font-weight:500;line-height:1.35;transition:opacity .12s,visibility 0s linear .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0000002e}.keypad-btn[data-tip]:before{content:"";z-index:60;opacity:0;visibility:hidden;pointer-events:none;border:5px solid #0000;border-top-color:#1f2937;transition:opacity .12s,visibility 0s linear .12s;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}.keypad-btn[data-tip]:hover:not(:disabled):after,.keypad-btn[data-tip]:hover:not(:disabled):before,.keypad-btn[data-tip]:focus-visible:after,.keypad-btn[data-tip]:focus-visible:before{opacity:1;visibility:visible;transition-delay:.3s,.3s}@media (prefers-reduced-motion:reduce){.keypad-btn[data-tip]:after,.keypad-btn[data-tip]:before{transition:none}}.keypad-btn:active:not(:disabled){background:#eef4ff}.keypad-btn:disabled{opacity:.4;cursor:default}.keypad-surf{min-inline-size:30px}.keypad-mat.is-active{color:#fff;background:#3b7bff;border-color:#3b7bff}.keypad-caries{color:#b3261e}.keypad-caries.is-active{color:#fff;background:#c62828;border-color:#c62828}.keypad-caries:hover:not(:disabled){color:#c62828;border-color:#c62828}.keypad-caries.is-active:hover:not(:disabled){color:#fff}.keypad-hint{color:#8a94a2;margin-inline-start:4px;font-size:12px}.perio-inline-panel{min-height:480px}.tooth-info{margin-top:0}.tooth-info-overview{margin:0 0 10px;font-weight:600}.tooth-info-list{color:var(--muted);margin:0 0 6px;font-size:13px}.tooth-info-line{margin:6px 0 0;font-size:13px;line-height:1.5}.tooth-info-heading{font-weight:700}.tooth-info-empty{color:var(--muted);font-style:italic}.tooth-info-notes{margin:6px 0 0;font-size:13px;line-height:1.5}.tooth-info-note-item{margin:2px 0 0 12px}.planned-changes{background:#3b7bff14;border:1px solid #3b7bff59;border-radius:12px;margin-top:10px;padding:8px 10px}.planned-changes .tooth-info-heading{margin-bottom:4px}.planned-changes-item{margin:4px 0 0;font-size:13px;line-height:1.5}.dark .planned-changes{background:#60a5fa1f;border-color:#60a5fa66}.odon-settings-backdrop{z-index:150;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141c288c;justify-content:center;align-items:center;padding:16px;animation:.12s odon-fade-in;display:flex;position:fixed;inset:0}.odon-settings-modal{background:var(--panel,#fff);border:1px solid var(--line);border-radius:18px;flex-direction:column;width:min(640px,96vw);max-height:min(84vh,720px);animation:.12s odon-ctx-pop;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 64px #141c284d}.odon-settings-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.odon-settings-title{color:var(--text);margin:0;font-size:16px;font-weight:700}.odon-settings-close{border:1px solid var(--line);width:32px;height:32px;color:var(--text);cursor:pointer;background:#0000000a;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.odon-settings-close:hover{background:#00000014}.odon-settings-close:focus-visible{outline:none;box-shadow:0 0 0 3px #3b7bff59}.odon-settings-body{flex:1;min-height:0;display:flex}.odon-settings-tabs{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:2px;width:168px;padding:12px 10px;display:flex;overflow-y:auto}.odon-settings-tab{text-align:start;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.odon-settings-tab:hover{color:var(--text);background:#0000000a}.odon-settings-tab.is-active{color:var(--text);background:#3b7bff24;border-color:#3b7bff59}.odon-settings-tab:focus-visible{outline:none;box-shadow:0 0 0 3px #3b7bff4d}.odon-settings-panel{flex-direction:column;flex:1;gap:14px;min-width:0;padding:16px 18px;display:flex;overflow-y:auto}.odon-settings-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:4px 0 -2px;font-size:11px;font-weight:700}.odon-settings-group-title:first-child{margin-top:0}.odon-settings-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.odon-settings-row-disabled{opacity:.6}.odon-settings-row-text{flex:1;min-width:0}.odon-settings-row-label{color:var(--text);font-size:13px;font-weight:700}.odon-settings-row-desc{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.45}.odon-settings-row-control{flex-shrink:0}.odon-settings-badge{color:var(--accent,#3b7bff);text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;background:#3b7bff24;border-radius:999px;margin-inline-start:6px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.odon-settings-select{border:1px solid var(--line);background:var(--panel,#fff);min-width:150px;color:var(--text);border-radius:10px;padding:6px 10px;font-family:inherit;font-size:13px}.odon-settings-select:focus-visible{border-color:#3b7bff80;outline:none;box-shadow:0 0 0 3px #3b7bff4d}.odon-settings-switch{cursor:pointer;align-items:center;width:42px;height:24px;display:inline-flex;position:relative}.odon-settings-switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.odon-settings-switch-track{background:#78829159;border-radius:999px;transition:background .15s;position:absolute;inset:0}.odon-settings-switch-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.odon-settings-switch input:checked+.odon-settings-switch-track{background:var(--accent,#3b7bff)}.odon-settings-switch input:checked+.odon-settings-switch-track:after{transform:translate(18px)}.odon-settings-switch input:focus-visible+.odon-settings-switch-track{box-shadow:0 0 0 3px #3b7bff4d}.dark .odon-settings-close{background:#ffffff0f}.dark .odon-settings-close:hover{background:#ffffff1f}.dark .odon-settings-tab:hover{background:#ffffff0f}.dark .odon-settings-select{background:#1e293b}@media (max-width:520px){.odon-settings-body{flex-direction:column}.odon-settings-tabs{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;width:auto;overflow-x:auto}}.odon-confirm-backdrop{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141c288c;justify-content:center;align-items:center;padding:16px;animation:.12s odon-fade-in;display:flex;position:fixed;inset:0}.odon-confirm-modal{background:var(--panel,#fff);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:18px;width:min(420px,96vw);padding:22px 22px 18px;animation:.12s odon-ctx-pop;display:flex;position:relative;box-shadow:0 24px 64px #141c284d}.odon-confirm-message{color:var(--text);margin:0;font-size:14px;line-height:1.5}.odon-confirm-actions{justify-content:flex-end;gap:10px;display:flex}.odon-confirm-btn{border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:600}.odon-confirm-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #3b7bff59}.odon-confirm-cancel{color:var(--text);background:#0000000a}.odon-confirm-cancel:hover{background:#00000014}.odon-confirm-accept{background:var(--brand,#3b7bff);color:#fff;border-color:#0000}.odon-confirm-accept:hover{filter:brightness(1.05)}.dark .odon-confirm-cancel{background:#ffffff0f}.dark .odon-confirm-cancel:hover{background:#ffffff1f}.perio-overlay{z-index:160;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141c288c;justify-content:center;align-items:center;padding:16px;animation:.12s odon-fade-in;display:flex;position:fixed;inset:0}.perio-overlay-panel{background:var(--panel,#fff);border:1px solid var(--line);border-radius:18px;flex-direction:column;width:min(960px,96vw);max-height:min(90vh,800px);animation:.12s odon-ctx-pop;display:flex;overflow:hidden;box-shadow:0 24px 64px #141c284d}.perio-overlay-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.perio-overlay-title{color:var(--text);margin:0;font-size:16px;font-weight:700}.perio-overlay-close{border:1px solid var(--line);width:32px;height:32px;color:var(--text);cursor:pointer;background:#0000000a;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.perio-overlay-close:hover{background:#00000014}.perio-overlay-close:focus-visible{outline:none;box-shadow:0 0 0 3px #3b7bff59}.perio-overlay-body{flex-direction:column;flex:1;gap:10px;min-height:240px;padding:16px 18px;display:flex;overflow-y:auto}.dark .perio-overlay-close{background:#ffffff0f}.dark .perio-overlay-close:hover{background:#ffffff1f}.perio-fullgrid-summary{border:1px solid var(--line);z-index:3;background:#00000005;border-radius:10px;flex-wrap:wrap;flex:none;gap:14px;padding:10px 12px;display:flex;position:sticky;top:0}.dark .perio-fullgrid-summary{background:#ffffff0a}.perio-fullgrid-summary-item{align-items:baseline;gap:6px;font-size:12px;display:flex}.perio-fullgrid-summary-label{color:var(--muted)}.perio-fullgrid-summary-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.perio-summary-card,.case-meta-panel{border:1px solid var(--line);background:#ffffffe6;border-radius:16px}.dark .perio-summary-card,.dark .case-meta-panel{border-color:var(--line);background:#1e293bcc}.perio-summary-card{padding:12px}.perio-summary-card-title{color:var(--text);margin-bottom:10px;font-weight:800}.perio-summary-card .perio-fullgrid-summary{background:0 0;border:none;grid-template-columns:repeat(2,1fr);gap:8px 16px;padding:0;display:grid;position:static}.case-meta-panel{overflow:hidden}.case-meta-panel-title{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;padding:12px;font-weight:800;list-style:none;display:flex}.case-meta-panel-title::-webkit-details-marker{display:none}.case-meta-panel-title:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex-shrink:0;width:8px;height:8px;transition:transform .15s;transform:rotate(-45deg)}.case-meta-panel[open] .case-meta-panel-title:after{transform:rotate(45deg)}.case-meta-panel-title:hover{background:#00000008}.dark .case-meta-panel-title:hover{background:#ffffff0a}.case-meta-panel-title:focus-visible{outline:none;box-shadow:inset 0 0 0 3px #3b7bff4d}.case-meta-panel-body{border-top:1px solid var(--line);flex-direction:column;padding:2px 12px 14px;display:flex}.case-meta-row{-moz-column-gap:12px;grid-template-columns:max-content 1fr;align-items:center;column-gap:12px;padding-top:10px;display:grid}.case-meta-row:first-child{padding-top:12px}.case-meta-row-label{color:var(--text);font-size:13px;font-weight:600}.case-meta-row-disabled{opacity:.55}.case-meta-row-disabled .case-meta-row-label{color:var(--muted)}.case-meta-input,.case-meta-select{border:1px solid var(--line);background:var(--panel,#fff);color:var(--text);border-radius:10px;justify-self:start;padding:6px 10px;font-family:inherit;font-size:13px}.case-meta-input:focus-visible,.case-meta-select:focus-visible{border-color:#3b7bff80;outline:none;box-shadow:0 0 0 3px #3b7bff4d}.case-meta-input-narrow{width:72px}.dark .case-meta-input,.dark .case-meta-select{background:#1e293b}.case-meta-panel-subheading{border-top:1px solid var(--line);color:var(--text);margin-top:10px;padding-top:12px;font-size:13px;font-weight:800}.perio-class-row{-moz-column-gap:12px;grid-template-columns:max-content 1fr;align-items:center;gap:6px 12px;padding-top:10px;display:grid}.perio-class-row-label{color:var(--text);font-size:13px;font-weight:600}.perio-class-derived{color:var(--muted);justify-self:start;font-size:12px;font-style:italic}.perio-class-row .case-meta-select{grid-column:1/-1;width:100%;min-width:0}@media (max-width:600px){.perio-summary-card .perio-fullgrid-summary{grid-template-columns:1fr}.case-meta-row,.perio-class-row{grid-template-columns:1fr;row-gap:6px}.case-meta-input,.case-meta-select{justify-self:stretch;width:100%}.case-meta-input-narrow{width:100%}}.perio-tooth-arch{width:100%;height:auto;display:block}.perio-curve-cej{stroke:#e11d48;stroke-width:.8px;opacity:.85}.perio-curve-band{fill:#3b82f6;fill-opacity:.18;stroke:none}.perio-curve-margin{fill:none;stroke:#f472b6;stroke-width:.9px;stroke-linejoin:round;stroke-linecap:round}.perio-curve-pocket{fill:none;stroke:#1d4ed8;stroke-width:1.1px;stroke-linejoin:round;stroke-linecap:round}.dark .perio-curve-band{fill-opacity:.24}.dark .perio-curve-pocket{stroke:#60a5fa}.dark .perio-curve-margin{stroke:#f9a8d4}.perio-mm-line{stroke:#94a3b8;fill:none;vector-effect:non-scaling-stroke}.perio-mm-line-minor{stroke-width:.35px;opacity:.28}.perio-mm-line-major{stroke-width:.6px;opacity:.5}.perio-mm-label{fill:#64748b;opacity:.7;dominant-baseline:middle;pointer-events:none;font-size:5px;font-weight:600}.dark .perio-mm-line{stroke:#64748b}.dark .perio-mm-line-minor{opacity:.35}.dark .perio-mm-line-major{opacity:.55}.dark .perio-mm-label{fill:#94a3b8;opacity:.8}.perio-chart-header{-moz-column-gap:12px;flex-wrap:wrap;gap:10px 12px}.perio-chart-header .chart-title{font-weight:800}.perio-overlay-switch{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.perio-overlay-switch-btn{border:1px solid var(--line);background:var(--card,#fff);color:var(--text);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4}.perio-overlay-switch-btn:hover{border-color:var(--accent,#3b82f6)}.perio-overlay-switch-btn.is-active{background:var(--accent,#3b82f6);border-color:var(--accent,#3b82f6);color:#fff}.perio-overlay-switch-btn:focus-visible{outline:2px solid var(--accent,#3b82f6);outline-offset:1px}.perio-overlay-readout{color:var(--text);font-variant-numeric:tabular-nums;margin-inline-start:6px;font-size:12px;font-weight:700}.dark .perio-overlay-switch-btn{background:#ffffff0a}.dark .perio-overlay-switch-btn.is-active{color:#0b1220}.perio-assessment-toggle{color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.perio-assessment-toggle input{cursor:pointer}.perio-overlay-mark{vector-effect:non-scaling-stroke}.perio-overlay-bop{fill:#e11d48;opacity:.9;stroke:#fff;stroke-width:.4px}.perio-overlay-plaque{fill:#f59e0b;opacity:.85;stroke:#fff;stroke-width:.4px}.perio-overlay-pd5{fill:#fb923c;fill-opacity:.55;stroke:none}.perio-overlay-pd6{fill:#dc2626;fill-opacity:.55;stroke:none}.dark .perio-overlay-bop{fill:#fb7185;stroke:#0b1220}.dark .perio-overlay-plaque{fill:#fbbf24;stroke:#0b1220}.dark .perio-overlay-pd5{fill:#fdba74;fill-opacity:.5}.dark .perio-overlay-pd6{fill:#f87171;fill-opacity:.5}.perio-overlay-pd .perio-overlay-heat-shallow,.perio-overlay-cal .perio-overlay-heat-shallow{fill:#facc15;fill-opacity:.55;stroke:none}.perio-overlay-pd .perio-overlay-heat-moderate,.perio-overlay-cal .perio-overlay-heat-moderate{fill:#fb923c;fill-opacity:.6;stroke:none}.perio-overlay-pd .perio-overlay-heat-deep,.perio-overlay-cal .perio-overlay-heat-deep{fill:#dc2626;fill-opacity:.65;stroke:none}.perio-overlay-gr .perio-overlay-heat-shallow{fill:#7dd3fc;fill-opacity:.6;stroke:none}.perio-overlay-gr .perio-overlay-heat-moderate{fill:#38bdf8;fill-opacity:.65;stroke:none}.perio-overlay-gr .perio-overlay-heat-deep{fill:#0369a1;fill-opacity:.7;stroke:none}.dark .perio-overlay-pd .perio-overlay-heat-shallow,.dark .perio-overlay-cal .perio-overlay-heat-shallow{fill:#fde047;fill-opacity:.5}.dark .perio-overlay-pd .perio-overlay-heat-moderate,.dark .perio-overlay-cal .perio-overlay-heat-moderate{fill:#fdba74;fill-opacity:.55}.dark .perio-overlay-pd .perio-overlay-heat-deep,.dark .perio-overlay-cal .perio-overlay-heat-deep{fill:#f87171;fill-opacity:.6}.dark .perio-overlay-gr .perio-overlay-heat-shallow{fill:#93c5fd;fill-opacity:.55}.dark .perio-overlay-gr .perio-overlay-heat-moderate{fill:#60a5fa;fill-opacity:.6}.dark .perio-overlay-gr .perio-overlay-heat-deep{fill:#38bdf8;fill-opacity:.75}.perio-fullgrid-scroll{border:1px solid var(--line);border-radius:10px;flex:auto;overflow:auto}.perio-fullgrid-arch{align-items:stretch;display:grid}.perio-fullgrid-arch+.perio-fullgrid-arch{border-top:2px solid var(--line)}.perio-fullgrid-row-label{z-index:2;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--line);border-right:1px solid var(--line);align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:flex;position:sticky;left:0}.perio-fullgrid-row-label-text{white-space:normal;overflow-wrap:break-word;min-width:0;line-height:1.25}.perio-info-btn{border:1px solid var(--muted,#7b8794);width:14px;height:14px;color:var(--muted,#7b8794);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:9px;font-style:italic;font-weight:700;line-height:1;display:inline-flex}.perio-info-btn:hover{border-color:var(--accent,#3b7bff);color:var(--accent,#3b7bff)}.perio-info-btn:focus-visible{border-color:var(--accent,#3b7bff);color:var(--accent,#3b7bff);outline:none;box-shadow:0 0 0 2px #3b7bff59}.perio-info-popover{z-index:165;background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:280px;padding:10px 12px;position:fixed;box-shadow:0 12px 24px #1e2a3a2e}.perio-info-popover-text{color:var(--text);margin:0;font-size:12px;line-height:1.5}.perio-fullgrid-header-cell{z-index:1;color:var(--text);background:var(--panel);border-bottom:1px solid var(--line);justify-content:center;align-items:center;padding:6px 4px;font-size:12px;font-weight:700;display:flex;position:sticky;top:0}.perio-fullgrid-arch .perio-fullgrid-row-label:first-child,.perio-fullgrid-header-cell+.perio-fullgrid-header-cell:first-of-type{z-index:4}.perio-fullgrid-graphic-cell{border-bottom:1px solid var(--line);border-left:1px solid var(--line);line-height:0;display:block;overflow:hidden}.perio-fullgrid-graphic-cell .perio-tooth-arch{display:block}.perio-fullgrid-band-label{letter-spacing:.01em;color:var(--text);background:var(--panel);border-bottom:1px solid var(--line);border-left:1px solid var(--line);justify-content:center;align-items:center;gap:8px;padding:4px 10px;font-size:13px;font-weight:700;display:flex}.perio-fullgrid-band-label-buccal,.perio-fullgrid-band-label-lingual{white-space:nowrap}.perio-fullgrid-cell{border-bottom:1px solid var(--line);border-left:1px solid var(--line);justify-content:center;align-items:center;padding:3px 1px;display:flex}.perio-fullgrid-sitegroup{gap:1px;width:100%;display:flex}.perio-fullgrid-input{box-sizing:border-box;text-align:center;border:1px solid var(--line);background:var(--card);width:100%;min-width:0;color:var(--text);-moz-appearance:textfield;border-radius:4px;flex:1 1 0;padding:3px 0;font-size:10px}.perio-fullgrid-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.perio-fullgrid-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.perio-fullgrid-input:disabled,.perio-fullgrid-mobility-select:disabled{opacity:.45;cursor:not-allowed}.perio-fullgrid-cal{box-sizing:border-box;font-variant-numeric:tabular-nums;width:100%;min-width:0;color:var(--muted);flex:1 1 0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.perio-fullgrid-kg{flex:none;width:30px}.perio-fullgrid-bop{width:14px;height:14px;margin:auto}.perio-fullgrid-cell-mobility{padding:3px 6px}.perio-fullgrid-mobility-select{border:1px solid var(--line);background:var(--card);width:100%;color:var(--text);border-radius:4px;padding:3px 4px;font-size:11px}.perio-fullgrid-furc{text-align:center;cursor:pointer;border:1px solid var(--line);background:var(--card);width:20px;height:20px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:4px;padding:0;font-size:10px;font-weight:700;line-height:1}.perio-fullgrid-furc[data-grade]:not([data-grade="0"]){border-color:var(--accent,#c0392b);background:var(--accent,#c0392b);color:#fff}.perio-fullgrid-furc:disabled{opacity:.45;cursor:not-allowed}.perio-fullgrid-assess{text-align:center;cursor:pointer;border:1px dashed var(--line);background:var(--card);width:20px;height:20px;color:var(--muted);border-radius:4px;padding:0;font-size:9px;font-weight:700;line-height:1}.perio-fullgrid-assess[data-assessment-status]:not([data-assessment-status=not-assessed]){border-style:solid;border-color:var(--muted);color:var(--text);font-weight:800}.perio-fullgrid-assess:disabled{opacity:.45;cursor:not-allowed}.perio-fullgrid-plaque-quad{grid-template-rows:repeat(3,16px);grid-template-columns:repeat(2,16px);grid-template-areas:"buc buc""mes dis""lin lin";gap:2px;display:grid}.perio-fullgrid-plaque-quad>button{width:16px;height:16px}.perio-fullgrid-plaque-buccal,.perio-fullgrid-plaque-lingual,.perio-fullgrid-pi-buccal,.perio-fullgrid-pi-lingual,.perio-fullgrid-gi-buccal,.perio-fullgrid-gi-lingual,.perio-fullgrid-mpi-buccal,.perio-fullgrid-mpi-lingual,.perio-fullgrid-mbi-buccal,.perio-fullgrid-mbi-lingual{justify-self:center}.perio-fullgrid-plaque{cursor:pointer;border:1px solid var(--line);background:var(--card);border-radius:3px;width:16px;height:16px;padding:0;font-size:0}.perio-fullgrid-plaque[data-present="1"]{background:var(--accent,#2d6cdf);border-color:var(--accent,#2d6cdf)}.perio-fullgrid-plaque:disabled{opacity:.45;cursor:not-allowed}.dark .perio-fullgrid-furc,.dark .perio-fullgrid-plaque{background:#ffffff0a}.dark .perio-fullgrid-furc[data-grade]:not([data-grade="0"]){background:var(--accent,#e05252);border-color:var(--accent,#e05252)}.dark .perio-fullgrid-plaque[data-present="1"]{background:var(--accent,#4d8bff);border-color:var(--accent,#4d8bff)}.perio-fullgrid-cej,.perio-fullgrid-rootconcavity,.perio-fullgrid-gt,.perio-fullgrid-miller{text-align:center;cursor:pointer;border:1px solid var(--line);background:var(--card);width:30px;height:24px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:4px;padding:0;font-size:9px;font-weight:700;line-height:1}.perio-fullgrid-cej[data-value]:not([data-value=none]),.perio-fullgrid-rootconcavity[data-value]:not([data-value=none]),.perio-fullgrid-gt[data-value]:not([data-value=unknown]),.perio-fullgrid-miller[data-value]:not([data-value=none]){border-color:var(--accent,#c0392b);background:var(--accent,#c0392b);color:#fff}.perio-fullgrid-cej:disabled,.perio-fullgrid-rootconcavity:disabled,.perio-fullgrid-gt:disabled,.perio-fullgrid-miller:disabled{opacity:.45;cursor:not-allowed}.dark .perio-fullgrid-cej,.dark .perio-fullgrid-rootconcavity,.dark .perio-fullgrid-gt,.dark .perio-fullgrid-miller{background:#ffffff0a}.dark .perio-fullgrid-cej[data-value]:not([data-value=none]),.dark .perio-fullgrid-rootconcavity[data-value]:not([data-value=none]),.dark .perio-fullgrid-gt[data-value]:not([data-value=unknown]),.dark .perio-fullgrid-miller[data-value]:not([data-value=none]){background:var(--accent,#e05252);border-color:var(--accent,#e05252)}@media (max-width:1100px){.perio-fullgrid-bop{width:12px;height:12px}.perio-fullgrid-plaque-quad{grid-template-rows:repeat(3,13px);grid-template-columns:repeat(2,13px);gap:1px}.perio-fullgrid-plaque-quad>button,.perio-fullgrid-plaque{width:13px;height:13px}.perio-fullgrid-furc{width:17px;height:17px}.perio-fullgrid-cej,.perio-fullgrid-rootconcavity,.perio-fullgrid-gt,.perio-fullgrid-miller{width:25px;height:21px}.perio-fullgrid-kg{width:24px}}@media (max-width:600px){.perio-fullgrid-bop{width:11px;height:11px}.perio-fullgrid-plaque-quad{grid-template-rows:repeat(3,10px);grid-template-columns:repeat(2,10px);gap:1px}.perio-fullgrid-plaque-quad>button,.perio-fullgrid-plaque{width:10px;height:10px}.perio-fullgrid-furc{width:15px;height:15px;font-size:9px}.perio-fullgrid-cej,.perio-fullgrid-rootconcavity,.perio-fullgrid-gt,.perio-fullgrid-miller{width:20px;height:17px;font-size:8px}.perio-fullgrid-kg{width:20px}.perio-fullgrid-mobility-select{padding:2px 3px;font-size:10px}}@media (max-width:520px){.perio-fullgrid-plaque-quad{grid-template-rows:repeat(3,8px);grid-template-columns:repeat(2,8px)}.perio-fullgrid-plaque-quad>button,.perio-fullgrid-plaque{width:8px;height:8px}.perio-fullgrid-cej,.perio-fullgrid-rootconcavity,.perio-fullgrid-gt,.perio-fullgrid-miller{width:17px;height:15px}.perio-fullgrid-kg{width:16px}}.implant-product{border:1px solid var(--line);background:#ffffff80;border-radius:10px;flex-direction:column;gap:6px;margin-top:6px;padding:8px 10px;display:flex}.implant-product.hidden{display:none}.implant-product-head{justify-content:space-between;align-items:baseline;gap:8px;font-weight:600;display:flex}.implant-product-head .hint{font-weight:400}.implant-product .row{gap:8px}.implant-product input[type=text]{flex:auto;min-width:0}.implant-product-dims input[type=number]{width:5.5em}.implant-product-readout{min-height:1em}#examinationCard .examination-baseline{margin:0 0 8px}#examinationCard .examination-actions{flex-wrap:wrap;align-items:center;gap:6px}#examinationCard input[type=date]{border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:8px;padding:4px 6px}#examinationCard .examination-list{color:var(--muted);margin:8px 0 0;padding:0;font-size:12px;list-style:none}#examinationCard .examination-list li{padding:2px 0}#examinationCard .examination-list li.is-baseline{color:inherit;font-weight:600}#examinationCard .examination-badge{color:#2e3192;background:#2e31921f;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600}.baseline-correcting{background:#b9770e14;border:2px dashed #b9770e;border-radius:10px;padding:8px}.baseline-correcting-text{margin:0 0 8px;font-size:12px;line-height:1.35}.dropdown-check{cursor:pointer;border-top:1px solid var(--line);align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.dropdown-check input{margin:0}.dropdown-hint{color:var(--muted);max-width:280px;margin:0;padding:0 12px 8px;font-size:11px;line-height:1.35}.tooth-tile[data-retention=ste]:after,.tooth-tile[data-retention*=G]:after{content:attr(data-retention);letter-spacing:.02em;color:#5b3a8e;pointer-events:none;white-space:nowrap;background:#5b3a8e1a;border-radius:4px;padding:1px 4px;font-size:10px;font-weight:700;line-height:1;position:absolute;left:50%;transform:translate(-50%)}.tooth-tile.upper-row[data-retention]:after{bottom:2px}.tooth-tile.lower-row[data-retention]:after{top:2px}.tooth-tile.occl-view[data-retention]:after{display:none}#toothGrid>svg.retention-overlay{pointer-events:none;z-index:3;position:absolute;inset:0}.retention-overlay-bar{fill:#8e7cc3;stroke:#4a3b6b;stroke-width:.75px}.retention-overlay-clasp{fill:#1a1a1a;stroke:none}#toothGrid>svg.splint-overlay{pointer-events:none;z-index:3;position:absolute;inset:0}.splint-overlay-bar{fill:#8a9096;stroke:#5c6166;stroke-width:.75px}#toothGrid>svg.occlusal-splint-overlay{pointer-events:none;z-index:3;position:absolute;inset:0}.occlusal-splint-overlay-band{fill:#7fb3d5;fill-opacity:.45;stroke:#4a7fb5;stroke-width:.75px}#toothGrid>svg.ortho-overlay{pointer-events:none;z-index:3;position:absolute;inset:0}.ortho-overlay-wire{fill:none;stroke:#5b6472;stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round}.ortho-overlay-bracket rect{fill:#c9ced6;stroke:#5b6472;stroke-width:.9px}.ortho-overlay-slot{stroke:#3c434e;stroke-width:1px}.ortho-overlay-bracket.is-lingual{opacity:.4}.ortho-overlay-bracket.is-lingual rect{stroke-dasharray:2 1.5}.ortho-overlay-band{fill:#c9ced6;stroke:#5b6472;stroke-width:1px;opacity:.9}.tooth-tile.side-view svg #ortho-bracket,.tooth-tile.side-view svg #ortho-ring{display:none!important}.tooth-tile.occl-view[data-ortho-bracket-flip] svg #ortho-bracket{transform-box:view-box;transform-origin:50%;transform:scaleY(-1)}.implant-product-gap{color:#b9770e;font-weight:600}.settings-colour-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 14px;margin:10px 0 14px;display:grid}.settings-colour-row{cursor:pointer;align-items:center;gap:9px;font-size:13px;display:flex}.settings-colour-row input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;block-size:26px;inline-size:34px;padding:0}.ma-card{flex-direction:column;gap:12px;display:flex}.ma-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ma-head h3{margin:0;font-size:15px}.ma-viewswitch{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.ma-viewswitch button{background:var(--card);color:var(--muted);font:inherit;cursor:pointer;border:0;padding:4px 12px;font-size:12px}.ma-viewswitch button+button{border-inline-start:1px solid var(--line)}.ma-viewswitch button.is-active{background:var(--accent);color:#fff}.ma-viewswitch button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ma-arch{flex-direction:column;gap:10px;display:flex;overflow-x:auto}.ma-arch-row{align-items:center;gap:8px;display:flex}.ma-arch-label{inline-size:6.5em;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex:none;font-size:11px}.ma-arch-teeth{gap:2px;display:flex}.ma-arch-cell{flex-direction:column;align-items:center;gap:2px;display:flex}.ma-arch-cell.is-midline{border-inline-start:1px dashed var(--line);margin-inline-start:9px;padding-inline-start:8px}.ma-arch-tooth{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.ma-width-input{text-align:center;inline-size:3.6em;font:inherit;font-variant-numeric:tabular-nums;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:5px;padding:3px 4px;font-size:12px}.ma-width-input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.ma-width-input:disabled{opacity:.55;cursor:not-allowed}.ma-width-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ma-width-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ma-width-input{appearance:textfield}.ma-list-scroll{overflow-x:auto}.ma-list,.ma-indices{border-collapse:collapse;inline-size:100%;font-size:12px}.ma-list th,.ma-list td,.ma-indices th,.ma-indices td{text-align:start;border-block-end:1px solid var(--line);padding:3px 8px}.ma-list thead th,.ma-indices thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10px;font-weight:600}.ma-list th[scope=row]{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:600}.ma-sums{grid-template-columns:repeat(3,1fr);gap:6px 10px;display:grid}@media (min-width:900px){.ma-sums{grid-template-columns:repeat(6,1fr)}}@media (max-width:520px){.ma-sums{grid-template-columns:repeat(2,1fr)}}.ma-sum{border:1px solid var(--line);background:var(--panel);border-radius:7px;flex-direction:column;padding:5px 8px;display:flex}.ma-sum-label{color:var(--muted);font-size:10px}.ma-sum-value{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.ma-sum-value small{color:var(--muted);font-size:10px;font-weight:400}.ma-num{font-variant-numeric:tabular-nums;text-align:end}.ma-norm{color:var(--muted)}.ma-delta.is-over{color:#b9770e}.ma-delta.is-under{color:#2563eb}.ma-bar-cell{inline-size:88px}.ma-bar{background:color-mix(in srgb,var(--line) 55%,transparent);border-radius:3px;block-size:9px;inline-size:80px;display:block;position:relative}.ma-bar-empty{opacity:.4}.ma-bar-axis{background:var(--muted);inline-size:1px;position:absolute;inset-block:0;inset-inline-start:50%}.ma-bar-fill{border-radius:2px;min-inline-size:2px;position:absolute;inset-block:1px}.ma-bar-fill.is-over{background:#b9770e}.ma-bar-fill.is-under{background:#2563eb}.ma-findings{grid-template-columns:auto 1fr;gap:2px 12px;margin:0;font-size:12px;display:grid}.ma-findings dt{color:var(--muted)}.ma-findings dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.ma-findings dd small{color:var(--muted);font-size:10px;font-weight:400}.ma-visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.ma-occlusal{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:repeat(2,1fr);gap:6px 14px;padding:8px 10px;display:grid}@media (min-width:760px){.ma-occlusal{grid-template-columns:repeat(4,1fr)}}.ma-occl-field{flex-direction:column;gap:2px;display:flex}.ma-occl-field label{color:var(--muted);font-size:10px}.ma-occl-entry{align-items:baseline;gap:4px;display:flex}.ma-occl-entry small{color:var(--muted);font-size:10px}.ma-occl-hint{color:var(--muted);min-block-size:1.2em;font-size:10px;font-style:italic}.ma-width-input.is-assumed{color:#8a5a08;cursor:help;background:#b9770e1f;border-style:dashed;border-color:#b9770e;font-style:italic;position:relative}.ma-arch-cell:has(.is-assumed) .ma-arch-tooth{color:#b9770e;font-weight:700}.ma-list th[scope=row]:has(+td .is-assumed){color:#b9770e;font-weight:700}.ma-arch-cell:has(.is-assumed) .ma-arch-tooth:after{content:"*"}.ma-assumed-note{color:var(--muted);margin:0;font-size:11px;font-style:italic}.ceph-card{flex-direction:column;gap:12px;display:flex}.ceph-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ceph-head h3{margin:0;font-size:15px}.ceph-head-controls{flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.ceph-head-controls select,.ceph-head-controls button{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:6px;padding:3px 8px;font-size:12px}.ceph-head-controls button{cursor:pointer}.ceph-fav{color:var(--muted);cursor:pointer;font-size:16px;line-height:1;background:0 0!important;border:0!important;padding:2px 4px!important}.ceph-fav.is-on{color:#e0a800}.ceph-fav:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:4px}.ceph-norm,.ceph-delta,.ceph-entry,.ma-num,.ma-sum-value,.ma-occl-entry{direction:ltr;unicode-bidi:isolate}[dir=rtl] .ceph-norm,[dir=rtl] .ceph-delta,[dir=rtl] .ceph-entry,[dir=rtl] .ma-num,[dir=rtl] .ma-sum-value,[dir=rtl] .ma-occl-entry{text-align:right}.ceph-progress{color:var(--muted);margin:0;font-size:11px}.ceph-scroll{overflow-x:auto}.ceph-table{border-collapse:collapse;inline-size:100%;font-size:12px}.ceph-table th,.ceph-table td{text-align:start;border-block-end:1px solid var(--line);padding:3px 8px}.ceph-table thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10px}.ceph-table th[scope=row]{font-weight:600}.ceph-points{color:var(--muted);letter-spacing:.03em;font-size:9px;font-weight:400}.ceph-norm{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.ceph-nonorm{cursor:help;border-block-end:1px dotted var(--muted)}.ceph-entry{align-items:baseline;gap:4px;display:flex}.ceph-entry small{color:var(--muted);font-size:10px}.ceph-readout{font-variant-numeric:tabular-nums;font-weight:600}.ceph-input{text-align:end;inline-size:4.6em;font:inherit;font-variant-numeric:tabular-nums;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:5px;padding:3px 4px;font-size:12px}.ceph-input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.ceph-input:disabled{opacity:.55;cursor:not-allowed}.ceph-delta{font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap}.ceph-delta.is-over{color:#b9770e}.ceph-delta.is-under{color:#2563eb}.ceph-bar-cell{inline-size:84px}.ceph-bar{background:color-mix(in srgb,var(--line) 55%,transparent);border-radius:3px;block-size:9px;inline-size:76px;display:block;position:relative}.ceph-bar-empty{opacity:.4}.ceph-bar-axis{background:var(--muted);inline-size:1px;position:absolute;inset-block:0;inset-inline-start:50%}.ceph-bar-fill{border-radius:2px;min-inline-size:2px;position:absolute;inset-block:1px}.ceph-bar-fill.is-over{background:#b9770e}.ceph-bar-fill.is-under{background:#2563eb}.ceph-findings{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:720px){.ceph-findings{grid-template-columns:1fr 1fr}}.ceph-findings section{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:8px 10px}.ceph-skeletal{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin-top:12px;padding:8px 10px}.ceph-skeletal h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 6px;font-size:11px}.ceph-skeletal-inputs{flex-wrap:wrap;gap:12px;margin-bottom:6px;font-size:12px;display:flex}.ceph-skeletal-inputs label{align-items:center;gap:6px;display:flex}.ceph-skeletal-inputs select{font:inherit;border:1px solid var(--line);background:var(--card);color:inherit;border-radius:6px;padding:3px 6px;font-size:12px}.ceph-skeletal dl{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:12px;display:grid}.ceph-skeletal dt{color:var(--muted)}.ceph-skeletal dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.ceph-skeletal dd small{color:var(--muted);font-size:10px;font-weight:400}.ceph-skeletal-disagree{color:#b9770e;margin:6px 0 0;font-size:11px}.ceph-findings h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 6px;font-size:11px}.ceph-findings dl{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:12px;display:grid}.ceph-findings dt{color:var(--muted)}.ceph-findings dd{margin:0;font-weight:600}.ceph-findings dd small{color:var(--muted);font-size:10px;font-weight:400}.ceph-conflict{color:#b9770e}.ceph-indicators{gap:2px;margin:8px 0 0;padding:0;font-size:11px;list-style:none;display:grid}.ceph-indicators li{grid-template-columns:5.5em 4.5em 1fr auto;align-items:baseline;gap:6px;display:grid}.ceph-ind-id{font-weight:600}.ceph-ind-dev{font-variant-numeric:tabular-nums;color:var(--muted);text-align:end}.ceph-indicators li.reads-vertical .ceph-ind-reads{color:#b9770e;font-weight:600}.ceph-indicators li.reads-horizontal .ceph-ind-reads{color:#2563eb;font-weight:600}.ceph-ind-basis{color:var(--muted);font-size:9px}.ceph-import{border:1px solid var(--accent);background:var(--panel);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.ceph-import-hint{color:var(--muted);margin:0;font-size:11px}.ceph-import-text{font:inherit;border:1px solid var(--line);background:var(--card);inline-size:100%;color:var(--text);resize:vertical;border-radius:6px;padding:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.ceph-import-list{gap:1px;max-block-size:210px;margin:0;padding:0;font-size:11px;list-style:none;display:grid;overflow-y:auto}.ceph-import-list label{cursor:pointer;border-radius:4px;grid-template-columns:auto 1fr auto auto auto;align-items:baseline;gap:6px;padding:2px 4px;display:grid}.ceph-import-list li.conf-low label{background:#b9770e1a}.ceph-import-value{font-variant-numeric:tabular-nums;font-weight:600}.ceph-import-warn{color:#b9770e;text-transform:uppercase;letter-spacing:.05em;font-size:9px}.ceph-import-cands{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px}.ceph-import-actions{gap:8px;display:flex}.ceph-import-actions button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:12px}.ceph-import-actions button:first-child{background:var(--accent);color:#fff;border-color:var(--accent)}.ceph-import-empty{color:#b9770e;margin:0;font-size:11px}.ceph-visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.shorthand-buffer{letter-spacing:.06em;border:1px solid var(--odon-border,#d0d5dd);background:var(--odon-surface-2,#f6f7f9);color:var(--odon-text,#1a1d21);white-space:pre;border-radius:4px;min-width:3ch;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.shorthand-buffer.empty{display:none}#toothGrid{-webkit-user-select:none;user-select:none}body.odon-dragging{cursor:cell}.shorthand-buffer.notice{border-color:var(--odon-warn-border,#e0a800);background:var(--odon-warn-bg,#fff6dd);color:var(--odon-warn-text,#6b4e00);letter-spacing:0;font-family:inherit}.settings-note{color:var(--odon-text,#333);background:#3b7bff14;border-inline-start:3px solid #3b7bff;border-radius:6px;margin:10px 0 0;padding:8px 10px;font-size:.82rem;line-height:1.4}.settings-shorthand-table{margin-top:12px}.settings-shorthand-table[aria-disabled=true]{opacity:.5}.settings-shorthand-table h4{color:var(--odon-text-muted,#5b6470);margin:14px 0 6px;font-size:.82rem;font-weight:600}.settings-shorthand-table dl{gap:2px 10px;margin:0;display:grid}.settings-shorthand-row{grid-template-columns:4.5rem 1fr;align-items:baseline;display:grid}.settings-shorthand-row dt{margin:0}.settings-shorthand-row dd{margin:0;font-size:.84rem}.settings-shorthand-table kbd,.settings-shorthand-pending kbd{border:1px solid var(--odon-border,#d0d5dd);background:var(--odon-surface-2,#f6f7f9);border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.settings-shorthand-pending{flex-wrap:wrap;gap:6px;display:flex}.tooth-tile.occl-view{--occl-scale:1}.tooth-tile.occl-view .tooth-svg svg{transform:scale(var(--occl-scale));transform-origin:50%}.tooth-tile.tpl-11-occl,.tooth-tile.tpl-12-occl,.tooth-tile.tpl-13-occl,.tooth-tile.tpl-41-occl,.tooth-tile.tpl-42-occl,.tooth-tile.tpl-43-occl{--occl-scale:1.25}.tooth-tile.tpl-14-occl,.tooth-tile.tpl-15-occl,.tooth-tile.tpl-44-occl,.tooth-tile.tpl-45-occl{--occl-scale:1.15}.tooth-tile.tpl-16-occl,.tooth-tile.tpl-17-occl,.tooth-tile.tpl-18-occl,.tooth-tile.tpl-46-occl,.tooth-tile.tpl-47-occl,.tooth-tile.tpl-48-occl{--occl-scale:.85}.tooth-tile.tpl-51-occl{--occl-scale:.96}.tooth-tile.tpl-52-occl{--occl-scale:.87}.tooth-tile.tpl-53-occl{--occl-scale:.96}.tooth-tile.tpl-54-occl{--occl-scale:.92}.tooth-tile.tpl-55-occl{--occl-scale:1.31}.tooth-tile.tpl-81-occl{--occl-scale:1.01}.tooth-tile.tpl-82-occl{--occl-scale:.9}.tooth-tile.tpl-83-occl{--occl-scale:.89}.tooth-tile.tpl-84-occl{--occl-scale:1.25}.tooth-tile.tpl-85-occl{--occl-scale:1.33}#toothGrid.odon-depth .tooth-tile [id=tooth-base]{fill:url(#odonDepthBody)!important}#toothGrid.odon-depth .tooth-tile [id=milktooth-base]{fill:url(#odonDepthMilk)!important}#toothGrid.odon-depth .tooth-tile.occl-view [id=tooth-base] path:not([id]):not([style*="fill: none"]){fill:url(#odonDepthCusp)!important}#toothGrid .tooth-tile [id=gold-crown]{fill:url(#odonKroneGold)!important}#toothGrid .tooth-tile [id=gradia-crown]{fill:url(#odonKroneGradia)!important}#toothGrid .tooth-tile [id=zircon-crown]{fill:url(#odonKroneZirkon)!important}#toothGrid .tooth-tile [id=metal-crown]{fill:url(#odonKroneMetall)!important}#toothGrid .tooth-tile [id=temporary-crown]{fill:url(#odonKroneProvi)!important}#toothGrid .tooth-tile [id=telescope-crown-outside]{fill:url(#odonKroneTeleAussen)!important}#toothGrid .tooth-tile [id=telescope-crown-inside]{fill:url(#odonKroneTeleInnen)!important}#toothGrid .tooth-tile [id=prosthesis-crown]{fill:url(#odonKroneProthZahn)!important}#toothGrid .tooth-tile [id=prosthesis-implant-crown]{fill:url(#odonKroneProthBasis)!important}#toothGrid .tooth-tile [id=emax-veneer]{fill:url(#odonKroneEmax)!important}#toothGrid .tooth-tile [id=gold-veneer]{fill:url(#odonKroneGold)!important}#toothGrid .tooth-tile [id=gradia-veneer]{fill:url(#odonKroneGradia)!important}#toothGrid .tooth-tile [id=zircon-veneer]{fill:url(#odonKroneZirkon)!important}#toothGrid .tooth-tile [id=temporary-veneer]{fill:url(#odonKroneProvi)!important}.tooth-tile[data-onlay] .tooth-svg svg [id$=-crown],.tooth-tile[data-onlay] .tooth-svg svg [id=telescope-crown-inside]{clip-path:inset(33.3% 0 0)}.tooth-tile[data-mobility]:before{content:attr(data-mobility);letter-spacing:.02em;color:#b3261e;pointer-events:none;font-size:10px;font-weight:700;line-height:1;position:absolute;bottom:2px;left:3px}.tooth-tile.occl-view[data-mobility]:before{display:none}#toothGrid .tooth-tile.occl-view[data-occl-resto=gold] [id$=-crown],#toothGrid .tooth-tile.occl-view[data-occl-resto=gold] [id$=-onlay]{fill:none!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=gold] [id=background-cusp]{fill:var(--odon-rest-gold,#e0a80d)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=gold] [id=tooth-base] [id=cusps] path[style]{fill:url(#odonKroneGold)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=gold] [id=fissure] path{stroke-width:.55px;stroke:#654c06!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=gradia] [id$=-crown],#toothGrid .tooth-tile.occl-view[data-occl-resto=gradia] [id$=-onlay]{fill:none!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=gradia] [id=background-cusp]{fill:var(--odon-rest-gradia,#57b285)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=gradia] [id=tooth-base] [id=cusps] path[style]{fill:url(#odonKroneGradia)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=gradia] [id=fissure] path{stroke-width:.55px;stroke:#27503c!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=zircon] [id$=-crown],#toothGrid .tooth-tile.occl-view[data-occl-resto=zircon] [id$=-onlay]{fill:none!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=zircon] [id=background-cusp]{fill:var(--odon-rest-zircon,#cfe3ee)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=zircon] [id=tooth-base] [id=cusps] path[style]{fill:url(#odonKroneZirkon)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=zircon] [id=fissure] path{stroke-width:.55px;stroke:#5d666b!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=metal] [id$=-crown],#toothGrid .tooth-tile.occl-view[data-occl-resto=metal] [id$=-onlay]{fill:none!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=metal] [id=background-cusp]{fill:var(--odon-rest-metal,#0051bf)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=metal] [id=tooth-base] [id=cusps] path[style]{fill:url(#odonKroneMetall)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=metal] [id=fissure] path{stroke-width:.55px;stroke:#002456!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=temporary] [id$=-crown],#toothGrid .tooth-tile.occl-view[data-occl-resto=temporary] [id$=-onlay]{fill:none!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=temporary] [id=background-cusp]{fill:var(--odon-rest-temporary,#c8b392)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=temporary] [id=tooth-base] [id=cusps] path[style]{fill:url(#odonKroneProvi)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=temporary] [id=fissure] path{stroke-width:.55px;stroke:#5a5142!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=telescope] [id$=-crown],#toothGrid .tooth-tile.occl-view[data-occl-resto=telescope] [id$=-onlay]{fill:none!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=telescope] [id=background-cusp]{fill:var(--odon-rest-telescope,#0051bf)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=telescope] [id=tooth-base] [id=cusps] path[style]{fill:url(#odonKroneTeleAussen)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=telescope] [id=fissure] path{stroke-width:.55px;stroke:#002456!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=emax] [id$=-crown],#toothGrid .tooth-tile.occl-view[data-occl-resto=emax] [id$=-onlay]{fill:none!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=emax] [id=background-cusp]{fill:#f0d9c4!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=emax] [id=tooth-base] [id=cusps] path[style]{fill:url(#odonKroneEmax)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=emax] [id=fissure] path{stroke-width:.55px;stroke:#6c6258!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=metal-ceramic] [id$=-crown],#toothGrid .tooth-tile.occl-view[data-occl-resto=metal-ceramic] [id$=-onlay]{fill:none!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=metal-ceramic] [id=background-cusp]{fill:#cfe0d8!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=metal-ceramic] [id=tooth-base] [id=cusps] path[style]{fill:url(#odonKroneMetKer)!important}#toothGrid .tooth-tile.occl-view[data-occl-resto=metal-ceramic] [id=fissure] path{stroke-width:.55px;stroke:#5d6561!important}.tooth-tile[data-hemi-side] .tooth-svg svg{transition:none}.lower-arch .tooth-tile[data-hemi-side=links] .tooth-svg svg{clip-path:polygon(0% 0%,100% 0%,100% 100%,50% 100%,42% 54%,0% 54%)}.lower-arch .tooth-tile[data-hemi-side=rechts] .tooth-svg svg{clip-path:polygon(0% 0%,100% 0%,100% 54%,58% 54%,50% 100%,0% 100%)}.upper-arch .tooth-tile[data-hemi-side=links] .tooth-svg svg{clip-path:polygon(0% 46%,42% 46%,50% 0%,100% 0%,100% 100%,0% 100%)}.upper-arch .tooth-tile[data-hemi-side=rechts] .tooth-svg svg{clip-path:polygon(0% 0%,50% 0%,58% 46%,100% 46%,100% 100%,0% 100%)}.tooth-grid>svg.fracture-lines{pointer-events:none;z-index:3;position:absolute;inset:0}.tooth-tile[data-eruption] .tooth-svg svg{clip-path:inset(0)}.tooth-tile[data-eruption] .tooth-svg svg g#base~g{transform:translateY(calc(-1 * var(--erupt-shift,0px)))}.tooth-grid>svg.papilla-marks{pointer-events:none;z-index:3;position:absolute;inset:0}.odontogram-root[data-panel-placement=compact] .layout{grid-template-columns:minmax(0,1fr) var(--odon-inspector-width,320px);align-items:start}.odontogram-root[data-panel-placement=compact] .panel{max-height:var(--odon-inspector-max-height,82vh);border-radius:12px;flex-direction:column;display:flex;position:sticky;top:8px}.odontogram-root[data-panel-placement=compact] .panel-odontogram-controls,.odontogram-root[data-panel-placement=compact] .panel>.panel-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.odontogram-root[data-panel-placement=compact] .panel-odontogram-controls{flex-direction:column;display:flex}.odontogram-root[data-panel-placement=compact] .panel-body{gap:10px;max-height:none;padding:12px}.odontogram-root[data-panel-placement=compact] .panel-group-nav{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.odontogram-root[data-panel-placement=compact] .panel-group-nav .is-active{background:var(--odon-bg,#f3f6fb);border-color:var(--line);font-weight:700}.odontogram-root[data-panel-placement=compact] .panel[data-panel-group] .panel-odontogram-controls .panel-body>*{display:none}:is(.odontogram-root[data-panel-placement=compact] .panel[data-panel-group=tooth] .panel-odontogram-controls .panel-body>:is(#examinationCard,div:has(#toothSelect),section:has(#toothSelect)),.odontogram-root[data-panel-placement=compact] .panel[data-panel-group=surfaces] .panel-odontogram-controls .panel-body>:is(#cariesSection,#fillingSection),.odontogram-root[data-panel-placement=compact] .panel[data-panel-group=roots] .panel-odontogram-controls .panel-body>#rootPeriodontiumSection,.odontogram-root[data-panel-placement=compact] .panel[data-panel-group=more] .panel-odontogram-controls .panel-body>:not(#examinationCard,#cariesSection,#fillingSection,#rootPeriodontiumSection,div:has(#toothSelect),section:has(#toothSelect)),.odontogram-root[data-panel-placement=compact] .panel[data-panel-group] .panel-odontogram-controls .panel-body>#examinationCard:has(#baselineCorrectionBanner)){display:block}.odontogram-root[data-panel-placement=compact] .layout.schematic-edit aside.panel,.odontogram-root[data-panel-placement=compact] .layout.dock-mode aside.panel{grid-column:2;margin-top:0;display:flex}.odontogram-root[data-panel-placement=compact] .layout.schematic-edit.schematic-edit-all .panel-body,.odontogram-root[data-panel-placement=compact] .layout.dock-mode.dock-mode-all .panel-body{flex-direction:column;grid-template-columns:none;max-height:none;display:flex}.odontogram-root[data-panel-placement=compact] .layout.dock-mode .chart-column,.odontogram-root[data-panel-placement=compact] .layout.schematic-edit .chart-column{grid-column:1}.odontogram-root[data-panel-placement=compact] .befund-dock-column,.odontogram-root[data-panel-placement=compact] .schematic-keypad,.odontogram-root[data-panel-placement=compact] .schematic-toolbar,.odontogram-root[data-panel-placement=compact] .tooth-info,.odontogram-root[data-panel-placement=compact] .schematic-hint{display:none}.odontogram-root[data-panel-placement=compact] #controlsActions{flex-direction:column;gap:6px;display:flex}.odontogram-root[data-panel-placement=compact] #controlsActions .select-actions-row{flex-wrap:wrap;gap:4px;display:flex;overflow:visible}.odontogram-root[data-panel-placement=compact] .schematic-column,.odontogram-root[data-panel-placement=compact] .ortho-column,.odontogram-root[data-panel-placement=compact] .dental-chart-column{grid-column:1;min-width:0}.odontogram-root[data-panel-placement=compact] .ortho-column{grid-template-columns:minmax(0,1fr)}.odontogram-root[data-panel-placement=compact] .panel-chart-controls{flex-direction:column;gap:6px;margin-top:10px;display:flex}.odontogram-root[data-panel-placement=compact] .panel-chart-controls .chart-actions{flex-wrap:wrap;gap:4px}.odontogram-root[data-panel-placement=compact] .panel-chart-controls .chart-mode-toggle{justify-content:center;align-self:stretch;gap:2px;padding:2px}.odontogram-root[data-panel-placement=compact] .panel select{background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%;border-radius:9px;min-width:0;max-width:100%;padding:5px 26px 5px 9px;font-size:12px}.odontogram-root[data-panel-placement=compact] .panel input[type=text],.odontogram-root[data-panel-placement=compact] .panel input[type=number],.odontogram-root[data-panel-placement=compact] .panel input[type=date],.odontogram-root[data-panel-placement=compact] .panel textarea{border-radius:9px;min-width:0;max-width:100%;padding:5px 8px;font-size:12px}.odontogram-root[data-panel-placement=compact] .panel .btn{border-radius:9px;padding:5px 9px;font-size:12px}.odontogram-root[data-panel-placement=compact] .panel .btn-icon{padding:4px 7px}.odontogram-root[data-panel-placement=compact] .panel .btn-icon .icon,.odontogram-root[data-panel-placement=compact] .panel .btn-icon .icon-img,.odontogram-root[data-panel-placement=compact] .panel .btn-icon svg{width:18px;height:18px}.odontogram-root[data-panel-placement=compact] .panel .chart-mode-btn{padding:4px 10px;font-size:12px}.odontogram-root[data-panel-placement=compact] .panel .row{flex-wrap:wrap;gap:6px}.odontogram-root[data-panel-placement=compact] .panel .row>label{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.odontogram-root[data-panel-placement=compact] .panel .status-extra-row select{flex:130px;min-width:0}.odontogram-root[data-panel-placement=compact] .panel-header{padding:10px 12px}.odontogram-root[data-panel-placement=compact] .panel .card{border-radius:12px;padding:10px}.odontogram-root[data-panel-placement=compact] .panel .card-title{margin-bottom:6px;font-size:13px}.odontogram-root[data-panel-placement=compact] .panel .panel-subtitle,.odontogram-root[data-panel-placement=compact] .panel .hint{font-size:11px}.odontogram-root[data-panel-placement=compact] .panel .hint{margin:4px 0 6px}.odontogram-root[data-panel-placement=compact] #examinationCard .examination-actions,.odontogram-root[data-panel-placement=compact] #statusCard .status-actions{flex-wrap:wrap;gap:4px}.odontogram-root[data-panel-placement=compact] #examinationCard .examination-actions .btn,.odontogram-root[data-panel-placement=compact] #statusCard .status-actions .btn{border-radius:9px;padding:5px 9px;font-size:12px}.odontogram-root[data-panel-placement=compact] #examinationCard input[type=date]{border:1px solid var(--line);background:var(--panel);flex:110px;min-width:0;font-size:12px}.odontogram-root[data-panel-placement=compact] #examinationCard .examination-list{color:var(--muted);font-size:11px}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls{flex-direction:column;flex:1;min-height:0;display:flex}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls>.panel-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .card{gap:8px;min-width:0}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ma-arch,.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ma-list-scroll,.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-scroll{min-width:0;max-width:100%}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ma-occlusal{grid-template-columns:minmax(0,1fr);padding:8px}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ma-occl-field{flex-flow:wrap;justify-content:space-between;align-items:center;gap:8px}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-head-controls,.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-skeletal-inputs{gap:6px}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-head-controls label,.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-skeletal-inputs label{flex-wrap:wrap;flex:100%;align-items:center;gap:4px;min-width:0;max-width:100%;display:flex}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-head-controls select,.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-skeletal-inputs select{flex:120px;min-width:0}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-table-entry{table-layout:fixed;inline-size:100%}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-table-entry th,.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-table-entry td{padding:3px 4px}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-table-entry th[scope=row]{white-space:normal;overflow-wrap:anywhere}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-table-entry td.ceph-entry{display:table-cell}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-table-entry td.ceph-entry small{margin-inline-start:4px}.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-table-entry td.ceph-entry,.odontogram-root[data-panel-placement=compact] .panel-ortho-controls .ceph-table-entry th:last-child{inline-size:88px}.odontogram-root[data-panel-placement=compact] .ortho-column .ma-sums{grid-template-columns:repeat(2,minmax(0,1fr))}.odontogram-root[data-panel-placement=compact] .ortho-column .ceph-findings{grid-template-columns:minmax(0,1fr)}.odontogram-root[data-panel-placement=compact]{container:odon-embed/inline-size}@container odon-embed (max-width:760px){.odontogram-root[data-panel-placement=compact] .layout{grid-template-columns:minmax(0,1fr)}.odontogram-root[data-panel-placement=compact] .panel,.odontogram-root[data-panel-placement=compact] .layout.schematic-edit aside.panel,.odontogram-root[data-panel-placement=compact] .layout.dock-mode aside.panel{max-height:var(--odon-inspector-max-height-narrow,52vh);grid-column:1;position:static}.odontogram-root[data-panel-placement=compact] .chart{overflow-x:auto}}#toothGrid.odon-style-v1{--v1-ink:#1d2127;--v1-caries:#d32f2f;--v1-caries-edge:#a82424;--v1-caries-under:#9a1f1f;--v1-inflam:#e8781e;--v1-inflam-soft:#fcecdf;--v1-gum:#f0dbd6;--v1-bone:#f5efe3;--v1-pulp:#f0c6bf;--v1-select:#1d21270b;--v1-hover:#1d212708}.dark #toothGrid.odon-style-v1{--v1-ink:#f1eee8;--v1-caries:#ff5147;--v1-caries-edge:#d9403a;--v1-caries-under:#c93a33;--v1-inflam:#ff9a3d;--v1-inflam-soft:#3a2a1d;--v1-gum:#4a3538;--v1-bone:#28251f;--v1-pulp:#a4706a;--v1-select:#f1eee812;--v1-hover:#f1eee80a}#toothGrid.odon-style-v1 .tooth-tile,#toothGrid.odon-style-v1 .tooth-tile.placeholder{background:0 0;border-color:#0000}#toothGrid.odon-style-v1 .tooth-tile:hover{background:var(--v1-hover)}#toothGrid.odon-style-v1 .tooth-tile.active{border-color:var(--v1-ink);background:var(--v1-select)}#toothGrid.odon-style-v1 .tooth-tile.active:after{border-color:#0000;animation:none}#toothGrid.odon-style-v1 .tooth-tile.active .tooth-svg svg{filter:none;animation:none}#toothGrid.odon-style-v1>svg.gum-overlay .gum-wash{display:none}#toothGrid.odon-style-v1>svg.gum-overlay [id=gum-base]{fill:var(--v1-gum)!important}#toothGrid.odon-style-v1>svg.gum-overlay [id=bone-base]{fill:var(--v1-bone)!important}#toothGrid.odon-style-v1 [data-gum-strip]{fill:var(--v1-gum)}#toothGrid.odon-style-v1 .tooth-tile [id=tooth-healthy-pulp] path{fill:var(--v1-pulp)!important}#toothGrid.odon-style-v1 .tooth-tile [id^=caries-] [style*="fill: #b3261e"],#toothGrid.odon-style-v1 .tooth-tile [id^=caries-][style*="fill: #b3261e"]{fill:var(--v1-caries)!important;stroke:var(--v1-caries-edge)!important}#toothGrid.odon-style-v1 .tooth-tile [id^=subcaries-] [style*="fill: #721813"],#toothGrid.odon-style-v1 .tooth-tile [id^=subcaries-][style*="fill: #721813"]{fill:var(--v1-caries-under)!important;stroke:var(--v1-caries-edge)!important}#toothGrid.odon-style-v1 .tooth-tile [id=extraction-plan] [style*="stroke: #b70000"]{stroke:var(--v1-ink)!important}#toothGrid.odon-style-v1 .tooth-tile [style*="fill: #ffa46a"],#toothGrid.odon-style-v1 .tooth-tile [style*="fill: #ff422a"]{fill:var(--v1-inflam)!important}#toothGrid.odon-style-v1 .tooth-tile [id=parodontal] [style*="fill: #ffa46a"],#toothGrid.odon-style-v1 .tooth-tile [id=parodontal][style*="fill: #ffa46a"],#toothGrid.odon-style-v1 .tooth-tile [style*="fill: #d9534f"]{stroke-width:1.4px;fill:var(--v1-inflam-soft)!important;stroke:var(--v1-inflam)!important}#toothGrid.odon-style-v1 .tooth-tile [style*="stroke: #ffa46a"]{stroke:var(--v1-inflam)!important}#toothGrid.odon-style-v1 .tooth-tile [style*="fill: #feffd5"]{fill:var(--v1-inflam-soft)!important}#toothGrid.odon-style-v1 .tooth-tile [id=crown-leakage] [style*=\#9e00e9],#toothGrid.odon-style-v1 .tooth-tile [id=crown-leakage][style*=\#9e00e9]{fill:var(--v1-ink)!important;stroke:var(--v1-ink)!important}#toothGrid.odon-style-v1 .tooth-tile[data-mobility]:before{color:var(--v1-ink)}#toothGrid.odon-style-v1 .tooth-tile [id=gold-crown],#toothGrid.odon-style-v1 .tooth-tile [id=gold-veneer]{fill:var(--odon-rest-gold,#dca72a)!important;stroke:#9c730c!important}#toothGrid.odon-style-v1 .tooth-tile [id=gradia-crown],#toothGrid.odon-style-v1 .tooth-tile [id=gradia-veneer]{fill:var(--odon-rest-gradia,#8fb0dc)!important;stroke:#4f78ad!important}#toothGrid.odon-style-v1 .tooth-tile [id=zircon-crown],#toothGrid.odon-style-v1 .tooth-tile [id=zircon-veneer]{fill:var(--odon-rest-zircon,#ddecf3)!important;stroke:#7c9db1!important}#toothGrid.odon-style-v1 .tooth-tile [id=metal-crown]{fill:var(--odon-rest-metal,#a3abb5)!important;stroke:#646c77!important}#toothGrid.odon-style-v1 .tooth-tile [id=temporary-crown],#toothGrid.odon-style-v1 .tooth-tile [id=temporary-veneer]{fill:var(--odon-rest-temporary,#f2c9a0)!important;stroke:#bf8a57!important}#toothGrid.odon-style-v1 .tooth-tile [id=telescope-crown-outside]{fill:var(--odon-rest-telescope,#dca72a)!important;stroke:#9c730c!important}#toothGrid.odon-style-v1 .tooth-tile [id=telescope-crown-inside]{fill:var(--odon-rest-telescope-inner,#9c730c)!important}#toothGrid.odon-style-v1 .tooth-tile [id=emax-crown],#toothGrid.odon-style-v1 .tooth-tile [id=emax-veneer]{fill:var(--odon-rest-emax-4,#f0e2c6)!important;stroke:#b39a6c!important}#toothGrid.odon-style-v1 .tooth-tile [id=metal-ceramic-crown]{fill:var(--odon-rest-metal-ceramic-4,#ece0c8)!important;stroke:#8b9098!important}#toothGrid.odon-style-v1 .tooth-tile [id$=-crown],#toothGrid.odon-style-v1 .tooth-tile [id$=-veneer]{stroke-width:1.2px}#toothGrid.odon-style-v1 .tooth-tile [style*=--odon-fill-composite]{stroke:#4f78ad!important}#toothGrid.odon-style-v1 .tooth-tile [style*=--odon-fill-gic]{stroke:#7f68b8!important}#toothGrid.odon-style-v1 .tooth-tile [style*=--odon-fill-amalgam]{stroke:#3f454d!important}#toothGrid.odon-style-v1 .tooth-tile [style*=--odon-fill-temporary]{stroke:#bf8a57!important}#toothGrid.odon-style-v1 .tooth-tile.occl-view[data-occl-resto=emax] [id=background-cusp],#toothGrid.odon-style-v1 .tooth-tile.occl-view[data-occl-resto=emax] [id=tooth-base] [id=cusps] path[style]{fill:var(--odon-rest-emax-4,#f0e2c6)!important}#toothGrid.odon-style-v1 .tooth-tile.occl-view[data-occl-resto=metal-ceramic] [id=background-cusp],#toothGrid.odon-style-v1 .tooth-tile.occl-view[data-occl-resto=metal-ceramic] [id=tooth-base] [id=cusps] path[style]{fill:var(--odon-rest-metal-ceramic-4,#ece0c8)!important}#toothGrid.odon-style-v1 .tooth-tile.occl-view[data-occl-resto=metal-ceramic] [id=fissure] path,#toothGrid.odon-style-v1 .tooth-tile [id^=metal-ceramic] [style*="stroke: #1b3f1c"]{stroke:#8b9098!important}.dark #toothGrid.odon-style-v1 .tooth-tile [id=tooth-base],.dark #toothGrid.odon-style-v1 .tooth-tile [id=milktooth-base]{filter:brightness(.84)sepia(.18)}
