*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;height:100%}body{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#fff;background:#0f1419;height:100%;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#root,app-root{height:100%;display:block}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.25;color:#fff;letter-spacing:-.025em}h1{font-size:1.875rem;font-weight:700}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.25rem;font-weight:600}h4{font-size:1.125rem;font-weight:500}h5{font-size:1rem;font-weight:500}h6{font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}p{margin:0;color:#94a3b8;line-height:1.625}small{font-size:.875rem;color:#64748b}button{border:none;background:none;cursor:pointer;font-family:inherit;color:inherit;outline:none}button:focus-visible{outline:2px solid #00d4ff;outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit;outline:none}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #00d4ff;outline-offset:2px}a{color:#00d4ff;text-decoration:none;transition:color .2s ease,background-color .2s ease,border-color .2s ease}a:hover{color:#00bfeb}a:focus-visible{outline:2px solid #00d4ff;outline-offset:2px}.text-primary{color:#fff}.text-secondary{color:#94a3b8}.text-muted{color:#64748b}.text-inverse{color:#1f2937}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.bg-primary{background:#0f1419}.bg-secondary{background:#1a1f2e}.bg-tertiary{background:#252b3b}.bg-gradient-primary{background:linear-gradient(135deg,#00d4ff 0%,#8b5cf6 100%)}.bg-gradient-surface{background:linear-gradient(145deg,#1a1f2e 0%,#252b3b 100%)}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-1{flex:1}.flex-none{flex:none}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.border{border:1px solid #374151}.border-secondary{border:1px solid #4b5563}.border-none{border:none}.rounded-none{border-radius:0}.rounded-sm{border-radius:.375rem}.rounded-md{border-radius:.5rem}.rounded-lg{border-radius:.75rem}.rounded-xl{border-radius:1rem}.rounded-2xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:0 1px 2px #0000004d}.shadow-md{box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d}.shadow-lg{box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0006}.shadow-xl{box-shadow:0 20px 25px -5px #0009,0 10px 10px -5px #0006}.shadow-2xl{box-shadow:0 25px 50px -12px #000000b3}.shadow-primary{box-shadow:0 8px 24px #00d4ff40}.shadow-secondary{box-shadow:0 8px 24px #8b5cf640}.shadow-success{box-shadow:0 8px 24px #10b98140}.shadow-error{box-shadow:0 8px 24px #ef444440}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.w-full{width:100%}.h-full{height:100%}.w-auto{width:auto}.h-auto{height:auto}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.transition{transition:all .2s ease}.transition-colors{transition:color .2s ease,background-color .2s ease,border-color .2s ease}.transition-transform{transition:transform .2s ease}.transition-opacity{transition:opacity .2s ease}.transform{transform:translateZ(0)}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.translate-x-0{transform:translate(0)}.translate-y-0{transform:translateY(0)}.glass{background:rgba(26,31,46,.8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff1a}.card{background:#1a1f2e;border:1px solid #374151;border-radius:.75rem;box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;transition:all .2s ease}.card:hover{box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0006;border-color:#4b5563}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;border-radius:.5rem;transition:all .2s ease;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn.btn-primary{background:linear-gradient(135deg,#00d4ff 0%,#8b5cf6 100%);color:#fff;box-shadow:0 8px 24px #00d4ff40}.btn.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#00bfeb 0%,#7c3aed 100%);box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0006;transform:translateY(-2px)}.btn.btn-primary:active{transform:translateY(0)}.btn.btn-secondary{background:#1a1f2e;color:#fff;border:1px solid #374151}.btn.btn-secondary:hover:not(:disabled){background:#252b3b;border-color:#4b5563}.btn.btn-ghost{background:transparent;color:#94a3b8}.btn.btn-ghost:hover:not(:disabled){background:#1a1f2e;color:#fff}.btn.btn-sm{padding:.5rem .75rem;font-size:.75rem}.btn.btn-lg{padding:1rem 1.5rem;font-size:1rem}.input{display:block;width:100%;padding:.75rem 1rem;font-size:.875rem;background:#1a1f2e;border:2px solid #374151;border-radius:.5rem;color:#fff;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.input::placeholder{color:#64748b}.input:focus{border-color:#00d4ff;box-shadow:0 0 0 3px #00d4ff1a}.input:disabled{background:#0f1419;color:#475569;cursor:not-allowed}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px}.badge.badge-primary{background:rgba(0,212,255,.1);color:#00d4ff;border:1px solid rgba(0,212,255,.2)}.badge.badge-success{background:rgba(16,185,129,.1);color:#10b981;border:1px solid rgba(16,185,129,.2)}.badge.badge-warning{background:rgba(245,158,11,.1);color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.badge.badge-error{background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.2)}.tooltip{position:absolute;z-index:700;padding:.5rem .75rem;font-size:.75rem;font-weight:500;color:#fff;background:rgba(0,0,0,.9);border-radius:.5rem;box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0006;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease}.tooltip.show{opacity:1}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0f1419}::-webkit-scrollbar-thumb{background:#4b5563;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#616e80}::-webkit-scrollbar-corner{background:#0f1419}*{scrollbar-width:thin;scrollbar-color:#4b5563 #0f1419}@media (prefers-contrast: high){:root{--text-primary: #ffffff;--bg-primary: #000000;--border-primary: #ffffff}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px #00d4ff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media print{*{background:white!important;color:#000!important;box-shadow:none!important}.no-print{display:none!important}.print-only{display:block!important}}html,body{height:100%;background:#0f1419;color:#fff;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}canvas{image-rendering:pixelated}.cornerstone-canvas{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.medical-overlay{position:absolute;pointer-events:none;color:#00d4ff;font-family:JetBrains Mono,Fira Code,Monaco,Courier New,monospace;font-size:.75rem;font-weight:500;text-shadow:0 0 4px rgba(0,0,0,.8)}.measurement-text{color:#00d4ff;font-family:JetBrains Mono,Fira Code,Monaco,Courier New,monospace;font-size:.75rem;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.dicom-loading{display:flex;align-items:center;justify-content:center;background:#000000;color:#94a3b8}.dicom-loading .loading-text{font-family:JetBrains Mono,Fira Code,Monaco,Courier New,monospace;font-size:.875rem;animation:pulse 2s infinite}.keyboard-shortcut{display:inline-block;padding:.25rem .5rem;background:#252b3b;border:1px solid #374151;border-radius:.375rem;font-family:JetBrains Mono,Fira Code,Monaco,Courier New,monospace;font-size:.75rem;font-weight:500;color:#94a3b8;box-shadow:0 1px 2px #0000004d}.status-dot{width:8px;height:8px;border-radius:9999px;display:inline-block}.status-dot.status-ready{background:#10b981;box-shadow:0 0 6px #10b98166}.status-dot.status-processing{background:#f59e0b;box-shadow:0 0 6px #f59e0b66;animation:pulse 2s infinite}.status-dot.status-error{background:#ef4444;box-shadow:0 0 6px #ef444466}
