body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f9fafb}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6b7280}:focus{outline:2px solid #8b5cf6;outline-offset:2px}button{background:none;border:none;cursor:pointer;font-family:inherit;margin:0;padding:0}input,select,textarea{color:inherit;font-family:inherit;font-size:inherit}a{color:#8b5cf6;text-decoration:none}a:hover{text-decoration:underline}.App{background:#f8fafc;color:#1e293b;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;line-height:1.6;position:relative}.dropzone-overlay{align-items:center;animation:fadeIn .2s ease-in-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(37,99,235,.95);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.dropzone-content{animation:scaleIn .3s ease-out;color:#fff;text-align:center}.dropzone-icon{animation:bounce 1s infinite;font-size:8rem;margin-bottom:1rem}.dropzone-text{font-size:2rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.2)}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.main-container{display:flex;flex:1 1;flex-direction:column;margin-left:200px;margin-right:200px;position:relative;width:calc(100% - 400px)}.main-container:before{left:-200px}.main-container:after,.main-container:before{background:#e4e9f9;content:"";height:100%;pointer-events:none;position:absolute;top:0;width:200px}.main-container:after{right:-200px}.tab-navigation{align-items:center;background:#fff;border-bottom:2px solid #e2e8f0;box-shadow:0 1px 3px rgba(0,0,0,.05);display:flex;gap:.75rem;height:80px;padding:0 2rem;position:relative;width:100%}.tab-navigation .ad-space-top{background:#e4e9f9;height:30px;left:0;pointer-events:none;position:absolute;right:0;top:0}.tab-button{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:.5rem .5rem 0 0;box-shadow:0 2px 4px rgba(0,0,0,.05);color:#64748b;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-top:30px;padding:.75rem 1.5rem;position:relative;transition:all .2s;z-index:1}.tab-button:hover{background:#e2e8f0;border-color:#cbd5e1;box-shadow:0 4px 6px rgba(0,0,0,.1);color:#475569;transform:translateY(-1px)}.tab-button.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:solid #1d4ed8;border-width:2px 2px 3px;box-shadow:0 4px 12px rgba(37,99,235,.3);color:#fff;z-index:2}.tab-button.active:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 6px 16px rgba(37,99,235,.4);transform:translateY(-1px)}.tab-content{display:flex;flex:1 1;overflow:hidden;position:relative;width:100%}.tab-content>:not(.ad-space-right){position:relative;width:100%;z-index:2}@media (max-width:1200px){.main-container{margin-left:150px;margin-right:150px;width:calc(100% - 300px)}.main-container:before{left:-150px;width:150px}.main-container:after{right:-150px;width:150px}.tab-navigation{height:70px;padding:0 1.5rem}.tab-navigation .ad-space-top{height:25px}.tab-button{margin-top:25px;padding:.6rem 1.2rem}}@media (max-width:768px){.main-container{margin-left:100px;margin-right:100px;width:calc(100% - 200px)}.main-container:before{left:-100px;width:100px}.main-container:after{right:-100px;width:100px}.tab-navigation{height:60px;padding:0 1rem}.tab-navigation .ad-space-top{height:20px}.tab-button{font-size:.75rem;margin-top:20px;padding:.4rem .8rem}}@media (max-width:480px){.main-container{margin-left:80px;margin-right:80px;width:calc(100% - 160px)}.main-container:before{left:-80px;width:80px}.main-container:after{right:-80px;width:80px}.tab-navigation{height:50px;padding:0 .5rem}.tab-navigation .ad-space-top{height:15px}.tab-button{font-size:.7rem;margin-top:15px;padding:.3rem .6rem}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:0}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px rgba(0,0,0,.1);box-sizing:border-box;height:80px;justify-content:space-between;padding:1rem 2rem}.header,.logo{align-items:center;display:flex}.logo{color:#2563eb;font-size:1.5rem;font-weight:700;gap:.5rem}.header-actions{align-items:center;display:flex;gap:.75rem}.upload-area{cursor:pointer;display:inline-block}.btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-secondary.drag-active{background:#dbeafe;border-color:#2563eb;color:#2563eb}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669}@media (max-width:768px){.header{flex-direction:column;gap:1rem;height:auto;padding:1rem}.header-actions{flex-wrap:wrap;justify-content:center}.btn{font-size:.75rem;padding:.375rem .75rem}}.viewer-section{background:#fff;display:flex;flex:1 1;flex-direction:column;height:100%}.viewer-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem}.viewer-title{color:#374151;font-weight:600;margin:0}.viewer-controls{align-items:center;display:flex;gap:.5rem}.control-btn{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;font-size:.875rem;padding:.25rem .5rem;transition:all .2s}.control-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.control-btn:disabled{cursor:not-allowed;opacity:.5}.viewer-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.image-container{background:#000;flex:1 1;overflow:hidden;position:relative}.image-container,.loading-placeholder{align-items:center;display:flex;justify-content:center}.loading-placeholder{color:#9ca3af;flex-direction:column;font-size:1.125rem}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#2563eb;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.placeholder-image{align-items:center;background:linear-gradient(45deg,#374151 25%,transparent 0),linear-gradient(-45deg,#374151 25%,transparent 0),linear-gradient(45deg,transparent 75%,#374151 0),linear-gradient(-45deg,transparent 75%,#374151 0);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;border-radius:.5rem;color:#9ca3af;display:flex;font-size:1.125rem;height:80%;justify-content:center;width:80%}.placeholder-image small{font-size:.875rem;margin-top:.5rem;opacity:.7}.canvas-wrapper{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.dicom-canvas{max-height:100%;max-width:100%;object-fit:contain;transition:transform .3s ease}.pixel-data-info{background:#f8fafc;border-top:1px solid #e2e8f0;max-height:200px;overflow-y:auto;padding:1rem}.pixel-data-info h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 .75rem}.info-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{align-items:center;display:flex;font-size:.75rem;justify-content:space-between;padding:.25rem 0}.info-label{color:#6b7280;font-weight:500}.info-value{color:#374151;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:600}@media (max-width:768px){.viewer-header{padding:1rem}.viewer-controls{flex-wrap:wrap}.control-btn{font-size:.75rem;padding:.2rem .4rem}.info-grid{grid-template-columns:1fr}.pixel-data-info{max-height:150px}}.editor-section{background:#fff;display:flex;flex:1 1;flex-direction:column;height:100%}.editor-header{background:#f9fafb;border-bottom:1px solid #e2e8f0;padding:1rem}.editor-title{color:#374151;font-weight:600;margin-bottom:1rem;margin-top:0}.editor-controls{align-items:center;display:flex;gap:1rem}.search-box{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;box-sizing:border-box;color:#374151;flex:1 1;font-size:.875rem;padding:.75rem}.search-box:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1);outline:none}.reset-button{background:#f3f4f6;border:1px solid #d1d5db;border-radius:.5rem;color:#374151;cursor:pointer;font-size:.875rem;padding:.75rem 1rem;transition:all .2s}.reset-button:hover{background:#e5e7eb;border-color:#9ca3af}.tags-container{flex:1 1;overflow-y:auto;padding:1rem}.tag-list{display:flex;flex-direction:column;gap:.5rem}.tag-wrapper{margin-bottom:.5rem}.tag-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;display:flex;gap:1rem;padding:.75rem;transition:all .2s}.tag-item:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 4px rgba(0,0,0,.05)}.tag-item.sequence-tag{border-left:4px solid #8b5cf6;cursor:pointer}.tag-item.sequence-tag:hover{background:#f3f4f6;border-color:#8b5cf6;box-shadow:0 2px 8px rgba(139,92,246,.15)}.tag-item.sequence-tag:active{background:#e5e7eb;transform:translateY(1px)}.tag-info{flex:1 1;min-width:0}.tag-name{align-items:center;color:#374151;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:.25rem}.tag-id{font-weight:400}.tag-id,.tag-vr{color:#6b7280;font-size:.75rem}.tag-vr{background:#f3f4f6;border-radius:.25rem;display:inline-block;margin-bottom:.25rem;padding:.125rem .375rem}.tag-input{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;flex:1 1;font-size:.875rem;min-width:150px;padding:.5rem}.tag-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.1);outline:none}.sequence-indicator{background:#f3f4f6;border-radius:.25rem;color:#8b5cf6;font-size:.75rem;font-style:italic;padding:.125rem .375rem}.sequence-children{border-left:2px solid #e5e7eb;display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding-left:1rem}.sequence-item{margin-bottom:.5rem}.sequence-item-header{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.25rem;color:#6b7280;font-size:.75rem;font-weight:600;margin-bottom:.5rem;padding:.25rem .5rem}.sequence-item-tags{display:flex;flex-direction:column;gap:.5rem}.no-results{color:#6b7280;font-style:italic;padding:2rem;text-align:center}.tags-container::-webkit-scrollbar{width:6px}.tags-container::-webkit-scrollbar-track{background:#f1f5f9}.tags-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.tags-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:768px){.editor-header{padding:.75rem}.editor-controls{flex-direction:column;gap:.5rem}.tags-container{padding:.75rem}.tag-item{align-items:flex-start;flex-direction:column;gap:.5rem}.tag-input{min-width:auto;width:100%}}.status-bar{background:#f8fafc;border-top:1px solid #e2e8f0;box-sizing:border-box;color:#6b7280;font-size:.875rem;height:60px;justify-content:space-between;padding:.75rem 2rem}.status-bar,.status-items{align-items:center;display:flex}.status-items{gap:1.5rem}.status-item{align-items:center;display:flex;gap:.5rem}.status-indicator{border-radius:50%;height:.5rem;transition:background-color .2s;width:.5rem}.status-indicator.ready{background:#10b981}.status-indicator.loading{animation:pulse 1.5s ease-in-out infinite alternate;background:#f59e0b}.status-indicator.error{background:#ef4444}@keyframes pulse{0%{opacity:1}to{opacity:.5}}.error-message{color:#ef4444;font-weight:500}.success-message{animation:fadeIn .3s ease-in-out;color:#10b981;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.status-bar{flex-direction:column;gap:.5rem;height:auto;padding:.75rem 1rem;text-align:center}.status-item{justify-content:center}}
/*# sourceMappingURL=main.657bbd07.css.map*/