.classpilot-calendar{position:relative;right:auto;bottom:auto;z-index:auto;width:100%;max-width:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--cp-font-xs:clamp(0.68rem, 0.62rem + 0.22vw, 0.76rem);--cp-font-sm:clamp(0.75rem, 0.69rem + 0.28vw, 0.86rem);--cp-font-md:clamp(0.84rem, 0.78rem + 0.32vw, 0.96rem);--cp-font-lg:clamp(0.95rem, 0.88rem + 0.36vw, 1.08rem);--cp-font-xl:clamp(1.05rem, 0.95rem + 0.5vw, 1.26rem);font-size:var(--cp-font-md);line-height:1.35}.classpilot-calendar__toggle{width:100%;border:0;border-radius:12px;padding:.75rem 1rem;background:#0f3d33;color:#fff;cursor:pointer}.classpilot-calendar__panel{margin-top:0;background:#fff;border:1px solid #d1d9d6;border-radius:12px;max-height:76vh;overflow:auto;box-shadow:0 12px 24px rgba(0,0,0,.12);padding:.75rem}.classpilot-calendar__embedded-title{margin:0 0 .7rem;text-align:center;color:#123a31;font-size:var(--cp-font-xl);line-height:1.25}.classpilot-calendar__month-nav{display:grid;grid-template-columns:84px auto 84px;justify-content:center;align-items:center;column-gap:.7rem;margin-bottom:.6rem}.classpilot-calendar__month-btn{width:84px;height:84px;border:1px solid #d9e4df;border-radius:16px;background:#e7f0ec;color:#103e34;font-weight:900;font-size:2.8rem;line-height:1;cursor:pointer}.classpilot-calendar__month-title{text-align:center;text-transform:capitalize;color:#123a31;font-size:var(--cp-font-lg);line-height:1.2;min-width:12ch;margin:0}.classpilot-calendar__color-filters{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}.classpilot-calendar__color-filter{display:inline-flex;align-items:center;gap:6px;border:1px solid #cfded8;border-radius:999px;background:#f4f8f6;color:#20463d;font-size:var(--cp-font-xs);line-height:1;padding:.28rem .5rem;cursor:pointer;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.classpilot-calendar__color-dot{width:10px;height:10px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.1)}.classpilot-calendar__color-filter.is-active{box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}.classpilot-calendar__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0, 1fr));gap:6px;margin-bottom:6px}.classpilot-calendar__weekday{font-size:var(--cp-font-sm);color:#4b665f;text-align:center;font-weight:600}.classpilot-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0, 1fr));gap:6px;width:100%}.classpilot-calendar__day{min-height:78px;border:1px solid #e4ece8;border-radius:10px;background:#fbfdfc;padding:6px}.classpilot-calendar__day--blank{background:#f5f8f6}.classpilot-calendar__date{font-size:var(--cp-font-sm);color:#5b7770;margin-bottom:4px}.classpilot-calendar__card{border:0;background:#0f3d33;color:#fff;border-radius:8px;text-align:left;padding:.35rem .45rem;cursor:pointer;display:block;width:100%;margin-bottom:4px}.classpilot-calendar__card-time{display:block;font-size:var(--cp-font-xs);opacity:.92}.classpilot-calendar__card-title{display:block;font-size:var(--cp-font-sm);font-weight:600;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.classpilot-calendar__more{display:inline-block;border:1px solid #cfe0d9;background:#f2f8f5;color:#214940;border-radius:7px;font-size:var(--cp-font-xs);padding:.14rem .4rem;cursor:pointer}.classpilot-calendar__modal{position:fixed;top:0;left:0;z-index:9999;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center}.classpilot-calendar__modal[hidden]{display:none !important}.classpilot-calendar__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}.classpilot-calendar__drawer{position:relative;z-index:1;width:min(680px, calc(100vw - 2rem));max-height:calc(100vh - 2rem);background:#fff;border:1px solid #dde4e1;border-radius:14px;box-shadow:0 20px 45px rgba(0,0,0,.24);padding:1rem 1rem 1.2rem;overflow:auto}.classpilot-calendar__close{border:0;background:#f0f4f2;border-radius:8px;padding:.5rem .75rem;cursor:pointer;font-size:var(--cp-font-md);line-height:1}.classpilot-calendar__drawer-title{margin:1rem 0 .5rem;color:#122c26;font-size:var(--cp-font-xl) !important;line-height:1.2 !important;font-weight:700}.classpilot-calendar__drawer-meta{font-size:var(--cp-font-lg);color:#3d5750}.classpilot-calendar__status{margin-top:.75rem;color:#8a3a18;font-weight:600;font-size:var(--cp-font-lg);line-height:1.3}.classpilot-calendar__drawer-content{margin-top:.75rem;line-height:1.5;color:#1d322c;min-height:1.2rem;font-size:var(--cp-font-md)}.classpilot-calendar__drawer-actions{margin-top:1rem}.classpilot-calendar__agenda-list{display:grid;gap:.45rem}.classpilot-calendar__agenda-item{display:grid;grid-template-columns:56px 1fr;gap:.55rem;align-items:center;border:1px solid #d4e1dc;background:#f8fcfa;border-radius:10px;padding:.5rem .6rem;text-align:left;cursor:pointer}.classpilot-calendar__agenda-time{font-size:var(--cp-font-sm);font-weight:700;color:#1e4a40}.classpilot-calendar__agenda-title{font-size:var(--cp-font-md);color:#153730;font-weight:600}.classpilot-calendar__register-title{margin:0 0 .5rem;font-weight:600;color:#173f35;font-size:var(--cp-font-xl) !important;line-height:1.2 !important}.classpilot-calendar__register-form{display:grid;gap:.45rem}.classpilot-calendar__register-form input{width:100%;border:1px solid #c8d7d1;border-radius:8px;padding:.52rem .62rem;font-size:var(--cp-font-md);line-height:1.25}.classpilot-calendar__register-hint{margin:.45rem 0 0;font-size:var(--cp-font-sm);color:#6d3a20}.classpilot-calendar__cta--disabled{opacity:.6;cursor:not-allowed}.classpilot-calendar__cta{display:inline-block;background:#0f3d33;color:#fff;text-decoration:none;padding:.6rem .9rem;border-radius:10px;font-weight:600;font-size:var(--cp-font-md);line-height:1.15}.classpilot-calendar__cta--secondary{margin-left:.5rem;background:#245f52}.classpilot-calendar__empty{margin:.6rem 0 0;padding:.5rem .25rem 0;color:#4d635d;font-size:var(--cp-font-sm)}.classpilot-checkout-overlay{position:fixed;inset:0;z-index:10010;display:flex;align-items:center;justify-content:center}.classpilot-checkout-overlay[hidden]{display:none !important}.classpilot-checkout-overlay__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}.classpilot-checkout-overlay__panel{position:relative;width:min(1200px, calc(100vw - 2rem));height:min(900px, calc(100vh - 2rem));background:#fff;border-radius:14px;box-shadow:0 20px 45px rgba(0,0,0,.3);border:1px solid #dce7e2;overflow:hidden;z-index:1;display:grid;grid-template-rows:auto 1fr}.classpilot-checkout-overlay__header{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;border-bottom:1px solid #e2ece8;background:#f6fbf9}.classpilot-checkout-overlay__title{color:#123a31;font-size:var(--cp-font-lg);line-height:1.2}.classpilot-checkout-overlay__close{border:0;border-radius:8px;padding:.45rem .72rem;background:#e6efeb;color:#173e35;cursor:pointer;font-size:var(--cp-font-sm);line-height:1.1}.classpilot-checkout-overlay__frame{width:100%;height:100%;border:0;background:#fff}@media (max-width:900px){.classpilot-calendar__panel{max-height:70vh;overflow:auto;padding:.6rem}.classpilot-calendar__panel--embedded{overflow-x:auto;-webkit-overflow-scrolling:touch}.classpilot-calendar__weekdays,.classpilot-calendar__grid{min-width:620px}.classpilot-calendar__weekdays{grid-template-columns:repeat(7,minmax(84px, 1fr))}.classpilot-calendar__grid{grid-template-columns:repeat(7,minmax(84px, 1fr));min-width:0;gap:4px}.classpilot-calendar__weekdays{gap:4px}.classpilot-calendar__day{min-height:64px;padding:4px}.classpilot-calendar__drawer{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);border-radius:12px;padding:.9rem}.classpilot-checkout-overlay__panel{width:calc(100vw - 0.5rem);height:calc(100vh - 0.5rem);border-radius:10px}}@media (max-width:640px){.classpilot-calendar{--cp-font-xs:clamp(0.74rem, 0.7rem + 0.2vw, 0.8rem);--cp-font-sm:clamp(0.82rem, 0.78rem + 0.22vw, 0.9rem);--cp-font-md:clamp(0.92rem, 0.86rem + 0.3vw, 1rem);--cp-font-lg:clamp(1rem, 0.94rem + 0.34vw, 1.08rem);--cp-font-xl:clamp(1.12rem, 1.04rem + 0.38vw, 1.22rem)}.classpilot-calendar__panel{padding:.55rem}.classpilot-calendar__weekdays,.classpilot-calendar__grid{min-width:600px}.classpilot-calendar__day{min-height:86px;padding:4px}.classpilot-calendar__card{padding:.3rem .34rem;border-radius:6px}.classpilot-calendar__card-title{white-space:normal;overflow:hidden;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2}.classpilot-calendar__drawer{width:calc(100vw - 0.6rem);max-height:calc(100vh - 0.6rem);border-radius:10px;padding:.7rem}.classpilot-calendar__month-nav{grid-template-columns:64px auto 64px;gap:.35rem}.classpilot-calendar__month-btn{width:64px;height:64px;border-radius:14px;font-size:2.2rem}.classpilot-calendar__month-title{min-width:10ch}.classpilot-calendar__weekdays{gap:3px}.classpilot-calendar__grid{gap:3px}.classpilot-calendar__date{margin-bottom:2px}.classpilot-calendar__card-time{display:block}.classpilot-calendar__more{padding:.1rem .3rem}.classpilot-checkout-overlay__header{padding:.48rem .56rem}.classpilot-checkout-overlay__panel{width:calc(100vw - 0.25rem);height:calc(100vh - 0.25rem);border-radius:8px}}.classpilot-my-classes{margin:1rem 0}.classpilot-my-classes__calendar-links{background:#f2f8f5;border:1px solid #dbe9e3;border-radius:10px;padding:.65rem .8rem;margin-bottom:.8rem}.classpilot-my-classes__calendar-links p{margin:.2rem 0}.classpilot-my-classes__credits{background:#ecf4f1;border:1px solid #d7e5e0;border-radius:12px;padding:.75rem .9rem;margin-bottom:.8rem}.classpilot-my-classes__credits-label{margin:0;font-size:.85rem;color:#40635a}.classpilot-my-classes__credits-value{margin:.2rem 0 0;font-size:1.4rem;font-weight:700;color:#173a31}.classpilot-my-classes__credit-history{margin-bottom:.9rem}.classpilot-my-classes__subscriptions{margin:.8rem 0 .9rem}.classpilot-my-classes__subscriptions h4{margin:0 0 .45rem;font-size:.95rem}.classpilot-my-classes__subscriptions-list{list-style:none;margin:0;padding:0}.classpilot-my-classes__subscription-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid #e5ece9}.classpilot-my-classes__subscription-meta{margin:.25rem 0 0;color:#446259;font-size:.88rem}.classpilot-my-classes__subscription-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.classpilot-my-classes__credit-history h4{margin:0 0 .4rem;font-size:.95rem}.classpilot-my-classes__credit-history ul{list-style:none;margin:0;padding:0}.classpilot-my-classes__credit-history li{display:flex;gap:.5rem;align-items:center;font-size:.86rem;color:#35574d;padding:.2rem 0}.classpilot-my-classes__credit-history em{margin-left:auto;color:#608178;font-style:normal}.classpilot-my-classes__list{list-style:none;margin:.75rem 0 0;padding:0}.classpilot-my-classes__item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.75rem;border-bottom:1px solid #e5ece9;padding:.6rem 0}.classpilot-my-classes__item a{display:inline-block;margin-bottom:.15rem}.classpilot-my-classes__ics{display:inline-block;margin-top:.35rem;font-size:.88rem}.classpilot-my-classes__cancel{border:0;background:#f7dfd4;color:#7b2f10;border-radius:8px;padding:.45rem .75rem;cursor:pointer}.classpilot-my-classes__reminder{border:1px solid #ceddd7;background:#eef5f2;color:#1f4c40;border-radius:8px;padding:.45rem .75rem;cursor:pointer}.classpilot-my-classes__reminder:disabled,.classpilot-my-classes__cancel:disabled{opacity:.7;cursor:wait}.classpilot-my-classes__message{margin-top:.75rem;color:#355a4f}.classpilot-my-classes__item span{color:#446259;font-size:.9rem}.classpilot-streaming-courses{background:#fff;border:1px solid #dbe7e2;border-radius:14px;padding:1rem;margin:.8rem 0}.classpilot-streaming-courses h3{margin:0 0 .7rem;font-size:1.05rem;color:#173a31}.classpilot-streaming-courses ul{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.classpilot-streaming-courses li{border:1px solid #e5ece9;border-radius:10px;padding:.7rem}.classpilot-streaming-courses strong{display:block;margin-bottom:.35rem}.classpilot-streaming-courses p{margin:0 0 .35rem;color:#35574d}.classpilot-streaming-courses small{display:block;margin-bottom:.45rem;color:#56766d}@media (max-width:720px){.classpilot-streaming-courses{padding:.85rem}.classpilot-my-classes__subscription-item{grid-template-columns:1fr;align-items:flex-start}.classpilot-my-classes__subscription-actions{justify-content:flex-start}}