.hotels-senior-application { max-width: 90rem; min-width: 0; box-sizing: border-box; margin: 1rem 0; padding: 1.25rem; color: #111827; background: #FFFFFF; border: 1px solid #E5E7EB; border-radius: .5rem; overflow-wrap: anywhere; }
.hotels-senior-application header { margin-bottom: 1rem; }
.hotels-senior-application h2 { margin: 0 0 .5rem; color: #153B57; }
.hotels-senior-application__form { display: grid; gap: 1rem; }
.hotels-senior-application fieldset { display: grid; gap: .875rem; min-width: 0; padding: 1rem; background:#FFFFFF; border: 1px solid #E5E7EB; }
.hotels-senior-application label, .hotels-senior-application input, .hotels-senior-application textarea { display: block; width: 100%; box-sizing: border-box; }
.hotels-senior-application label { margin-bottom: .3rem; font-weight: 700; }
.hotels-senior-application input, .hotels-senior-application textarea { min-height: max(44px, 2.75rem); padding: .5rem; color: #0B1F33; background: #FFFFFF; border: 1px solid #153B57; }
.hotels-senior-application textarea { min-height: 7rem; resize: vertical; }
.hotels-senior-application__choices label, .hotels-senior-application label:has(input[type="checkbox"]) { display: flex; align-items: flex-start; gap: .65rem; font-weight: 500; }
.hotels-senior-application input[type="checkbox"],.hotels-senior-application input[type="radio"] { flex: 0 0 auto; width: 1.25rem; min-height: 1.25rem; height: 1.25rem; margin-top: .1rem; accent-color:#174e61; }
.hotels-senior-application__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.hotels-senior-application__actions a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: .6rem 1rem; border: 1px solid #153B57; border-radius: .25rem; overflow-wrap: anywhere; }
.hotels-senior-application__navigation { margin: .75rem 0; }
.hotels-senior-application button { width: fit-content; max-width:100%; min-height: max(44px, 2.75rem); padding: .6rem 1rem; color: #111827; background: #FFFFFF; border: 1px solid #E5E7EB; border-radius: .25rem; cursor: pointer; white-space:normal; }
.hotels-senior-application a:focus-visible, .hotels-senior-application button:focus-visible, .hotels-senior-application input:focus-visible, .hotels-senior-application textarea:focus-visible { outline: 3px solid #D49A3A; outline-offset: 3px; }
.hotels-senior-application span { display: block; margin-top: .25rem; font-size: .875rem; }
.hotels-senior-application__notice { padding: .75rem; color: #0B1F33; background: #FFFFFF; border-left: .25rem solid #D49A3A; }
.hotels-senior-application__review-step { min-width: 0; padding: .75rem 0; border-top: 1px solid #D49A3A; }
.hotels-senior-application__review-step dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: .4rem .75rem; margin: 0; }
.hotels-senior-application__review-step dt { font-weight: 700; }
.hotels-senior-application__review-step dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
@media (max-width: 390px) { .hotels-senior-application { margin: .5rem 0; padding: .875rem; } .hotels-senior-application button { width: 100%; } }
@media (max-width: 390px) { .hotels-senior-application__review-step dl { grid-template-columns: minmax(0, 1fr); } }
.hotels-senior-application__wizard{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:1.25rem}
.hotels-senior-application{container-type:inline-size}
@container(max-width:520px){.hotels-senior-application__wizard{grid-template-columns:minmax(0,1fr)}}
.hotels-senior-application [role=tablist]{display:flex;flex-direction:column;gap:.4rem}
.hotels-senior-application__step-links{display:flex;flex-direction:column;gap:.65rem;min-width:0}
.hotels-senior-application__step-links [aria-disabled=true]{opacity:.65}
.hotels-senior-application [role=tab]{text-align:left;white-space:normal}
.hotels-senior-application [aria-selected=true]{outline:2px solid #174e61;outline-offset:2px}
.hotels-senior-application [hidden]{display:none!important}
.hotels-senior-application [role=tabpanel]{min-width:0;overflow-wrap:anywhere}
.hotels-senior-application button:focus-visible,.hotels-senior-application a:focus-visible,.hotels-senior-application [tabindex]:focus-visible{outline:3px solid #174e61;outline-offset:3px}
@media(max-width:600px){.hotels-senior-application__wizard{grid-template-columns:minmax(0,1fr)}}
.hotels-senior-application [data-dynamic-nav]{display:flex;flex-direction:column;gap:.5rem;min-width:0;align-self:start;position:sticky;top:1rem}
.hotels-senior-application [data-dynamic-nav] button{width:100%;text-align:left}
.hotels-senior-application [aria-current=step]{outline:2px solid #174e61;outline-offset:1px}
.hotels-senior-application .hs-intake-card{display:flex;align-items:center;gap:.75rem;min-height:44px;margin:0;padding:.65rem;background:#FFFFFF;border:1px solid #E5E7EB;border-radius:.3rem;font-weight:500}
.hotels-senior-application .hs-intake-card:has(input:checked){outline:2px solid #174e61;outline-offset:1px}
.hotels-senior-application .hs-intake-card span{margin:0;min-width:0;font-size:1rem}
.hotels-senior-application .hs-intake-stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:.35rem}
.hotels-senior-application .hs-intake-stepper button{width:44px;padding:.4rem}
.hotels-senior-application .hs-intake-record{padding:1rem;margin:.75rem 0;background:#FFFFFF;border:1px solid #E5E7EB;border-radius:.4rem;min-width:0}
.hotels-senior-application .hs-intake-record button{margin:.25rem}
.hotels-senior-application [data-dynamic-actions]{position:sticky;bottom:0;background:#FFFFFF;border-top:1px solid #E5E7EB;padding:.75rem 0;margin-top:1rem;z-index:2}
.hotels-senior-application details{background:#FFFFFF;border:1px solid #E5E7EB;padding:.75rem;margin:.5rem 0;min-width:0}
.hotels-senior-application summary{min-height:44px;cursor:pointer;line-height:1.5;font-weight:600}
.hotels-senior-application [data-dynamic-errors]{background:#FFFFFF;border:2px solid #9f1239;padding:1rem;margin:.75rem 0}
.hotels-senior-application input,.hotels-senior-application textarea,.hotels-senior-application [data-dynamic-panel]{min-width:0;max-width:100%}
.hotels-senior-application button:disabled,.hotels-senior-application .hs-intake-card:has(input:disabled){opacity:.7;cursor:not-allowed}
@container(max-width:520px){.hotels-senior-application [data-dynamic-nav]{position:static}.hotels-senior-application [data-dynamic-nav] button:not([aria-current=step]){display:none}.hotels-senior-application [data-dynamic-actions] button{flex:1 1 40%}}
.hotels-senior-application .hs-intake-help { margin: 0 0 .5rem; color: #435365; font-size: 15px; line-height: 1.55; font-weight: 400; }
.hotels-senior-application .hs-date-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; min-width: 0; }
.hotels-senior-application .hs-date-control button { width: auto; background: #153B57; color: #FFFFFF; border-color: #153B57; }
.hotels-senior-application .hs-date-control input::-webkit-calendar-picker-indicator { display: none; }
.hotels-senior-application .hs-intake-calendar { box-sizing: border-box; width: min(780px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); margin: auto; padding: 20px; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #111827; background: #FFFFFF; border: 1px solid #CBD5E1; border-radius: 16px; box-shadow: 0 18px 60px #0B1F3333; overflow: auto; }
.hotels-senior-application .hs-intake-calendar::backdrop { background: #0B1F3380; }
.hotels-senior-application .hs-date-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.hotels-senior-application .hs-date-heading h3 { margin: 0 0 12px; color: #153B57; font-size: 24px; line-height: 1.3; }
.hotels-senior-application .hs-date-heading button { flex-shrink: 0; }
.hotels-senior-application .hs-date-selection { padding: 12px; background: #EFF6FA; color: #153B57; border-radius: 8px; font-weight: 600; }
.hotels-senior-application .hs-date-navigation { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin: 12px 0; }
.hotels-senior-application .hs-date-navigation button { width: 100%; font-size: 14px; padding: 8px 4px; }
.hotels-senior-application .hs-date-months { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 16px 0; }
.hotels-senior-application .hs-date-month h4 { margin: 0 0 14px; text-align: center; color: #153B57; font-size: 20px; }
.hotels-senior-application .hs-date-weekdays, .hotels-senior-application .hs-date-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.hotels-senior-application .hs-date-weekdays span { font-size: 13px; text-align: center; font-weight: 600; margin: 0 0 8px; }
.hotels-senior-application .hs-date-week { margin: 2px 0; }
.hotels-senior-application .hs-date-week [role=gridcell] { min-height: 44px; }
.hotels-senior-application .hs-date-week button { width: 100%; height: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 8px; font-size: 16px; line-height: 1; text-align: center; }
.hotels-senior-application .hs-date-week button:hover:not(:disabled) { background: #E4EFF5; }
.hotels-senior-application .hs-date-week button[aria-current=date] { box-shadow: inset 0 0 0 1px #153B57; font-weight: 700; }
.hotels-senior-application .hs-date-week button.hs-date-in-range { background: #EFF6FA; }
.hotels-senior-application .hs-date-week button.hs-date-selected { background: #153B57; color: #FFFFFF; font-weight: 700; }
.hotels-senior-application .hs-date-footer { display: flex; justify-content: end; gap: 12px; margin-top: 16px; }
.hotels-senior-application .hs-intake-calendar button { width: auto; }
.hotels-senior-application .hs-date-navigation button, .hotels-senior-application .hs-date-week button { width: 100%; }
@media (max-width: 740px) { .hotels-senior-application .hs-intake-calendar { padding: 14px; } .hotels-senior-application .hs-date-months { grid-template-columns: minmax(0, 1fr); } .hotels-senior-application .hs-date-month-secondary { display: none; } }
@media (max-width: 380px) { .hotels-senior-application .hs-intake-calendar { padding: 8px; } .hotels-senior-application .hs-date-week, .hotels-senior-application .hs-date-weekdays { gap: 0; } .hotels-senior-application .hs-date-control { grid-template-columns: minmax(0, 1fr); } }
/* Rebuilt mount content uses explicit control anchoring, never browser-selected scroll anchors. */
.hotels-senior-application[data-dynamic-intake] { overflow-anchor: none; }
.hotels-senior-application .hs-intake-calendar { overflow-anchor: none; scrollbar-gutter: stable; }
.hotels-senior-application .hs-intake-service-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; min-width: 0; }
.hotels-senior-application .hs-intake-service-category { min-width: 0; margin: 0; padding: .75rem; }
.hotels-senior-application .hs-intake-service-category legend { font-size: 1rem; overflow-wrap: anywhere; }
.hotels-senior-application .hs-intake-service-category .hs-intake-card { margin: .35rem 0; }
@container(max-width:600px) { .hotels-senior-application .hs-intake-service-categories { grid-template-columns: minmax(0, 1fr); } }
