.admin-back-to-top{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:5;min-width:64px;min-height:46px;padding:10px 14px;border:1px solid #bad0c1;border-radius:24px;background:#22633e;color:#fff;box-shadow:0 3px 12px #18382326}
.admin-back-to-top[hidden]{display:none}
.calendar-controls{display:grid;gap:14px;margin-bottom:16px;padding:14px;background:#f8fbf9;border:1px solid #dce6df;border-radius:12px}
.calendar-controls[hidden]{display:none}
.calendar-navigation,.calendar-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.calendar-navigation label,.calendar-filters label{display:grid;gap:5px;margin:0;min-width:0}
.calendar-navigation button,.calendar-controls input,.calendar-controls select{min-height:44px}
.calendar-navigation strong{min-width:7em;text-align:center}
.calendar-filters label{flex:1;max-width:280px}
.availability-calendar{grid-template-columns:minmax(0,1fr)}
.calendar-grid{width:100%}
.calendar-cell{min-height:140px;overflow-wrap:anywhere}
.calendar-cell:disabled{opacity:1;background:#f4f6f4;color:#68756c;cursor:default}
.calendar-room-line{display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.calendar-room-line.available{color:#237043}.calendar-room-line.closed{color:#96372e}
.calendar-note-hint,.calendar-no-match,.calendar-unknown{font-size:12px;line-height:1.4}
.calendar-note-hint{color:#785315}
.day-details{scroll-margin-top:85px;border:1px solid #dce6df;border-radius:12px;padding:16px;min-width:0}
.day-detail-rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}
.calendar-saved-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;padding:8px;background:#fff8e9;border-radius:8px}
@media(max-width:640px){
  .admin-back-to-top{right:12px;bottom:calc(84px + env(safe-area-inset-bottom));min-height:44px;padding:9px 12px}
  .calendar-controls{padding:10px}.calendar-navigation{display:grid;grid-template-columns:1fr auto 1fr;gap:6px}
  .calendar-navigation button{padding:9px 6px;font-size:13px}.calendar-navigation label{grid-column:2/4}
  .calendar-navigation input{width:100%;min-width:0}.calendar-filters label{max-width:none}
  .calendar-controls select{width:100%;min-width:0}.calendar-cell{min-height:92px;padding:6px 2px}
  .calendar-room-line{display:none}.calendar-date{font-size:13px}.calendar-count{font-size:10px;white-space:normal}
  .calendar-note-hint,.calendar-no-match,.calendar-unknown{font-size:10px}.day-details{padding:10px;scroll-margin-top:12px}
}

/* Missing cells require an explicit business choice, never a third toggle state. */
.room-status-control.needs-selection{flex-wrap:wrap;gap:4px}
.availability-setup-prompt{flex-basis:100%;font-size:12px;color:#607268;overflow-wrap:anywhere}
.room-status-control.needs-selection button{flex:1;min-width:0;min-height:44px;border:1px solid #aebeb4;border-radius:6px}
