/* Shared public and signed-in rehearsal calendar navigation. */
.room-back{margin:0 0 20px}
.room-back .room-nav-button,.room-week-links a.room-nav-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid #cbd6ce;border-radius:12px;background:#edf2ec;color:#234b3e;font:600 15px/1.4 system-ui,sans-serif;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}
.room-back .room-nav-button:hover,.room-week-links a.room-nav-button:hover{background:#dfe9df;border-color:#8ba997}
.room-week-links a.room-nav-today{background:#234b3e;color:#fff;border-color:#234b3e}
.room-week-links a.room-nav-today:hover{background:#183a2e;color:#fff}
.room-nav-button:focus-visible,.room-date-filter input:focus-visible{outline:3px solid #397ac6;outline-offset:3px}
.room-week-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;max-width:480px}
.room-date-filter label{display:block;font-weight:600;color:#234b3e}
.room-date-filter input[type=date]{box-sizing:border-box;min-width:0;width:100%;min-height:48px;border:1px solid #bdc9c0;border-radius:12px;background:#fff;color:#203d32;font:600 16px/1.4 system-ui,sans-serif;padding:12px}
@media(max-width:480px){.room-week-links{gap:8px;max-width:none}.room-week-links a.room-nav-button{padding:10px 8px;font-size:14px}}

/* Room pages only: wide day targets without widening the page. */
@media(max-width:760px){
 .room-calendar-page .sw-mobile .sw-day-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 3px 10px;scroll-padding-inline:3px;-webkit-overflow-scrolling:touch}
 .room-calendar-page .sw-mobile .sw-day-tab{flex:0 0 64px;min-width:64px;width:64px}
}
#room-book-dialog{padding:0;width:min(640px,calc(100% - 32px));max-height:85vh;max-height:85dvh;overflow:auto;scroll-padding-top:90px}
#room-book-dialog .room-dialog-head{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:#fff;border-bottom:1px solid #d6dfd9}
#room-book-dialog .room-dialog-head h2{margin:0;font-size:22px}
#room-book-dialog .room-dialog-head button{flex-shrink:0;min-height:44px}
#room-book-dialog>form{padding:0 20px 20px}
#room-book-dialog>p{margin:16px 20px}
#room-book-dialog .room-dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
#room-book-dialog .room-dialog-actions button{flex:1;min-height:44px}
#room-book-dialog .room-dialog-actions [data-room-close]{background:#edf2ec;color:#234b3e;border:1px solid #cbd6ce}
