.hoc{padding:25px}.hoc-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.hoc-eyebrow{color:#678078;letter-spacing:.1em;margin-bottom:8px;font-size:10px;font-weight:700;display:block}.hoc-heading p{max-width:520px;margin-top:8px;font-size:13px}.hoc .hoc-primary-actions{gap:8px;margin-top:0}.hoc-toolbar{border-top:1px solid #e1eae5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:26px;padding-top:24px;display:flex}.hoc-month-navigation,.hoc-filters{align-items:center;gap:10px;display:flex}.hoc-month-navigation h3{text-transform:capitalize;text-align:center;min-width:185px;font-size:22px}.hoc-month-navigation button{min-height:40px;padding:9px 12px}.hoc-filters label{color:#58716e;align-items:center;gap:9px;font-size:12px;display:flex}.hoc-filters select{width:190px;padding:9px 12px;font-size:12px}.hoc-sync{color:#678078;min-height:15px;margin:16px 0 14px;font-size:11px}.hoc-empty{align-items:center;gap:14px;margin:12px 0 20px;display:flex}.hoc-empty>div{flex:1}.hoc-empty p{font-size:12px}.hoc-grid{background:#dce7e3;border:1px solid #dce7e3;border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.hoc-weekday{color:#58716e;text-transform:uppercase;letter-spacing:.06em;text-align:center;background:#f4f7f6;padding:12px 4px;font-size:10px;font-weight:700}.hoc-day{background:#fff;min-width:0;min-height:150px;padding:7px;position:relative}.hoc-day.outside{background:#f7f9f8}.hoc-day.outside .hoc-day-select{opacity:.55}.hoc-day.selected{background:#f3faf7;box-shadow:inset 0 0 0 2px #126b64}.hoc .hoc-day-select{color:#183d3b;background:0 0;border-radius:5px;justify-content:space-between;align-items:center;gap:4px;width:100%;min-height:30px;padding:0;font-weight:400;display:flex}.hoc-number{border-radius:50%;flex-shrink:0;place-items:center;width:27px;height:27px;font-size:13px;font-weight:600;display:grid}.hoc-day.today .hoc-number{color:#fff;background:#126b64}.hoc-availability{color:#52786d;white-space:nowrap;font-size:9px}.hoc-availability.full{color:#9c6535}.hoc-day-events{flex-direction:column;gap:5px;margin-top:8px;display:flex}.hoc .hoc-event{text-align:left;color:#18594d;background:#e0f0e8;border-left:3px solid #126b64;border-radius:5px;width:100%;min-width:0;padding:6px 7px;font-size:10px;font-weight:400;line-height:1.35;display:block}.hoc-event strong,.hoc-event span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.hoc .hoc-event.pending{color:#8e631b;background:#fff1cf;border-color:#d7a43b}.hoc .hoc-event.blocked{color:#536071;background:#e7ebef;border-color:#93a0af}.hoc .hoc-more{color:#58716e;background:0 0;justify-content:flex-start;padding:1px 3px;font-size:10px;font-weight:500}.hoc-movement{color:#668278;justify-content:flex-end;gap:7px;min-height:15px;margin-top:6px;font-size:10px;display:flex}.hoc-legend{color:#58716e;flex-wrap:wrap;align-items:center;gap:18px;margin-top:18px;font-size:11px;display:flex}.hoc-legend>span:before{content:"";background:#b6dccc;border-radius:3px;width:9px;height:9px;margin-right:6px;display:inline-block}.hoc-legend>span.pending:before{background:#f3d58e}.hoc-legend>span.blocked:before{background:#bfc9d3}.hoc-legend small{margin-left:auto;font-size:11px}.hoc-detail{border-top:1px solid #e1eae5;margin-top:24px;padding-top:25px}.hoc-detail h3{text-transform:capitalize;font-size:20px}.hoc-detail p{margin-top:6px;font-size:12px}.hoc-summary{color:#58716e;font-size:12px}.hoc-room-list{flex-direction:column;display:flex}.hoc-room-row{border-top:1px solid #e7eeeb;grid-template-columns:1fr 1fr auto;align-items:center;gap:15px;padding:15px 0;display:grid}.hoc-room-row strong{font-size:13px}.hoc-room-row small{margin-top:5px;font-size:11px;display:block}.hoc-room-row .hotel-actions{gap:7px;margin:0}.hoc-room-row button{padding:9px 12px;font-size:11px}.hoc-pill{color:#18594d;background:#e0f0e8;border-radius:5px;padding:5px 8px;font-size:10px;display:inline-block}.hoc-pill.free{color:#396c50;background:#f0f7f1}.hoc-pill.pending{color:#8e631b;background:#fff1cf}.hoc-pill.blocked{color:#536071;background:#e7ebef}.hoc-departures{border-top:1px solid #e7eeeb;flex-wrap:wrap;align-items:center;gap:10px;padding-top:18px;font-size:12px;display:flex}.hoc-departures button{font-size:11px}.hoc button:disabled{cursor:not-allowed}@media (max-width:850px){.hoc .hoc-primary-actions{width:100%}.hoc-day{min-height:130px;padding:5px}.hoc-month-navigation h3{min-width:160px;font-size:19px}.hoc-availability{font-size:8px}.hoc .hoc-event{padding:5px;font-size:9px}.hoc-room-row{grid-template-columns:1fr 1fr}.hoc-room-row .hotel-actions{grid-column:1/-1}.hoc-legend small{width:100%;margin:0}}@media (max-width:540px){.hoc{padding:16px!important}.hoc-heading h2{font-size:23px}.hoc-heading p{font-size:12px}.hoc-primary-actions button{flex:1;padding:10px 11px;font-size:10px}.hoc-toolbar{gap:14px;margin-top:20px;padding-top:18px}.hoc-month-navigation{gap:5px;width:100%}.hoc-month-navigation h3{flex:1;min-width:0;font-size:18px}.hoc-month-navigation button{min-height:38px;padding:8px 9px}.hoc-filters{justify-content:space-between;width:100%}.hoc-filters label{flex:1}.hoc-filters select{width:100%;max-width:260px}.hoc-weekday{padding:10px 0;font-size:9px}.hoc-day{min-height:90px;padding:3px}.hoc .hoc-day-select{flex-direction:column;align-items:center;gap:1px}.hoc-number{width:23px;height:23px;font-size:11px}.hoc-availability{letter-spacing:-.2px;font-size:8px}.hoc-day-events{gap:3px;margin-top:5px}.hoc .hoc-event{border-left-width:2px;padding:3px 2px;font-size:8px}.hoc-event span{display:none}.hoc .hoc-more{padding:0;font-size:8px}.hoc-movement{justify-content:center;gap:3px;margin-top:4px;font-size:8px}.hoc-legend{gap:11px;font-size:10px}.hoc-detail h3{font-size:18px}.hoc-empty{flex-wrap:wrap;align-items:flex-start;padding:13px}.hoc-empty>div{min-width:190px}.hoc-empty button{width:100%}.hoc-summary{font-size:11px}}.hoc-period{color:#76502e;white-space:nowrap;text-overflow:ellipsis;background:#eee4d5;border-radius:4px;margin:3px 5px;padding:2px 5px;font-size:9px;display:block;overflow:hidden}
