/* Shared public intake. Scoped rules preserve existing clinical form styles. */
.unified-page{margin:0;background:#f2f6f4;color:#24362f;line-height:1.55}
.unified-page *{box-sizing:border-box}
.unified-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(20px,calc((100vw - 1020px)/2));background:#fff;border-bottom:1px solid #d9e5df}
.unified-header a{flex:0 0 auto;display:block;width:210px;min-height:51px;color:#285c4a;text-decoration:none;font-weight:700}
.unified-header svg{display:block;width:210px;height:51px;max-width:100%}
.unified-shell{width:min(1020px,calc(100% - 36px));margin:30px auto 64px}
.unified-shell h1{font-size:clamp(27px,4vw,38px);line-height:1.2;letter-spacing:-.025em;margin:0 0 16px}
.unified-shell h2{font-size:clamp(22px,3vw,27px);line-height:1.3;margin:0 0 14px}
.unified-shell h3{font-size:19px;line-height:1.35;margin:0 0 10px}
.unified-shell p{margin:0 0 18px}
.unified-shell a{color:#2b6953;text-underline-offset:3px}
.unified-shell .unified-panel{background:#fff;border:1px solid #cdded5;border-radius:16px;padding:clamp(20px,4vw,34px);margin:20px 0}
.unified-shell .unified-muted,.unified-shell small{color:#617269}
.unified-shell small{font-size:14px;display:block}
.unified-intro{max-width:680px;color:#5b6b63;font-size:17px}
.unified-steps{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0;margin:0 0 24px;counter-reset:unified-step;font-size:15px;color:#60756a}
.unified-steps>li{display:flex;align-items:center;gap:8px;counter-increment:unified-step;line-height:1.35}
.unified-steps>li:before{content:counter(unified-step);display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;background:#e5eee9;color:#466558;border-radius:6px;font-size:13px;font-weight:700}
.unified-steps>[aria-current=step],.unified-steps>.active{color:#1e503e;font-weight:700}
.unified-steps>[aria-current=step]:before,.unified-steps>.active:before{background:#2d6b54;color:#fff}
.unified-step-label{font-size:14px;font-weight:700;letter-spacing:.015em;color:#456b5b;margin-bottom:12px}
.unified-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.unified-wide{grid-column:1/-1}
.unified-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin-bottom:16px}
.unified-field>label,.unified-field>legend{font-weight:700}
.unified-field fieldset,.unified-shell fieldset.unified-field{padding:0;border:0;margin:0 0 16px;min-width:0}
.unified-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.unified-shell select,.unified-shell textarea{width:100%;min-height:46px;padding:11px 13px;font:inherit;color:inherit;border:1px solid #aabeb3;border-radius:8px;background:#fff;max-width:100%}
.unified-shell textarea{resize:vertical;min-height:112px}
.unified-shell input[readonly]{background:#f5f8f6;color:#52645a}
.unified-shell :is(input,select,textarea,button,a,summary):focus-visible{outline:3px solid #699f89;outline-offset:3px}
.unified-shell [aria-invalid=true]{border:2px solid #ac4040!important}
.unified-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 24px}
.unified-choice{position:relative;display:flex;align-items:center;gap:12px;min-height:76px;padding:17px 18px;border:1px solid #cbdcd3;border-radius:10px;background:#f8fbf9;cursor:pointer;font-size:16px;font-weight:600;line-height:1.4}
.unified-choice input,.unified-check input{flex:0 0 20px;width:20px;height:20px;accent-color:#2d6b54;margin:0}
.unified-choice:has(input:checked){background:#eaf4ed;border-color:#4e866b;box-shadow:inset 0 0 0 1px #4e866b}
.unified-choice:has(input:focus-visible){outline:3px solid #699f89;outline-offset:3px}
.unified-choice input:focus-visible{outline:none}
.unified-choice small{font-weight:400;margin-top:4px}
.unified-check{display:flex;align-items:flex-start;gap:11px;cursor:pointer;margin:16px 0;line-height:1.5}
.unified-check input{margin-top:3px}
.unified-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:26px;padding-top:22px;border-top:1px solid #e1e9e4}
.unified-actions .unified-button:first-child:last-child,.unified-actions .button:first-child:last-child{margin-left:auto}
.unified-button,.unified-shell button.unified-button,.unified-shell .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border:1px solid #bdcfc4;border-radius:8px;background:#eef4f0;color:#255440;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;line-height:1.4;text-align:center}
.unified-button.primary,.unified-button--primary,.unified-shell .button.primary,.unified-shell button[type=submit].unified-primary{background:#2d6b54;border-color:#2d6b54;color:#fff}
.unified-button.secondary,.unified-button--secondary,.unified-shell .button.secondary{background:#fff;color:#2d604c}
.unified-shell button:disabled,.unified-button[aria-disabled=true]{opacity:.6;cursor:wait}
.unified-notice,.unified-error,.unified-success{border:1px solid #c5d9cb;border-radius:9px;padding:14px 17px;margin:18px 0;background:#eef7f0;color:#325a42;overflow-wrap:anywhere}
.unified-error{background:#fff2f1;border-color:#deb8b4;color:#8b3030}
.unified-notice--info{background:#f1f6fa;border-color:#c3d8e5;color:#375369}
.unified-notice--demo{background:#fff8de;border-color:#e3d89d;color:#645221;font-size:14px;margin-top:0}
.unified-notice p:last-child,.unified-error p:last-child,.unified-success p:last-child{margin-bottom:0}
.unified-review{margin:0}
.unified-review>div{display:grid;grid-template-columns:minmax(145px,1fr) minmax(0,2fr);gap:14px;padding:13px 0;border-bottom:1px solid #e1e9e4}
.unified-review dt{font-weight:700;color:#5d7165}
.unified-review dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.unified-summary{border:1px solid #d5e2db;border-radius:10px;background:#f8fbf9;padding:18px;margin:16px 0}
.unified-summary>summary{cursor:pointer;font-weight:700}
.unified-summary[open]>summary{margin-bottom:16px}
.unified-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.unified-summary-heading h2,.unified-summary-heading h3{margin:0}
.unified-summary-heading a{font-size:15px;flex:0 0 auto}
.unified-tags{display:flex;gap:7px;flex-wrap:wrap;list-style:none;padding:0;margin:12px 0}
.unified-tags>li,.unified-tag{display:inline-block;background:#edf4ef;border:1px solid #d2e1d7;border-radius:5px;padding:5px 9px;font-size:14px}
.unified-languages{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.unified-languages a,.unified-languages button{padding:7px 10px;min-height:40px;min-width:40px;border:1px solid transparent;border-radius:6px;background:transparent;color:#456153;font:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer}
.unified-languages .active,.unified-languages [aria-current=true],.unified-languages [aria-current=page]{background:#2d6b54;color:#fff}
.unified-files{margin:12px 0;padding:0;list-style:none}
.unified-files li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e1e9e4;overflow-wrap:anywhere}
.unified-files img{width:76px;height:76px;object-fit:cover;border-radius:7px}
.unified-phone{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);gap:10px}
.unified-shell [hidden]{display:none!important}
.unified-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.unified-terms{font-size:14px;color:#5a7163;margin:18px 0}
.unified-terms summary{cursor:pointer;font-weight:700}
.unified-terms p{margin:10px 0}
@media(hover:hover){.unified-choice:hover{border-color:#81aa93;background:#f0f7f2}.unified-button:hover{filter:brightness(.96)}}
@media(max-width:640px){.unified-shell{width:calc(100% - 24px);margin-top:20px}.unified-header{padding:14px 16px;gap:12px}.unified-header a{width:165px;min-height:40px}.unified-header svg{width:165px;height:40px}.unified-grid,.unified-choices{grid-template-columns:1fr;gap:12px}.unified-wide{grid-column:auto}.unified-steps{gap:10px 16px;font-size:13px}.unified-steps>li:before{flex-basis:24px;width:24px;height:24px}.unified-choice{min-height:64px;padding:15px}.unified-actions{align-items:stretch}.unified-actions .unified-button,.unified-actions .button{flex:1}.unified-review>div{display:block}.unified-review dd{margin-top:6px}.unified-phone{grid-template-columns:120px minmax(0,1fr)}.unified-field{margin-bottom:12px}.unified-summary{padding:14px}.unified-languages{gap:2px}.unified-languages a,.unified-languages button{padding:7px;min-width:36px}}
@media(prefers-reduced-motion:reduce){.unified-page *{scroll-behavior:auto!important}}
@media print{.unified-header,.unified-actions,.unified-languages{display:none}.unified-page{background:#fff}.unified-shell{width:100%;margin:0}.unified-panel{break-inside:avoid;border:0!important;padding:0!important}.unified-steps{display:none}}

/* Integration with the existing primary questionnaires. */
.unified-shell label.unified-field{font-weight:650}
.unified-field>input,.unified-field>textarea,.unified-field>select{font-weight:400;margin-top:0}
.unified-choice{margin-bottom:0}
.unified-shell fieldset{min-width:0;border:0;padding:0;margin:18px 0}
.unified-shell legend{font-size:18px;font-weight:700;line-height:1.4;padding:0;margin-bottom:10px;max-width:100%}
.unified-panel>fieldset{margin-top:24px}
.unified-shell .phone-input-group{margin-top:0;grid-template-columns:minmax(132px,.95fr) minmax(0,1.25fr)}
.unified-shell .phone-input-group .phone-country-code,.unified-shell .phone-input-group .phone-national-input{min-width:0;width:100%;margin:0;font-weight:400}
.unified-shell .phone-input-group .phone-country-code{padding-right:30px;font-size:.92em}
.unified-shell .unified-panel>.unified-actions:first-child{margin:0 0 22px;padding:0;border:0}
.unified-shell .unified-review>h2{margin-top:28px}
.unified-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:14px 0 18px}
.unified-review-grid>div{min-width:0;padding:12px 0;border-bottom:1px solid #e1e9e4}
.unified-review-grid dt{font-weight:650;line-height:1.4;color:#5a6f62}
.unified-review-grid dd{margin:7px 0 0;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.unified-answer-section{margin:24px 0;padding:17px 20px;border:1px solid #d5e2db;border-radius:10px;background:#fbfdfb}
.unified-answer-section>summary{font-weight:700;font-size:19px;cursor:pointer;line-height:1.35;list-style-position:outside;margin-left:18px}
.unified-answer-section[open]>summary{margin-bottom:16px}
.unified-shell details:not(.unified-answer-section):not(.unified-terms):not(.unified-summary)>summary{cursor:pointer;font-weight:650;padding:12px 0}
.unified-shell details[open]>.unified-grid{margin-top:16px}
.unified-shell .unified-panel[role=status]>.button{margin:6px 10px 0 0}
/* The same server-validated submission remains usable without JavaScript. */
.unified-page.no-js form[data-unified-entry] .form-step{display:block}
.unified-page.no-js form[data-unified-entry] .form-step+.form-step{margin-top:30px;padding-top:24px;border-top:1px solid #d9e5df}
.unified-page.no-js #submitBtn{display:inline-flex!important}
.unified-page.no-js #nextBtn,.unified-page.no-js #prevBtn,.unified-page.no-js .progress,.unified-page.no-js #stepText,.unified-page.no-js .step-label{display:none!important}
@media(max-width:640px){.unified-review-grid{grid-template-columns:1fr}.unified-answer-section{padding:14px}.unified-shell .phone-input-group{grid-template-columns:minmax(116px,.9fr) minmax(0,1.1fr)}.unified-shell .phone-input-group .phone-country-code{font-size:.87em;padding-left:9px;padding-right:24px}.unified-shell .unified-panel[role=status]>.button{display:flex;margin:10px 0 0}}
