.calendar-panel { margin-bottom:17px; }
.calendar-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }
.calendar-toolbar h2 { margin:0; font-size:16px; text-transform:capitalize; }
.calendar-toolbar p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.calendar-nav { display:flex; align-items:center; gap:7px; }
.calendar-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:10px; background:#171512; }
.calendar-weekdays,.calendar-grid { min-width:760px; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays { background:#211d18; border-bottom:1px solid var(--line); }
.calendar-weekdays span { padding:10px 8px; text-align:center; color:#a89571; font-size:10px; font-weight:700; letter-spacing:1px; }
.calendar-day { min-height:112px; padding:8px; border:0; border-right:1px solid #302c27; border-bottom:1px solid #302c27; background:#1c1916; color:var(--ink); text-align:left; cursor:pointer; font:inherit; transition:.15s; overflow:hidden; }
.calendar-day:nth-child(7n) { border-right:0; }
.calendar-day:hover { background:#29231a; box-shadow:inset 0 0 0 1px #796138; }
.calendar-day.outside { cursor:default; background:#141210; }
.calendar-day.selected { background:linear-gradient(145deg,#332713,#231e17); box-shadow:inset 0 0 0 2px var(--gold); }
.calendar-day.today .calendar-number { background:var(--gold); color:#201606; }
.calendar-number { display:inline-flex; align-items:center; justify-content:center; width:25px; height:25px; border-radius:50%; color:#ded4c3; font-weight:700; font-size:12px; }
.calendar-events { display:grid; gap:4px; margin-top:5px; }
.calendar-event { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:4px 5px; border-left:3px solid #b29354; border-radius:4px; background:#30291d; color:#ded1bb; font-size:10px; }
.calendar-event b { color:var(--gold2); margin-right:3px; }
.calendar-event.confirmed { border-color:#62b68a; background:#183326; color:#bde2c9; }
.calendar-event.done { border-color:#78a985; background:#1d3023; color:#b6d2bd; }
.calendar-event.cancelled { border-color:#9d5b55; background:#371d1b; color:#c99c98; opacity:.72; text-decoration:line-through; }
.calendar-more { color:var(--muted); font-size:10px; padding-left:5px; }
.calendar-legend { display:flex; flex-wrap:wrap; gap:14px; margin-top:11px; color:var(--muted); font-size:10px; }
.calendar-legend span { display:flex; align-items:center; gap:5px; }
.calendar-legend i { width:8px; height:8px; border-radius:50%; background:#b29354; }
.calendar-legend i.confirmed { background:#62b68a; }
.calendar-legend i.done { background:#78a985; }
.calendar-legend i.cancelled { background:#9d5b55; }
.selected-day-panel .section-title { gap:12px; }
.delete-appointment { border:1px solid #6e3c38; background:#351b19; }
@media(max-width:760px){.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-nav{width:100%}.calendar-nav .btn:nth-child(2){flex:1}.calendar-day{min-height:96px}.selected-day-panel .section-title{align-items:flex-start;flex-direction:column}.selected-day-panel .section-title .btn{width:100%}}
