#portal{max-width:920px;margin:auto;padding:48px 24px 80px}#portal h2{font-size:clamp(28px,4vw,42px);margin:24px 0}#portal fieldset{border:0;border-bottom:1px solid #d7d0c4;margin:0;padding:24px 0}#portal legend{font-size:18px;line-height:1.5;font-weight:500;padding-top:20px}#portal textarea{display:block;box-sizing:border-box;width:100%;background:#fffdf8;border:1px solid #b7b09f;padding:12px;font:inherit;margin-top:12px;color:#333}#portal .choice{display:flex;gap:12px;align-items:flex-start;padding:8px 0;font-size:16px}#portal input[type=checkbox],#portal input[type=radio]{width:18px;height:18px;flex:none;accent-color:#666950;margin-top:4px}#portal progress{width:100%;height:7px;accent-color:#73735e}#portal .save-status{font-size:14px;min-height:24px}.questionnaire-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:30px;flex-wrap:wrap}.secondary{background:transparent!important;color:#575747!important;border:1px solid #888!important}.upload-panel,.client-card{padding:24px;background:#eee9df;margin-top:28px}.client-card .button{margin-right:24px}.client-detail{padding:20px 0}.client-detail h4{margin:20px 0 5px}.client-detail p{white-space:pre-wrap}#portal .field-hint{font-size:14px}#portal input[type=file]{max-width:100%;font-size:16px}button:disabled{opacity:.5;cursor:wait}.form-feedback{color:#803a25}#form-result .button{margin-top:16px}.honeypot{position:absolute;left:-10000px}[hidden]{display:none!important}

#portal .save-confirmation:not(:empty){padding:14px 18px;background:#e8e9df;border-left:3px solid #666950;color:#34382c;font-size:15px;line-height:1.6;margin:16px 0 0}#portal .save-confirmation.save-error{background:#f5e9e3;border-color:#803a25;color:#803a25}

#portal fieldset.invalid-question{border:2px solid #a33225;background:#fff7f4;padding:18px;margin:16px 0}#portal .invalid-question legend,#portal .required-error,#portal .validation-summary{color:#a33225}#portal .required-error{font-size:14px}#portal .validation-summary:empty{display:none}

.photo-guide-dialog{width:min(1000px,96vw);height:92dvh;max-height:96dvh;padding:18px;border:1px solid #b7b09f;background:#f7f4ee;overflow:hidden}.photo-guide-dialog::backdrop{background:#292b2580}.photo-guide-dialog iframe{display:block;width:100%;height:calc(100% - 70px);border:0;margin-top:14px}.photo-guide-dialog .guide-close{position:absolute;right:12px;top:12px;background:transparent;border:0;color:#292b25;font-size:30px;min-width:44px;min-height:44px}.photo-guide-dialog>.button{margin-right:45px;font-size:11px;padding:12px}.questionnaire-nav .button{letter-spacing:.04em;gap:10px}

.questionnaire-arrows{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}.questionnaire-arrow{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:64px;min-height:48px;padding:6px;background:none;border:0;color:#292b25;cursor:pointer;appearance:none}.questionnaire-arrow svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.questionnaire-arrow span{font-size:12px}.questionnaire-arrow:disabled{opacity:.3;cursor:default}.measurement-next-step{margin-top:22px;font-size:15px;line-height:1.7}

.upload-feedback{margin:18px 0;padding:16px 18px;border:1px solid #b9c4a5;border-left:4px solid #66734e;background:#edf2e5;color:#354229;font-size:16px;line-height:1.6}.upload-feedback.uploading{background:#f7f4ec;border-color:#b9b39f;color:#4d503f}.upload-feedback.upload-error{background:#fff0e9;border-color:#b16a52;color:#803a25}.uploaded-file-name{overflow-wrap:anywhere}.upload-panel ul{padding-left:20px}.upload-panel li{margin-bottom:10px}

.contact-details{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;margin-top:32px;padding-top:24px;border-top:1px solid #dedbd2;font-style:normal;font-size:15px;line-height:1.6}.contact-details-name{font-family:Georgia,serif;font-size:23px}.contact-details a{text-decoration:underline;text-underline-offset:4px}.contact-details a:hover{color:#65694f}@media(max-width:600px){.contact-details{align-items:flex-start;flex-direction:column;gap:8px;margin-top:24px;font-size:14px}}
