.composite-visit{max-width:850px;margin:2rem auto}.composite-visit h1{font-size:clamp(1.8rem,5vw,3rem)}.visit-selection,.visit-option{background:var(--s-card,#fff);border:1px solid var(--s-line,#d8e2dd);border-radius:18px;padding:1.2rem;margin-block:1rem}.visit-choice{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--s-line,#d8e2dd);padding:1rem 0}.visit-choice>label:first-child{display:flex;align-items:center;gap:.7rem}.visit-choice small{display:block}.composite-visit form>label{display:block;margin:1rem 0}.composite-visit input:not([type=checkbox]),.composite-visit select{width:100%;min-width:0;padding:.8rem;border:1px solid var(--s-line,#d8e2dd);border-radius:8px;background:var(--s-card,#fff);color:inherit;font:inherit}.visit-staff{max-width:220px}.composite-visit fieldset{min-width:0}.visit-option summary{cursor:pointer;font-weight:700}.composite-visit button{margin-top:1rem}.composite-visit li{margin-block:1rem}@media(max-width:600px){.visit-choice{display:block}.visit-staff{display:block;margin-top:.7rem;max-width:none}.composite-visit{margin:1rem 0}}
.visit-choice:not(:has([name=service]:checked)) .visit-staff,.visit-choice:not(:has([name=service]:checked)) .visit-moves{display:none}.visit-choice:has([name=service]:checked){flex-wrap:wrap}.visit-moves{display:flex;gap:.5rem;width:100%}.visit-moves button{padding:.4rem .7rem;font-size:.85em;margin:0}.visit-more{margin-block:1rem}.visit-more>summary{cursor:pointer;text-decoration:underline}
.visit-choice:not(:has([name=service]:checked)) .visit-pause{display:none}.visit-pause{flex-basis:100%;max-width:260px}.visit-pause[hidden],.visit-options[hidden]{display:none}.visit-wait{font-size:.9em;padding:.6rem .8rem;border-left:3px solid currentColor}.composite-visit input[type=time]{max-width:250px}
.visit-extra{margin-top:1rem}.visit-extra>summary{cursor:pointer;text-decoration:underline}.visit-extra[hidden]{display:none}
.visit-wishes{margin-block:1rem}.visit-wishes summary{cursor:pointer;text-decoration:underline}.visit-wishes textarea{width:100%;box-sizing:border-box;max-width:100%;font:inherit;color:inherit;background:var(--s-card,#fff);border:1px solid var(--s-line,#d8e2dd);border-radius:8px;padding:.8rem}.visit-request-notice{padding:.6rem 1rem;border-left:3px solid currentColor}
.visit-start-limits{margin-block:1rem}.visit-start-limits summary{cursor:pointer;text-decoration:underline}.visit-start-limits label{display:block;margin-block:.8rem}
.family-selection label{display:block;margin-block:.8rem}.family-selection fieldset{min-width:0;margin-block:1rem}.family-selection>details>summary{cursor:pointer;text-decoration:underline}
.family-selection fieldset:not(:has(select[name^=person_] option[value=new]:checked)) .family-new-name{display:none}.family-details{margin-top:.8rem}.family-details summary{cursor:pointer;text-decoration:underline}
.composite-visit{overflow-wrap:anywhere}
.visit-payment{background:var(--s-card,#fff);border:2px solid var(--s-accent,#173d31);border-radius:18px;padding:1.2rem;margin-block:1.5rem}.visit-payment h2{margin-top:0}.visit-payment .btn{max-width:100%;white-space:normal;text-align:center}
