.signature-handoff{width:min(92vw,620px);box-sizing:border-box;max-height:90dvh;overflow:auto;border:2px solid #087184;border-radius:12px;padding:1.25rem}.signature-handoff::backdrop{background:#17364288}.handoff-qr{display:block;width:min(100%,330px);height:auto;margin:1rem auto;image-rendering:pixelated}.handoff-preview{display:block;max-width:100%;height:auto;border:1px solid #81979e;background:white}.handoff-preview[hidden],.handoff-qr[hidden]{display:none}.handoff-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}.handoff-actions button{white-space:normal;min-height:44px}#deviceSignature{width:100%;height:auto;touch-action:none;border:2px solid #183644;background:#fff;box-sizing:border-box}#signatureCapture{max-width:900px}#deviceSend{white-space:normal}.signature-save-result{font-weight:600}.patient-heading{box-sizing:border-box;padding:1.25rem max(1rem,calc((100% - 1120px)/2));background:#183644;color:#fff;width:100%;margin:0 0 1rem}.patient-heading h1{font-size:clamp(1.8rem,4.5vw,2.7rem);line-height:1.2;margin:0;overflow-wrap:anywhere}.patient-heading p{font-size:.95rem;margin:.45rem 0 0;color:#e4edf0}.patient-heading[hidden]{display:none}@media print{.signature-handoff{display:none}}

.submission-confirmation{display:block;width:100%;box-sizing:border-box;padding:1.25rem;margin:1rem 0;background:#effaf5;border:2px solid #197a5b;border-radius:8px}.submission-confirmation .button{display:inline-block;margin:.5rem .5rem .5rem 0}.review-actions:has(.submission-confirmation){display:block}.submission-confirmation:focus{outline:3px solid #197a5b;outline-offset:3px}#documentNext{padding:1rem}#documentProgress{border-left:4px solid #197a5b;padding:1rem}
.has-patient-heading .masthead h1{display:none}
/* Shared authenticated patient layout: compact mobile menu, narrow desktop rail. */
.has-patient-heading > .masthead,.has-patient-heading > header:has(#portalBanner){display:none}
.has-patient-heading > .patient-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;position:static;width:100%;max-width:none;padding:10px 14px;margin:0;border:0;border-radius:0;background:#183644;color:white}
.patient-heading .patient-heading-name h1{font-size:1.25rem;line-height:1.25;margin:0}
.patient-heading .patient-heading-name p{font-size:.78rem;line-height:1.4;margin:5px 0 0;color:#e4edf0}
.patient-heading .patient-navigation{border:0;margin:0;padding:0;background:none;color:inherit}
.patient-navigation > summary{cursor:pointer;padding:8px;min-height:44px;color:white}
.patient-navigation[open]{grid-column:1/-1}
.patient-navigation-content header,.patient-navigation-content .hosted-bar,.patient-navigation-content .account-controls{position:static;display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;padding:0;margin:8px 0 0;background:none;border:0;color:white}
.patient-navigation-content a{color:white;display:block;min-height:44px;padding:8px 0;overflow-wrap:anywhere}
.patient-navigation-content button{margin:0;min-height:44px;padding:8px;white-space:normal;overflow-wrap:anywhere;font:inherit;max-width:100%}
.patient-navigation-content #patient{display:none}
.has-patient-heading > main{max-width:none;width:100%;margin:0;padding:12px 16px}
.has-patient-heading > header{position:static;padding:10px 16px;background:none;color:#183644}
.has-patient-heading > header h1{font-size:1.25rem;margin:0}
.has-patient-heading #document{scroll-margin-top:12px}
@media(min-width:1100px){
 body.has-patient-heading{margin-left:12vw}
 .has-patient-heading > .patient-heading{position:fixed;top:0;left:0;bottom:0;width:12vw;height:100dvh;overflow-y:auto;display:block;padding:14px 10px;z-index:150}
 .patient-heading .patient-heading-name h1{font-size:clamp(1rem,1.4vw,1.4rem)}
 .patient-navigation > summary{display:none}
 .patient-navigation-content{margin-top:18px;font-size:.85rem}
 .patient-navigation-content header,.patient-navigation-content .hosted-bar,.patient-navigation-content .account-controls{display:flex;flex-direction:column;width:100%;gap:10px}
 .patient-navigation-content > a,.patient-navigation-content button{width:100%;text-align:left}
 .has-patient-heading .review-navigation-dock{left:12vw}
}
@media print{
 body.has-patient-heading{margin:0}
 .has-patient-heading > .patient-heading{display:none!important}
 .has-patient-heading > main{padding:0;width:100%;max-width:none}
}
