:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#273c3a;background:#f6f8f6;font-synthesis:none;font-weight:400;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;cursor:pointer;color:inherit;border-radius:7px;transition:background .15s,color .15s}button:hover{background:#e8efeb}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,summary:focus-visible{outline:2px solid #38977e;outline-offset:3px}input{border:1px solid #d6e1db;border-radius:6px;padding:10px 12px;outline:none;width:100%;color:#243d37;background:#fff}input:focus{border-color:#398e77;box-shadow:0 0 0 3px #398e7715}h1,h2,h3,p{margin:0}h2{font-size:19px;font-weight:600;letter-spacing:-.4px}h3{font-size:14px;font-weight:600}.app{min-height:100vh}.app-header{height:85px;border-bottom:1px solid #dfe6e1;padding:0 34px;display:flex;align-items:center;gap:32px;background:#fff}.brand{padding:0;gap:11px;text-align:left;flex-shrink:0}.brand:hover{background:none}.brand>span:last-child{font-size:24px;letter-spacing:-1px;font-weight:750;line-height:1.1}.brand-light{font-weight:400}.brand small{display:block;font-size:7px;letter-spacing:1.6px;font-weight:600;margin-top:6px;color:#7c8d87}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:#e3f0e9;color:#377d68}.header-center{display:flex;gap:20px;align-items:center;flex:1;min-width:0}.header-label{font-size:12px;color:#7e8c85}.header-divider{width:1px;height:28px;background:#e1e7e3}.plan-name{width:min(34vw,410px);border-color:transparent;font-weight:550;background:transparent}.version{font-size:10px;font-weight:600;letter-spacing:.7px;border:1px solid #dce5de;padding:4px 7px;border-radius:4px;white-space:nowrap}.local-badge{display:flex;align-items:center;gap:7px;border:1px solid #dce8df;background:#f5faf6;color:#51755e;border-radius:20px;padding:7px 11px;font-size:11px;white-space:nowrap}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6baf8b;flex-shrink:0}.home{max-width:1190px;margin:auto;padding:60px 36px 0}.home-heading{display:flex;justify-content:space-between;gap:35px;align-items:center;margin-bottom:44px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.6px;color:#718b7c;margin-bottom:18px}h1{font-size:44px;line-height:1.2;letter-spacing:-1.7px;font-weight:550}h1 span{color:#779586}.home-heading p{font-size:14px;line-height:1.85;color:#7a8880;margin-top:22px}.hero-art{position:relative;width:355px;height:230px;flex-shrink:0;border:1px solid #e0e9e2;border-radius:15px;overflow:hidden;background:linear-gradient(135deg,#edf4ee,#f7faf7)}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#89aa9214 1px,transparent 1px),linear-gradient(90deg,#89aa9214 1px,transparent 1px);background-size:22px 22px}.art-bone{position:absolute;background:linear-gradient(90deg,#acbfb269,#f2f7ed,#a6bfa876);border:1px solid #9eb4a47a;box-shadow:inset 0 0 9px #fff9;border-radius:40% 45% 28% 30%}.bone-one{width:52px;height:140px;left:153px;top:-24px;transform:rotate(-13deg)}.bone-two{width:45px;height:138px;left:171px;top:127px;transform:rotate(10deg)}.art-axis{position:absolute;top:15px;bottom:13px;left:177px;width:1px;background:#599c7780;z-index:1;transform:rotate(-3deg)}.art-measure{position:absolute;left:87px;top:116px;width:185px;border-top:1px solid #418e6c;display:flex;justify-content:space-between;z-index:2;transform:rotate(-7deg)}.art-measure i{height:8px;border-left:1px solid #418e6c;margin-top:-4px}.art-measure span{font-size:7px;letter-spacing:1px;position:absolute;top:11px;left:10px}.art-cross{position:absolute;right:25px;top:15px;color:#789785;font-size:27px;font-weight:200}.art-caption{position:absolute;bottom:13px;left:15px;letter-spacing:1.5px;font-size:7px;color:#83988a}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-heading p{color:#829086;font-size:12px;margin-top:7px}.subtle{font-size:11px;color:#89968d}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.upload-card{border:1px solid #dbe4dc;background:#fff;text-align:left;padding:25px 26px;justify-content:flex-start;gap:19px;border-radius:11px;box-shadow:0 2px 5px #283d2803}.upload-card:hover{background:#f0f7f1;border-color:#83ad95}.primary-upload{border-color:#b5cdbc;background:#f0f6f0}.upload-icon{padding:15px;border-radius:10px;background:#e5eee5;color:#5e8469}.upload-card h3{font-size:17px;margin-bottom:6px;font-weight:600}.upload-card p{font-size:12px;color:#829087}.upload-card span{display:block;font-size:9px;color:#87988b;letter-spacing:1px;margin-top:12px}.upload-arrow{margin-left:auto;color:#7e9b88}.drop-note{display:flex;gap:8px;align-items:center;justify-content:center;font-size:11px;color:#869388;margin:19px 0 40px}.drop-note span{border-left:1px solid #d8e1d9;padding-left:10px;margin-left:3px;color:#a1aba4}.title-row{display:flex;gap:10px;align-items:center}.count{font-size:10px;min-width:22px;border-radius:5px;padding:3px 6px;background:#e9efe9;color:#718677;text-align:center}.text-button{font-size:11px;color:#438568;padding:5px 0}.empty-plans{border:1px dashed #d5dfd7;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:19px;color:#a4b7a7;min-height:107px}.empty-plans h3{font-size:13px;color:#718674;margin-bottom:5px;font-weight:500}.empty-plans p{font-size:11px;color:#98a59b}.home-footer{display:flex;justify-content:space-between;gap:15px;padding:30px 0;color:#94a097;font-size:10px}.home-footer>span:first-child{display:flex;align-items:center;gap:7px}.plan-list{display:flex;flex-direction:column;gap:8px}.plan-card{display:flex;align-items:center;gap:12px;border:1px solid #e0e7e1;padding:14px 16px;background:#fff;border-radius:8px}.file-icon{padding:9px;background:#edf4ee;color:#719980;border-radius:7px}.plan-card-main{flex:1;display:block;text-align:left;padding:6px;min-width:0}.plan-card h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-card p{font-size:10px;color:#8b9b90;margin-top:6px}.plan-card p span{padding:0 8px}.plan-card>button:not(.plan-card-main){padding:9px;color:#6f8b79}.open-plan{font-size:12px;margin-left:8px}.recovery{background:#e8f3ea;border:1px solid #cfe1d4;border-radius:8px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:24px;gap:15px}.recovery>div{display:flex;align-items:center;gap:9px}.recovery button{font-size:11px;color:#397d5c;white-space:nowrap}.error-banner{display:flex;align-items:center;gap:10px;padding:12px 24px;background:#fff0e8;color:#994b32;font-size:13px;border-bottom:1px solid #e8c6b6}.error-banner button{margin-left:auto}.action-bar{height:57px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce4dd;padding:0 23px;background:#fbfcfa}.action-bar>div{display:flex;align-items:center;gap:7px}.action-bar button{padding:8px 10px;font-size:11px;color:#65776b}.action-bar .save-button{color:#337456}.toolbar-separator{width:1px;height:21px;background:#dce5de;margin:0 5px}.workspace{display:grid;grid-template-columns:76px minmax(200px,1fr) 285px;height:calc(100dvh - 171px);min-height:500px;background:#fff}.workspace:fullscreen{height:100dvh}.tool-rail{padding:10px 7px;border-right:1px solid #dce3df;overflow-y:auto;display:flex;flex-direction:column;gap:4px;background:#f9fbf8}.tool-rail button{flex-direction:column;gap:5px;min-height:51px;padding:8px 2px;border-radius:7px;color:#839187}.tool-rail button span{font-size:9px}.tool-rail button.active{background:#e1eee3;color:#3c7d56;box-shadow:inset 2px 0 #4d9167}.tool-rail button:nth-child(5),.tool-rail button:last-child{margin-top:9px}.stage{background:#101921;position:relative;display:flex;flex-direction:column;min-height:0;overflow:hidden}.stage-header{height:37px;display:flex;justify-content:space-between;align-items:center;padding:0 15px;background:#111b24;color:#7c8f9d;border-bottom:1px solid #25313a;font-size:10px;flex-shrink:0}.stage-header>span{display:flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-header .status-dot{background:#688673;width:4px;height:4px}.stage-header button{padding:6px}.stage-header button:hover{background:#253644}.viewport{flex:1;min-height:0;position:relative;touch-action:none;overflow:hidden;background:#080d12;cursor:crosshair}.viewport.tool-pan{cursor:grab}.viewport.tool-select{cursor:default}.viewport.tool-zoom{cursor:zoom-in}.image-canvas,.annotation-canvas{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}.viewport-corner{position:absolute;left:17px;top:15px;display:flex;flex-direction:column;gap:5px;color:#5f7481;font:10px ui-monospace,monospace;pointer-events:none}.viewport-corner span:first-child{color:#8c9ea8}.viewport-bottom{position:absolute;bottom:12px;left:17px;right:17px;display:flex;justify-content:space-between;font:10px ui-monospace,monospace;color:#648092;pointer-events:none}.view-controls{position:absolute;bottom:55px;left:50%;transform:translate(-50%);background:#19252eea;border:1px solid #34424c;border-radius:9px;display:flex;align-items:center;gap:4px;padding:4px 7px;color:#a7b9c1;box-shadow:0 5px 20px #0005}.view-controls button{padding:7px}.view-controls button:hover,.view-controls button[aria-pressed=true]{background:#354e53;color:#c6f3de}.view-controls>span{font-size:10px;min-width:38px;text-align:center}.view-controls i{border-right:1px solid #394952;height:15px;margin:0 4px}.tool-hint{min-height:37px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background:#121d25;border-top:1px solid #253540;color:#708d9b;font-size:10px;flex-shrink:0}.drawing-hint{position:absolute;top:15px;left:50%;transform:translate(-50%);padding:8px 12px;background:#172733ed;color:#f4c879;border:1px solid #9c875b60;border-radius:5px;font-size:11px;pointer-events:none;white-space:nowrap}.inspector{border-left:1px solid #dce5de;overflow:auto;display:flex;flex-direction:column;background:#fdfefc}.inspector-heading{padding:20px;display:flex;justify-content:space-between;color:#8a9b8d}.inspector-heading h2{font-size:16px;color:#475f4c}.calibration-panel{padding:20px;border-top:1px solid #e9eee8;border-bottom:1px solid #e3ebe2;background:#f6f9f3}.calibration-panel .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:12px}.calibration-status{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.5}.calibration-status strong{font-weight:600}.uncalibrated{color:#9e8151}.uncalibrated .status-dot{background:#bd9b5f}.calibration-panel p{font-size:10px;color:#8e9c8b;line-height:1.7;margin:8px 0 13px}.calibrate-button{width:100%;border:1px solid #cfdccc;padding:9px 10px;background:#fff;color:#588062;font-size:11px}.dicom-available{display:block;font-size:10px;color:#789775;margin-top:14px}.calibration-panel .text-button{display:block}.muted{color:#99a697}.annotation-panel{padding:20px}.annotation-panel .section-heading{margin-bottom:12px}.annotation-panel h3{font-size:12px}.empty-annotations{padding:22px 5px;color:#adbbaa;text-align:center}.empty-annotations p{font-size:11px;color:#91a38c;margin:12px 0 6px}.empty-annotations span{font-size:10px;line-height:1.7;display:block;color:#adb8a8}.annotation-list{display:flex;flex-direction:column;gap:4px}.annotation-list button{justify-content:flex-start;text-align:left;padding:11px;border:1px solid transparent;font-size:11px;gap:10px}.annotation-list button.selected{background:#eef5e9;border-color:#d6e5ca}.annotation-list strong{display:block;font-size:13px;margin-top:4px;color:#657d54;font-weight:600}.annotation-row{display:flex;align-items:center;gap:3px}.annotation-row .annotation-select{flex:1;min-width:0;padding:8px 3px;gap:7px}.annotation-row input[type=checkbox]{width:12px;flex:0 0 12px}.line-eyes{display:flex;gap:1px}.annotation-row .line-eye{padding:5px;border:0}.group-tag{color:#66806e;font-size:9px}.group-actions{display:flex;margin-top:5px}.group-actions button{padding:6px 10px}.osteotomy-section{border-top:1px solid #dbe4dc;padding:16px 20px}.osteotomy-section .section-heading{margin-bottom:12px}.osteotomy-section h3{font-size:12px}.osteotomy-list{display:flex;flex-direction:column;gap:4px}.osteotomy-list button{justify-content:flex-start;gap:10px;text-align:left}.osteotomy-list small{display:block;font-size:10px;color:#738373;margin-top:3px}.osteotomy-list .selected{border-color:#8ba995;background:#edf5ec}.osteotomy-entry{position:relative}.osteotomy-entry>button{width:100%}.osteotomy-submenu{position:fixed;z-index:90;background:#f8fcf8;border:1px solid #b5cbbd;border-radius:8px;padding:5px;width:130px;box-shadow:0 6px 18px #08121933}.osteotomy-submenu button{width:100%;min-height:34px;justify-content:flex-start}.reference-shortcuts{display:flex;gap:3px;flex-wrap:wrap}.line-references select{display:block;width:100%;margin-top:6px;padding:7px 8px;font:inherit;color:#20382d;background:#fff;border:1px solid #cbdcd0;border-radius:6px}.line-references h4{font-size:11px;margin:12px 0 8px}.line-references details{margin:8px 0}.reference-shortcuts button{padding:5px 6px;font-size:11px}.reference-row{display:flex;gap:4px;align-items:center;justify-content:space-between;font-size:10px;padding:4px 0}.reference-row button{padding:3px 5px}.line-references h4{font-size:11px;margin:10px 0}.line-references details{font-size:11px;margin:10px 0}.annotation-dot{width:5px;height:20px;border-radius:3px}.object-panel{padding:0 20px 20px;border-bottom:1px solid #e4ebe0}.object-panel label,.view-details label{display:block;font-size:10px;color:#809176;margin-bottom:10px}.object-panel input{font-size:12px;margin-top:7px;padding:8px 10px}.delete-button{font-size:10px;color:#a27b68;padding:5px 0}.view-details{padding:17px 20px;border-bottom:1px solid #e4ebe0;font-size:11px;color:#819576}.view-details summary{cursor:pointer;margin-bottom:9px}.view-details label{margin-top:15px}.view-details label>span{float:right}.view-details input{margin-top:7px;font-size:11px;padding:7px}.view-details input[type=range]{accent-color:#73a260;padding:0;box-shadow:none}.inspector-bottom{margin-top:auto;padding:17px 20px;display:flex;flex-direction:column;gap:8px}.inspector-bottom button{justify-content:flex-start;font-size:10px;color:#8e9b85;padding:6px 0}.status-bar{height:29px;border-top:1px solid #dce6d7;display:flex;justify-content:space-between;align-items:center;padding:0 18px;font-size:9px;color:#91a285;background:#fbfdf8}.status-bar>span{display:flex;align-items:center;gap:6px}.modal-backdrop{position:fixed;inset:0;background:#0b1d24a6;display:flex;align-items:center;justify-content:center;padding:24px;z-index:20;backdrop-filter:blur(4px)}.modal{width:420px;max-width:100%;padding:30px;background:#fafcf7;border:1px solid #d7e3d1;border-radius:13px;box-shadow:0 24px 100px #0004}.modal-icon{display:inline-flex;padding:12px;background:#e6efdc;color:#7c985f;border-radius:10px;margin-bottom:18px}.modal h2{font-size:22px;margin-bottom:12px}.modal p{font-size:12px;color:#8a987e;line-height:1.8}.modal label{display:block;font-size:11px;margin-top:22px;color:#788d63}.modal input{margin-top:8px;font-size:20px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:27px}.modal-actions button{font-size:12px;padding:10px 15px}.primary-button{background:#617f42;color:#fff}.primary-button:hover{background:#516f35}.metadata-modal{width:580px;max-height:85vh;overflow:auto}.metadata-modal dl{font-size:11px;margin:20px 0}.metadata-modal dl>div{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:9px 0;border-bottom:1px solid #e3e9da}.metadata-modal dt{color:#849472}.metadata-modal dd{margin:0;overflow-wrap:anywhere}.drop-overlay,.busy-overlay{position:fixed;inset:0;z-index:30;background:#f2f7edef;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;color:#68894f;backdrop-filter:blur(6px)}.drop-overlay{border:4px dashed #95b878;pointer-events:none}.busy-overlay span:last-child{font-size:12px;color:#92a381}.spinner{width:32px;height:32px;border:2px solid #dbe6cf;border-top-color:#6e944b;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1500px){.workspace{grid-template-columns:80px minmax(200px,1fr) 320px}.home{padding-top:80px}.home-heading{margin-bottom:55px}}@media(max-width:1000px){.app-header{padding:0 20px;gap:20px}.workspace{grid-template-columns:65px minmax(200px,1fr) 250px}.hero-art{width:280px}.home{padding:40px 28px 0}h1{font-size:36px}.home-heading p{font-size:12px}.upload-card{padding:20px;gap:13px}.upload-icon{padding:12px}.header-label,.version{display:none}.action-bar{padding:0 10px}.action-bar button{padding:8px}.calibration-panel,.annotation-panel,.inspector-heading{padding:16px}}@media(max-width:720px){.app-header{height:70px;padding:0 14px;gap:10px}.brand small{display:none}.brand>span:last-child{font-size:21px}.brand-mark{width:35px;height:35px}.header-center{gap:8px}.local-badge{padding:6px;border:0;background:none}.local-badge span{display:none}.plan-name{width:100%;font-size:12px;padding:6px}.home{padding:33px 20px 0}.home-heading{margin-bottom:32px}.hero-art{display:none}h1{font-size:35px}.home-heading p br{display:none}.upload-grid{grid-template-columns:1fr}.upload-card{padding:21px}.section-heading>.subtle{display:none}.drop-note{flex-wrap:wrap}.recovery{align-items:flex-start;flex-direction:column}.home-footer{flex-direction:column}.action-bar{height:50px}.action-bar button span{display:none}.workspace{grid-template-columns:54px minmax(0,1fr);height:auto;min-height:0}.tool-rail{grid-row:1;padding:6px 3px;height:65dvh}.tool-rail button{min-height:43px;gap:3px}.tool-rail button span{font-size:8px}.stage{height:65dvh}.tool-hint{font-size:9px}.inspector{grid-column:1 / -1;max-height:none;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dce5de}.inspector-heading{grid-column:1 / -1}.calibration-panel{border-right:1px solid #e3ebe2}.inspector-bottom{grid-column:1 / -1;flex-direction:row;justify-content:space-between}.view-controls{gap:0;padding:4px;bottom:61px}.view-controls button{padding:6px}.view-controls>span{min-width:32px}.view-controls i{margin:0 2px}.status-bar{height:35px;font-size:8px;gap:10px}.workspace:fullscreen{display:grid;grid-template-columns:54px minmax(0,1fr);height:100dvh}.workspace:fullscreen .stage,.workspace:fullscreen .tool-rail{height:100dvh}.workspace:fullscreen .inspector{display:none}.plan-card{gap:5px;padding:9px}.plan-card p{font-size:9px}.plan-card h3{font-size:12px}.open-plan{font-size:0}.view-details,.object-panel{padding:16px}}.sphere-layer{position:absolute;inset:0;z-index:6;pointer-events:none}.sphere-svg{width:100%;height:100%;position:absolute;inset:0;pointer-events:auto;touch-action:none}.sphere-svg [data-handle]{cursor:move}.sphere-svg [data-handle=radius]{cursor:nwse-resize}.sphere-controls,.intersection-popup{position:absolute;z-index:8;top:14px;right:14px;width:270px;padding:16px;background:#f6f8f3;color:#20382d;box-shadow:0 8px 30px #0006;border-radius:12px;pointer-events:auto;max-height:calc(100% - 28px);overflow:auto}.sphere-controls p,.note-editor p{font-size:11px;line-height:1.5}.sphere-controls label,.note-editor label{display:block;font-size:12px;margin:8px 0}.sphere-controls input,.note-editor input,.note-editor select{width:100%;padding:7px;border:1px solid #bfcdc3;border-radius:6px}.coordinate-inputs,.sector-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sphere-controls button,.intersection-popup button,.note-format button,.calibration-choices button{padding:9px;border:1px solid #bdcfc5;border-radius:7px;margin:3px 0}.intersection-popup>button{display:block;width:100%}.sector-grid svg{width:58px;height:58px;display:block;margin:auto}.sector-grid button[aria-pressed=true]{background:#d6f1e3;border-color:#2f8d68}.calibration-choices{display:grid;gap:10px;margin:20px 0}.object-panel fieldset{border:0;padding:0;min-width:0}.object-panel fieldset:disabled{opacity:.6}.rich-input{min-height:100px;max-height:260px;overflow:auto;padding:10px;outline:1px solid #c8b879;border-radius:5px;white-space:pre-wrap}.rich-input ul,.rich-input ol{padding-left:24px;margin:0}.note-format{display:flex;gap:4px;margin-bottom:7px}.note-format button{min-width:32px;font-weight:600}.export-toggle{font-size:11px;display:flex;align-items:center;gap:6px}.export-toggle input{width:auto}.stage-calibration{color:#d8e7da;font-size:11px;flex-shrink:0}.note-editor label{display:inline-block;width:50%;padding-right:6px;vertical-align:top}.note-editor input[type=color]{height:32px;padding:3px}.rotation-dial{position:absolute;left:14px;bottom:48px;z-index:5;width:84px;color:#d4eee6;text-align:center;user-select:none;touch-action:none}.rotation-dial svg{display:block;width:84px;height:84px;cursor:grab;border-radius:50%;background:#101e29e8;box-shadow:0 3px 12px #0004;stroke:#7bada0;stroke-width:1.5;fill:none}.rotation-dial svg:active{cursor:grabbing}.rotation-dial svg:focus-visible{outline:2px solid #78dbc0;outline-offset:3px}.rotation-dial .dial-track{stroke:#527068;stroke-width:3}.rotation-dial .dial-needle{stroke:#78dbc0;stroke-width:2.5}.rotation-dial .dial-handle{fill:#78dbc0;stroke:#e6fff5}.rotation-dial .dial-reset{position:absolute;top:27px;left:20px;width:44px;height:30px;padding:0;color:#e8fff7;font-size:12px;border-radius:50%}.rotation-dial>span{display:block;font-size:10px;margin-top:5px}.tool-rail .tool-symbol{position:relative;display:inline-flex;width:20px;height:20px;flex-shrink:0}.mouse-assignment{position:absolute;width:14px;height:20px;right:-13px;top:-7px;filter:drop-shadow(0 1px 2px #0005);pointer-events:none}.tool-rail button.right-assigned{box-shadow:inset -3px 0 #d89738}.mouse-hint{margin-left:auto;color:#ddbe86;text-align:right;font-size:10px}.image-adjustments{position:absolute;left:14px;bottom:48px;z-index:5;width:144px}.image-adjustments .rotation-dial{position:relative;left:auto;bottom:auto;margin-bottom:12px}.window-sliders{padding:8px 10px;background:#101e29ed;border:1px solid #344e53;border-radius:10px;color:#d6e7e4}.window-sliders label{display:block;font-size:10px}.window-sliders label+label{margin-top:6px}.window-sliders label>span{display:flex;justify-content:space-between;gap:4px}.window-sliders input{display:block;width:100%;height:22px;margin:0;accent-color:#78dbc0;cursor:ew-resize;touch-action:none}.workspace.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.stage-header .stage-calibration{margin-left:12px;margin-right:auto}.cut-workspace{position:absolute;inset:0;pointer-events:none;z-index:4}.lock-button,.help-button{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;padding:4px;vertical-align:middle}.editor-help{color:#e5eeed;position:absolute;right:12px;top:12px;z-index:25;width:min(300px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;background:#14232b;border:1px solid #38535b;border-radius:10px;padding:12px;pointer-events:auto;box-shadow:0 6px 24px #0005}.editor-help header{display:flex;align-items:center;justify-content:space-between;gap:10px}.editor-help button{color:inherit}.editor-help p{font-size:12px;line-height:1.6;white-space:pre-line;margin:10px 0 0}.cut-heading-actions{display:flex;justify-content:flex-end;gap:5px;align-items:center;flex-wrap:wrap}.copy-feedback{font-size:10px;color:#78dbc0}.free-mode{display:flex;gap:5px;margin:10px 0}.free-mode button[aria-pressed=true]{background:#78dbc0;color:#102d24}.line-panel .object-panel{border:0;padding:0}.line-panel .object-panel input{color:#e5eeed;background:#0b171d;border-color:#38535b}.line-panel .object-panel label{color:#abc1c8}.cut-info{border-bottom:1px solid #ffffff18;margin-bottom:10px;padding-bottom:6px}.cut-info h4{margin:0 0 6px;font-size:11px;color:#abc1c8}.cut-panel fieldset>legend{font-size:11px;color:#abc1c8}.cut-surface{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;touch-action:none}.cut-surface.is-drawing{cursor:crosshair}.fragment-hit{pointer-events:all;fill:transparent;stroke:transparent;cursor:move}.fragment-hit.selected{stroke:#78dbc0;stroke-width:2}.cut-panel{position:absolute;right:12px;top:12px;width:280px;max-height:calc(100% - 90px);overflow:auto;pointer-events:auto;background:#15232bf5;color:#e5eeed;border:1px solid #38544f;border-radius:12px;padding:14px;box-shadow:0 10px 40px #0006;font-size:12px}.cut-panel header{display:flex;align-items:center;justify-content:space-between;gap:8px}.cut-panel header button{font-size:22px;padding:0 7px}.cut-panel p{line-height:1.5;margin:9px 0}.cut-panel .cut-caption{color:#9fc1b8;font-size:10px}.cut-panel .cut-instruction{padding:9px;background:#203632;border-radius:6px}.cut-panel button{border:1px solid #47645d;border-radius:6px;padding:7px;background:#22372f;color:#e6f5ec;font-size:11px}.cut-panel button:hover{background:#315044}.cut-panel button[aria-pressed=true]{border-color:#78dbc0;background:#315548}.cut-panel button:disabled{opacity:.4;cursor:default}.cut-panel .primary{background:#78dbc0;color:#102d24}.cut-kinds,.cut-actions{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.cut-list{display:grid;gap:5px;margin:12px 0;max-height:130px;overflow:auto}.cut-list button{text-align:left}.cut-panel fieldset{border:0;padding:0;min-width:0;margin:10px 0}.cut-panel legend{font-weight:600;margin-bottom:6px}.cut-panel label{display:block;margin:9px 0;font-size:11px}.cut-panel input:not([type=checkbox]){display:block;width:100%;margin-top:5px;background:#0b181d;color:#eef8f3;border:1px solid #446158;border-radius:5px;padding:7px}.cut-panel input[type=checkbox]{display:inline-block;width:auto;height:auto;padding:0;accent-color:#78dbc0;vertical-align:middle;margin-right:6px}.cut-panel [role=alert]{color:#ffd0ad}.cut-panel select{width:100%;display:block;background:#0b181d;color:#eef8f3;border:1px solid #446158;border-radius:5px;padding:7px;margin-top:5px}.surgical-measures{display:grid;grid-template-columns:1fr auto;gap:7px 8px;margin:14px 0;padding:10px;background:#0b181d;border-radius:6px}.surgical-measures dt{color:#a9c9c0;font-size:11px}.surgical-measures dd{margin:0;font-variant-numeric:tabular-nums;text-align:right;color:#eaf7f2}.surgical-measures:has(.surgical-measure-row){display:block}.surgical-measure-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:5px 0}.surgical-measure-row dd{display:flex;align-items:center;gap:5px;white-space:nowrap}.cut-panel .measure-eye{display:inline-flex;padding:4px;border:0;background:transparent;color:#b7c9c5}.cut-panel .measure-eye[aria-pressed=true]{color:#78dbc0;background:transparent}.cut-workspace:focus,.viewport:focus{outline:none}.blade-presets{padding:8px;border:1px solid #38544f;border-radius:6px;margin:10px 0}.blade-presets summary{cursor:pointer}.blade-preset-row{border-top:1px solid #38544f;margin-top:10px;padding-top:5px}@media(max-width:720px){.cut-panel{right:6px;top:6px;width:190px;max-height:45%;padding:9px}.cut-panel .cut-caption{display:none}}.sidebar-toggle{flex-shrink:0}@media(min-width:1500px){.workspace.sidebar-collapsed{grid-template-columns:80px minmax(0,1fr)}}@media(max-width:1000px){.workspace.sidebar-collapsed{grid-template-columns:65px minmax(0,1fr)}}@media(max-width:720px){.workspace.sidebar-collapsed{grid-template-columns:54px minmax(0,1fr)}.image-adjustments{left:8px;width:128px}.stage-header .stage-calibration{font-size:9px}}.center-guide-controls{position:absolute;inset:0;pointer-events:none;touch-action:none}.center-guide-popup{color:#eef6f4;position:absolute;width:215px;padding:10px;display:grid;gap:7px;border:1px solid #3b5966;border-radius:10px;background:#10232af2;box-shadow:0 4px 18px #0006;z-index:5}.center-guide-popup label{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:5px}.center-guide-popup input{width:90px;color:#eef6f4;background:#213b45;border:1px solid #54707a;border-radius:5px}.center-guide-popup button:hover{background:#28434e}.center-guide-popup small{font-size:11px;color:#acc0c8}.center-guide-popup .guide-close{position:absolute;right:4px;top:2px;width:28px;height:28px}.floating-panel{display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.floating-panel-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:5px;margin-bottom:7px}.floating-panel-handle{display:flex;align-items:center;gap:6px;min-width:0;cursor:grab;touch-action:none;user-select:none;padding:4px 0}.floating-panel-handle:active{cursor:grabbing}.floating-panel-handle:focus-visible{outline:2px solid #62dcb8;border-radius:4px}.panel-grip{font-size:19px;opacity:.7}.floating-panel-header>button{flex:0 0 auto;font-size:19px;padding:1px 7px;margin:0}.floating-panel-body{min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.center-guide-popup .floating-panel-body{display:grid;gap:7px}.intersection-popup .floating-panel-body>button{display:block;width:100%}.quick-colors{margin:8px 0}.color-trigger{width:100%;justify-content:flex-start;padding:7px;border:1px solid #bfcdc3;background:#fff;color:#20382d}.color-swatch{display:inline-block;width:20px;height:20px;border-radius:3px;border:1px solid #7b8991;flex:0 0 auto}.quick-color-options{padding:9px 4px}.quick-color-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:3px}.quick-color-grid .color-choice{width:100%;aspect-ratio:1;min-height:25px;padding:0;margin:0;border:1px solid #75818b;border-radius:4px;font-size:19px;font-weight:800}.color-choice[aria-pressed=true]{outline:2px solid #126b54;outline-offset:2px}.color-choice:focus-visible{outline:2px solid #255bcb;outline-offset:2px}.current-color{display:flex;gap:6px;align-items:center;margin:9px 0 2px;font-size:11px}.calibration-compact{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid #dce6dc;font-size:12px;flex-wrap:wrap}.calibration-compact>span{grid-column:1 / -1;color:#237953;margin-right:auto}.semantic-swatch{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;border:1px solid #ffffff55}.calibration-options{justify-self:end;position:relative}.calibration-options summary{cursor:pointer;list-style:none;font-weight:700}.calibration-options>div{display:grid;position:absolute;right:0;top:22px;width:175px;background:#fff;border:1px solid #dce6dc;border-radius:6px;padding:8px;z-index:10;box-shadow:0 3px 15px #0002}.custom-color-toggle{font-size:11px;padding:5px 0;text-decoration:underline}.implant-overlay{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.implant-library{border-top:1px solid #354956;padding:12px;display:grid;gap:8px}.implant-library h3{margin:0;font-size:14px}.implant-library small{color:#aebfc8;font-size:11px}.implant-library label,.implant-library div{display:grid;gap:5px}.implant-library select{width:100%;min-width:0}.implant-library a{font-size:11px;color:#78dbc0}.print-dialog{position:fixed;inset:16px;z-index:1000;background:#13212c;border:1px solid #567080;border-radius:12px;display:flex;flex-direction:column;padding:16px;gap:10px;box-shadow:0 15px 80px #000a}.print-dialog header,.print-options{display:flex;align-items:center;justify-content:space-between;gap:12px}.print-dialog h2{font-size:18px;margin:0}.print-options label{display:flex;gap:10px;align-items:center}.print-dialog iframe{width:100%;flex:1;border:0;min-height:150px;background:#d8dde2}.print-guidance{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;align-items:center}.print-guidance span{max-width:520px}.print-guidance strong{width:100%;color:#eab879}@media(max-width:800px){.print-dialog{inset:4px;padding:10px}.print-guidance,.print-options p{font-size:11px}}.print-dialog{color:#e8f2f5}.print-dialog button{color:#e8f2f5;background:#213541;border:1px solid #567080;border-radius:6px;padding:7px 12px}.print-dialog button:disabled{opacity:.45}.print-dialog select{color:#152632;background:#f4f7f9}.print-dialog h2{color:#e8f2f5}.print-dialog .print-pdf-frame{position:fixed;left:-10000px;top:0;width:1px;height:1px;min-height:0;flex:none;visibility:hidden}.section-collapse{width:100%;background:transparent;border:0;text-align:left;cursor:pointer;padding:4px 0;gap:6px}.section-collapse h3{flex:1;margin:0}[hidden]{display:none!important}.calibration-compact>span{display:flex;align-items:center;gap:4px}.calibration-actions{display:flex;gap:4px}.calibration-actions button{padding:5px;min-height:26px}.compact-color{position:relative;flex:none}.compact-color .color-trigger{padding:3px;min-height:24px;border:0;background:transparent}.compact-color .quick-color-options{position:absolute;z-index:20;left:0;top:100%;width:200px;background:#f5faf5;color:#244433;padding:10px;border:1px solid #afc5b5;border-radius:6px}.measure-visibility{display:flex;gap:4px;flex-wrap:wrap}.measure-visibility button{font-size:11px;display:flex;align-items:center;gap:4px;padding:4px}.section-collapsed{padding-top:8px;padding-bottom:8px}.section-collapsed .section-heading{margin-bottom:0}.implant-library{display:grid;gap:10px}.implant-library .implant-brand summary{cursor:pointer;padding:7px 0}.implant-library .implant-brand details{margin-left:12px}.implant-models{display:grid;gap:4px;max-height:240px;overflow:auto}.implant-models button{text-align:left;font-size:11px}.implant-library .implant-row{display:flex;align-items:center;gap:4px;padding:4px 0}.implant-row>button{padding:4px;flex-shrink:0}.implant-row .implant-name{min-width:0;text-align:left;flex:1;font-size:11px}.implant-row.selected{background:#78dbc014;border-radius:6px}.implant-card label{display:grid;gap:4px}.implant-card small{display:block;margin:8px 0}.implant-library small{color:#617d70}.implant-library a{color:#447a63}.implant-card{z-index:5}.implant-card label{color:#abc1c8}.stage>.sidebar-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:9;width:30px;height:58px;padding:2px;border:1px solid #829c90;border-right:0;border-radius:9px 0 0 9px;background:#edf5ef;color:#35644d;box-shadow:-2px 0 8px #0003}.object-context-card{z-index:5}.object-context-card .object-panel{padding:0;border:0}.object-context-card .rich-input{min-height:72px;max-height:140px;overflow:auto}@media(max-width:720px){.workspace.sidebar-collapsed .stage,.workspace.sidebar-collapsed .tool-rail{height:max(65dvh,calc(100dvh - 154px))}}.implant-family{width:100%;margin:6px 0;text-align:left}.implant-model-navigation{display:flex;align-items:center;gap:8px;justify-content:space-between}.implant-model-navigation strong{text-align:center;font-size:13px}.implant-model-navigation button{flex-shrink:0}.implant-model-range input{width:100%}.implant-picker-actions{display:flex;gap:8px;justify-content:flex-end}
