.od-workspace{--od-bg:#091226;--od-panel:#101e36;--od-border:#263953;--od-text:#e8f1ff;--od-muted:#9cb0cb;--od-accent:#67d9ff;background:var(--od-bg);color:var(--od-text);border:1px solid var(--od-border);border-radius:24px;padding:26px;margin-top:20px;font-family:inherit}.od-workspace[data-theme=light]{--od-bg:#f5f9fc;--od-panel:#fff;--od-border:#cbdde9;--od-text:#18354b;--od-muted:#546e83;--od-accent:#006da8}.od-workspace h2,.od-workspace h3,.od-workspace p{color:inherit}.od-workspace button,.od-workspace select{background:var(--od-panel);border:1px solid var(--od-border);color:var(--od-text);border-radius:10px;min-height:42px;padding:8px 13px;font:inherit;font-size:12px;cursor:pointer}.od-workspace button:hover,.od-workspace button[aria-pressed=true]{border-color:var(--od-accent);box-shadow:0 0 0 1px var(--od-accent)}.od-workspace button:focus-visible,.od-workspace select:focus-visible,.od-workspace input:focus-visible{outline:3px solid var(--od-accent);outline-offset:3px}.od-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.od-eyebrow{font-size:10px;letter-spacing:2px;color:var(--od-accent);font-weight:700}.od-head h2{font-size:30px;margin:8px 0}.od-head h2 span{font-weight:400;color:var(--od-accent)}.od-head p{font-size:13px;color:var(--od-muted);margin:0 0 20px}.od-theme{display:flex;gap:6px;align-self:flex-start}.od-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:15px 0}.od-toolbar label{display:flex;align-items:center;gap:10px;font-size:12px}.od-views{display:flex;gap:5px;flex-wrap:wrap}.od-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px}.od-stage{position:relative;min-width:0;border:1px solid var(--od-border);border-radius:18px;overflow:hidden;background:var(--od-bg)}.od-canvas{height:460px;width:100%}.od-canvas canvas{width:100%;height:100%;display:block;touch-action:none}.od-stage-caption{position:absolute;left:18px;top:18px;pointer-events:none;font-size:9px;letter-spacing:1.5px;color:var(--od-accent)}.od-stage-caption span:last-child{display:block;letter-spacing:0;color:var(--od-muted);font-size:11px;margin-top:7px;max-width:220px}.od-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#45e1c5;margin-right:5px}.od-zoom{position:absolute;right:14px;bottom:38px;display:grid;gap:5px}.od-zoom button{font-size:20px;width:40px;padding:4px}.od-gesture{position:absolute;bottom:15px;left:18px;font-size:10px;color:var(--od-muted);pointer-events:none}.od-inspector{padding:20px;background:var(--od-panel);border:1px solid var(--od-border);border-radius:18px;min-width:0}.od-selection-number{font-size:66px;line-height:1.3;color:var(--od-accent);font-weight:300;margin:18px 0 6px}.od-inspector h3{font-size:18px;margin:8px 0}.od-inspector p{font-size:12px;line-height:1.7;color:var(--od-muted)}.od-finding{display:flex;gap:8px;align-items:center;font-size:12px;margin:16px 0}.od-finding i,.od-legend i{width:9px;height:9px;display:inline-block;border-radius:50%}.od-workspace .od-primary{background:#117cac;color:#fff;border-color:#117cac;width:100%;margin-top:12px}.od-inspector form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px}.od-inspector form label{font-size:12px;display:grid;gap:6px;color:var(--od-text)}.od-inspector textarea{min-width:0;background:var(--od-bg);color:var(--od-text);border:1px solid var(--od-border)}.od-inspector .row-actions{flex-wrap:wrap}.od-motion{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.od-motion label{flex:1;display:flex;align-items:center;gap:12px;font-size:12px;min-width:200px}.od-motion input{flex:1;min-width:60px;accent-color:#25aede}.od-motion output{min-width:30px}.od-map{border:1px solid var(--od-border);background:var(--od-panel);border-radius:16px;padding:20px;margin-top:22px}.od-map-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.od-map-title h3{font-size:14px}.od-map-title span{color:var(--od-muted);font-size:10px}.od-tooth-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(32px,1fr);gap:3px;overflow:auto;padding:6px 2px}.od-tooth-row button{position:relative;display:grid;justify-items:center;padding:7px 2px;border-color:transparent;background:transparent;min-width:32px;color:var(--od-muted)}.od-tooth-row svg{height:45px;width:28px;margin-bottom:4px}.od-tooth-row b{font-size:10px}.od-arch-label{text-align:center;font-size:9px;letter-spacing:2px;color:var(--od-muted);margin-top:14px}.od-surface-dot{position:absolute;right:3px;top:3px;width:6px;height:6px;border-radius:50%;background:#ffc76c}.od-legend{margin-top:18px;font-size:12px;color:var(--od-muted)}.od-legend summary{cursor:pointer;min-height:35px}.od-legend>div{display:flex;gap:15px;flex-wrap:wrap}.od-legend span{display:flex;gap:7px;align-items:center}.od-legend p,.od-footnote{font-size:10px;line-height:1.6;color:var(--od-muted)!important}.od-footnote{margin-top:20px}@media(max-width:1100px){.od-layout{grid-template-columns:minmax(0,1fr)}.od-inspector{display:block}.od-selection-number{font-size:40px;margin:5px 0}.od-canvas{height:410px}}@media(max-width:600px){.od-workspace{padding:14px;border-radius:16px}.od-head{display:block}.od-head h2{font-size:25px}.od-theme{margin:12px 0}.od-toolbar{align-items:stretch}.od-canvas{height:340px}.od-views{display:grid;grid-template-columns:1fr 1fr;width:100%}.od-motion label{flex-basis:100%;order:2}.od-map{padding:10px}.od-map-title{display:block}.od-map-title span{display:block}.od-workspace button{min-height:44px}.od-gesture{font-size:9px;max-width:220px}.od-stage-caption{left:12px}.od-inspector{padding:16px}}
.od-workspace .od-head{position:static;inset:auto;background:transparent;border:0;box-shadow:none;width:auto;height:auto;padding:0;margin:0;z-index:auto;transform:none}.od-workspace .od-motion label{display:flex!important;align-items:center}.od-workspace .od-toolbar label{display:flex!important}.od-workspace .od-inspector .wide{grid-column:1/-1}
.od-workspace .od-motion label,.od-workspace .od-toolbar label{flex-direction:row!important}.od-workspace{scroll-margin-top:95px}

.od-tooth-row img{height:60px;width:40px;max-width:100%;object-fit:contain;margin-bottom:4px}.od-map-status{width:7px;height:7px;border-radius:50%;margin-bottom:4px}.od-footnote a{color:var(--od-accent);text-decoration:underline}

.od-types{display:grid;grid-template-columns:repeat(var(--pieces),minmax(0,1fr));gap:3px;text-align:center;font-size:8px;color:var(--od-muted);margin:5px 0 18px}.od-types span{border-top:1px solid var(--od-border);padding-top:6px;overflow-wrap:anywhere}.od-tooth-row[data-arch=upper] svg{transform:rotate(180deg)}@media(max-width:600px){.od-types{display:none}}

.od-layout{grid-template-columns:minmax(0,1fr) 330px}.od-detail-canvas{height:290px;width:100%;border:1px solid var(--od-border);border-radius:14px;overflow:hidden;margin-top:16px}.od-detail-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.od-detail-views,.od-mark-tools{display:flex;gap:6px;flex-wrap:wrap}.od-detail-views button{flex:1;padding:6px;font-size:10px}.od-mark-tools p{width:100%;margin:4px 0}.od-mark-tools #od-mark-mode{width:100%;border-color:var(--od-accent)}.od-inspector .od-selection-number{font-size:40px;margin:8px 0}.od-detail-hint{font-size:10px!important}@media(max-width:1100px){.od-layout{grid-template-columns:minmax(0,1fr)}.od-detail-canvas{height:330px}}

/* Compact workspace and reversible distraction-free / fullscreen views. */
.od-workspace{padding:16px;margin-top:12px;box-sizing:border-box;}
.od-workspace .od-head{gap:10px;flex-wrap:wrap;min-height:0;}
.od-head>div:first-child{margin-right:auto;}
.od-display-actions{display:flex;gap:6px;flex-wrap:wrap;}
.od-workspace .od-theme{margin:0;align-self:center;}
.od-workspace .od-toolbar{margin:10px 0;gap:8px;}
.od-workspace .od-layout{grid-template-columns:minmax(0,1fr) 290px;gap:12px;}
.od-workspace .od-canvas{height:clamp(260px,42dvh,420px);}
.od-workspace .od-inspector{max-height:420px;overflow:auto;padding:14px;}
.od-workspace .od-motion{margin:8px 0;gap:8px;}
.od-workspace .od-map{margin-top:8px;padding:8px 12px;}
.od-workspace .od-map-title h3{margin:0;font-size:12px;}
.od-workspace .od-arch-label{margin-top:5px;}
.od-workspace .od-tooth-row{padding:2px;}
.od-workspace .od-tooth-row button{padding:2px;min-height:40px;}
.od-workspace .od-tooth-row img,.od-workspace .od-tooth-row svg{height:30px;width:24px;margin-bottom:1px;}
.od-workspace .od-types{margin:2px 0 4px;}
.od-workspace .od-types span{padding-top:2px;}
.od-workspace .od-legend{margin-top:8px;}
.od-workspace .od-footnote{margin:4px 0 0;}
.od-workspace.od-focused{position:fixed;inset:0;z-index:10000;}
.od-workspace.od-expanded{width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:0;padding:12px;}
.od-workspace.od-expanded .od-layout{flex:1;min-height:220px;}
.od-workspace.od-expanded .od-stage{min-height:220px;}
.od-workspace.od-expanded .od-canvas{height:100%;min-height:220px;}
.od-workspace.od-expanded .od-inspector{max-height:none;height:100%;box-sizing:border-box;overflow:auto;}
.od-workspace.od-expanded .od-legend{flex-shrink:0;}
.od-workspace button:disabled{opacity:.5;cursor:default;}
@media(max-width:800px){
 .od-workspace .od-layout{grid-template-columns:minmax(0,1fr);}
 .od-workspace .od-inspector{max-height:280px;}
 .od-workspace.od-expanded .od-layout{display:flex;flex-direction:column;flex:none;}
 .od-workspace.od-expanded .od-canvas{height:45dvh;min-height:240px;}
 .od-workspace.od-expanded .od-inspector{height:auto;max-height:300px;}
 .od-workspace .od-head{display:flex;}
 .od-head>div:first-child{flex-basis:100%;}
 .od-workspace .od-types{display:none;}
 .od-workspace .od-map-title span{font-size:9px;}
}
.od-workspace.od-expanded > *{flex-shrink:0;}.od-workspace.od-expanded .od-layout{flex-shrink:1;}@media(max-width:800px){.od-workspace.od-expanded .od-layout{flex-shrink:0;}}

/* Findings beside the model, with the selected tooth kept in its own panel. */
.od-workspace .od-layout{grid-template-columns:minmax(0,1fr) minmax(250px,320px) minmax(230px,290px);}
.od-findings-panel{min-width:0;min-height:0;max-height:420px;overflow:auto;box-sizing:border-box;padding:14px;background:var(--od-panel);border:1px solid var(--od-border);border-radius:18px;}
.od-findings-panel h3{font-size:16px;margin:0 0 12px;}
.od-findings-panel p{font-size:12px;line-height:1.5;color:var(--od-muted);}
.od-findings-panel form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px;}
.od-findings-panel form label{display:grid!important;gap:5px;font-size:12px;color:var(--od-text);}
.od-findings-panel select,.od-findings-panel textarea{width:100%;box-sizing:border-box;min-width:0;background:var(--od-bg);color:var(--od-text);border:1px solid var(--od-border);border-radius:8px;}
.od-findings-panel textarea{min-height:70px;padding:8px;font:inherit;resize:vertical;}
.od-findings-panel .row-actions{display:flex;gap:6px;flex-wrap:wrap;}
.od-findings-panel .wide{grid-column:1/-1;}
.od-workspace.od-expanded .od-findings-panel{max-height:none;height:100%;}
@media(min-width:801px) and (max-width:1150px){
 .od-workspace .od-layout{grid-template-columns:minmax(0,1fr) minmax(250px,300px);}
 .od-workspace .od-stage{grid-column:1/-1;}
 .od-workspace.od-expanded .od-layout{flex:none;}
 .od-workspace.od-expanded .od-canvas{height:40dvh;}
 .od-workspace.od-expanded .od-findings-panel,.od-workspace.od-expanded .od-inspector{height:380px;}
}
@media(max-width:800px){
 .od-workspace .od-layout{grid-template-columns:minmax(0,1fr);}
 .od-workspace .od-findings-panel,.od-workspace.od-expanded .od-findings-panel{height:auto;max-height:none;}
}

/* Desktop overview: keep clinical controls visible beside both models. */
@media(min-width:1151px){
 .od-workspace{padding:10px;}
 .od-workspace.od-expanded{padding:8px;}
 .od-workspace button,.od-workspace select{min-height:32px;padding:5px 9px;font-size:12px;}
 .od-workspace .od-head{gap:8px;}
 .od-workspace .od-toolbar{margin:6px 0;}
 .od-workspace .od-layout{grid-template-columns:minmax(0,1fr) minmax(270px,320px) minmax(260px,300px);gap:10px;}
 .od-workspace .od-inspector,.od-workspace .od-findings-panel{padding:10px;}
 .od-findings-panel h3{font-size:14px;margin:0 0 7px;}
 .od-findings-panel form{gap:7px;scroll-margin-top:32px;}
 .od-findings-panel form label{gap:3px;}
 .od-findings-panel p{font-size:11px;line-height:1.35;margin:4px 0;}
 .od-findings-panel textarea{height:52px;min-height:44px;padding:6px;}
 .od-findings-panel .od-mark-tools{gap:5px;}
 .od-findings-panel .od-mark-tools button{font-size:11px;}
 .od-findings-panel .row-actions{position:sticky;bottom:0;background:var(--od-panel);padding:4px 0 0;}
 .od-workspace .od-selection-number{font-size:30px;line-height:1;margin:5px 0;}
 .od-workspace .od-inspector h3{font-size:15px;margin:3px 0;}
 .od-workspace .od-inspector p{font-size:11px;line-height:1.35;margin:4px 0;}
 .od-workspace .od-finding{margin:5px 0;font-size:11px;}
 .od-workspace .od-detail-canvas{height:clamp(120px,23dvh,250px);margin-top:6px;}
 .od-workspace .od-detail-views{gap:4px;}
 .od-workspace .od-detail-views button{min-height:28px;font-size:10px;padding:3px 5px;}
 .od-workspace .od-detail-hint{font-size:10px!important;}
 .od-workspace .od-motion{margin:6px 0;gap:8px;}
 .od-workspace .od-map{padding:5px 10px;margin-top:2px;}
 .od-workspace .od-map-title h3{font-size:11px;}
 .od-workspace .od-arch-label{margin-top:2px;font-size:8px;}
 .od-workspace .od-tooth-row{padding:1px 2px;}
 .od-workspace .od-tooth-row button{min-height:38px;padding:1px;}
 .od-workspace .od-tooth-row img,.od-workspace .od-tooth-row svg{height:22px;width:18px;margin:0;}
 .od-workspace .od-map-status{width:5px;height:5px;margin:1px 0;}
 .od-workspace .od-types{margin:1px 0 2px;font-size:8px;}
 .od-workspace .od-types span{padding-top:1px;}
 .od-workspace .od-legend{margin-top:4px;font-size:11px;}
 .od-workspace .od-legend summary{min-height:20px;}
 .od-workspace .od-zoom{right:8px;bottom:28px;gap:4px;}
 .od-workspace .od-zoom button{width:32px;min-height:32px;font-size:18px;}
}
.od-findings-panel #doctor-editor{margin:0;padding:0;border:0;}@media(min-width:1151px){.od-workspace .od-detail-canvas{height:clamp(120px,20dvh,230px);}}
@media(min-width:1151px){.od-findings-panel form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:8px;}.od-findings-panel form>*{grid-column:1/-1;}.od-findings-panel form>label:nth-child(1),.od-findings-panel form>label:nth-child(2){grid-column:auto;}}
