.calendar-toolbar{background:#fff;border:1px solid #ddd6ca;border-bottom:0;border-radius:14px 14px 0 0;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:14px 16px;display:grid}.calendar-toolbar>div{gap:6px;display:flex}.calendar-toolbar button{min-height:38px;font:inherit;color:#302d29;background:#fff;border:1px solid #d8d0c4;border-radius:8px;padding:7px 11px;font-weight:800}.calendar-toolbar button svg{width:18px;height:18px}.calendar-toolbar strong{justify-content:center;align-items:center;gap:7px;font-size:16px;display:flex}.calendar-toolbar strong svg{color:#e86420;width:19px}.calendar-legend{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.calendar-legend span{color:#625d56;align-items:center;gap:5px;font-size:12px;font-weight:800;display:flex}.calendar-legend i{border-radius:3px;width:9px;height:9px}.tone-available{--tone:#277a52;--tone-bg:#dff3e9}.tone-requested{--tone:#9b6813;--tone-bg:#fff0bf}.tone-confirmed{--tone:#2867a7;--tone-bg:#e1efff}.tone-resident{--tone:#7553a6;--tone-bg:#eee4fb}.tone-maintenance{--tone:#af3e30;--tone-bg:#fae0dc}.tone-blocked{--tone:#5f625f;--tone-bg:#e8e9e7}.tone-event{--tone:#d95817;--tone-bg:#fff0e7}.calendar-legend i{background:var(--tone)}.week-scroll{background:#fff;border:1px solid #ddd6ca;border-radius:0 0 14px 14px;overflow-x:auto}.week-grid{grid-template-columns:66px repeat(7,minmax(130px,1fr));min-width:980px;display:grid}.time-head,.day-head{z-index:5;background:#fbf8f3;border-bottom:1px solid #ded8cf;height:62px;position:sticky;top:0}.day-head{border-left:1px solid #e4ded5;justify-content:center;align-items:center;gap:7px;display:flex}.day-head span{text-transform:uppercase;color:#726c64;font-size:12px;font-weight:850}.day-head b{border-radius:50%;place-items:center;width:30px;height:30px;font-size:17px;display:grid}.day-head.today b{color:#fff;background:#ef6b21}.time-axis{height:var(--calendar-height);background:#fbf8f3;position:relative}.time-axis span{color:#777168;font-size:11px;position:absolute;right:9px;transform:translateY(-8px)}.day-column{height:var(--calendar-height);border-left:1px solid #e4ded5;position:relative;overflow:hidden}.day-column>i{pointer-events:none;border-top:1px solid #eee9e2;position:absolute;left:0;right:0}.slot-picker{cursor:crosshair;background:0 0;border:0;position:absolute;inset:0}.slot-picker:hover{background:linear-gradient(#f7fbf8aa,#f7fbf8aa)}.calendar-block{z-index:2;border-left:4px solid var(--tone);background:var(--tone-bg);color:#25231f;pointer-events:none;border-radius:6px;padding:6px 7px;position:absolute;left:4px;right:4px;overflow:hidden;box-shadow:0 1px 2px #00000012}.calendar-block b,.calendar-block span,.calendar-block small{line-height:1.25;display:block}.calendar-block b{font-size:13px}.calendar-block span{color:#4e4a45;font-size:11px}.calendar-block small{color:var(--tone);margin-top:2px;font-size:11px;font-weight:750}.month-calendar{margin-bottom:24px}.month-grid{background:#fff;border:1px solid #ddd6ca;border-radius:0 0 14px 14px;grid-template-columns:repeat(7,minmax(112px,1fr));min-width:800px;display:grid;overflow:hidden}.month-calendar{overflow-x:auto}.month-weekday{text-align:center;text-transform:uppercase;color:#6d675f;background:#fbf8f3;border-bottom:1px solid #ddd6ca;padding:9px;font-size:12px}.month-day{border-bottom:1px solid #e7e1d8;border-right:1px solid #e7e1d8;min-height:112px;padding:8px}.month-day.outside{color:#aaa;background:#f5f2ed}.month-day>span{margin-bottom:5px;font-size:13px;font-weight:850;display:block}.month-day article{border-left:3px solid var(--tone);background:var(--tone-bg);color:#332b26;border-radius:5px;margin:4px 0;padding:5px 6px;font-size:11px;line-height:1.25}.month-day article small{color:#7c4a31;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.month-day>em{color:#706960;font-size:11px}@media (max-width:900px){.calendar-toolbar{grid-template-columns:1fr}.calendar-toolbar strong{grid-row:1;justify-content:flex-start}.calendar-legend{justify-content:flex-start}.calendar-toolbar>div{grid-row:2}.week-scroll{border-radius:0 0 14px 14px}}@media (max-width:600px){.calendar-toolbar{padding:12px}.calendar-legend{gap:7px}.month-grid{min-width:720px}}.calendar-block{text-align:left;font:inherit;pointer-events:auto;border-top:0;border-bottom:0;border-right:0}.calendar-block:disabled{opacity:1}.calendar-block.editable{cursor:pointer}:is(.calendar-block.editable:hover,.calendar-block.editable:focus-visible){outline:2px solid var(--tone);outline-offset:1px}.calendar-block em{color:var(--tone);font-size:10px;font-style:normal;font-weight:900;position:absolute;top:4px;right:5px}
