.registration-shell{padding-bottom:7rem;background:#f3f7f0}.registration-intro{display:grid;grid-template-columns:1fr .72fr;align-items:end;padding-block:clamp(4rem,8vw,7rem) 3rem;gap:clamp(2rem,7vw,7rem)}.registration-intro h1{margin-bottom:.3em}.prototype-notice{padding:1.4rem;border-top:4px solid var(--accent);background:white;box-shadow:0 14px 35px rgba(31,41,36,.08)}.prototype-notice strong{font-family:var(--heading);font-size:1.15rem}.prototype-notice p{margin:.5rem 0 0;color:#536159;font-size:.9rem}.registration-page{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,4rem)}.registration-help{position:sticky;top:1.5rem;overflow-wrap:anywhere}.registration-help h2{font-size:1.8rem}.registration-help>a{display:block;margin-top:.45rem;font-weight:800}.secure-note{display:flex;align-items:flex-start;margin-top:2rem;padding-top:1.2rem;gap:.7rem;border-top:1px solid #cad8c5;color:#536159;font-size:.85rem}.secure-note span{display:grid;width:26px;height:26px;flex:0 0 26px;place-items:center;border-radius:50%;background:var(--primary);color:#14220e;font-weight:900}.secure-note p{margin:0}.registration-form{min-width:0}.demo-mode-banner{margin-bottom:1.5rem;padding:1.2rem 1.4rem;border:2px solid var(--accent);background:#fff4e6}.demo-mode-banner strong{display:block;margin-bottom:.2rem;font-family:var(--heading);font-size:1.15rem}.demo-mode-banner p{margin:0}.registration-form input:not([type=checkbox]):not([type=radio]),.registration-form select{width:100%;min-height:50px;padding:.75rem .85rem;border:1px solid #8b9a91;border-radius:4px 12px 4px 12px;background:white;color:var(--ink)}.registration-form input[type=file]{padding:.6rem}.registration-form input[type=checkbox],.registration-form input[type=radio]{width:21px;height:21px;flex-shrink:0;accent-color:#4f9623}.registration-form h2{font-size:clamp(1.9rem,4vw,2.7rem)}.registration-field,.registration-upload{display:grid;margin-bottom:1.3rem;gap:.5rem}.registration-field>span,.registration-upload>span{font-weight:800}.registration-choice b,.registration-field b,.registration-upload b{color:#a12621}.registration-field small,.registration-upload small{color:#536159}.form-row,.preparation-grid,.review-grid,.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.preparation-grid{margin-block:2rem}.preparation-grid>div{padding:1.1rem;border-top:3px solid var(--primary);background:#f3f7f0}.preparation-grid p{margin-bottom:0;color:#536159;font-size:.88rem}.registration-choice{margin:1.5rem 0;padding:0;border:0}.registration-choice legend{font-weight:800}.registration-choice>div{display:flex;flex-wrap:wrap;margin-top:.4rem;gap:.6rem}.registration-choice label{display:flex;align-items:center;min-height:48px;padding:.6rem 1rem;gap:.6rem;border:1px solid #c6d2c2;border-radius:4px 12px 4px 12px;background:white}.consent-check{display:flex;align-items:flex-start;min-height:48px;padding-block:.75rem;gap:.75rem}.registration-panel{padding:clamp(1.4rem,4vw,2.5rem);border:1px solid #d4dfcf;border-radius:4px 24px 4px 24px;background:white;box-shadow:0 20px 55px rgba(31,41,36,.08)}.registration-panel[hidden]{display:none}.registration-progress{margin:1.5rem 0}.progress-top{display:flex;justify-content:space-between;gap:1rem}.registration-progress ol{display:flex;margin:1rem 0 0;padding:0;gap:4px;list-style:none}.registration-progress li{flex:1 1}.registration-progress button{width:100%;min-height:68px;padding:.65rem .3rem;border:0;background:#e2eadf;color:#445148;font-size:.74rem}.registration-progress button span{display:block;font-weight:900}.registration-progress .active button{background:var(--ink);color:white}.registration-progress .done button{background:var(--secondary);color:#345c20}.draft-bar{display:flex;flex-wrap:wrap;align-items:center;padding:1.1rem;gap:1rem;border-left:4px solid var(--primary);background:white}.draft-bar>div{flex:1 1 340px}.draft-bar span{display:block;color:#536159;font-size:.86rem}.draft-bar button,.secondary-button{min-height:46px;padding:.6rem 1rem;border:1px solid var(--ink);border-radius:4px 12px 4px 12px;background:white;color:var(--ink);font-weight:800}.draft-bar small{width:100%}.registration-actions{display:flex;align-items:center;margin-top:1.5rem;gap:.8rem}.registration-actions>span{flex:1 1}.guardian-block,.household-block{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #d4dfcf}.block-heading{display:flex;align-items:center;gap:1rem}.block-heading>span{color:var(--primary);font-weight:900}.block-heading h3{margin-bottom:1rem;font-size:1.5rem}.income-total,.review-grid>div,.submission-notice{margin-block:1.25rem;padding:1.15rem;background:var(--secondary)}.income-total{display:flex;justify-content:space-between;gap:1rem}.review-grid span,.review-grid strong{display:block}.field-invalid{outline:2px solid #a12621;outline-offset:5px}.draft-error,.form-error,.validation-summary{color:#8e211d}.validation-summary{margin-bottom:1.25rem;padding:1.25rem;border:1px solid #a12621;background:#fff9f8}.validation-summary p{margin-bottom:0}.application-success{margin-top:2.5rem;padding:3rem;border-top:6px solid var(--primary);background:white}.application-success>span{font-size:2rem}@media (max-width:900px){.registration-intro,.registration-page{grid-template-columns:1fr}.registration-help{position:static;padding-bottom:1.5rem;border-bottom:1px solid #cad8c5}}@media (max-width:560px){.registration-shell{padding-bottom:4rem}.registration-panel{padding:1.15rem;border-radius:4px 18px 4px 18px}.form-row,.preparation-grid,.review-grid,.upload-grid{grid-template-columns:1fr;gap:0}.registration-progress ol{gap:2px}.registration-progress button{min-height:62px;font-size:.62rem}.registration-actions .button,.secondary-button{padding:.7rem}.income-total{flex-direction:column}}