*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.app-container{max-width:900px;margin:0 auto}.card{background:#fff;border-radius:12px;padding:30px;box-shadow:0 10px 40px #0000001a;margin-bottom:20px}h1{color:#333;font-size:2rem;margin-bottom:10px}h2{color:#555;font-size:1.5rem;margin-bottom:15px}h3{color:#667eea;font-size:1.25rem;margin-bottom:10px}p{color:#666;line-height:1.6;margin-bottom:15px}.form-group{margin-bottom:20px}label{display:block;color:#555;font-weight:500;margin-bottom:8px}input[type=text],input[type=email],input[type=tel]{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus{outline:none;border-color:#667eea}.checkbox-label{display:flex;align-items:flex-start;cursor:pointer;margin-bottom:10px}.checkbox-label input[type=checkbox]{margin-right:10px;margin-top:4px;cursor:pointer;width:18px;height:18px}.consent-box{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;padding:15px;margin-bottom:20px}.consent-box p{font-size:.9rem;margin-bottom:10px}button{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;margin-right:10px;margin-bottom:10px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-success{background:#28a745;color:#fff}.btn-success:hover:not(:disabled){background:#218838}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background:#c82333}button:disabled{opacity:.6;cursor:not-allowed}.progress-bar{width:100%;height:30px;background:#e0e0e0;border-radius:15px;overflow:hidden;margin-bottom:20px}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.9rem}.chakra-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:20px;margin-bottom:25px}.chakra-section h3{margin-top:0}.question-item{background:#fff;border-radius:6px;padding:12px;margin-bottom:10px;border:1px solid #dee2e6}.score-card{background:#fff;border-radius:8px;padding:15px;margin-bottom:15px;border-left:4px solid #667eea}.score-card.healthy{border-left-color:#28a745}.score-card.moderate{border-left-color:#ffc107}.score-card.severe{border-left-color:#dc3545}.score-card h4{color:#333;margin-bottom:5px}.score-card p{margin-bottom:5px}.alert{padding:15px;border-radius:8px;margin-bottom:20px;font-weight:500}.alert-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404}.alert-danger{background:#f8d7da;border:1px solid #dc3545;color:#721c24}.alert-info{background:#d1ecf1;border:1px solid #17a2b8;color:#0c5460}.disclaimer{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:20px;margin:20px 0}.disclaimer h4{color:#856404;margin-bottom:10px}.disclaimer p{color:#856404;font-size:.95rem;margin-bottom:0}.report-content{background:#fff;padding:20px;border-radius:8px;white-space:pre-wrap;line-height:1.8;color:#333}.loading{text-align:center;padding:40px}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background:#f8d7da;border:1px solid #dc3545;color:#721c24;padding:15px;border-radius:8px;margin-bottom:20px}.header{text-align:center;margin-bottom:30px}.header h1{color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.header p{color:#ffffffe6}@media (max-width: 768px){body{padding:10px}.card{padding:20px}h1{font-size:1.5rem}h2{font-size:1.25rem}}
