
.page-grid--calendar{grid-template-columns:280px minmax(0,1fr)}
.panel--calendar{padding:0;overflow:hidden}
.calendar-page{position:relative;z-index:2}
.toolbar{min-height:58px;background:#1d1f27;display:flex;justify-content:space-between;align-items:center;padding:10px 22px;border-bottom:1px solid rgba(255,255,255,.06);gap:16px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:10px}
.toolbar-select,.toolbar-view,.nav-arrow{background:transparent;color:#dfe5f1;border:1px solid rgba(255,255,255,0.12);border-radius:4px;font:inherit}
.toolbar-select{padding:10px 16px;font-size:14px;min-width:180px;appearance:none;background-image:linear-gradient(45deg, transparent 50%, #dfe5f1 50%), linear-gradient(135deg, #dfe5f1 50%, transparent 50%);background-position:calc(100% - 20px) calc(50% - 3px), calc(100% - 14px) calc(50% - 3px);background-size:6px 6px, 6px 6px;background-repeat:no-repeat;padding-right:34px}
.toolbar-view{padding:9px 14px;font-size:14px;font-weight:700;cursor:pointer}.toolbar-view.active,.toolbar-view:hover,.toolbar-select:hover,.nav-arrow:hover{background:rgba(255,255,255,0.06)}
.month-strip{height:72px;background:#404458;display:grid;grid-template-columns:80px 1fr 80px;align-items:center;border-bottom:1px solid rgba(255,255,255,0.08)}.month-strip h1{margin:0;text-align:center;font-size:26px;font-weight:600;letter-spacing:0.02em}.nav-arrow{border:none;font-size:30px;height:100%;cursor:pointer}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));transition:opacity .15s ease}.weekday{background:#2d3140;color:#c9cfdd;text-align:center;padding:14px 6px;font-size:12px;font-weight:700;border-right:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10);letter-spacing:0.08em}.weekday:last-child{border-right:none}
.day,.week-day{min-height:132px;background:rgba(48,52,63,0.96);border-right:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10);padding:14px 12px 10px;display:flex;flex-direction:column;gap:10px;position:relative}.day:hover,.week-day:hover{background:rgba(60,65,78,0.96)}.day.outside .date-label{color:#77809a}.day.outside .event{opacity:0.8}.day:nth-child(7n),.week-day:nth-child(7n){border-right:none}
.date-label{font-size:15px;color:#f2f5fb;text-align:center}.date-subtitle{font-size:11px;text-align:center;color:rgba(255,255,255,.62);margin-top:-6px}.today .date-label{display:inline-flex;justify-content:center;align-items:center;width:24px;height:24px;margin:0 auto;border-radius:999px;background:#3b6f9b}
.events{display:flex;flex-direction:column;gap:8px;margin-top:2px}.event{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.35;color:#d9deea;background:transparent;border:0;padding:0;font-family:inherit;cursor:pointer;text-align:left}.event:hover{color:#ffffff}.event-text{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto}.dot.yellow{background:#e8c64b}.dot.green{background:#4ccd72}.dot.red{background:#e45d4e}.dot.blue{background:#3b85ff}.dot.purple{background:#944cff}.day-more{color:#d9deea;font-size:11px;font-weight:700;margin-top:2px}.calendar-footer{text-align:center;color:#d9deea;font-size:13px;padding:18px 0 8px;opacity:0.9}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.56);z-index:90}.event-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 24px));background:rgba(20,22,29,0.98);border:1px solid rgba(255,255,255,0.08);box-shadow:0 30px 70px rgba(0,0,0,0.5);z-index:91;padding:28px}.hidden{display:none !important}.modal-close{position:absolute;right:10px;top:10px;width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.04);color:#fff;font-size:24px;cursor:pointer}.modal-kicker{margin:0 0 8px;color:#9db9df;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0.09em}.event-modal h2{margin:0 0 18px;font-size:28px}.modal-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.modal-meta div,.modal-notes{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);padding:12px 14px}.modal-meta span,.modal-notes span{display:block;font-size:11px;color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:6px}.modal-meta strong{font-size:15px}.modal-notes p{margin:0;color:#e7ebf5;line-height:1.55}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:1200px){.page-grid--calendar{grid-template-columns:1fr}}@media (max-width:1100px){.toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{width:100%;justify-content:space-between}.month-strip{grid-template-columns:56px 1fr 56px}.modal-meta{grid-template-columns:1fr}}@media (max-width:760px){.toolbar-select{min-width:0;width:100%}.toolbar-right{gap:8px}.toolbar-view{flex:1 1 auto}.day,.week-day{min-height:95px;padding:10px 8px}.event-modal{padding:22px 18px}.event-modal h2{font-size:22px}}
