@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(./dm-sans-latin-ext-400-normal-BjWJ59Pq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(./dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./dm-sans-latin-ext-600-normal-4vooXBpG.woff2)format("woff2"),url(./dm-sans-latin-ext-600-normal-DRtaDpgU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(./dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy:#082b43;--petrol:#103e5c;--turquoise:#57c8ce;--teal:#168b92;--mist:#f4f8f8;--line:#d5e3e5;--text2:#4d6d7b;--white:#fff;--coral:#ff6b4a;--red:#d62828;--image-bg:#000;--image-chrome:#121416;--font:"Geist Variable", "DM Sans", -apple-system, "Helvetica Neue", Arial, sans-serif;--r:4px;--focus:0 0 0 2px var(--white), 0 0 0 4px var(--teal)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:400 14px/1.4 var(--font);color:var(--navy);background:var(--white);-webkit-font-smoothing:antialiased;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}:focus-visible{box-shadow:var(--focus);border-radius:var(--r);outline:none}.small{font-size:12px}.muted{color:var(--text2)}.teal{color:var(--teal)}.strong{font-weight:600}.pad{padding:8px 12px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--teal);font-size:11px;font-weight:650}.hint{color:var(--text2);margin:6px 0;font-size:12px}.err{color:var(--red);margin:6px 0;font-size:12px}.warn{color:#8a4b00;border-radius:var(--r);background:#fff4e5;padding:6px 8px;font-size:12px}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--navy);height:68px;color:var(--white);border-bottom:3px solid var(--turquoise);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:0 20px 0 14px;display:flex}.brand{flex:none;order:2;align-items:center;gap:14px;min-width:0;display:flex}.brand-text{flex-direction:column;align-items:flex-end;line-height:1.15;display:flex}.brand-bar{background:var(--turquoise);border-radius:1px;width:6px;height:38px}.brand-name{letter-spacing:-.01em;font-size:24px;font-weight:750}.brand-note{letter-spacing:.06em;text-transform:uppercase;color:var(--turquoise);white-space:nowrap;font-size:11px;font-weight:600}.top-actions{order:1;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.top-btn{border-radius:var(--r);height:42px;color:var(--white);white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:500;display:inline-flex}.top-btn:hover:not(:disabled){background:var(--petrol)}.top-btn.icon{padding:0 10px}.top-sep{background:#ffffff2e;width:1px;height:30px;margin:0 4px}.purge-chip{color:#cfeef0;white-space:nowrap;background:0 0;border:1px solid #57c8ce80;border-radius:17px;height:34px;padding:0 14px;font-size:12px}.purge-chip.off{border-color:var(--coral);color:#ffd2c7}.seg{border:1px solid var(--line);border-radius:var(--r);display:inline-flex;overflow:hidden}.seg button{background:var(--white);border:0;border-right:1px solid var(--line);padding:5px 10px;font-size:12px}.seg button:last-child{border-right:0}.seg button.on{background:var(--teal);color:var(--white)}.seg.dark{border-color:#fff3}.seg.dark button{color:var(--white);background:0 0;border-color:#fff3;padding:9px 11px;display:inline-flex}.seg.dark button.on{background:var(--teal)}.main{flex:1;min-height:0;display:flex}.side{border-right:1px solid var(--line);background:var(--white);flex-direction:column;flex:none;width:248px;min-height:0;display:flex}.side.series{background:var(--mist);width:200px}.side.right{border-right:0;border-left:1px solid var(--line);width:280px}.side.collapsed{background:var(--mist);align-items:center;width:32px;padding-top:6px}.side-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;height:36px;padding:0 6px 0 12px;display:flex}.side-scroll{flex:1;min-height:0;overflow:hidden auto}.row2>*{min-width:0}.psec .seg{flex-wrap:wrap;display:flex}.psec .seg button{flex:auto}.icon-btn{border-radius:var(--r);width:28px;height:28px;color:var(--text2);background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--mist);color:var(--navy)}.icon-btn.subtle{opacity:.55}.icon-btn.subtle:hover{opacity:1;color:var(--red)}.pat{border-bottom:1px solid var(--line);padding:6px 0}.pat-head{align-items:center;gap:8px;padding:4px 6px 4px 12px;display:flex}.pat-name{flex:1;min-width:0}.pat-name .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.study-list{margin:0;padding:0;list-style:none}.study{border-radius:var(--r);border-left:3px solid #0000;align-items:flex-start;margin:2px 6px 2px 10px;display:flex}.study:hover{background:var(--mist)}.study.selected{border-left-color:var(--teal);background:var(--mist)}.study-main{text-align:left;background:0 0;border:0;flex:1;min-width:0;padding:6px 8px}.study-date{font-size:14px;font-weight:650}.study-sub{color:var(--teal);font-size:12px}.study-desc{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.series-card{border:1px solid var(--line);background:var(--white);text-align:left;border-radius:6px;width:calc(100% - 16px);margin:8px;padding:0;display:block;overflow:hidden}.series-card:hover{border-color:var(--turquoise)}.series-card.shown{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.thumb{aspect-ratio:1;background:var(--image-bg);justify-content:center;align-items:center;display:flex}.thumb img{max-width:100%;max-height:100%;display:block}.thumb-ph{background:#1b1f22;width:100%;height:100%}.series-meta{padding:6px 8px}.series-title{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.center{background:var(--image-chrome);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.toolbar{background:var(--white);border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:4px;min-height:44px;padding:4px 8px;display:flex;overflow-x:auto}.tb-group{align-items:center;gap:2px;display:flex}.tb-sep{background:var(--line);flex:none;width:1px;height:26px;margin:0 6px}.tb-btn{border-radius:var(--r);min-width:46px;height:38px;color:var(--navy);white-space:nowrap;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:2px 6px;font-size:10.5px;display:inline-flex}.tb-btn.icon-only{min-width:34px}.tb-btn:hover{background:var(--mist)}.tb-btn.active{background:var(--teal);color:var(--white)}.tb-select{border:1px solid var(--line);border-radius:var(--r);background:var(--white);max-width:170px;height:30px;padding:0 6px;font-size:12px}.grid{background:var(--image-chrome);flex:1;gap:2px;min-height:0;padding:2px;display:grid;position:relative}.grid.l1{grid-template:1fr/1fr}.grid.l2{grid-template:1fr/1fr 1fr}.grid.l4{grid-template:1fr 1fr/1fr 1fr}.grid-cell{min-width:0;min-height:0;position:relative}.viewport{background:var(--image-bg);outline:1px solid #23282c;position:absolute;inset:0;overflow:hidden}.viewport.active{outline:2px solid var(--teal);outline-offset:-2px;z-index:1}.vp-element{position:absolute;inset:0}.vp-overlay{touch-action:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.vp-info{z-index:3;color:#e8eef0;pointer-events:none;text-shadow:0 0 2px #000,0 0 2px #000;font-variant-numeric:tabular-nums;font-size:12px;line-height:1.45;position:absolute}.vp-info.tl{top:8px;left:10px}.vp-info.tr{text-align:right;top:8px;right:12px}.vp-info.bl{bottom:30px;left:10px}.patient-overlay{margin-bottom:4px}.cal-flag{color:var(--turquoise)}.vp-empty{color:#7d8d94;pointer-events:none;text-align:center;justify-content:center;align-items:center;padding:20px;font-size:13px;display:flex;position:absolute;inset:0}.vp-loading{color:#fff;border-radius:var(--r);z-index:4;background:#082b43d9;padding:6px 12px;font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vp-number{z-index:3;color:#9aa;pointer-events:none;font-size:12px;position:absolute;bottom:30px;right:12px}.vp-slider{z-index:3;accent-color:var(--teal);height:16px;position:absolute;bottom:6px;left:10px;right:10px}.empty-hint{color:#d9eef0;text-align:center;pointer-events:none;z-index:5;background:radial-gradient(ellipse at 85% 110%, #57c8ce8c 0%, #57c8ce00 55%), radial-gradient(ellipse at 10% -10%, #168b9273 0%, #168b9200 50%), linear-gradient(135deg, var(--navy) 0%, var(--petrol) 55%, var(--teal) 100%);flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex;position:absolute;inset:0}.empty-hint:after{content:"";pointer-events:none;border:2px dashed #57c8ce8c;border-radius:12px;position:absolute;inset:24px}.empty-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--turquoise);font-size:12px;font-weight:650}.empty-bar{background:var(--turquoise);width:64px;height:4px;margin:10px 0 22px}.empty-icon{color:var(--turquoise)}.empty-hint h2{letter-spacing:-.01em;color:#fff;margin:16px 0 10px;font-size:30px;font-weight:750}.empty-hint p{max-width:560px;margin:4px 0;font-size:15px}.empty-hint p.small{color:#a9d3d8;margin-top:10px;font-size:13px}.panel-body{padding:0 12px 16px}.psec{border-bottom:1px solid var(--line);padding:12px 0}.psec:last-child{border-bottom:0}.psec h3{margin:0 0 8px;font-size:13px;font-weight:650}.row2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.row2 label,.field{color:var(--text2);flex-direction:column;gap:3px;margin:6px 0;font-size:12px;display:flex}input[type=number],input[type=text],input:not([type]),input[type=date],input[type=time],select{border:1px solid var(--line);border-radius:var(--r);background:var(--white);height:30px;color:var(--navy);min-width:0;padding:0 8px}.check{align-items:center;gap:8px;margin:4px 0;font-size:13px;display:flex}.check input{accent-color:var(--teal)}.swatches{flex-wrap:wrap;gap:6px;margin:4px 0 8px;display:flex}.swatch{border:1px solid var(--line);border-radius:50%;width:24px;height:24px;padding:0}.swatch.on{box-shadow:0 0 0 2px var(--white), 0 0 0 4px var(--teal)}.widths{gap:6px;margin-bottom:6px;display:flex}.wbtn{border:1px solid var(--line);border-radius:var(--r);background:var(--white);justify-content:center;align-items:center;width:40px;height:26px;padding:0 6px;display:flex}.wbtn span{background:var(--navy);width:100%;display:block}.wbtn.on{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.btn{border-radius:var(--r);border:1px solid var(--line);background:var(--white);height:32px;color:var(--navy);align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--teal)}.btn.primary{background:var(--teal);border-color:var(--teal);color:var(--white)}.btn.danger{border-color:var(--red);color:var(--red)}.btn.small{height:28px;padding:0 8px;font-size:12px}.btn-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.cal-status{background:var(--mist);border-left:3px solid var(--teal);border-radius:var(--r);margin-bottom:8px;padding:8px 10px}.cal-status.none{border-left-color:var(--text2)}.cal-status .flag,.flag{color:#8a4b00}.cal-box{margin-top:8px}.summary{background:var(--mist);border-radius:var(--r);gap:3px;margin:8px 0;padding:8px 10px;font-size:12px;display:grid}.mask-colors{align-items:center;gap:8px;display:flex}.mask-colors input[type=color]{border:1px solid var(--line);border-radius:var(--r);background:var(--white);width:36px;height:28px;padding:0 2px}.mask-list{margin:6px 0 0;padding:0;list-style:none}.mask-list li{border-radius:var(--r);justify-content:space-between;align-items:center;font-size:12px;display:flex}.mask-list li.on{background:var(--mist)}.linkish{text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:4px 6px;display:flex}.chip{border:1px solid var(--line);width:12px;height:12px;display:inline-block}.modal-back{z-index:100;background:#082b4366;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--white);border:1px solid var(--line);border-radius:8px;flex-direction:column;width:min(520px,100%);max-height:calc(100vh - 32px);display:flex}.modal.wide{width:min(1080px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 12px 10px 16px;display:flex}.modal-head h2{margin:0;font-size:16px;font-weight:650}.modal-body{padding:12px 16px 16px;overflow-y:auto}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}fieldset{border:1px solid var(--line);border-radius:var(--r);margin:8px 0;padding:8px 10px}legend{color:var(--text2);padding:0 4px;font-size:12px}.progress{background:var(--mist);border-radius:3px;height:6px;margin:6px 0;overflow:hidden}.progress div{background:var(--teal);height:100%;transition:width .15s}.meter{background:var(--mist);border-radius:3px;height:6px;margin:6px 0;overflow:hidden}.meter div{background:var(--navy);height:100%}.stats{gap:16px;margin:8px 0;font-size:13px;display:flex}.issues{border:1px solid var(--line);border-radius:var(--r);max-height:240px;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.issues li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:10px;padding:4px 8px;font-size:12px;display:grid}.export-grid{grid-template-columns:300px 1fr;gap:16px;display:grid}.export-preview{min-width:0}.preview-box{background:var(--image-bg);border-radius:var(--r);background-image:linear-gradient(45deg,#1a1a1a 25%,#0000 25%),linear-gradient(-45deg,#1a1a1a 25%,#0000 25%);background-size:16px 16px;justify-content:center;align-items:center;min-height:300px;margin-top:6px;display:flex;position:relative}.preview-box img{max-width:100%;max-height:60vh;display:block}.float-panel{background:var(--white);border:1px solid var(--line);z-index:90;border-radius:8px;width:360px;position:fixed;bottom:16px;right:296px}.float-panel .panel-body{padding:10px 14px 14px}.rec-line{align-items:center;gap:8px;font-size:14px;display:flex}.rec-dot{background:var(--red);border-radius:50%;width:10px;height:10px;animation:1s infinite blink}@keyframes blink{50%{opacity:.3}}.drop-overlay{color:var(--white);z-index:200;pointer-events:none;border:3px dashed var(--turquoise);background:#082b43d1;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:18px;display:flex;position:fixed;inset:0}.toasts{z-index:300;flex-direction:column;gap:6px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--navy);color:var(--white);border-radius:var(--r);max-width:560px;padding:8px 14px;font-size:13px}.toast.warn{border-left:4px solid var(--coral)}.toast.error{background:var(--red)}.mpr{background:var(--image-chrome);z-index:20;flex-direction:column;display:flex;position:absolute;inset:0}.mpr-grid{flex:1;grid-template:1fr/1fr 1fr 1fr;gap:2px;min-height:0;padding:2px;display:grid;position:relative}.mpr-grid .viewport{position:relative}.mpr-error{text-align:center;color:#e8eef0;max-width:480px;margin:auto}.mpr-error h2{font-weight:650}@media (max-width:1200px){.side{width:210px}.side.series{width:160px}.side.right{width:240px}.tb-btn span{display:none}.tb-btn{min-width:34px}.brand-note{display:none}}.vp-loading.err-box{text-align:center;background:#d62828e6;max-width:80%}@media (max-width:1440px){.top-btn:not(.lang){gap:0;padding:0 10px;font-size:0}.purge-chip{text-overflow:ellipsis;max-width:190px;overflow:hidden}}
