.sy-calendar{display:grid;gap:1.2rem;margin-top:1.5rem}
.sy-calendar h2,.sy-calendar p{margin-top:0}
.sy-calendar .cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem;align-items:stretch}
.sy-calendar .cal-day{border:1px solid var(--color-border);border-radius:8px;padding:.65rem;min-height:135px;min-width:0;background:rgba(13,31,41,.65)}
.sy-calendar .cal-day h3{font-size:.88rem;margin:0 0 .65rem;color:#dcebf2}
.sy-calendar .cal-muted{background:rgba(13,31,41,.3)}
.sy-calendar .cal-today{outline:2px solid #00cfea;outline-offset:-2px}
.sy-calendar .cal-event{display:grid;gap:.3rem;border-left:3px solid #d9aa43;border-radius:4px;padding:.55rem;margin-bottom:.6rem;background:#122b36;font-size:.78rem;overflow-wrap:anywhere}
.sy-calendar .cal-event a{color:#e1f4ff}
.sy-calendar .cal-confirmed{border-color:#31cfb5}
.sy-calendar .cal-block{border-color:#ae95ed}
.sy-calendar .cal-done{border-color:#83969d;color:#a4b7be}
.sy-calendar .cal-warning{color:#ffb48a}
.sy-calendar .cal-empty{font-size:.78rem;color:#a4b7be}
.sy-calendar .cal-free{display:grid;gap:.3rem;border-top:1px solid #27424d;padding-top:.6rem;font-size:.75rem;color:#b8e3d4}
.sy-calendar .cal-notes{white-space:pre-wrap;margin:0}
.sy-calendar summary{cursor:pointer;font-weight:600;padding:.5rem 0}
.sy-calendar .sy-panel{margin:0}
.sy-calendar .cal-legend{color:#b8cbd4;font-size:.9rem}
@media(max-width:1400px){.sy-calendar .cal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.sy-calendar .cal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.sy-calendar .cal-grid{grid-template-columns:1fr}.sy-calendar .cal-day{min-height:0}}
