*{box-sizing:border-box;margin:0;padding:0}:root{--bg-gradient-start:#667eea;--bg-gradient-end:#764ba2;--card-bg:#fff;--card-shadow:#0000001a;--text-primary:#2d3748;--text-secondary:#4a5568;--text-muted:#718096;--border-color:#e2e8f0;--input-bg:#fff;--input-border:#e2e8f0;--hover-bg:#f7fafc;--success-bg:#c6f6d5;--success-text:#276749;--error-bg:#fed7d7;--error-text:#c53030;--info-bg:#bee3f8;--info-text:#2b6cb0;--btn-secondary-bg:#e2e8f0;--btn-secondary-text:#4a5568}[data-theme=dark]{--bg-gradient-start:#1a1a2e;--bg-gradient-end:#16213e;--card-bg:#1e293b;--card-shadow:#0000004d;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border-color:#334155;--input-bg:#0f172a;--input-border:#475569;--hover-bg:#334155;--success-bg:#064e3b;--success-text:#6ee7b7;--error-bg:#7f1d1d;--error-text:#fca5a5;--info-bg:#1e3a5f;--info-text:#93c5fd;--btn-secondary-bg:#334155;--btn-secondary-text:#e2e8f0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--bg-gradient-start) 0,var(--bg-gradient-end) 100%);color:#2d3748;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh;transition:background .3s ease}.app-container{margin:0 auto;max-width:1400px;padding:2rem}.header{align-items:center;color:#fff;display:flex;flex-direction:column;margin-bottom:2rem;position:relative;text-align:center}.header-content{flex:1 1}.header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px #0000001a}.header p{font-size:1.1rem;opacity:.9}.header-controls{display:flex;gap:.5rem;position:absolute;right:0;top:0}.logout-btn,.theme-toggle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.25rem;padding:.5rem .75rem;transition:all .2s}.logout-btn:hover,.theme-toggle:hover{background:#ffffff4d;transform:scale(1.05)}.logout-btn{align-items:center;display:flex;font-size:.9rem;gap:.5rem}.card{background:#fff;background:var(--card-bg);border-radius:16px;box-shadow:0 10px 40px #0000001a;box-shadow:0 10px 40px var(--card-shadow);padding:2rem;transition:background .3s ease,box-shadow .3s ease}.card,.card-header{margin-bottom:1.5rem}.card-header{align-items:center;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;padding-bottom:1rem}.card-title{color:#2d3748;color:var(--text-primary);font-size:1.25rem;font-weight:600}.main-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:350px 1fr}.model-selector{background:#fff;background:var(--input-bg);border:2px solid #e2e8f0;border:2px solid var(--input-border);border-radius:8px;color:#2d3748;color:var(--text-primary);cursor:pointer;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s;width:100%}.model-selector:focus,.model-selector:hover{border-color:#667eea;outline:none}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;min-height:44px;padding:.75rem 1.5rem;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#e2e8f0;background:var(--btn-secondary-bg);color:#4a5568;color:var(--btn-secondary-text)}.btn-secondary:hover:not(:disabled){background:#f7fafc;background:var(--hover-bg)}.btn-success{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.btn-success:hover:not(:disabled){box-shadow:0 4px 12px #48bb7866;transform:translateY(-2px)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-block{width:100%}.models-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.models-list-title{color:#718096;color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem;margin-top:1rem}.model-item{align-items:center;background:#f7fafc;background:var(--hover-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;padding:.75rem 1rem;transition:background .2s ease}.model-item-selected{background:#fff;background:var(--input-bg);border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.model-item-badges{align-items:center;display:flex;gap:.5rem}.accuracy-badge{background:#c6f6d5;background:var(--success-bg);border-radius:4px;color:#276749;color:var(--success-text);font-size:.75rem;font-weight:700;padding:.15rem .4rem}.model-name{color:#2d3748;color:var(--text-primary);font-weight:500}.status-badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.status-trained{background:#c6f6d5;background:var(--success-bg);color:#276749;color:var(--success-text)}.status-not-trained{background:#fed7d7;background:var(--error-bg);color:#c53030;color:var(--error-text)}.form-section{margin-bottom:2rem}.form-section-title{align-items:center;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color);color:#4a5568;color:var(--text-secondary);display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(5,1fr)}.form-group{display:flex;flex-direction:column}.form-label{color:#718096;color:var(--text-muted);font-size:.75rem;font-weight:500;margin-bottom:.25rem}.form-input{background:#fff;background:var(--input-bg);border:2px solid #e2e8f0;border:2px solid var(--input-border);border-radius:6px;color:#2d3748;color:var(--text-primary);font-size:.9rem;min-height:40px;padding:.5rem .75rem;transition:border-color .2s}.form-input:focus,.form-input:hover{border-color:#667eea;outline:none}.form-input::placeholder{color:#718096;color:var(--text-muted)}.result-card{animation:fadeIn .3s ease;border-radius:16px;padding:2rem;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-benign{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);border:2px solid #48bb78}.result-malignant{background:linear-gradient(135deg,#fed7d7,#feb2b2);border:2px solid #f56565}[data-theme=dark] .result-benign{background:linear-gradient(135deg,#064e3b,#065f46)}[data-theme=dark] .result-malignant{background:linear-gradient(135deg,#7f1d1d,#991b1b)}.result-icon{font-size:4rem;margin-bottom:1rem}.result-title{font-size:2rem;font-weight:700;margin-bottom:.5rem}.result-benign .result-title{color:#276749}.result-malignant .result-title{color:#c53030}[data-theme=dark] .result-benign .result-title{color:#6ee7b7}[data-theme=dark] .result-malignant .result-title{color:#fca5a5}.result-subtitle{font-size:1rem;margin-bottom:1.5rem;opacity:.8}.probability-bars{display:flex;flex-direction:column;gap:.75rem;margin:0 auto;max-width:400px}.probability-item{align-items:center;display:flex;gap:.75rem}.probability-label{font-size:.85rem;font-weight:500;text-align:left;width:80px}.probability-bar{background:#ffffff80;border-radius:12px;flex:1 1;height:24px;overflow:hidden}.probability-fill{border-radius:12px;height:100%;transition:width .5s ease}.probability-fill.benign{background:linear-gradient(90deg,#48bb78,#38a169)}.probability-fill.malignant{background:linear-gradient(90deg,#f56565,#e53e3e)}.probability-value{font-size:.9rem;font-weight:600;text-align:right;width:60px}.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.alert{align-items:center;border-radius:8px;display:flex;gap:.75rem;margin-bottom:1rem;padding:1rem 1.25rem}.alert-success{background:#c6f6d5;background:var(--success-bg);border:1px solid #276749;border:1px solid var(--success-text);color:#276749;color:var(--success-text)}.alert-error{background:#fed7d7;background:var(--error-bg);border:1px solid #c53030;border:1px solid var(--error-text);color:#c53030;color:var(--error-text)}.alert-info{background:#bee3f8;background:var(--info-bg);border:1px solid #2b6cb0;border:1px solid var(--info-text);color:#2b6cb0;color:var(--info-text)}.form-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.sample-data-section{background:#f7fafc;background:var(--hover-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;padding:1rem}.sample-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.btn-sample{flex:1 1;font-size:.85rem;min-width:120px;padding:.5rem 1rem}.dataset-section{background:#f7fafc;background:var(--hover-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;margin-top:1.5rem;padding:1rem}.dataset-section-title{color:#4a5568;color:var(--text-secondary);font-size:.9rem;font-weight:600}.dataset-info,.dataset-section-title{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.dataset-info{background:#bee3f8;background:var(--info-bg);border-radius:8px;color:#2b6cb0;color:var(--info-text);font-size:.85rem;padding:.5rem .75rem}.dataset-info.custom{background:#c6f6d5;background:var(--success-bg);color:#276749;color:var(--success-text)}.file-input-wrapper{display:flex;flex-direction:column;gap:.5rem;position:relative}.file-input{display:none}.file-input-label{align-items:center;background:#e2e8f0;background:var(--btn-secondary-bg);border:2px dashed #e2e8f0;border:2px dashed var(--border-color);border-radius:8px;color:#4a5568;color:var(--btn-secondary-text);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s}.file-input-label:hover{background:#fff;background:var(--input-bg);border-color:#667eea}.file-name{color:#718096;color:var(--text-muted);font-size:.85rem;text-align:center}.dataset-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-small{font-size:.8rem;padding:.5rem .75rem}.synthetic-section{background:#f7fafc;background:var(--hover-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;margin-top:1rem;padding:1rem}.synthetic-form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem}.synthetic-input-group{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:120px}.synthetic-input-group label{color:#718096;color:var(--text-muted);font-size:.8rem}.synthetic-input{background:#fff;background:var(--input-bg);border:2px solid #e2e8f0;border:2px solid var(--input-border);border-radius:6px;color:#2d3748;color:var(--text-primary);font-size:.9rem;padding:.5rem .75rem}.synthetic-input:focus{border-color:#667eea;outline:none}.btn-generate{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{animation:slideUp .5s ease;background:#fff;background:var(--card-bg);border-radius:24px;box-shadow:0 25px 50px -12px #00000040;max-width:420px;padding:3rem;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:2rem;text-align:center}.login-logo{font-size:4rem;margin-bottom:1rem}.login-title{color:#2d3748;color:var(--text-primary);font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.login-subtitle{color:#718096;color:var(--text-muted);font-size:.95rem}.login-form{gap:1.25rem}.login-form,.login-input-group{display:flex;flex-direction:column}.login-input-group{gap:.5rem}.login-input-group label{color:#4a5568;color:var(--text-secondary);font-size:.9rem;font-weight:500}.login-input{background:#fff;background:var(--input-bg);border:2px solid #e2e8f0;border:2px solid var(--input-border);border-radius:10px;color:#2d3748;color:var(--text-primary);font-size:1rem;padding:.875rem 1rem;transition:border-color .2s,box-shadow .2s}.login-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.login-btn{font-size:1.1rem;margin-top:.5rem;padding:1rem}.login-help{background:#f7fafc;background:var(--hover-bg);border-radius:10px;margin-top:1.5rem;padding:1rem;text-align:center}.login-help p{color:#718096;color:var(--text-muted);font-size:.85rem;margin-bottom:.5rem}.login-credentials{color:#2d3748;color:var(--text-primary);display:flex;font-family:monospace;font-size:.9rem;gap:1.5rem;justify-content:center}.login-credentials span{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;padding:.25rem .75rem}.login-error{animation:shake .5s ease;background:#fed7d7;background:var(--error-bg);border-radius:8px;color:#c53030;color:var(--error-text);font-size:.9rem;padding:.75rem 1rem;text-align:center}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.login-theme-toggle{position:absolute;right:1rem;top:1rem}@media (min-width:1440px){.app-container{max-width:1600px}.form-grid{grid-template-columns:repeat(5,1fr)}.main-grid{grid-template-columns:380px 1fr}}@media (min-width:1024px) and (max-width:1439px){.form-grid{grid-template-columns:repeat(4,1fr)}.main-grid{grid-template-columns:350px 1fr}}@media (min-width:768px) and (max-width:1023px){.app-container{padding:1.5rem}.main-grid{gap:1rem;grid-template-columns:280px 1fr}.form-grid{gap:.75rem;grid-template-columns:repeat(3,1fr)}.header h1{font-size:1.8rem}.header p{font-size:1rem}.card{padding:1.5rem}.synthetic-form{flex-direction:column}.synthetic-input-group{width:100%}}@media (min-width:600px) and (max-width:767px){.app-container{padding:1rem}.main-grid{gap:1rem;grid-template-columns:1fr}.form-grid{gap:.75rem;grid-template-columns:repeat(3,1fr)}.header h1{font-size:1.6rem}.header p{font-size:.95rem}.card{padding:1.25rem}.header-controls{justify-content:center;margin-top:1rem;position:relative}.sample-buttons{display:grid;grid-template-columns:repeat(2,1fr)}.btn-sample{min-width:auto}}@media (min-width:480px) and (max-width:599px){.app-container{padding:.75rem}.main-grid{gap:.75rem;grid-template-columns:1fr}.form-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}.header{margin-bottom:1rem}.header h1{font-size:1.4rem}.header p{font-size:.9rem}.card{border-radius:12px;margin-bottom:.75rem;padding:1rem}.card-header{margin-bottom:1rem;padding-bottom:.75rem}.card-title{font-size:1.1rem}.header-controls{justify-content:center;margin-top:.75rem;position:relative}.sample-buttons{display:grid;grid-template-columns:repeat(2,1fr)}.btn-sample{font-size:.8rem;min-width:auto;padding:.5rem}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.btn{font-size:.9rem;padding:.75rem 1rem}.model-item{align-items:flex-start;flex-direction:column;gap:.5rem}.model-item-badges{justify-content:flex-start;width:100%}.result-card{padding:1.25rem}.result-icon{font-size:3rem}.result-title{font-size:1.4rem}.login-card{padding:2rem 1.25rem}.login-logo{font-size:3rem}.login-title{font-size:1.4rem}.probability-bars{max-width:100%}.probability-item{flex-wrap:wrap}.probability-label{font-size:.8rem;width:70px}.probability-value{font-size:.8rem;width:50px}.synthetic-form{flex-direction:column}.synthetic-input-group{width:100%}.dataset-actions{flex-direction:column}.dataset-actions .btn{width:100%}}@media (max-width:479px){.app-container{padding:.5rem}.form-grid,.main-grid{gap:.5rem;grid-template-columns:1fr}.header{margin-bottom:.75rem}.header h1{font-size:1.2rem;line-height:1.3}.header p{font-size:.85rem}.card{border-radius:10px;margin-bottom:.5rem;padding:.875rem}.card-header{align-items:flex-start;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem}.card-title{font-size:1rem}.header-controls{flex-wrap:wrap;justify-content:center;margin-top:.5rem;position:relative}.logout-btn,.theme-toggle{font-size:.85rem;padding:.4rem .6rem}.sample-buttons{display:flex;flex-direction:column}.btn-sample{font-size:.85rem;min-width:auto;padding:.6rem .75rem;width:100%}.form-actions{flex-direction:column;gap:.5rem}.form-actions .btn{width:100%}.btn{font-size:.875rem;min-height:42px;padding:.7rem .875rem}.btn-block{margin-top:.75rem}.model-selector{font-size:.9rem;padding:.6rem .75rem}.model-item{align-items:flex-start;flex-direction:column;gap:.4rem;padding:.6rem .75rem}.model-item-badges{flex-wrap:wrap;justify-content:flex-start;width:100%}.models-list-title{font-size:.85rem}.form-section-title{font-size:.9rem}.form-label{font-size:.7rem}.form-input{font-size:.85rem;min-height:38px;padding:.4rem .6rem}.result-card{padding:1rem}.result-icon{font-size:2.5rem}.result-title{font-size:1.25rem}.result-subtitle{font-size:.9rem}.probability-bars{max-width:100%}.probability-item{gap:.5rem}.probability-label{font-size:.75rem;width:60px}.probability-bar{height:20px}.probability-value{font-size:.75rem;width:45px}.login-card{border-radius:16px;padding:1.5rem 1rem}.login-logo{font-size:2.5rem}.login-title{font-size:1.25rem}.login-subtitle{font-size:.85rem}.login-input{font-size:.95rem;padding:.7rem .875rem}.login-btn{font-size:1rem;padding:.875rem}.login-credentials{flex-direction:column;gap:.4rem}.login-help{padding:.75rem}.login-help p{font-size:.8rem}.alert{font-size:.85rem;padding:.75rem 1rem}.dataset-section,.synthetic-section{padding:.75rem}.dataset-section-title{font-size:.85rem}.dataset-info{font-size:.8rem;padding:.4rem .6rem}.file-input-label{font-size:.85rem;padding:.6rem .75rem}.synthetic-form{flex-direction:column;gap:.5rem}.synthetic-input-group{width:100%}.synthetic-input{font-size:.85rem;padding:.5rem .6rem}.dataset-actions{flex-direction:column}.dataset-actions .btn{width:100%}}@media print{body{background:#fff}.card{border:1px solid #ccc;box-shadow:none}.btn,.logout-btn,.theme-toggle{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.0a8232b6.css.map*/