/* Domain calendar only. Platform owns shell, navigation, headers and footers. */
.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.calendar-toolbar .field{margin:0!important;min-width:180px}.calendar-toolbar input[type=month],.calendar-toolbar select{width:auto!important}.calendar-toolbar strong{margin-left:auto}.calendar-legend{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.calendar-legend span{padding:5px 9px;border-radius:4px}.calendar-scroll{overflow:auto;max-height:65vh;border:1px solid #d7e0e1;border-radius:6px;background:white;scrollbar-gutter:stable}.room-grid{display:grid;min-width:1120px}.room-head,.date-head{background:#f8fafb;padding:14px 12px;border-bottom:1px solid #dce4e6;border-right:1px solid #dce4e6;min-height:72px}.room-head{position:sticky;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:6px}.room-head small{color:#6b7c83}.date-head{position:sticky;top:0;z-index:3;text-align:center;display:flex;flex-direction:column;gap:5px}.corner{top:0;z-index:4}.date-head.today{color:#087b80;border-top:3px solid #087b80}.night{border:0;border-bottom:1px solid #e3e9ea;border-right:1px solid #e3e9ea;background:#fff;color:#819399;font:inherit;min-height:72px;cursor:crosshair;touch-action:pan-x pan-y;user-select:none}.night:hover{box-shadow:inset 0 0 0 2px #167c80}.localclosed{background:#e0eeee!important;color:#17666a!important}.imported{background:#e8eafa!important;color:#4f55a1!important}.review{background:#fff0d7!important;color:#9c5a06!important}.night.selected{box-shadow:inset 0 0 0 3px #087b80;background:#c8e7e6!important}.night:focus-visible{outline:3px solid #243e86;outline-offset:-4px}.calendar-note{color:#647780;font-size:13px;padding:12px 0}@media(max-width:700px){.calendar-toolbar{gap:8px}.calendar-toolbar strong{width:100%;margin-left:0}.calendar-scroll{max-height:60vh}.calendar-legend{font-size:11px;gap:4px}}
/* Room grid and rules share one workspace; the shared Platform shell is untouched. */
.calendar-workbench{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.calendar-main{min-width:0}
.calendar-sidebar{min-width:0;border:1px solid #dce4e6;border-radius:6px;background:#fff;padding:18px;max-height:72vh;overflow-y:auto;overscroll-behavior:contain}
.calendar-selection-hint{color:#647780;font-size:13px;margin:0 0 12px}
.calendar-workbench .calendar-scroll{max-height:62vh}
.calendar-workbench .room-grid{min-width:0}
.night{position:relative;padding:10px 5px 14px;display:flex;align-items:flex-start;justify-content:center;gap:4px}
.night-price{color:#334c54;font-size:12px;white-space:nowrap;line-height:1.5}
.night-status{font-size:10px;position:absolute;right:4px;bottom:10px}
.night-rule{position:absolute;bottom:2px;left:3px;right:3px;height:5px;border-radius:2px}
.night[aria-selected=true]{outline:2px solid #087b80;outline-offset:-2px}
.night:disabled{cursor:wait}
.calendar-rule-legend{color:#6435c9}
.calendar-availability summary{font-weight:600;cursor:pointer}
.calendar-availability .form{margin:12px 0}
.calendar-availability p{font-size:12px}
@media(max-width:1000px){.calendar-workbench{grid-template-columns:minmax(0,1fr) 290px;gap:10px}.calendar-sidebar{padding:12px}}
@media(max-width:760px){.calendar-workbench{grid-template-columns:minmax(0,1fr)}.calendar-sidebar{max-height:none;overflow:visible}.calendar-workbench .calendar-scroll{max-height:48vh}}
