:root{--color-wyze-green:rgba(29, 240, 187, 1);--color-wyze-green-dark:#1ad8a8;--color-primary:rgba(78, 47, 210, 1);--color-primary-darker:#4629be;--color-secondary-grey:#6c757d;--color-secondary-grey-darker:#5a6268;--color-accent-green:#2ecc71;--color-accent-red:#e74c3c;--color-text-heading:#333;--color-text-body:#444;--color-text-body-light:#555;--color-text-subtle:#666;--color-text-muted:#777;--color-text-on-primary:#ffffff;--color-text-on-secondary:var(--color-text-body-light);--color-bg-body:#f4f7f9;--color-bg-wrapper:#ffffff;--color-bg-selector:rgba(240, 240, 240, 1);--color-bg-selector-hover:rgba(237, 244, 255, 0.6);--color-bg-progress-track:#e0e0e0;--color-bg-button-disabled:#cccccc;--color-bg-button-secondary:transparent;--color-bg-button-secondary-hover:#eaeaea;--color-border-light:#eee;--color-border-medium:#ddd;--color-border-dark:#ccc;--color-border-hover:#bbb;--color-border-checked:var(--color-primary);--color-border-focus:var(--color-primary);--color-msg-success-bg:#d4edda;--color-msg-success-border:#c3e6cb;--color-msg-success-text:#155724;--color-msg-error-bg:#f8d7da;--color-msg-error-border:#f5c6cb;--color-msg-error-text:#721c24;--shadow-focus-ring:0 0 0 3px rgba(78, 47, 210, 0.2);--shadow-wrapper:0 4px 15px rgba(0, 0, 0, 0.08);--font-primary:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;--default-form-element-maxwidth:390px}body{font-family:var(--font-primary);line-height:1.6;margin:0;padding:20px;background-color:var(--color-bg-body);display:flex;justify-content:center;color:var(--color-text-body)}.survey-wrapper{width:100%;max-width:700px;background-color:var(--color-bg-wrapper);border-radius:10px;box-shadow:var(--shadow-wrapper);padding:30px 40px;box-sizing:border-box}h1{text-align:center;color:var(--color-text-heading);margin-bottom:25px;font-size:1.8em}p.subtitle{text-align:center;color:var(--color-text-subtle);margin-top:-15px;margin-bottom:25px;font-size:.95em;line-height:1.3}#progress-bar-container{width:100%;height:12px;background-color:var(--color-bg-progress-track);border-radius:6px;overflow:hidden;margin-bottom:30px;position:relative}#progress-bar{width:0%;height:100%;background-color:var(--color-wyze-green);border-radius:6px;transition:width .4s ease-in-out}#progress-text{position:absolute;top:-20px;right:0;font-size:.8em;color:var(--color-text-body-light)}.top-navigation-bar{display:flex;align-items:center;gap:15px;padding:5px 0}.top-back-button{display:inline-flex;margin-top:-30px;align-items:center;border:none;cursor:pointer;font-family:inherit;font-size:1em;color:#333;flex-shrink:0;transition:background-color .2s ease;background:0 0}.top-back-button svg:hover{filter:contrast(.8)}.top-back-button svg{width:2em;height:2em}#progress-bar-container{flex-grow:1;margin-left:0;margin-right:0}#survey-form{width:100%;padding:0;border:none;box-shadow:none;min-height:350px;display:flex;flex-direction:column;box-sizing:border-box}.question-step{display:none;margin-bottom:20px;flex-grow:1;animation:fadeIn .5s ease-in-out}.question-step.active-step{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}fieldset{border:none;padding:0;margin:0;display:contents}.question-step h2,label.question-text,legend.question-text{display:block;margin-bottom:2rem;font-weight:600;font-size:1.8rem;line-height:1.2;color:var(--color-text-heading);text-align:center}.required-indicator{color:var(--color-accent-red);margin-left:3px;font-weight:700}.input-group{margin-bottom:20px;display:flex;justify-content:center}.input-label{display:block;margin-bottom:5px;font-weight:500;color:var(--color-text-body-light);font-size:.9em}input[type=email],input[type=tel],input[type=text],select,textarea{width:100%;max-width:var(--default-form-element-maxwidth);padding:12px 15px;margin-top:0;border:1px solid var(--color-border-dark);border-radius:6px;font-size:1em;box-sizing:border-box;transition:border-color .2s ease;background-color:#fff;color:var(--color-text-body)}input[type=email]:focus,input[type=tel]:focus,input[type=text]:focus,select:focus,textarea:focus{border-color:var(--color-border-focus);outline:0;box-shadow:var(--shadow-focus-ring)}textarea{min-height:100px;resize:vertical}select{display:block;margin:0 auto;appearance:none;text-align:center;font-size:1.2rem;font-weight:500;background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%236c757d%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');background-repeat:no-repeat;background-position:right 15px center;background-size:10px 10px;padding-right:40px;background-color:var(--color-bg-selector);cursor:pointer}.image-checkbox-group input[type=checkbox],.image-radio-group input[type=radio],.text-radio-group input[type=radio]{opacity:0;position:absolute;width:1px;height:1px;overflow:hidden}.image-checkbox-label,.image-radio-label,.text-radio-label{display:flex;flex-direction:column;text-align:left;border:2px solid var(--color-border-medium);background-color:var(--color-bg-selector);border-radius:8px;padding:1.5rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;position:relative;font-weight:500}.image-checkbox-label:hover,.image-radio-label:hover,.text-radio-label:hover{border-color:var(--color-primary);background-color:var(--color-bg-selector-hover)}.image-checkbox-label.checked,.image-radio-label.checked,.text-radio-label.checked{border-color:var(--color-border-checked);box-shadow:var(--shadow-focus-ring);background-color:var(--color-bg-selector-hover)}.image-checkbox-group,.image-radio-group{display:grid;gap:15px}.image-radio-group{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.image-checkbox-group.columns-3{grid-template-columns:repeat(3,1fr)}.image-checkbox-label img,.image-radio-label img{max-width:100%;align-self:center;height:80px;object-fit:contain;margin-bottom:10px}.image-checkbox-label span,.image-radio-label span{font-weight:600;color:var(--color-text-heading);font-size:.9em;line-height:1.2;text-align:center}.image-checkbox-group>.image-checkbox-label{align-items:center;text-align:center}.text-radio-group{display:flex;flex-direction:column;gap:10px}.text-radio-label strong{font-size:1em;font-weight:600;color:var(--color-text-heading);margin-bottom:3px;display:block}.text-radio-label span{font-size:.9em;line-height:1.2;color:var(--color-text-body-light)}#step-2 .text-radio-label span{font-size:.8em;color:var(--color-text-subtle)}.info-step{text-align:center}.info-image{max-width:150px;margin:0 auto 20px auto;display:block}.hero-image{width:100%;height:auto;display:block;margin:1rem 0;border-radius:8px}.block-image{width:100%;height:auto;max-width:390px;display:block;margin:2rem auto 0 auto;border-radius:8px}.checklist{list-style:none;padding:0;margin:20px auto;max-width:400px;text-align:left;visibility:hidden;opacity:0;transition:visibility 0s linear .5s,opacity .5s ease}.checklist li{margin-bottom:10px;font-size:1em;color:var(--color-text-heading);display:flex;align-items:center;opacity:0;transition:opacity .4s ease-in-out;min-height:2rem}.checklist li.visible{opacity:1}.checklist .status-icon{display:inline-flex;justify-content:center;align-items:center;width:25px;height:20px;text-align:center;margin-right:10px;font-size:1.1em;transition:color .3s ease}.checklist .status-icon.is-done{color:var(--color-accent-green);font-weight:700}.privacy-text{font-size:.8em;color:var(--color-text-muted);text-align:center;margin-top:20px}.final-step-actions{display:flex;flex-direction:column;max-width:var(--default-form-element-maxwidth);margin:1rem auto;gap:.5rem}.action-button{padding:.75rem 3rem;font-size:1em;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease;text-align:center}.action-button:first-of-type:not(.secondary){background-color:var(--color-primary);color:var(--color-text-on-primary)}.action-button.secondary{background-color:var(--color-bg-button-secondary);color:var(--color-text-on-secondary);border:1px solid transparent;font-weight:400;text-decoration:underline}.action-button:first-of-type:not(.secondary):hover{background-color:var(--color-primary-darker)}.action-button.secondary:hover{background-color:var(--color-bg-button-secondary-hover);border-color:var(--color-border-hover)}.navigation-buttons{display:flex;justify-content:space-between;margin-top:auto;padding-top:20px;border-top:1px solid var(--color-border-light)}.navigation-buttons button{padding:12px 25px;background-color:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:6px;cursor:pointer;font-size:1em;font-weight:500;transition:background-color .2s ease,opacity .2s ease}.navigation-buttons button#prev-button{background-color:var(--color-secondary-grey)}.navigation-buttons button#prev-button:hover:not(:disabled){background-color:var(--color-secondary-grey-darker)}.navigation-buttons button#next-button:hover:not(:disabled){background-color:var(--color-primary-darker)}.navigation-buttons button:disabled{background-color:var(--color-bg-button-disabled);cursor:not-allowed;opacity:.7}#confirmation-message,#error-message{width:100%;max-width:none;margin:20px 0;padding:15px;border-radius:6px;display:none;box-sizing:border-box;text-align:center;font-size:.95em}#confirmation-message{background-color:var(--color-msg-success-bg);border:1px solid var(--color-msg-success-border);color:var(--color-msg-success-text)}#error-message{background-color:var(--color-msg-error-bg);border:1px solid var(--color-msg-error-border);color:var(--color-msg-error-text);font-weight:500}.reset-container{text-align:left;margin-top:1rem}#reset-button{background-color:transparent;border:none;color:var(--color-secondary-grey);padding:5px;border-radius:6px;cursor:pointer;font-size:.9em;transition:color .2s ease;display:inline-flex;align-items:center;gap:.25rem}#reset-button:hover{color:var(--color-primary-darker)}#reset-button svg{display:block;width:16px;height:16px;fill:currentColor;transition:fill .2s ease}#main-status-icon{display:flex;justify-content:center;align-items:center;margin:20px auto 30px auto;min-height:50px}.spinner{border:4px solid rgba(0,0,0,.1);width:36px;height:36px;border-radius:50%;border-left-color:var(--color-primary);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.item-spinner{animation:spin 1s linear infinite;border-radius:50%;border:2px solid rgba(0,0,0,.1);border-left-color:var(--color-primary);width:16px;height:16px;display:inline-block;vertical-align:middle;margin-top:-2px}.main-checkmark{font-size:40px;color:var(--color-accent-green);font-weight:700;line-height:1;animation:popIn .3s ease-out}.verification-message{text-align:center}@keyframes popIn{0%{transform:scale(.5);opacity:0}80%{transform:scale(1.1);opacity:1}100%{transform:scale(1);opacity:1}}.hidden{display:none!important}@media (max-width:600px){.survey-wrapper{padding:20px 15px}h1{font-size:1.5em}.question-step h2,label.question-text,legend.question-text{font-size:1.4rem;margin-bottom:1.5rem}.image-checkbox-group,.image-radio-group{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}.image-checkbox-group.columns-3{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.navigation-buttons button{padding:10px 18px;font-size:.95em}.image-checkbox-label,.image-radio-label,.text-radio-label{padding:1rem .75rem}input[type=email],input[type=tel],input[type=text],select,textarea{padding:10px 12px;max-width:var(--default-form-element-maxwidth)}.final-step-actions{gap:10px}}@media (max-width:420px){.image-checkbox-group.columns-3,.image-radio-group{grid-template-columns:1fr 1fr}.question-step h2,label.question-text,legend.question-text{font-size:1.2rem}.survey-wrapper{padding:15px 10px}.navigation-buttons{flex-direction:column-reverse;gap:10px;border-top:none;padding-top:10px}.navigation-buttons button{width:100%}}