.cornerstone-viewport-container{display:flex;flex-direction:column}.cornerstone-viewport-container canvas{width:100%!important;height:100%!important;-o-object-fit:contain;object-fit:contain}.cornerstone-viewport-container [data-cy=cornerstone-canvas],.cornerstone-viewport-container .cornerstone-canvas,.cornerstone-viewport-container .cornerstone-viewport canvas{width:100%!important;height:100%!important}.viewport-overlays{position:absolute;inset:0;pointer-events:none;font-family:Monaco,Menlo,Courier New,monospace;font-size:13px;color:#f8fafc;z-index:10;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:1;transition:opacity .3s ease}.viewport-overlays__corner{position:absolute;padding:10px;display:flex;flex-direction:column;gap:6px;max-width:40%}.viewport-overlays__top-left{top:0;left:0}.viewport-overlays__top-right{top:0;right:0;align-items:flex-end}.viewport-overlays__bottom-left{bottom:0;left:0}.viewport-overlays__bottom-right{bottom:0;right:0;align-items:flex-end}.viewport-overlays__item{background:#0a0e14d1;border:1px solid rgba(255,255,255,.12);padding:5px 10px;border-radius:8px;white-space:nowrap;text-shadow:0 2px 4px rgba(0,0,0,.8);font-size:12px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;transition:all .2s ease}.viewport-overlays__item--highlight{background:#3b82f647;color:#dbeafe;font-weight:700;border:1px solid rgba(59,130,246,.5);box-shadow:0 0 0 1px #3b82f640}.viewport-overlays__bottom-right .viewport-overlays__item--highlight{background:linear-gradient(135deg,#3b82f666,#2563eb80);border:1px solid rgba(59,130,246,.6);box-shadow:0 0 0 1px #3b82f64d,0 4px 12px #3b82f633;font-size:13px;padding:6px 12px;letter-spacing:.02em}.viewport-overlays__item--clickable{cursor:pointer;pointer-events:auto;padding:5px 12px;border-radius:8px;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.viewport-overlays__item--clickable:hover{background:#3b82f673;color:#f0f9ff}.viewport-overlays__item--active{background:#3b82f699}.viewport-overlays__wl-container{position:relative;pointer-events:auto}.viewport-overlays__preset-dropdown{position:absolute;bottom:100%;left:0;margin-bottom:8px;min-width:220px;background:#0a0c10f7;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:6px;z-index:1000;backdrop-filter:blur(12px);box-shadow:0 -6px 14px #00000080}.viewport-overlays__preset-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:9px 12px;background:#ffffff0a;border:1px solid transparent;border-radius:8px;color:#ffffffe6;cursor:pointer;transition:all .15s ease;text-align:left}.viewport-overlays__preset-item:hover{background:#3b82f64d;border-color:#3b82f680;color:#dbeafe}.viewport-overlays__preset-name{font-size:13px;font-weight:700;color:inherit}.viewport-overlays__preset-values{font-size:10px;font-family:Monaco,Menlo,Courier New,monospace;color:#ffffff8c}@media (max-width: 768px){.viewport-overlays{font-size:11px}.viewport-overlays__corner{padding:8px;gap:3px;max-width:45%}.viewport-overlays__item{font-size:10px;padding:2px 5px}}.viewport-overlays--hidden{display:none}.image-progress-bar{position:absolute;bottom:0;left:0;right:0;z-index:15;padding:0;transition:all .2s ease}.image-progress-bar__track{position:relative;width:100%;height:6px;background:#000000b3;border-radius:0;overflow:visible;transition:height .2s ease}.image-progress-bar--hovering .image-progress-bar__track{height:8px}.image-progress-bar__track--clickable{cursor:pointer}.image-progress-bar__fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:2px;transition:width .15s ease;pointer-events:none}.image-progress-bar__markers{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.image-progress-bar__marker{position:absolute;top:0;width:1px;height:100%;background:#ffffff26;transform:translate(-50%)}.image-progress-bar__thumb{position:absolute;top:50%;width:14px;height:14px;background:#fff;border:3px solid #3b82f6;border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s ease;pointer-events:none;box-shadow:0 3px 10px #00000080}.image-progress-bar--hovering .image-progress-bar__thumb,.image-progress-bar--dragging .image-progress-bar__thumb{opacity:1}.image-progress-bar__tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;padding:4px 10px;background:#000000f2;color:#fff;font-size:11px;font-weight:600;border-radius:4px;white-space:nowrap;pointer-events:none;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0009;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.image-progress-bar--dragging .image-progress-bar__track{height:10px}.image-progress-bar--dragging .image-progress-bar__thumb{width:18px;height:18px;border-width:3px}.image-progress-bar__key-images{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.image-progress-bar__key-image-marker{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background-color:#ef4444;transform:translate(-50%,-50%);cursor:pointer;pointer-events:auto;border:3px solid #ffffff;box-shadow:0 0 0 1px #00000080,0 2px 4px #0006;transition:all .2s ease;z-index:10}.image-progress-bar__key-image-marker:hover{transform:translate(-50%,-50%) scale(1.4);box-shadow:0 0 0 2px #ef444480,0 4px 8px #00000080}.image-progress-bar__key-image-marker--active{background-color:#ef4444;transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 0 3px #ef444499,0 0 12px #ef4444cc;animation:keyImagePulse 2s ease-in-out infinite}@keyframes keyImagePulse{0%,to{box-shadow:0 0 0 2px #ef444499,0 0 8px #ef444499}50%{box-shadow:0 0 0 4px #ef444466,0 0 16px #ef4444e6}}@media (max-width: 768px){.image-progress-bar{padding:0 8px}.image-progress-bar__track{height:8px}.image-progress-bar--hovering .image-progress-bar__track{height:10px}.image-progress-bar__thumb{width:16px;height:16px}.image-progress-bar__key-image-marker{width:12px;height:12px}}.multi-viewport-grid{display:grid;width:100%;height:100%;min-height:0;gap:6px;background:#1a1a1a;grid-auto-rows:1fr;grid-auto-columns:1fr;align-items:stretch;justify-items:stretch}.multi-viewport-grid[data-layout="1x2"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.multi-viewport-grid[data-layout="2x2"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.multi-viewport-grid__cell{position:relative;background:#000;overflow:hidden;cursor:pointer;transition:outline .15s ease,box-shadow .15s ease;min-height:0;height:100%;display:flex;flex-direction:column}.multi-viewport-grid__cell>*{flex:1 1 auto;min-height:0}.multi-viewport-grid__cell--active{outline:3px solid #3b82f6;outline-offset:-3px;z-index:1;box-shadow:inset 0 0 20px #3b82f633}.multi-viewport-grid__cell:not(.multi-viewport-grid__cell--active):hover{outline:2px solid rgba(59,130,246,.4);outline-offset:-2px}.multi-viewport-grid__cell--dragging{opacity:.8;outline:2px dashed #3b82f6;outline-offset:-2px;animation:viewport-drop-target 1.5s ease-in-out infinite}@keyframes viewport-drop-target{0%,to{outline-color:#3b82f666;box-shadow:inset 0 0 20px #3b82f61a}50%{outline-color:#3b82f6cc;box-shadow:inset 0 0 40px #3b82f633}}.multi-viewport-grid__cell--over{outline:4px solid #3b82f6!important;outline-offset:-4px;background:#3b82f626!important;box-shadow:0 0 0 6px #3b82f633,inset 0 0 60px #3b82f64d!important;z-index:10;animation:viewport-drop-active .6s ease-out}.multi-viewport-grid__cell--drop-target{outline:4px solid #3b82f6!important;outline-offset:-4px;background:#3b82f626!important;box-shadow:0 0 0 6px #3b82f633,inset 0 0 60px #3b82f64d!important;z-index:10;animation:viewport-drop-active .6s ease-out}@keyframes viewport-drop-active{0%{transform:scale(.99);box-shadow:0 0 0 2px #3b82f61a,inset 0 0 20px #3b82f61a}to{transform:scale(1);box-shadow:0 0 0 6px #3b82f633,inset 0 0 60px #3b82f64d}}.multi-viewport-grid__drop-overlay{position:absolute;inset:0;background:#3b82f640;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:20;animation:drop-overlay-fade-in .2s ease}@keyframes drop-overlay-fade-in{0%{opacity:0}to{opacity:1}}.multi-viewport-grid__drop-hint{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;background:#0f172ae6;border:2px solid #3b82f6;border-radius:8px;box-shadow:0 0 20px #3b82f666}.multi-viewport-grid__drop-icon{font-size:32px;font-weight:300;color:#3b82f6;line-height:1}.multi-viewport-grid__drop-text{font-size:13px;font-weight:500;color:#bfdbfe;text-transform:uppercase;letter-spacing:.05em}.multi-viewport-grid__cell--key-image{outline:4px solid #ef4444!important;outline-offset:-4px;box-shadow:0 0 0 6px #ef44444d,inset 0 0 40px #ef444426!important;z-index:2;animation:key-image-pulse 2s ease-in-out infinite}.multi-viewport-grid__cell--active.multi-viewport-grid__cell--key-image{outline:4px solid #ef4444!important;box-shadow:0 0 0 6px #ef444466,inset 0 0 60px #ef444440!important}@keyframes key-image-pulse{0%,to{box-shadow:0 0 0 4px #ef44444d,inset 0 0 30px #ef44441a}50%{box-shadow:0 0 0 8px #ef444480,inset 0 0 50px #ef444433}}.multi-viewport-grid__key-image-badge{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ef4444f2;border-radius:20px;box-shadow:0 2px 12px #0006;z-index:30;animation:key-image-badge-bounce .5s ease-out}@keyframes key-image-badge-bounce{0%{transform:scale(0) translateY(-20px);opacity:0}60%{transform:scale(1.1) translateY(5px)}to{transform:scale(1) translateY(0);opacity:1}}.multi-viewport-grid__key-image-icon{font-size:14px;color:#fff;line-height:1}.multi-viewport-grid__key-image-text{font-size:11px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.05em}@media (max-width: 768px){.multi-viewport-grid{grid-template-columns:1fr!important;grid-template-rows:1fr!important}.multi-viewport-grid__cell:not(:first-child){display:none}}
