body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;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}.profile-setup-container{background-color:#f0f2f5;justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}.profile-setup-card{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:500px;padding:40px;transition:all .3s;box-shadow:0 20px 40px #00000014}.report-card{max-width:700px}.card-header{border-bottom:2px solid #f0f2f5;margin-bottom:30px;padding-bottom:20px}.card-header h2{color:#1a1a1a;margin:0;font-size:26px}.user-summary{color:#666;margin-top:10px;font-weight:500}.report-content-wrapper{text-align:left;background:#fcfcfc;border:1px solid #eee;border-radius:16px;max-height:60vh;margin-bottom:30px;padding:30px;overflow-y:auto}.report-body h1{color:#1a1a1a;margin-top:0;font-size:24px}.report-body h2{color:#333;border-left:4px solid #1a1a1a;margin-top:25px;margin-bottom:15px;padding-left:12px;font-size:20px}.report-body h3{color:#444;margin-top:20px;font-size:18px}.report-body p{color:#444;margin-bottom:15px;line-height:1.7}.report-list-item{margin-bottom:8px;padding-left:20px;line-height:1.6;position:relative}.report-list-item:before{content:"•";color:#1a1a1a;font-weight:700;position:absolute;left:0}.hair-image-container{text-align:center;background:#fff;border-radius:12px;margin-bottom:40px;padding:15px;box-shadow:0 4px 12px #0000000d}.hair-image-container h3{color:#1a1a1a;margin-top:0;margin-bottom:15px;font-size:18px}.hair-result-image{border-radius:8px;width:100%;max-width:100%;display:block}.image-caption{color:#888;text-align:center;font-size:12px;margin-top:10px!important}.hair-image-error-container{text-align:center;background-color:#fff1f0;border:1px dashed #ffa39e;border-radius:12px;margin-bottom:30px;padding:15px}.image-error-message{color:#cf1322;font-size:14px;margin:0!important}.back-button{color:#1a1a1a;cursor:pointer;background-color:#f0f2f5;border:none;border-radius:12px;width:100%;padding:16px;font-size:16px;font-weight:600;transition:all .2s}.back-button:hover{background-color:#e4e6e9}.subtitle{color:#666;margin-bottom:35px;font-size:16px}.error-banner{text-align:left;background-color:#fff1f0;border:1px solid #ffa39e;border-radius:12px;align-items:center;gap:12px;margin-bottom:25px;padding:15px;display:flex}.error-icon{font-size:20px}.error-banner p{color:#cf1322;margin:0;font-size:14px;line-height:1.4}.drop-zone{aspect-ratio:1.2;cursor:pointer;background-color:#fafafa;border:2px dashed #d9d9d9;border-radius:16px;justify-content:center;align-items:center;width:100%;margin-bottom:30px;transition:all .3s;display:flex;overflow:hidden}.drop-zone:hover,.drop-zone.dragging{background-color:#f0f2f5;border-color:#1a1a1a}.drop-zone.has-preview{border-style:solid;border-color:#eee}.upload-icon{margin-bottom:12px;font-size:40px;display:block}.drop-zone-content p{color:#8c8c8c;margin:0;font-size:14px}.preview-image{object-fit:cover;width:100%;height:100%}.input-group{text-align:left;margin-bottom:25px}.input-group label{color:#262626;margin-bottom:10px;font-size:15px;font-weight:600;display:block}.input-group input{box-sizing:border-box;border:1px solid #d9d9d9;border-radius:12px;width:100%;padding:14px 18px;font-size:16px;transition:all .2s}.input-group input:focus{border-color:#1a1a1a;outline:none;box-shadow:0 0 0 3px #0000000d}.submit-button{color:#fff;cursor:pointer;background-color:#1a1a1a;border:none;border-radius:12px;width:100%;padding:18px;font-size:16px;font-weight:600;transition:all .2s}.submit-button:hover:not(:disabled){background-color:#333;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;background-color:#bfbfbf}.loading-spinner{justify-content:center;align-items:center;gap:10px;display:flex}.loading-spinner:before{content:"";border:2px solid #fff;border-top-color:#0000;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}.App{text-align:center}
