:root{font-family:Arial,sans-serif;color:#173e47;background:#fffaf4}*{box-sizing:border-box}body{margin:0}main{max-width:1020px;margin:auto;padding:24px}header,.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}header img{object-fit:contain;height:auto}a{color:#176454}h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:12px}h2{font-size:1.5rem}.intro{font-size:1.2rem}.notice{background:#f8eadd;padding:18px;border-radius:12px;line-height:1.6}section{margin:24px 0}label{display:block;margin:16px 0;font-weight:bold}input{display:block;padding:12px;margin-top:8px;border:1px solid #a7b9b2;border-radius:8px;font:inherit;width:min(100%,380px);min-height:48px}button{border:0;border-radius:10px;background:#347965;color:white;padding:14px 20px;min-height:48px;font:inherit;cursor:pointer;margin:4px 6px 4px 0}button:disabled{opacity:.5;cursor:wait}.secondary{background:#e2eee7;color:#173e47}.slots{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.slots button{margin:0}#payment-form:not(:empty){height:1300px;margin-top:24px}iframe{width:100%;max-width:100%;border:0}#message{position:sticky;bottom:0;background:#edf5ef;border-radius:10px;padding:16px;white-space:pre-wrap;overflow-wrap:anywhere}#message:empty{display:none}#history p{padding:12px;border:1px solid #d8e4df;border-radius:8px}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #9950ab;outline-offset:3px}[hidden]{display:none!important}@media(max-width:540px){main{padding:16px}.slots button{flex:1 1 120px}#payment-form:not(:empty){height:1600px}header a{font-size:14px}}

.appointment-request{padding:22px;border:1px solid #d8e4df;border-radius:14px;background:#fff}.appointment-request h2{margin-top:0}.request-actions{display:flex;flex-wrap:wrap;gap:12px}.request-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 20px;border-radius:10px;background:#347965;color:#fff;text-decoration:none;font-weight:bold}.request-button:hover{background:#285f4e}.request-details{line-height:1.7;overflow-wrap:anywhere}@media(max-width:540px){.request-button{width:100%}.appointment-request{padding:18px}}

.home-care-rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.home-care-rate{padding:20px;border-radius:12px;background:#edf5ef;text-align:center}.home-care-rate h3{font-size:1.05rem;margin:0 0 12px}.home-care-rate p{margin:6px 0}.home-care-rate .home-care-price{font-size:2rem;font-weight:bold;color:#176454}@media(max-width:600px){.home-care-rates{grid-template-columns:1fr}}

.appointment-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:520px;margin:16px 0}.appointment-calendar>*{text-align:center;padding:12px 2px;border-radius:6px;background:#f0f5f2}.appointment-calendar .appointment-day{background:#347965;color:white;font-weight:bold;outline:2px solid #173e47}#appointment-detail select,#appointment-detail input{max-width:100%;box-sizing:border-box}#appointment-summary{font-weight:bold}#send-change{margin-top:16px}

.appointment-calendar .tentative-day{background:#fff0c2;color:#624300;outline:2px dashed #9b6c00}
