*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}.survey-shell{flex-direction:column;min-height:100vh;display:flex}.survey-header{background:#fff;border-bottom:3px solid #f15d22;align-items:center;gap:14px;padding:16px 32px;display:flex}.survey-header img{object-fit:contain;border-radius:50%;width:44px;height:44px}.survey-header .wordmark{color:#0d1b2a;font-size:20px;font-weight:700}.survey-body{flex:1;width:100%;max-width:800px;margin:0 auto;padding:32px 24px 64px}.survey-footer{color:#fff;text-align:center;letter-spacing:.02em;background:#f15d22;padding:18px 24px;font-size:15px;font-weight:700}.progress-wrap{margin-bottom:32px}.progress-label{color:#5a5a5a;margin-bottom:6px;font-size:13px}.progress-track{background:#ccc;border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:#f15d22;border-radius:3px;height:100%;transition:width .3s}.step-dots{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.step-dot{background:#ccc;border-radius:50%;width:10px;height:10px;transition:background .2s}.step-dot.active{background:#f15d22}.step-dot.done{background:#8b0e04}.section-heading{color:#0d1b2a;margin-bottom:8px;font-size:24px;font-weight:700}.section-sub{color:#5a5a5a;margin-bottom:24px;font-size:15px}.info-box{color:#333;background:#fdf6f2;border-left:4px solid #f15d22;border-radius:4px;margin-bottom:24px;padding:14px 18px;font-size:15px}.info-box.warning{border-left-color:#8b0e04}.info-box p+p{margin-top:8px}.field-group{margin-bottom:20px}label{color:#333;margin-bottom:6px;font-size:15px;font-weight:700;display:block}label .required{color:#8b0e04;margin-left:2px}.helper{color:#5a5a5a;margin-bottom:6px;font-size:14px}input[type=text],input[type=email],textarea,select{color:#333;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;padding:10px 12px;font-family:Arial,Helvetica,sans-serif;font-size:15px;transition:border-color .2s}input[type=text]:focus,input[type=email]:focus,textarea:focus,select:focus{border-color:#f15d22;outline:none}input.error,textarea.error,select.error{border-color:#8b0e04}.error-msg{color:#8b0e04;margin-top:4px;font-size:13px}textarea{resize:vertical;min-height:90px}.colour-row{align-items:center;gap:10px;display:flex}.colour-swatch{border:1px solid #ccc;border-radius:4px;flex-shrink:0;width:40px;height:40px}.colour-row input[type=text]{flex:1}.radio-group,.checkbox-group{flex-direction:column;gap:10px;display:flex}.radio-group label,.checkbox-group label{cursor:pointer;align-items:flex-start;gap:10px;font-weight:400;display:flex}.radio-group input[type=radio],.checkbox-group input[type=checkbox]{accent-color:#f15d22;cursor:pointer;flex-shrink:0;width:18px;height:18px;margin-top:2px}.radio-desc{color:#5a5a5a;margin-top:2px;font-size:13px}.dyn-table{border-collapse:collapse;width:100%;margin-bottom:10px}.dyn-table th{color:#fff;text-align:left;background:#0d1b2a;padding:9px 12px;font-size:14px}.dyn-table td{vertical-align:top;border-bottom:1px solid #ccc;padding:4px 6px}.dyn-table td input,.dyn-table td textarea{resize:none;color:#333;background:0 0;border:none;width:100%;padding:5px 6px;font-family:Arial,Helvetica,sans-serif;font-size:14px}.dyn-table td input:focus,.dyn-table td textarea:focus{background:#fdf6f2;border-radius:2px;outline:1px solid #f15d22}.dyn-table .remove-btn{color:#8b0e04;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.add-row-btn{color:#f15d22;cursor:pointer;background:0 0;border:1px dashed #f15d22;border-radius:4px;padding:7px 16px;font-size:14px;font-weight:700;transition:background .15s}.add-row-btn:hover{background:#fdf6f2}.upload-zone{text-align:center;cursor:pointer;border:2px dashed #ccc;border-radius:6px;padding:28px 24px;transition:border-color .2s,background .2s}.upload-zone:hover,.upload-zone.drag-over{background:#fdf6f2;border-color:#f15d22}.upload-zone input{display:none}.upload-zone .upload-icon{margin-bottom:8px;font-size:32px}.upload-zone .upload-hint{color:#5a5a5a;font-size:13px}.upload-zone .upload-name{color:#0d1b2a;margin-top:8px;font-size:14px;font-weight:700}.nav-row{border-top:1px solid #ccc;justify-content:space-between;align-items:center;margin-top:40px;padding-top:24px;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#f15d22;border:none;border-radius:4px;padding:12px 32px;font-size:16px;font-weight:700;transition:background .2s}.btn-primary:hover:not(:disabled){background:#d44f18}.btn-primary:disabled{cursor:not-allowed;background:#ccc}.btn-secondary{color:#333;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:12px 28px;font-size:16px;transition:border-color .2s}.btn-secondary:hover{border-color:#5a5a5a}.confirm-hero{text-align:center;padding:32px 0 24px}.confirm-hero .tick{font-size:56px}.confirm-hero h1{color:#0d1b2a;margin-top:12px;font-size:28px}.confirm-hero .ref{color:#5a5a5a;background:#f4f4f4;border-radius:4px;margin-top:6px;padding:4px 10px;font-family:monospace;font-size:14px;display:inline-block}.next-steps-heading{color:#0d1b2a;margin:28px 0 16px;font-size:18px;font-weight:700}.next-steps{counter-reset:steps;padding:0;list-style:none}.next-steps li{counter-increment:steps;align-items:flex-start;gap:16px;margin-bottom:16px;font-size:15px;display:flex}.next-steps li:before{content:counter(steps);color:#fff;background:#f15d22;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:1px;font-size:14px;font-weight:700;display:flex}.next-steps a{color:#f15d22}.summary-block{background:#fdf6f2;border:1px solid #ccc;border-radius:6px;margin-top:28px;padding:20px 24px}.summary-block h3{color:#0d1b2a;margin-bottom:12px;font-size:16px;font-weight:700}.summary-grid{grid-template-columns:160px 1fr;gap:6px 12px;font-size:14px;display:grid}.summary-grid .lbl{color:#5a5a5a}.summary-grid .val{color:#333;font-weight:700}.submitting-overlay{text-align:center;padding:60px 24px}.spinner{border:4px solid #ccc;border-top-color:#f15d22;border-radius:50%;width:44px;height:44px;margin:0 auto 20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=600px){.survey-header{padding:12px 16px}.survey-body{padding:24px 16px 48px}.nav-row{flex-direction:column-reverse;gap:12px}.btn-primary,.btn-secondary{text-align:center;width:100%}.summary-grid{grid-template-columns:1fr}.summary-grid .lbl{margin-top:6px;font-style:italic}}
