.calendar-intro{max-width:760px;margin-bottom:28px}.calendar-intro h2{margin-bottom:12px}.calendar-intro p{margin:8px 0;color:#c9c4ba}
.calendar-inbox{margin:0 0 24px;padding:18px;border:1px solid var(--line);border-radius:6px}.calendar-inbox summary{color:var(--gold-light);cursor:pointer}.calendar-inbox li,.calendar-intro+aside li{margin:12px 0}.calendar-inbox button,.calendar-intro+aside button{text-align:left}
.calendar-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
.calendar-month{padding:22px;background:#10140f;border:1px solid var(--line);border-radius:8px;position:sticky;top:20px}
.calendar-monthbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.calendar-monthbar h3{margin:0;text-align:center}.calendar-monthbar button{min-width:44px;min-height:44px;font-size:28px;border:1px solid var(--line);border-radius:50%}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays span{text-align:center;font-size:12px;color:var(--muted);padding:0 0 12px}
.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:54px;padding:6px 2px;color:var(--ivory);font:500 15px Manrope,Arial,sans-serif;background:#181d16;border:1px solid transparent;border-radius:6px;cursor:pointer}.calendar-day:hover{border-color:var(--gold)}.calendar-day.is-today{border-color:var(--gold)}.calendar-day[aria-pressed=true]{background:var(--gold-light);color:#11150e}
.calendar-markers{display:flex;gap:3px;min-height:6px}.calendar-markers i,.calendar-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.calendar-markers .pending,.calendar-legend .pending{background:#dfb559}.calendar-markers .confirmed,.calendar-legend .confirmed{background:#73b69a}.calendar-markers .busy,.calendar-legend .busy{background:#a8afc3}.calendar-day[aria-pressed=true] i{outline:1px solid #333}
.calendar-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:#c9c4ba;margin:16px 0 0}.calendar-legend span{display:flex;align-items:center;gap:5px}
.member-app .calendar-day-panel{padding:0;min-width:0}.calendar-day-panel>h3{margin-bottom:20px}.calendar-card{padding:20px;border:1px solid var(--line);border-radius:6px;background:#10140f;margin-bottom:18px}.calendar-card h4{font-family:Manrope,Arial,sans-serif;font-size:18px;color:var(--gold-light);margin:0 0 10px}.calendar-card p{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.calendar-card form{margin-top:20px}.calendar-status{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.calendar-status.pending{color:#e6c470}.calendar-status.confirmed,.calendar-status.approved{color:#97d5b9}.calendar-status.declined,.calendar-status.cancelled{color:#e5a497}
.calendar-response{border-left:2px solid var(--gold);padding-left:12px;color:#d7d2c8}.calendar-request{padding:24px;border:1px solid var(--line);background:#11160f;border-radius:6px}.calendar-busy{font-size:14px;color:#c2c5c0;margin-bottom:22px}.calendar-busy ul{padding-left:20px}.calendar-busy p{font-weight:600}
.calendar-edit{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.calendar-edit summary{cursor:pointer;color:var(--gold-light);font-size:14px}.calendar-edit form{margin-top:18px}.member-app .calendar-month-requests{padding:28px 0 0}.calendar-month-requests ul{padding-left:20px}.calendar-month-requests li{margin:12px 0}.calendar-month-requests button{text-align:left}
@media(max-width:800px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-month{position:static;max-width:520px;width:100%;margin:auto}.calendar-day{min-height:48px}.calendar-request,.calendar-card{padding:18px}}
@media(max-width:380px){.calendar-month{padding:14px}.calendar-grid,.calendar-weekdays{gap:3px}.calendar-weekdays span{font-size:11px}.calendar-day{min-height:44px}}

.calendar-timeline{margin:0 0 24px;padding:14px;border:1px solid var(--line);border-radius:6px;background:#10140f}.calendar-timeline svg{display:block;width:100%;height:auto}.calendar-timeline text{font:12px Manrope,Arial,sans-serif}.timeline-label{fill:#cecbbf}.timeline-closed{fill:#20251f}.timeline-busy{fill:#404746}.timeline-hour{stroke:#666e61;stroke-width:.5}.timeline-booking{fill:#306750;stroke:#93c8ad;stroke-width:1}.timeline-booking-label{fill:#fff;pointer-events:none}.timeline-pending{stroke:#e2bc63;stroke-width:2;stroke-dasharray:5 4}.timeline-pending-dot{fill:#ffdc7d}.calendar-timeline a:focus rect{stroke:#fff;stroke-width:3}.work-hours-grid{display:grid;gap:10px}.calendar-month .calendar-edit h4{margin:24px 0 10px;color:var(--gold-light)}.calendar-day-panel [id^="calendar-"]{scroll-margin-top:30px}.calendar-timeline .member-hint{margin:0 0 16px}

.calendar-sync{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;margin-bottom:24px;background:linear-gradient(145deg,#202823,#111812);border:1px solid #a78b55;border-radius:18px;box-shadow:0 5px 16px #0003}
.calendar-sync h3{margin:0 0 8px}.calendar-sync p{margin:6px 0}.calendar-sync>div{min-width:0}.calendar-sync button{flex-shrink:0}
.calendar-external{border-color:#638da1;background:#101d23}.calendar-external .calendar-status{color:#afd5e7}
.timeline-external{fill:#28596d;stroke:#acd6e8;stroke-width:1}
@media(max-width:700px){.calendar-sync{align-items:stretch;flex-direction:column}.calendar-sync button{width:100%}}
