/* Content-only polish. Shell, brand, navigation, medical copy and flows are unchanged. */
.app-main .screen-head{padding-bottom:18px}
.app-main .screen-head h1{font-size:clamp(1.85rem,4vw,2.65rem);line-height:1.16;margin-bottom:10px}
.app-main :is(.screen-head,.path-title-grid,.device-detail-copy)>p{max-width:65ch;line-height:1.65}
.app-main :is(.app-section-head h2,.rehab-overview h2){line-height:1.25}
.app-main :is(.catalog-card,.contact-card,.support-info-card,.device-info-grid .app-card){border-radius:20px;box-shadow:0 6px 22px -16px rgba(0,92,132,.22)}
.app-main :is(.catalog-grid,.support-grid,.device-info-grid){gap:14px}
.app-main :is(.catalog-copy,.support-info-card){padding:18px}
.app-main .catalog-card-link{height:100%;display:flex;flex-direction:column}
.app-main .catalog-copy{flex:1;display:flex;flex-direction:column}
.app-main .catalog-copy h3{font-size:1.12rem;line-height:1.3;margin:5px 0 8px}
.app-main .catalog-copy p{font-size:.9rem;line-height:1.6;margin-bottom:16px}
.app-main .catalog-copy>div{margin-top:auto;flex-wrap:wrap;row-gap:6px}
.app-main .catalog-search{height:50px;margin-bottom:12px}
.app-main .catalog-search input{min-width:0;font-size:1rem;min-height:44px}
.app-main .catalog-search:focus-within{border-color:var(--primary);outline:3px solid var(--surface-soft);outline-offset:2px}
.app-main .catalog-filter{min-height:44px;padding:9px 13px;font-size:.85rem}
.app-main .journey-copy small{font-size:.8rem;line-height:1.4}
.app-main .journey-copy strong{line-height:1.3}
.app-main .home-storage-note{font-size:.8rem;line-height:1.55}
.app-main .home-doctor-copy p{font-size:.82rem}
.app-main .home-resume-copy p{font-size:.9rem;line-height:1.5}
.app-main :is(.contact-card>div,.support-info-row>span){min-width:0;overflow-wrap:anywhere}
.app-main .contact-card{padding:16px;grid-template-columns:44px minmax(0,1fr) 20px}
.app-main .contact-card strong{font-size:1rem;line-height:1.4}
.app-main .contact-card em{line-height:1.5}
.app-main .support-info-row+.support-info-row{border-top:1px solid var(--border);padding-top:12px}
.app-main :is(.rehab-phase-title strong,.rehab-phase-title small){white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4}
.app-main .rehab-phase>summary{min-height:64px;gap:10px;padding:12px}
.app-main .exercise-detail>summary{min-height:60px}
.app-main .exercise-summary-copy strong{line-height:1.4}
.app-main :is(.primary-action,.exercise-complete-button,.guided-start-button,.phase-pagination>a){min-height:48px}
.app-main :is(a,button,summary),.app-modal :is(a,button,summary){touch-action:manipulation}
.app-main :is(a,button,summary):focus-visible,.app-modal :is(a,button,summary,input,textarea):focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.app-main :is(a,button,summary),.app-modal :is(a,button){transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}
.app-main :is(button,a):active,.app-modal :is(button,a):active{filter:brightness(.96)}
.app-main button:disabled,.app-modal button:disabled{opacity:.6;cursor:not-allowed;filter:none}
.app-modal{scroll-padding-block:24px}
.app-modal h2{line-height:1.25;font-size:clamp(1.4rem,4vw,1.8rem)}
.app-modal>p{line-height:1.6}
.app-modal .form-grid{gap:14px}
.app-modal .rental-form{gap:16px}
.app-modal .rental-form label>span{margin-bottom:6px;line-height:1.45}
.app-modal .rental-form :is(input:not([type=checkbox]),textarea){min-width:0;min-height:50px;font-size:1rem;padding:12px;border-color:var(--border);scroll-margin-block:24px}
.app-modal .rental-form textarea{min-height:108px;line-height:1.55}
.app-modal .rental-form :is(input,textarea):user-invalid{border-color:var(--accent-action);box-shadow:0 0 0 1px var(--accent-action)}
.app-modal .consent-row{grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;padding:4px 0}
.app-modal .consent-row input{width:24px;height:24px;min-height:24px;margin:1px 0 0;accent-color:var(--primary)}
.app-modal .consent-row span{line-height:1.6}
.app-modal .rental-steps li{font-size:.8rem;line-height:1.4;padding:10px 6px}
.app-modal :is(.rental-submit,.rental-call-link,.handoff-next-actions button,.handoff-next-actions a){min-height:48px;line-height:1.4}
.app-modal .handoff-status,.app-main .rehab-flow-status:not(:empty){padding:14px;border-radius:14px;font-size:.9rem;line-height:1.6;overflow-wrap:anywhere}
.app-modal [aria-busy=true]{cursor:progress}
@media(hover:hover){
  .app-main :is(.journey-tile,.catalog-card,.contact-card:not(.primary),.home-doctor-row):hover{border-color:var(--primary);box-shadow:0 8px 24px -18px rgba(0,92,132,.32)}
  .app-main :is(.text-link,.back-link,.legal-links a):hover,.app-modal .consent-row a:hover{text-decoration:underline;text-underline-offset:3px}
  .app-main :is(.rehab-phase,.exercise-detail)>summary:hover{background:var(--surface-soft)}
}
@media(max-width:520px){
  .app-main .screen-head{padding-top:4px}
  .app-main .catalog-copy{padding:16px}
  .app-main .app-section-head{gap:10px;flex-wrap:wrap}
  .app-main .journey-copy small{font-size:.78rem}
  .app-main .rehab-phase>summary{grid-template-columns:32px minmax(0,1fr) auto 14px;gap:7px}
  .app-main .rehab-phase-status{font-size:.75rem;padding:4px 6px}
}
@media(prefers-reduced-motion:reduce){
  .app-main *,.app-modal *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
