#dicom-viewport{width:100%;height:100%;min-height:400px;position:relative;overflow:hidden;background:#000}
#dicom-viewport canvas{display:block}
#dicom-viewport canvas{width:100%;height:100%;object-fit:contain}
.stage-toolbar{align-items:center;gap:12px;flex-wrap:wrap}.tool-group{display:flex;gap:5px;flex-wrap:wrap}.tool-button{min-width:32px;height:30px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.06);color:#bcd0dc;font:600 11px Sora,sans-serif;cursor:pointer}.tool-button:hover,.tool-button.active{background:rgba(109,225,194,.18);border-color:rgba(109,225,194,.55);color:#6de1c2}.viewport-readout{display:flex;gap:14px;margin-left:auto;color:#9bb2c1}.scan-placeholder{position:relative}.scan-placeholder:has(#dicom-viewport){display:block;min-height:400px}.scan-placeholder .scan-empty{position:absolute;inset:0;display:grid;place-items:center;align-content:center;pointer-events:none}.scan-placeholder .scan-empty[hidden]{display:none}.measurement-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.measurement-svg line{stroke:#6de1c2;stroke-width:2;filter:drop-shadow(0 0 3px #000)}.measurement-svg circle{fill:#6de1c2}.measurement-svg text{fill:#fff;font:12px Sora,sans-serif;paint-order:stroke;stroke:#000;stroke-width:3px}.stage-footer{align-items:center;gap:12px}.stage-footer input{flex:1;accent-color:#6de1c2;min-width:100px}.series-item{width:100%;border:0;text-align:left;background:transparent;cursor:pointer}.thumbnail-list{display:flex;flex-direction:column;gap:4px;margin-top:18px;max-height:220px;overflow:auto}.thumbnail{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#849baa;border-radius:6px;padding:7px;text-align:left;font:10px Sora,sans-serif;cursor:pointer}.thumbnail.active{border-color:#6de1c2;color:#6de1c2;background:rgba(109,225,194,.1)}.image-stage:fullscreen{padding:20px;background:#050b15}.image-stage:fullscreen .scan-placeholder{min-height:calc(100vh - 110px)}
@media(max-width:700px){.stage-toolbar{padding:8px;gap:7px}.tool-button{min-width:29px;height:28px}.viewport-readout{width:100%;justify-content:space-between;margin-left:0}.stage-footer{flex-wrap:wrap}.stage-footer input{order:3;flex-basis:100%}}
.image-stage:fullscreen{width:100vw;height:100vh;box-sizing:border-box}.image-stage:fullscreen .scan-placeholder{height:auto;min-height:0;flex:1 1 auto}.image-stage:fullscreen #dicom-viewport{height:100%;min-height:0}
.saved-frame-select{max-width:180px;height:30px;padding:0 7px;border:1px solid rgba(109,225,194,.35);border-radius:8px;background:rgba(4,15,22,.78);color:#bde8df;font:600 10px Sora,sans-serif}.saved-frame-preview{position:absolute;inset:0;z-index:6;width:100%;height:100%;object-fit:contain;background:#000;pointer-events:none}.roi-label-editor{position:absolute;z-index:14;min-width:100px;padding:5px 7px;border:1px solid #6de1c2;border-radius:6px;background:rgba(4,15,22,.95);color:#fff;font:600 11px Sora,sans-serif;outline:none}
.measurement-svg [data-measurement-id]{pointer-events:all!important}
@media(max-width:700px){.mobile-series-control .saved-frame-select{width:112px;max-width:112px}}
.mobile-study-controls{display:contents}
@media(max-width:700px){.mobile-study-controls{display:flex;align-items:center;flex:0 0 auto;min-width:0;gap:6px;flex-wrap:nowrap}.mobile-study-controls .mobile-series-control{display:flex;align-items:center;flex:0 0 auto;min-width:0}.mobile-study-controls .saved-frame-select{flex:0 0 112px;width:112px;max-width:112px}}
.ai-analysis-button{display:inline-flex;align-items:center;gap:7px}.ai-analysis-button span{color:#6de1c2;font-size:16px}.scan-ai-window{position:fixed;z-index:100;top:92px;right:24px;width:min(680px,calc(100vw - 48px));max-height:calc(100dvh - 116px);overflow:auto;padding:0;border:1px solid rgba(109,225,194,.35);border-radius:18px;background:linear-gradient(145deg,rgba(8,22,32,.97),rgba(11,31,42,.95));color:#e8f5fc;box-shadow:0 28px 80px rgba(0,0,0,.55);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.scan-ai-window>header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 20px;border-bottom:1px solid rgba(255,255,255,.12);background:rgba(7,18,28,.9)}.scan-ai-window h2{margin:4px 0 0;font-size:17px}.scan-ai-actions{display:flex;gap:6px}.scan-ai-actions button{width:30px;height:30px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.07);color:#d7e9f1;cursor:pointer;font-size:16px}.scan-ai-status{margin:14px 20px;padding:9px 11px;border:1px solid rgba(109,225,194,.2);border-radius:8px;color:#a9d9cd;font-size:10px}.scan-ai-content{padding:0 20px 22px;font-size:11px;line-height:1.55}.scan-ai-content h3{margin:18px 0 7px;color:#6de1c2;font-size:12px}.scan-ai-content p{margin:0}.scan-ai-content ul{margin:0;padding-left:18px;display:grid;gap:5px}.ai-finding{margin:8px 0;padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.05)}.ai-finding strong{display:block;color:#f4fbff}.ai-finding p{margin:5px 0;color:#b7cbd5}.ai-finding small{color:#8da7b5;font-size:9px}.ai-recommendation{margin-top:16px;padding:11px;border:1px solid rgba(109,225,194,.25);border-radius:10px;background:rgba(109,225,194,.08)}.ai-disclaimer,.ai-empty,.ai-error{color:#9db3bf;font-size:10px}.ai-error{color:#ffb5b5}.ai-disclaimer{margin-top:16px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}
@media(max-width:700px){.scan-ai-window{top:82px;right:8px;width:calc(100vw - 16px);max-height:calc(100dvh - 90px);border-radius:14px}.scan-ai-window>header{padding:13px 14px}.scan-ai-content{padding:0 14px 18px}}
@media print{body>*:not(#scan-ai-window){display:none!important}.scan-ai-window{position:static!important;width:auto!important;max-height:none!important;overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#111!important}.scan-ai-window>header{position:static;background:#fff!important;color:#111!important;border-bottom:1px solid #ccc}.scan-ai-actions,.scan-ai-status{display:none!important}.scan-ai-content h3{color:#176f5e}.ai-finding,.ai-recommendation{break-inside:avoid;color:#111!important;background:#fff!important;border-color:#ccc!important}.ai-finding p,.ai-disclaimer,.ai-empty{color:#333!important}}
.viewer-header{position:relative}.viewer-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-left:auto}.viewer-header-actions .ghost-button{min-width:34px;height:32px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center}.viewer-header-actions .ai-analysis-button{font-size:0}.viewer-header-actions .ai-analysis-button span{font-size:17px;line-height:1}.viewer-header-actions .therapist-button span{font-size:17px;line-height:1}@media(max-width:700px){.viewer-header-actions{position:absolute;right:14px;top:50%;transform:translateY(-50%);gap:5px}.viewer-header-actions .ghost-button{min-width:32px;height:30px;padding:0 7px}}
