*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1f1f1f;background:#f2f2f2;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:2rem 1rem}.header{background:#0e0e0e;border-bottom:3px solid #d9d9d9;padding:1rem 2rem;box-shadow:0 4px 8px #0003,0 6px 20px #00000030}.header-inner{align-items:center;gap:.75rem;display:flex}.header-logo{color:#f0f0f0;font-size:1.4rem}.header-title{color:#f8fafc;font-size:1.3rem;font-weight:700}.upload-wrapper{text-align:center;padding:2rem 0}.upload-title{margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.upload-subtitle{color:#565656;margin-bottom:2rem}.dropzone{cursor:pointer;color:#fff;background:#000;border:3px solid #b8b8b8;border-radius:16px;padding:3rem 2rem;transition:all .3s;box-shadow:0 2px 4px #0003,0 4px 18px #00000030}.dropzone:hover{background:#2c2c2c;transform:translateY(-5px);box-shadow:0 4px 8px #0003,0 6px 20px #00000030}.dropzone-active{background:#16161f;border-color:#000}.dropzone-icon{color:#fff;margin-bottom:1rem;font-size:2.5rem}.dropzone-hint{color:#fff;margin-top:.75rem;font-size:.75rem;display:block}.loading-screen{text-align:center;padding:4rem 0}.spinner{border:3px solid #000;border-radius:50%;width:48px;height:48px;margin:0 auto 1.5rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:1.1rem;font-weight:500}.loading-sub{color:#242424;margin-top:.5rem;font-size:.85rem}.rejected-panel{text-align:center;padding:2rem 0}.rejected-icon{color:#ef4444;margin-bottom:1rem;font-size:3rem}.rejected-title{margin-bottom:.5rem;font-size:1.4rem;font-weight:600}.rejected-reason{color:#212121;margin-bottom:2rem}.metrics-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.5rem 0;display:grid}.metric-box{cursor:pointer;background:#000;border-radius:15px;flex-direction:column;gap:.25rem;padding:1.5rem;transition:all .2s;display:flex}.metric-box:hover{transform:translateY(-3px);box-shadow:0 4px 6px #0003,0 6px 20px #00000030}.metric-label{color:#dbdbdb;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.metric-value{color:#f8fafc;font-size:1.2rem;font-weight:600}.results-panel{padding:1rem 0}.results-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.quality-badge{border:2px solid;border-radius:8px;padding:.4rem .9rem;font-size:1rem;font-weight:500}.model-label{color:#363636;font-size:1.5rem}.findings-title{margin:2.5rem 1rem 1rem;font-size:1.5rem;font-weight:600}.diagnosis-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:2rem;margin-bottom:2rem;display:grid}.diagnosis-card{color:#fff;cursor:pointer;background:#000;border-radius:14px;padding:1.25rem;transition:all .2s}.diagnosis-card:hover{transform:translateY(-3px);box-shadow:0 4px 6px #0003,0 6px 20px #00000030}.diagnosis-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.disease-name{font-size:1.05rem;font-weight:600}.region-badge{color:#030303;background:#ccc;border-radius:6px;padding:.3rem .65rem;font-size:.9rem}.region-badge:hover{background-color:#f8f8f8;transition:all .5s}.confidence-row{justify-content:space-between;margin-bottom:.4rem;display:flex}.confidence-label{color:#c7c7c7;font-size:.8rem}.confidence-value{color:#e3e3e3;font-size:.8rem;font-weight:600}.confidence-bar-track{background:#1e1e2e;border-radius:4px;height:6px;margin-bottom:1rem}.confidence-bar-fill{background:#dfdfdf;border-radius:4px;height:100%;transition:width .4s}.heatmap-container{margin-top:1rem}.heatmap-label{color:#c7c7c7;margin-bottom:.5rem;font-size:.75rem}.heatmap-image{border:1px solid #1e1e2e;border-radius:8px;width:100%}.no-findings{text-align:center;padding:3rem 0}.no-findings-icon{color:#22c55e;margin-bottom:1rem;font-size:3rem}.reset-btn{color:#fff;cursor:pointer;background:#101010;border:none;border-radius:10px;margin-top:1.5rem;padding:.75rem 1.75rem;font-size:.9rem;font-weight:500;transition:all 1s}.reset-btn:hover{color:#000;background:#d7d7d7}.error-text{color:#ef4444;text-align:center;margin-top:1rem;font-size:.9rem}
