.calendar-controls{display:flex;flex-wrap:wrap;gap:.7rem;align-items:end}.calendar-month,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.calendar-day{min-width:0;border:1px solid #bbb;padding:.5rem}.calendar-day h3{font:600 .85rem sans-serif}.calendar-today{border:3px solid #304b43}.appointment-card{background:#e5ebdf;border-left:4px solid #304b43;padding:1rem;margin:.7rem 0;overflow-wrap:anywhere;min-width:0}.appointment-card button{max-width:100%;white-space:normal}.appointment-card p{margin:.4rem 0}.calendar-month .appointment-card,.calendar-week .appointment-card{padding:.4rem;font-size:.8rem}.calendar-month button,.calendar-week button{padding:.45rem;font-size:.8rem}.calendar-check{display:flex;gap:.6rem;align-items:center}.calendar-check input{width:auto}#appointment-form{max-width:48rem}#appointment-form button{margin:.5rem}.personal-appointment{border:2px solid #304b43}.inquiry-main:has(#calendar){max-width:90rem}#calendar-status:empty{display:none}@media(max-width:850px){.calendar-month,.calendar-week{grid-template-columns:1fr 1fr}.calendar-day{min-height:5rem}}@media(max-width:450px){.calendar-month,.calendar-week{grid-template-columns:1fr}.calendar-controls button{flex:1}.inquiry-main{overflow-wrap:anywhere}}
.inquiry-main:has(#calendar){width:min(90rem,calc(100% - 2rem))}.calendar-day{margin:0;min-height:7rem}.inquiry-main .calendar-check{display:flex;align-items:flex-start}.calendar-check input{flex:0 0 auto;margin-top:.25rem}@media(max-width:450px){.calendar-month .calendar-day{min-height:3rem}}
.inquiry-main .calendar-day{margin:0}
.personal-appointment .appointment-status{display:inline-block;padding:.4rem .75rem;border-radius:.3rem;font-weight:800;font-size:1rem;background:#24533b;color:#fff;margin:.3rem 0 1rem}.personal-appointment .status-cancelled{background:#982e2e}.personal-appointment .status-done{background:#304b43}.personal-appointment .status-missed,.personal-appointment .status-unknown{background:#493e35}.personal-appointment[data-status=cancelled]{border-color:#982e2e;background:#fff1ee}.personal-appointment .appointment-date{font-size:clamp(1.3rem,3vw,1.8rem);font-weight:800;line-height:1.35;margin:.4rem 0}.personal-appointment .appointment-time{font-size:1.5rem;font-weight:800;line-height:1.4}.personal-appointment .appointment-address{font-size:1.15rem;font-weight:800;margin:1.2rem 0 .7rem}.appointment-detail{white-space:pre-wrap;overflow-wrap:anywhere}.appointment-cancellation{border-top:1px solid #bbaaa2;margin-top:1.5rem;padding-top:1.25rem}.appointment-cancellation .appointment-danger{background:#982e2e;color:#fff;border:2px solid #982e2e;font-weight:700}.appointment-cancellation .appointment-danger:hover{background:#742020}.appointment-cancellation form{margin-top:1rem}.appointment-cancellation form[hidden]{display:none}.appointment-cancellation form>button{margin:.5rem .5rem .5rem 0}.personal-appointment h2{margin-top:0}.personal-appointment{padding:clamp(1rem,3vw,1.75rem)}
