.cal-personal{max-width:820px;margin:0 0 24px;padding:0;overflow:hidden;background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 5px 22px rgba(23,68,45,.06)}
.cal-personal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px}
.cal-personal h2{font-family:'Montserrat',sans-serif;font-size:18px;margin:0 0 5px;color:var(--dark)}
.cal-personal p{font-size:13px;color:var(--gray-600);margin:0;line-height:1.5}
.cal-personal-toggle{border:1px solid var(--gray-200);background:#f7faf8;color:var(--green-dark);border-radius:8px;padding:8px 11px;font:600 12px 'Montserrat',sans-serif;cursor:pointer;white-space:nowrap}
.cal-personal-toggle:hover{border-color:var(--green-main);background:var(--green-pale)}
.cal-personal-toggle span{display:inline-block;margin-left:3px;font-size:15px}
.cal-personal-body{padding:0 18px 18px;border-top:1px solid var(--gray-100)}
.cal-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin:16px 0 14px}
.cal-filter{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--dark);cursor:pointer}
.cal-filter input{margin-top:2px;accent-color:var(--green-main)}
.cal-filter-count{margin:-2px 0 13px;color:var(--gray-600);font-size:12px}
.cal-actions{display:flex;flex-wrap:wrap;gap:8px}
.cal-action{border:1px solid var(--green-main);background:#fff;color:var(--green-dark);border-radius:8px;padding:9px 13px;font:600 12px 'Montserrat',sans-serif;cursor:pointer}
.cal-action.primary{background:var(--green-main);color:#fff}
.cal-action:hover{filter:brightness(.97)}
.cal-event.is-hidden,.cal-month-block.is-hidden{display:none!important}
.cal-personal-note{margin-top:10px!important;font-size:11px!important}
.cal-personal.is-collapsed .cal-personal-head{padding-bottom:14px}
@media(max-width:720px){.cal-filter-grid{grid-template-columns:1fr 1fr}.cal-personal-head{padding:15px}.cal-personal-body{padding:0 15px 15px}}
@media(max-width:440px){.cal-filter-grid{grid-template-columns:1fr}.cal-action{width:100%}.cal-personal-head{align-items:center}.cal-personal-head p{display:none}.cal-personal-toggle{padding:7px 9px}}
@media print{.cal-personal,.cal-legend,header,footer,.mobile-nav{display:none!important}.cal-event.is-hidden,.cal-month-block.is-hidden{display:none!important}.cal-wrap{max-width:none}.cal-month-block{break-inside:avoid}}
