.pta-events-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-bottom:20px}.pta-events-intro .modern-panel h2{margin-top:6px}.pta-calendar-shell,.pta-events-list-wrap{background:#fff;border:1px solid rgba(35,31,32,.1);border-radius:24px;padding:22px;box-shadow:0 18px 50px rgba(35,31,32,.06)}.pta-events-list-wrap{margin-top:18px}.pta-calendar-toolbar,.pta-events-list-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.pta-calendar-toolbar h2,.pta-events-list-head h2{margin:4px 0 0}.pta-calendar-nav{display:flex;gap:8px}.pta-calendar-nav button{border:1px solid rgba(35,31,32,.13);background:#fff;border-radius:999px;padding:10px 13px;font:inherit;font-weight:800;cursor:pointer}.pta-calendar-nav button:hover{background:#f6f6f6}.pta-calendar-key{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0 14px;color:#595454;font-size:.9rem;font-weight:700}.pta-calendar-key span{display:flex;align-items:center;gap:7px}.pta-calendar-key i{width:10px;height:10px;border-radius:50%;display:inline-block}.school-dot{background:#231f20}.district-dot{background:#777}.pta-dot{background:#ed2c24}.pta-calendar-weekdays,.pta-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.pta-calendar-weekdays{border-bottom:1px solid rgba(35,31,32,.12);padding-bottom:8px}.pta-calendar-weekdays span{text-align:center;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#736d6d}.pta-cal-day{min-height:112px;padding:9px;border-right:1px solid rgba(35,31,32,.08);border-bottom:1px solid rgba(35,31,32,.08);background:#fff}.pta-cal-day:nth-child(7n){border-right:0}.pta-cal-date{font-weight:800;font-size:.9rem;color:#231f20;margin-bottom:8px}.pta-cal-day.is-muted{background:#fafafa}.pta-cal-day.is-muted .pta-cal-date{color:#b7b1b1}.pta-cal-day.has-event{background:#fffdfd}.pta-cal-pill{display:block;padding:7px 8px;border-radius:9px;font-size:.72rem;line-height:1.2;font-weight:800;text-decoration:none;margin-top:5px}.pta-cal-pill.school{background:#f1f1f1;color:#231f20}.pta-cal-pill.district{background:#f5f5f5;color:#555;border:1px solid rgba(0,0,0,.08)}.pta-cal-pill.pta{background:#fff0ef;color:#b01f24;border:1px solid rgba(237,44,36,.14)}.pta-events-list{display:grid;gap:12px;margin-top:16px}.pta-event-row{display:grid;grid-template-columns:74px 1fr;gap:16px;padding:18px;border:1px solid rgba(35,31,32,.09);border-radius:18px;background:#fff}.pta-event-datebox{border-radius:16px;background:#231f20;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:74px}.pta-event-datebox strong{font-size:1.7rem;line-height:1}.pta-event-datebox span{font-size:.72rem;letter-spacing:.1em;font-weight:800;margin-top:6px}.pta-event-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.78rem;font-weight:800;color:#6d6666;text-transform:uppercase;letter-spacing:.04em}.pta-event-row h3{margin:6px 0 6px;font-size:1.18rem}.pta-event-row p{margin:0 0 9px;color:#5e5858}.pta-event-row a{font-weight:800;text-decoration:none;color:#b01f24}.pta-empty-month,.pta-calendar-loading{padding:24px;border:1px dashed rgba(35,31,32,.18);border-radius:18px;background:#fafafa}.pta-empty-month h3,.pta-calendar-loading h2{margin:0 0 5px}.pta-empty-month p{margin:0}.pta-calendar-source{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:14px 16px;border-radius:16px;background:#f8f8f8;font-size:.9rem}.pta-calendar-source p{margin:0}.pta-calendar-source a{font-weight:800;color:#231f20}@media(max-width:760px){.pta-events-intro{grid-template-columns:1fr}.pta-calendar-shell,.pta-events-list-wrap{padding:16px;border-radius:19px}.pta-calendar-toolbar,.pta-events-list-head{align-items:flex-start;flex-direction:column}.pta-calendar-weekdays span{font-size:.62rem}.pta-cal-day{min-height:78px;padding:5px}.pta-cal-date{font-size:.78rem}.pta-cal-pill{font-size:.61rem;padding:5px 4px;overflow:hidden}.pta-event-row{grid-template-columns:58px 1fr;padding:13px;gap:12px}.pta-event-datebox{min-height:58px}.pta-event-datebox strong{font-size:1.35rem}.pta-events-list-head .buttons{width:100%;display:grid;grid-template-columns:1fr}.pta-events-list-head .btn{width:100%;text-align:center}.pta-calendar-source{align-items:flex-start;flex-direction:column}}
/* Premium compact calendar: interaction first, never an endless event feed */
.pta-cal-day{appearance:none;border-top:0;border-left:0;text-align:left;cursor:pointer;font:inherit;min-width:0;transition:background .18s ease,box-shadow .18s ease}
.pta-cal-day:hover,.pta-cal-day:focus-visible{background:#fff2f1!important;outline:2px solid #a8242b;outline-offset:-2px}
.pta-cal-day.is-selected{background:#fff0ef!important;box-shadow:inset 0 0 0 2px #aa2028}
.pta-cal-hint{font-size:.86rem;color:#686060;margin:8px 0 15px}
.pta-events-list{max-height:550px;overflow:auto;overscroll-behavior:contain;padding-right:5px}
.pta-events-list-wrap{margin-top:18px}
.pta-calendar-warning{background:#fff8ed;border-left:3px solid #a8242b;padding:15px 18px;border-radius:8px;line-height:1.5}
@media(max-width:760px){.pta-cal-day{min-height:61px!important;padding:5px 3px!important}.pta-cal-pill{display:none!important}.pta-cal-day.has-event .pta-cal-date:after{content:'';display:block;width:6px;height:6px;background:#b01f24;border-radius:50%;margin:5px auto 0}.pta-cal-date{text-align:center}.pta-calendar-shell{padding:13px!important}.pta-calendar-weekdays span{font-size:.58rem!important}.pta-events-list{max-height:430px}.pta-event-row{border-radius:12px}}
