*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Inter,Arimo,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;min-height:100vh;background:#f7fafc}#root{min-height:100vh}.form-container{min-height:100vh;background:#f5f5f5;padding:40px 20px;display:flex;justify-content:center;align-items:flex-start}.form-wrapper{background:#fff;max-width:800px;width:100%;padding:40px 50px;box-shadow:0 1px 3px #0000001a;border:1px solid #e0e0e0;border-radius:8px}.form-title{font-size:30px;font-weight:700;color:#333;margin:0 0 30px;padding-bottom:15px;border-bottom:1px solid #e0e0e0;text-align:center}.form-section{margin-bottom:24px}.form-label{display:block;font-size:15px;font-weight:600;color:#333;margin-bottom:6px}.required{color:#e53e3e;margin-left:2px}.help-text{font-size:13px;color:#666;margin:0 0 6px;line-height:1.4;font-weight:500}.error-text{font-size:13px;color:#d32f2f;margin:4px 0 0;line-height:1.4;font-weight:500}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;pointer-events:none;z-index:1;color:#999;display:flex;align-items:center;top:50%;transform:translateY(-50%)}.form-input{width:100%;padding:13px 14px;font-size:15px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;box-sizing:border-box;font-family:inherit;margin-bottom:6px;font-weight:500}.form-input.with-icon{padding-left:36px}select.form-input{cursor:pointer}.form-textarea{width:100%;padding:13px 14px;font-size:15px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;box-sizing:border-box;font-family:inherit;margin-bottom:6px;font-weight:500;resize:vertical}.form-input:focus{outline:none;border-color:#26a69a;border-width:2px;box-shadow:none}.form-textarea:focus{outline:none;border-color:#26a69a;border-width:2px;box-shadow:none}.form-input::placeholder{color:#9ca3af}.phone-fields{display:flex;align-items:center;gap:8px}.phone-segment{flex:1;width:100%;max-width:120px}.phone-separator{color:#999;font-weight:500}.ssn-field{display:flex;align-items:center;gap:12px}.ssn-field .input-with-icon{flex:1}.ssn-example{font-size:14px;color:#666;font-weight:500;white-space:nowrap}.file-upload-wrapper{position:relative}.form-file-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.file-upload-label{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 16px;font-size:14px;border:2px dashed #ccc;border-radius:4px;background:#fff;color:#666;box-sizing:border-box;cursor:pointer;transition:all .2s ease}.file-upload-label:hover{border-color:#999;background:#fafafa}.form-file-input:focus+.file-upload-label{border-color:#4a90e2;background:#fafafa}.file-upload-text{font-size:14px;color:#666;font-weight:400}.file-upload-icon{color:#666;flex-shrink:0}.name-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.name-field{display:flex;flex-direction:column}.field-hint{font-size:13px;color:#718096;margin-top:4px;font-weight:500}.address-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}.submit-section{text-align:center;margin-top:30px;padding-top:20px}.submit-btn{background:#26a69a;color:#fff;border:none;padding:12px 40px;font-size:15px;font-weight:600;border-radius:24px;cursor:pointer;box-shadow:0 2px 5px #00000029;transition:all .3s ease}.submit-btn:hover{background:#2bbbad;box-shadow:0 3px 8px #0000003d}.submit-btn:active{background:#208e84;box-shadow:0 2px 4px #00000029}@media(max-width:768px){.form-wrapper{padding:30px 20px}.form-title{font-size:22px}.name-fields,.address-row{grid-template-columns:1fr;gap:8px}.phone-fields{flex-wrap:nowrap;gap:6px}.phone-segment{flex:1;max-width:none}.phone-separator{font-size:14px}.ssn-field{gap:8px}.ssn-example{font-size:13px}.submit-btn{width:100%;max-width:100%}}@media(max-width:480px){.form-container{padding:10px}.form-wrapper{padding:20px 16px;margin:10px auto}.form-title{font-size:20px;margin-bottom:20px}.form-input,.form-textarea{padding:11px 12px;font-size:14px}.form-input.with-icon{padding-left:32px}.input-icon{left:10px;width:14px;height:14px}.phone-fields{gap:4px}.phone-segment{min-width:50px;font-size:14px}.submit-btn{width:100%;padding:12px 32px;font-size:14px}}
