#view-calendar{flex-direction:column;overflow:hidden}
.cal-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--c-border);flex-shrink:0;background:var(--c-surface);gap:12px;flex-wrap:wrap}
.cal-body{flex:1;overflow:auto;padding:0}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);min-width:700px}
.cal-day-header{padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--c-text3);background:var(--c-surface2);border-bottom:1px solid var(--c-border);border-right:1px solid var(--c-border);text-align:center}
.cal-day-header:last-child{border-right:none}
.cal-cell{min-height:110px;border-bottom:1px solid var(--c-border);border-right:1px solid var(--c-border);padding:6px;display:flex;flex-direction:column;gap:3px;background:var(--c-surface);transition:background var(--tr)}
.cal-cell:last-child{border-right:none}
.cal-cell:nth-child(7n){border-right:none}
.cal-cell.other-month{background:var(--c-surface2)}
.cal-cell.today{background:#FDF8F6}
.cal-day-num{font-size:12px;font-weight:600;color:var(--c-text3);margin-bottom:2px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}
.cal-day-num.today-num{background:var(--c-accent);color:white}
.cal-event{font-size:11px;font-weight:500;padding:2px 7px;border-radius:4px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity var(--tr)}
.cal-event:hover{opacity:0.8}
.cal-more{font-size:11px;color:var(--c-text3);padding:2px 4px;cursor:pointer}
.cal-more:hover{color:var(--c-text)}
