.dhi-form-container{background:white;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;padding:40px;animation:slideUp .5s ease-out;margin:20px auto}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.dhi-form-header{text-align:center;margin-bottom:32px}.dhi-form-icon{margin-bottom:16px}.dhi-form-icon img{width:75px;height:75px}.dhi-form-title{font-size:28px;color:#2f4555;margin-bottom:8px;font-weight:700}.dhi-form-subtitle{color:#557c99;font-size:15px}.dhi-form-intro{margin-top:16px}.dhi-form-tagline{color:#557c99;font-size:16px;font-weight:600;margin-bottom:8px;line-height:1.4}.dhi-form-description{color:#6b7280;font-size:14px;margin-bottom:12px;line-height:1.6}.dhi-form-steps-intro{color:#6b7280;font-size:14px;margin-bottom:20px;margin-top:16px;line-height:1.5;font-weight:600}.dhi-steps-container{display:flex;flex-direction:column;gap:16px;margin-top:20px}.dhi-step{display:flex;flex-direction:column;padding:20px;background:#f7fafc;border-radius:12px;border-left:4px solid #8DDCC2;transition:all .3s ease;gap:0}.dhi-step:hover{background:#f0f9ff;transform:translate(4px);box-shadow:0 4px 12px #8ddcc233;border-left-color:#557c99}.dhi-step-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.dhi-step-number{flex-shrink:0;width:36px;height:36px;background:linear-gradient(135deg,#8DDCC2 0%,#557C99 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;box-shadow:0 3px 8px #8ddcc266}.dhi-step-touchpoint{flex:1;color:#2f4555;font-size:18px;font-weight:700;letter-spacing:-.3px;padding:8px 16px;background:linear-gradient(135deg,rgba(141,220,194,.1) 0%,rgba(85,124,153,.1) 100%);border-radius:8px;border:2px solid rgba(141,220,194,.3)}.dhi-step-directive{color:#6b7280;font-size:14px;line-height:1.6;margin-left:48px;padding-top:8px;border-top:1px solid #e2e8f0;font-weight:400}.dhi-progress-bar{position:relative;width:100%;height:12px;background:#e2e8f0;border-radius:6px;margin-bottom:32px;overflow:visible;cursor:pointer}.dhi-progress-fill{height:100%;background:linear-gradient(135deg,#8DDCC2 0%,#557C99 100%);transition:width .4s ease;border-radius:3px;position:relative;z-index:2;animation:progressPulse 2s ease-in-out infinite}@keyframes progressPulse{0%,to{opacity:1;box-shadow:0 0 #8ddcc266}50%{opacity:.9;box-shadow:0 0 8px 2px #8ddcc299}}.dhi-progress-segments{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;z-index:3}.dhi-progress-segment{flex:1;height:100%;cursor:pointer;transition:background-color .2s ease;position:relative;padding:4px 0;margin:-4px 0}.dhi-progress-segment:hover{background-color:#8ddcc233}.dhi-progress-segment:hover:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background-color:#8ddcc2;border-radius:50%;box-shadow:0 0 0 2px #fff;z-index:4}.dhi-progress-segment:after{content:"";position:absolute;top:50%;right:0;transform:translateY(-50%);width:2px;height:100%;background-color:#ffffff80}.dhi-progress-segment:last-child:after{display:none}.dhi-panes-wrapper{position:relative;overflow:hidden}.dhi-pane{display:none;animation:slideInRight .4s ease-out}.dhi-pane.active{display:block}.dhi-pane.slide-out-left{animation:slideOutLeft .4s ease-out}.dhi-pane.slide-out-right{animation:slideOutRight .4s ease-out}.dhi-pane.slide-in-left{animation:slideInLeft .4s ease-out}.dhi-pane.slide-in-right{animation:slideInRight .4s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}.dhi-form-group{margin-bottom:20px}.dhi-form-label{display:block;color:#2f4555;font-weight:600;margin-bottom:8px;font-size:14px}.dhi-required{color:#ef4444}.dhi-form-input,.dhi-form-select,textarea.dhi-form-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:15px;transition:all .3s ease;background:#f7fafc;font-family:inherit}.dhi-form-input:focus,.dhi-form-select:focus,textarea.dhi-form-input:focus{outline:none;border-color:#8ddcc2;background:white;box-shadow:0 0 0 3px #8ddcc21a}textarea.dhi-form-input{min-height:80px}.dhi-form-input::placeholder{color:#a0aec0}.dhi-form-input.warning{border-color:#f59e0b;background:white}.dhi-form-input.error{border-color:#ef4444;background:white}.dhi-form-input.validation-error,.dhi-form-select.validation-error,textarea.dhi-form-input.validation-error{border-color:#ef4444;background:#fef2f2}.dhi-form-input.validation-error:focus,.dhi-form-select.validation-error:focus,textarea.dhi-form-input.validation-error:focus{border-color:#dc2626;background:white;box-shadow:0 0 0 3px #ef44441a}.field-error-message{color:#dc2626;font-size:13px;margin-top:4px;font-weight:500;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dhi-resume-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(47,69,85,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.dhi-resume-modal{background:white;border-radius:16px;padding:32px;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}.dhi-resume-modal-icon{width:64px;height:64px;margin:0 auto 24px;background:linear-gradient(135deg,#8DDCC2 0%,#557C99 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px}.dhi-resume-modal-title{font-size:24px;font-weight:700;color:#2f4555;margin-bottom:12px;text-align:center}.dhi-resume-modal-message{font-size:16px;color:#6b7280;line-height:1.6;margin-bottom:24px;text-align:center}.dhi-resume-modal-info{background:#f7fafc;border-radius:8px;padding:16px;margin-bottom:24px}.dhi-resume-modal-info-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.dhi-resume-modal-info-row:last-child{margin-bottom:0}.dhi-resume-modal-info-label{font-size:14px;color:#6b7280;font-weight:500}.dhi-resume-modal-info-value{font-size:14px;color:#2f4555;font-weight:600}.dhi-resume-modal-actions{display:flex;gap:12px}.dhi-resume-modal-button{flex:1;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.dhi-resume-modal-button-primary{background:linear-gradient(135deg,#8DDCC2 0%,#557C99 100%);color:#fff}.dhi-resume-modal-button-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8ddcc266}.dhi-resume-modal-button-secondary{background:white;color:#6b7280;border:2px solid #e2e8f0}.dhi-resume-modal-button-secondary:hover{background:#f7fafc;border-color:#cbd5e1}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dhi-warning-message,.dhi-error-message{display:none;margin-top:8px;padding:12px 14px;border-radius:6px;font-size:14px}.dhi-warning-message{background-color:#fef3c7;border-left:3px solid #f59e0b;color:#92400e}.dhi-error-message{background-color:#fee2e2;border-left:3px solid #ef4444;color:#991b1b}.dhi-warning-message.show,.dhi-error-message.show{display:block}.dhi-button-group{display:flex;gap:12px;margin-top:24px}.dhi-next-button,.dhi-submit-button{flex:1;padding:14px;background:linear-gradient(135deg,#8DDCC2 0%,#557C99 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.dhi-next-button:hover,.dhi-submit-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #8ddcc266}.dhi-next-button:active,.dhi-submit-button:active{transform:translateY(0)}.dhi-next-button:disabled,.dhi-submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.dhi-back-button{flex:1;padding:14px;background:white;color:#557c99;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.dhi-back-button:hover{background:#f7fafc;border-color:#8ddcc2;transform:translateY(-2px)}.dhi-back-button:active{transform:translateY(0)}.dhi-success-message{display:none;text-align:center;padding:16px;background:#d4edda;border:2px solid #c3e6cb;border-radius:8px;color:#155724;margin-bottom:24px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dhi-success-message.show{display:block}.dhi-form-error{display:none;text-align:center;padding:16px;background-color:#fee2e2;border:2px solid #ef4444;border-radius:8px;color:#991b1b;margin-bottom:24px;animation:fadeIn .3s ease}.dhi-form-error.show{display:block}input[type=checkbox],input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:#8DDCC2}input[type=checkbox]:focus,input[type=radio]:focus{outline:2px solid #8DDCC2;outline-offset:2px}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.5;cursor:not-allowed;accent-color:#9ca3af}label:has(input[type=checkbox]:disabled),label:has(input[type=radio]:disabled){opacity:.5;cursor:not-allowed}@media (max-width: 768px){.dhi-form-container{padding:30px 20px;margin:10px}.dhi-form-title{font-size:24px}.dhi-form-tagline{font-size:15px}.dhi-step{padding:16px}.dhi-step-header{gap:10px;margin-bottom:10px}.dhi-step-number{width:32px;height:32px;font-size:16px}.dhi-step-touchpoint{font-size:16px;padding:6px 12px}.dhi-step-directive{margin-left:42px;font-size:13px;padding-top:6px}}.dhi-submission-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:40px 20px;text-align:center}.dhi-loading-spinner{position:relative;width:80px;height:80px;margin:0 auto}.dhi-spinner-ring{position:absolute;width:100%;height:100%;border:4px solid transparent;border-top-color:#3b82f6;border-radius:50%;animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.dhi-spinner-ring:nth-child(1){animation-delay:-.45s;border-top-color:#3b82f6}.dhi-spinner-ring:nth-child(2){animation-delay:-.3s;border-top-color:#60a5fa;width:70%;height:70%;top:15%;left:15%}.dhi-spinner-ring:nth-child(3){animation-delay:-.15s;border-top-color:#93c5fd;width:50%;height:50%;top:25%;left:25%}.dhi-spinner-ring:nth-child(4){border-top-color:#dbeafe;width:30%;height:30%;top:35%;left:35%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dhi-loading-dots{display:flex;gap:8px;margin-top:24px;justify-content:center}.dhi-loading-dots span{width:10px;height:10px;border-radius:50%;background-color:#3b82f6;animation:dotPulse 1.4s ease-in-out infinite}.dhi-loading-dots span:nth-child(1){animation-delay:0s}.dhi-loading-dots span:nth-child(2){animation-delay:.2s}.dhi-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.App{text-align:left}.text-center{text-align:center}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}*{margin:0;padding:0;box-sizing:border-box}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;line-height:1.6;color:#333;background-color:#f8f9fa}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}.page{max-width:1200px;margin:0 auto;padding:40px 20px}.container{max-width:1000px;margin:0 auto}h1{font-size:2.5rem;margin-bottom:1rem;color:#2c3e50}h2{font-size:2rem;margin-bottom:1rem;color:#34495e}h3{font-size:1.5rem;margin-bottom:.75rem;color:#2c3e50}@media (max-width: 768px){.page{padding:20px 10px}h1{font-size:2rem}}@media (max-width: 480px){.page{padding:20px 10px}}
