.pgp-calendar-page{--cal-ink:#172033;--cal-muted:#667085;--cal-line:#e5e7eb;--cal-bg:#f7f7fc;max-width:1180px;margin:0 auto;padding:52px 20px 68px;color:var(--cal-ink);scroll-margin-top:120px}
.pgp-calendar-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;overflow:hidden;padding:38px 42px;border-radius:24px;background:linear-gradient(135deg,#24134f 0%,var(--pgp-calendar-accent,#6d28d9) 62%,#4f46e5 130%);color:#fff;box-shadow:0 24px 48px -34px rgba(49,22,105,.85)}
.pgp-calendar-hero:after{content:"";position:absolute;width:320px;height:320px;right:-120px;top:-170px;border-radius:50%;background:rgba(255,255,255,.1)}
.pgp-calendar-hero-copy,.pgp-calendar-countdown{position:relative;z-index:1}.pgp-calendar-eyebrow{display:block;margin-bottom:10px;font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:#ddd6fe}.pgp-calendar-hero h1{margin:0;font-family:Poppins,Inter,sans-serif;font-size:clamp(28px,4.2vw,46px);line-height:1.1;letter-spacing:-.04em}.pgp-calendar-hero h1 span{font-weight:500;color:#ede9fe}.pgp-calendar-hero-copy>p{max-width:650px;margin:13px 0 0;color:#ede9fe;line-height:1.65}.pgp-calendar-target-date{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:22px}.pgp-calendar-target-date strong{font-size:15px}.pgp-calendar-target-date span{font-size:13px;color:#ddd6fe}
.pgp-calendar-countdown{min-width:340px;padding:19px 20px 16px;border:1px solid rgba(255,255,255,.35);border-radius:18px;background:rgba(255,255,255,.96);color:#312e81;text-align:center;box-shadow:0 18px 35px -24px rgba(0,0,0,.65)}.pgp-countdown-values{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pgp-countdown-values span{display:grid;gap:3px}.pgp-countdown-values b{font-family:Poppins,Inter,sans-serif;font-size:27px;line-height:1}.pgp-countdown-values small{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#667085}.pgp-calendar-countdown p{margin:12px 0 0;padding-top:11px;border-top:1px solid #e9e7f5;font-size:11px;font-weight:800;line-height:1.4;letter-spacing:.04em;text-transform:uppercase;color:#5b21b6}
.pgp-calendar-program-switch{display:flex;align-items:center;gap:12px;margin:22px 0 0;padding:14px 16px;border:1px solid var(--cal-line);border-radius:14px;background:#fff}.pgp-calendar-program-switch label{font-size:13px;font-weight:800}.pgp-calendar-program-switch select{min-width:260px;margin-left:auto;padding:9px 36px 9px 12px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:var(--cal-ink)}
.pgp-calendar-toolbar{display:flex;gap:18px;align-items:center;margin:24px 0}.pgp-calendar-legend{display:flex;flex-wrap:wrap;gap:9px 18px;align-items:center}.pgp-calendar-legend span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#475467}.pgp-calendar-legend i{width:11px;height:11px;border-radius:4px}.pgp-calendar-legend .is-platform{background:#7c3aed}.pgp-calendar-legend .is-official{background:#b42318}.pgp-calendar-legend .is-notice{background:#0284c7}.pgp-calendar-legend .is-running{background:#16a34a}
.pgp-calendar-grid-view{width:100%}.pgp-calendar-month{margin:44px 0 0;border:1px solid var(--cal-line);border-radius:20px;background:#fff;box-shadow:0 18px 38px -32px rgba(30,41,59,.55);overflow:hidden}.pgp-calendar-month-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 22px;background:linear-gradient(90deg,#f5f3ff,#fff)}.pgp-calendar-month-head div{display:flex;align-items:baseline;gap:12px}.pgp-calendar-month-head strong{font-family:Poppins,Inter,sans-serif;font-size:21px;color:#4c1d95}.pgp-calendar-month-head span,.pgp-calendar-month-head small{color:#667085}.pgp-calendar-month-head span{font-size:13px;font-weight:700}.pgp-calendar-month-head small{font-size:12px}.pgp-calendar-weekdays,.pgp-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.pgp-calendar-weekdays{border-top:1px solid var(--cal-line);border-bottom:1px solid var(--cal-line);background:#fafafa}.pgp-calendar-weekdays span{text-align:center;padding:9px 4px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#667085}.pgp-calendar-day{min-height:136px;padding:8px;border-right:1px solid var(--cal-line);border-bottom:1px solid var(--cal-line);background:#fff}.pgp-calendar-day:nth-child(7n){border-right:0}.pgp-calendar-day.is-blank{background:#fafafa}.pgp-calendar-day.is-today{box-shadow:inset 0 0 0 2px #7c3aed;background:#faf8ff}.pgp-calendar-date{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:5px}.pgp-calendar-date span{display:grid;gap:0}.pgp-calendar-date .pgp-date-bs{align-items:start}.pgp-calendar-date .pgp-date-bs b{font-size:18px;color:#344054}.pgp-calendar-date .pgp-date-ad{text-align:right}.pgp-calendar-date .pgp-date-ad b{font-size:10px;color:#667085}.pgp-calendar-date small{font-size:8.5px;color:#98a2b3;text-transform:uppercase}
.pgp-calendar-event{display:block;margin-top:5px;padding:6px 7px;border:1px solid;border-radius:8px;text-decoration:none;line-height:1.25;transition:transform .15s ease,box-shadow .15s ease}.pgp-calendar-event:hover{transform:translateY(-1px);box-shadow:0 5px 12px -8px rgba(0,0,0,.4)}.pgp-calendar-event-badge{display:inline-block;margin-bottom:3px;font-size:8px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;opacity:.82}.pgp-calendar-event strong{display:block;overflow:hidden;font-size:10.5px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.pgp-calendar-event small{display:block;margin-top:2px;font-size:9px;opacity:.82}.pgp-calendar-event.is-practice{background:#f3e8ff;border-color:#d8b4fe;color:#6b21a8}.pgp-calendar-event.is-mock{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.pgp-calendar-event.is-daily{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.pgp-calendar-event.is-live{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.pgp-calendar-event.is-official{background:linear-gradient(135deg,#b42318,#7a271a);border-color:#7a271a;color:#fff}.pgp-calendar-event.is-deadline{background:#fff1f2;border-color:#fecdd3;color:#be123c}.pgp-calendar-event.is-notice{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.pgp-calendar-event.is-session{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.pgp-calendar-event.is-holiday{background:#f8fafc;border-color:#cbd5e1;color:#475569}.pgp-calendar-event.is-completed:not(.is-official){filter:saturate(.35);opacity:.7}.pgp-calendar-event.is-running{box-shadow:0 0 0 2px rgba(22,163,74,.22)}.pgp-calendar-more{display:block;margin-top:5px;font-size:9px;font-weight:800;color:#667085}

.pgp-calendar-agenda-view{display:none}.pgp-calendar-agenda-month{overflow:hidden;margin:22px 0 0;border:1px solid var(--cal-line);border-radius:17px;background:#fff;box-shadow:0 14px 30px -24px rgba(30,41,59,.48)}.pgp-calendar-agenda-head{display:flex;align-items:baseline;gap:12px;padding:14px 18px;color:#fff}.pgp-calendar-agenda-head div{display:flex;align-items:baseline;gap:9px;min-width:0}.pgp-calendar-agenda-head strong{font-family:Poppins,Inter,sans-serif;font-size:20px;line-height:1}.pgp-calendar-agenda-head span{font-size:12px;font-weight:700;opacity:.86}.pgp-calendar-agenda-head small{margin-left:auto;font-size:10.5px;font-weight:700;opacity:.82;white-space:nowrap}.pgp-calendar-agenda-month.month-tone-1 .pgp-calendar-agenda-head{background:linear-gradient(135deg,#5b21b6,#7c3aed)}.pgp-calendar-agenda-month.month-tone-2 .pgp-calendar-agenda-head{background:linear-gradient(135deg,#3730a3,#4f46e5)}.pgp-calendar-agenda-month.month-tone-3 .pgp-calendar-agenda-head{background:linear-gradient(135deg,#7f1d1d,#b42318)}.pgp-calendar-agenda-body{padding:5px 0}.pgp-calendar-agenda-item{display:flex;align-items:center;gap:13px;min-height:76px;padding:11px 16px;border-bottom:1px solid var(--cal-line);color:inherit;text-decoration:none;transition:background .15s ease}.pgp-calendar-agenda-item:last-child{border-bottom:0}.pgp-calendar-agenda-item:hover{background:#fafafa}.pgp-calendar-agenda-date{flex:0 0 52px;text-align:center;line-height:1.05}.pgp-calendar-agenda-date b{display:block;font-family:Poppins,Inter,sans-serif;font-size:23px;color:#344054}.pgp-calendar-agenda-date small{display:block;margin-top:3px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#667085}.pgp-calendar-agenda-copy{display:block;min-width:0;flex:1}.pgp-calendar-agenda-badge{display:inline-block;margin-bottom:3px;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#667085}.pgp-calendar-agenda-copy strong{display:block;font-size:13.5px;line-height:1.35;color:#172033}.pgp-calendar-agenda-copy strong i{font-style:normal}.pgp-calendar-agenda-copy>small{display:block;margin-top:3px;font-size:11px;line-height:1.45;color:#667085}.pgp-calendar-agenda-item.is-practice{background:linear-gradient(90deg,#f3e8ff 0,#fff 7%)}.pgp-calendar-agenda-item.is-practice .pgp-calendar-agenda-date b,.pgp-calendar-agenda-item.is-practice .pgp-calendar-agenda-badge{color:#6b21a8}.pgp-calendar-agenda-item.is-mock{background:linear-gradient(90deg,#ede9fe 0,#fff 7%)}.pgp-calendar-agenda-item.is-mock .pgp-calendar-agenda-date b,.pgp-calendar-agenda-item.is-mock .pgp-calendar-agenda-badge{color:#5b21b6}.pgp-calendar-agenda-item.is-daily{background:linear-gradient(90deg,#eff6ff 0,#fff 7%)}.pgp-calendar-agenda-item.is-daily .pgp-calendar-agenda-date b,.pgp-calendar-agenda-item.is-daily .pgp-calendar-agenda-badge{color:#1d4ed8}.pgp-calendar-agenda-item.is-live{background:linear-gradient(90deg,#fff7ed 0,#fff 7%)}.pgp-calendar-agenda-item.is-live .pgp-calendar-agenda-date b,.pgp-calendar-agenda-item.is-live .pgp-calendar-agenda-badge{color:#c2410c}.pgp-calendar-agenda-item.is-official{background:linear-gradient(90deg,#fef2f2 0,#fff 8%)}.pgp-calendar-agenda-item.is-official .pgp-calendar-agenda-date b,.pgp-calendar-agenda-item.is-official .pgp-calendar-agenda-badge,.pgp-calendar-agenda-item.is-official .pgp-calendar-agenda-copy strong{color:#991b1b}.pgp-calendar-agenda-item.is-deadline{background:linear-gradient(90deg,#fff1f2 0,#fff 7%)}.pgp-calendar-agenda-item.is-deadline .pgp-calendar-agenda-date b,.pgp-calendar-agenda-item.is-deadline .pgp-calendar-agenda-badge{color:#be123c}.pgp-calendar-agenda-item.is-notice{background:linear-gradient(90deg,#f0f9ff 0,#fff 7%)}.pgp-calendar-agenda-item.is-notice .pgp-calendar-agenda-date b,.pgp-calendar-agenda-item.is-notice .pgp-calendar-agenda-badge{color:#0369a1}.pgp-calendar-agenda-item.is-session{background:linear-gradient(90deg,#ecfdf5 0,#fff 7%)}.pgp-calendar-agenda-item.is-session .pgp-calendar-agenda-date b,.pgp-calendar-agenda-item.is-session .pgp-calendar-agenda-badge{color:#047857}.pgp-calendar-agenda-item.is-holiday{background:linear-gradient(90deg,#f8fafc 0,#fff 7%)}.pgp-calendar-agenda-item.is-holiday .pgp-calendar-agenda-date b,.pgp-calendar-agenda-item.is-holiday .pgp-calendar-agenda-badge{color:#475569}.pgp-calendar-agenda-item.is-completed{filter:saturate(.45);opacity:.72}.pgp-calendar-agenda-item.is-running{box-shadow:inset 4px 0 0 #16a34a}.pgp-calendar-agenda-empty{padding:24px 18px;text-align:center;font-size:12px;color:#98a2b3}

.pgp-calendar-setup-state{min-height:520px;display:grid;place-items:center}.pgp-calendar-empty{width:min(620px,100%);padding:44px;border:1px solid #e9e7f5;border-radius:22px;background:#fff;text-align:center;box-shadow:0 20px 45px -38px rgba(49,22,105,.6)}.pgp-calendar-empty-mark{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#6d28d9;color:#fff;font-weight:900}.pgp-calendar-empty h1{margin:18px 0 8px}.pgp-calendar-empty p{margin:0;color:#667085;line-height:1.65}
@media(max-width:1024px) and (min-width:861px){.pgp-calendar-day{min-height:118px;padding:7px}.pgp-calendar-event strong{font-size:10px}.pgp-calendar-event small{font-size:8.5px}}
@media(max-width:860px){.pgp-calendar-page{padding:36px 14px 52px}.pgp-calendar-hero{grid-template-columns:1fr;padding:28px 24px}.pgp-calendar-countdown{min-width:0;width:100%}.pgp-calendar-toolbar{margin-bottom:12px}.pgp-calendar-grid-view{display:none}.pgp-calendar-agenda-view{display:block}.pgp-calendar-legend{gap:8px 14px}.pgp-calendar-legend span{font-size:11px}}
@media(max-width:620px){.pgp-calendar-page{padding-top:32px}.pgp-calendar-hero{border-radius:18px}.pgp-calendar-hero h1{font-size:27px}.pgp-calendar-target-date{display:grid;gap:5px}.pgp-calendar-program-switch{display:grid}.pgp-calendar-program-switch select{min-width:0;width:100%;margin:0}.pgp-calendar-toolbar{display:block}.pgp-countdown-values b{font-size:25px}.pgp-calendar-agenda-head{padding:13px 14px}.pgp-calendar-agenda-head strong{font-size:19px}.pgp-calendar-agenda-head small{font-size:9.5px}.pgp-calendar-agenda-item{padding:10px 13px;gap:10px}.pgp-calendar-agenda-date{flex-basis:47px}.pgp-calendar-agenda-date b{font-size:20px}.pgp-calendar-agenda-copy strong{font-size:12.8px}.pgp-calendar-agenda-copy>small{font-size:10.5px}.pgp-calendar-empty{padding:32px 22px}}
.admin-bar .pgp-calendar-page{padding-top:60px}@media(max-width:782px){.admin-bar .pgp-calendar-page{padding-top:66px}}

/* Live Exam card countdown */
.pgp-calendar-event-main{display:block;min-width:0}
.pgp-calendar-event.has-live-countdown{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:6px;align-items:stretch;padding-right:5px}
.pgp-calendar-event.has-live-countdown .pgp-live-exam-countdown{align-self:stretch;justify-content:center;border-left:1px solid rgba(194,65,12,.24);border-radius:0 6px 6px 0}
.pgp-live-exam-countdown{display:flex;min-width:0;flex-direction:column;align-items:center;gap:2px;padding:4px 3px;text-align:center}
.pgp-live-countdown-label{display:flex;align-items:center;justify-content:center;gap:4px;font-size:6.5px;font-weight:900;line-height:1.15;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.pgp-live-countdown-value{display:block;max-width:100%;font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;font-size:8.5px;font-weight:800;line-height:1.15;white-space:nowrap}.pgp-calendar-event strong.pgp-live-countdown-value{display:block;overflow:visible;font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;font-size:8.5px;line-height:1.15;text-overflow:clip;white-space:nowrap}
.pgp-live-exam-countdown.is-live-now{border-color:#86efac;background:#ecfdf3;color:#166534}
.pgp-live-exam-countdown.is-live-now .pgp-live-countdown-label:before{content:"";width:6px;height:6px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.14);animation:pgp-live-pulse 1.45s ease-in-out infinite}
.pgp-live-exam-countdown.is-exam-ended{background:rgba(255,255,255,.58);color:#667085}
.pgp-live-exam-countdown.is-exam-ended .pgp-live-countdown-value,.pgp-calendar-event .pgp-live-exam-countdown.is-exam-ended strong.pgp-live-countdown-value{font-family:inherit;font-size:9px}
.pgp-calendar-agenda-copy .pgp-live-exam-countdown{width:max-content;max-width:100%;margin-top:8px;padding:6px 9px;flex-direction:row;justify-content:flex-start;gap:8px;border:1px solid #fed7aa;border-radius:9px;background:#fff7ed;color:#c2410c}
.pgp-calendar-agenda-copy .pgp-live-countdown-label{font-size:8px}
.pgp-calendar-agenda-copy .pgp-live-countdown-value,.pgp-calendar-agenda-copy strong.pgp-live-countdown-value{display:block;overflow:visible;font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.15;text-overflow:clip;white-space:nowrap}
.pgp-calendar-agenda-copy .pgp-live-exam-countdown.is-live-now{border-color:#86efac;background:#ecfdf3;color:#166534}
.pgp-calendar-agenda-copy .pgp-live-exam-countdown.is-exam-ended{border-color:#e2e8f0;background:#f8fafc;color:#64748b}
@keyframes pgp-live-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}
@media(prefers-reduced-motion:reduce){.pgp-live-exam-countdown.is-live-now .pgp-live-countdown-label:before{animation:none}}
@media(max-width:1024px) and (min-width:861px){.pgp-calendar-event.has-live-countdown{grid-template-columns:minmax(0,1fr) 52px;gap:4px}.pgp-live-countdown-label{font-size:6px}.pgp-live-countdown-value,.pgp-calendar-event strong.pgp-live-countdown-value{font-size:7.8px}}
@media(max-width:620px){.pgp-calendar-agenda-copy .pgp-live-exam-countdown{margin-top:7px;padding:5px 8px}.pgp-calendar-agenda-copy .pgp-live-countdown-label{font-size:7.5px}.pgp-calendar-agenda-copy .pgp-live-countdown-value,.pgp-calendar-agenda-copy strong.pgp-live-countdown-value{font-size:10.5px}}
