.kh-calendar{padding:24px;margin-bottom:24px}
.kh-calendar__heading{display:flex;gap:16px;align-items:center;justify-content:space-between}
.kh-calendar__heading h2{font-size:clamp(1.3rem,3vw,2rem);text-transform:capitalize;margin:6px 0 0}
.kh-week{display:grid;grid-template-columns:70px repeat(5,minmax(0,1fr)) 70px;gap:8px;margin-top:20px}
.kh-day,.kh-week-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:2px solid var(--line);padding:12px 4px;text-decoration:none;color:var(--ink);background:var(--white);min-height:70px;text-align:center}
.kh-day strong{font-size:1.2rem}.kh-day small,.kh-week-arrow small{font-size:.75rem}
.kh-day[aria-current]{border-color:var(--black);background:var(--orange);color:var(--black)}
.kh-day:hover,.kh-week-arrow:hover{border-color:var(--black)}
.kh-calendar__bottom{display:flex;gap:24px;align-items:end;margin-top:18px}.kh-calendar__bottom p{margin:0;color:var(--muted);max-width:620px}.kh-calendar__bottom input{max-width:240px}
.kh-order-context{padding:12px 16px;border-left:4px solid var(--orange);background:var(--paper);margin:0 0 20px;font-weight:700}
.kh-status{min-height:24px;margin:12px 0;color:var(--muted)}
.kh-busy main{pointer-events:none}.kh-busy .workspace-grid{opacity:.65}
#meal-form[aria-busy=true]{pointer-events:none}
button:disabled{cursor:not-allowed;opacity:.6}.remove-meal,.delete-button{min-height:44px;min-width:44px}
.meal-row{padding-top:48px}.kh-week a:focus-visible,.button:focus-visible{outline:3px solid var(--black);outline-offset:3px}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:140ms}
@media(max-width:600px){.kh-calendar{padding:16px}.kh-calendar__heading{align-items:flex-start}.kh-calendar__heading .button{font-size:.8rem;padding:8px}.kh-week{grid-template-columns:repeat(5,minmax(0,1fr))}.kh-week-arrow{grid-row:2;grid-column:1/3;min-height:44px;flex-direction:row}.kh-week-arrow:last-child{grid-column:4/6}.kh-day{grid-row:1;padding:10px 2px}.kh-day small{display:none}.kh-day[aria-current] span::after{content:' ✓'}.kh-day strong{font-size:1rem}.kh-calendar__bottom{display:block}.kh-calendar__bottom p{margin-top:12px;font-size:.9rem}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}.kh-busy .workspace-grid{transition:none}}
