/*ecb3f9ccd57552df5b004cf5d0724b80*/
.cal-dot.ref{background:repeating-linear-gradient(135deg,#F59E0B 0 2px,#fff 2px 4px);border:1px solid #F59E0B}.cal-ev.is-ref{background:repeating-linear-gradient(135deg,#FFFBEB 0 6px,#FDE7B0 6px 12px);color:#78350F;border:1px dashed #D97706;font-weight:700;text-decoration:line-through;text-decoration-color:rgba(120,53,15,.55)}.cal-ev.is-ref.ref-cancelled{background:repeating-linear-gradient(135deg,#FEF2F2 0 6px,#FBD5D5 6px 12px);color:#7F1D1D;border-color:#DC2626}.cal-modal-item.is-ref{background:repeating-linear-gradient(135deg,#FAFAFC 0 10px,#F3F4F8 10px 20px);border-inline-start:4px dashed #D97706}.cal-ref-badge{color:#92400E !important;background:#FEF3C7 !important;align-self:flex-start;padding:1px 9px;border-radius:100px;border:1px solid #F59E0B}@media (max-width: 420px){.cal-ev.is-ref{height:6px;border-width:1px}}.cal-hero{background:linear-gradient(135deg,#5C3A8F 0%,#E82458 100%);color:#fff;padding:46px 0;text-align:center}.cal-hero h1{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:900;margin:0 0 10px}.cal-hero p{color:rgba(255,255,255,.9);margin:0}.cal-wrap{padding:32px 0 60px}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px;background:#fff;border:1px solid #eef0f3;border-radius:14px;padding:12px 16px}.cal-nav{display:flex;align-items:center;gap:8px}.cal-nav-btn{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--light,#F4F5F7);border:1.5px solid #e5e7eb;color:#5C3A8F;text-decoration:none;font-size:1.25rem;font-weight:800;transition:all .15s;flex-shrink:0}.cal-nav-btn:hover{background:#5C3A8F;color:#fff;border-color:#5C3A8F}.cal-month{font-size:1.15rem;font-weight:900;color:#111827;min-width:150px;text-align:center}.cal-today-link{font-size:.8rem;font-weight:800;color:#5C3A8F;border:1.5px solid rgba(92,58,143,.35);border-radius:100px;padding:6px 14px;margin-inline-start:4px;white-space:nowrap}.cal-today-link:hover{background:#5C3A8F;color:#fff;border-color:#5C3A8F}.cal-toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cal-filter select{padding:9px 14px;border:1.5px solid #e5e7eb;border-radius:10px;font-family:inherit;font-size:.86rem;background:var(--light,#F4F5F7);color:#111827;cursor:pointer}.cal-today-btn{display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;font-family:inherit;padding:9px 16px;border-radius:100px;font-size:.85rem;font-weight:800;background:linear-gradient(135deg,#E82458,#5C3A8F);color:#fff;white-space:nowrap;transition:transform .15s}.cal-today-btn:hover{transform:translateY(-1px)}.cal-today-btn b{background:rgba(255,255,255,.25);border-radius:100px;padding:1px 8px;font-weight:900}.cal-today-panel{background:#fff;border:1.5px solid #5C3A8F;border-radius:14px;overflow:hidden;margin-bottom:20px;box-shadow:0 8px 24px rgba(92,58,143,.1)}.cal-today-head{background:linear-gradient(135deg,#5C3A8F,#E82458);color:#fff;padding:12px 18px;font-weight:800;font-size:.9rem;display:flex;justify-content:space-between;align-items:center;gap:10px}.cal-today-body{max-height:360px;overflow-y:auto}.cal-today-item{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid #f3f4f6;text-decoration:none;color:#111827;transition:all .15s;flex-wrap:wrap}.cal-today-item:last-child{border-bottom:none}.cal-today-item:hover{background:#f7f8fc}.cal-today-time{background:#f0ecf9;color:#5C3A8F;border-radius:8px;padding:5px 12px;font-size:.78rem;font-weight:800;flex-shrink:0;min-width:76px;text-align:center}.cal-today-title{font-weight:800;font-size:.92rem;flex:1;min-width:200px}.cal-today-title small{display:block;color:#5C3A8F;font-weight:600;font-size:.7rem;margin-top:2px}.cal-today-meta{display:flex;gap:12px;font-size:.76rem;color:#6b7280;flex-wrap:wrap}.cal-today-empty{padding:26px;text-align:center;color:#6b7280}.cal-panel-close{width:26px;height:26px;border-radius:50%;border:none;background:rgba(255,255,255,.2);color:#fff;cursor:pointer;font-size:.8rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s}.cal-panel-close:hover{background:rgba(255,255,255,.35)}.cal-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:.8rem;color:#6b7280;margin-bottom:14px;padding:0 2px}.cal-legend span{display:flex;align-items:center;gap:6px}.cal-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cal-dot.new{background:#F5A623}.cal-dot.current{background:#00B5A5}.cal-dot.upcoming{background:#1B5EBE}.cal-dot.past{background:#9ca3af}.cal-legend-total{margin-inline-start:auto;color:#5C3A8F;font-weight:800}.cal-grid-wrap{background:#fff;border:1px solid #eef0f3;border-radius:14px;padding:12px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-wd{text-align:center;font-size:.76rem;font-weight:800;color:#6b7280;padding:6px 0 10px;border-bottom:2px solid #f3f4f6;margin-bottom:4px}.cal-cell{min-height:112px;background:#fff;border:1px solid #eef0f3;border-radius:10px;padding:7px;display:flex;flex-direction:column;gap:3px;overflow:hidden;transition:box-shadow .15s,border-color .15s}.cal-cell.empty{background:transparent;border:none}.cal-cell.has-events{cursor:pointer}.cal-cell.has-events:hover,.cal-cell.has-events:focus-visible{border-color:#5C3A8F;box-shadow:0 4px 14px rgba(92,58,143,.14);outline:none}.cal-cell.today{border-color:#E82458;background:#fff8fa}.cal-daynum{font-size:.78rem;font-weight:800;color:#374151;margin-bottom:2px}.cal-cell.today .cal-daynum span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#E82458;color:#fff;font-weight:900}.cal-events{display:flex;flex-direction:column;gap:3px;flex:1;min-height:0;overflow:hidden}.cal-ev{font-size:.7rem;line-height:1.35;padding:3px 6px;border-radius:5px;color:#fff;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.cal-ev.current{background:#00B5A5}.cal-ev.upcoming{background:#1B5EBE}.cal-ev.past{background:#c2c6cf;color:#4b5563}.cal-ev.is-new{box-shadow:inset 0 0 0 2px #F5A623}.cal-ev.is-cont{opacity:.72}.cal-more{font-size:.68rem;color:#5C3A8F;font-weight:800;margin-top:auto}.cal-empty-month{text-align:center;padding:60px 20px;color:#6b7280;background:#fff;border:1px solid #eef0f3;border-radius:14px}.cal-empty-month span{display:block;font-size:2.4rem;margin-bottom:10px}.cal-modal-overlay{position:fixed;inset:0;background:rgba(17,17,32,.55);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.cal-modal-overlay[hidden]{display:none}.cal-modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.3)}.cal-modal-head{background:linear-gradient(135deg,#5C3A8F,#E82458);color:#fff;padding:14px 18px;font-weight:800;font-size:.95rem;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-shrink:0}.cal-modal-body{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.cal-modal-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:10px;text-decoration:none;color:#111827;background:var(--light,#F4F5F7);border-inline-start:4px solid #9ca3af;transition:background .15s}.cal-modal-item:hover{background:#eef0fb}.cal-modal-item.current{border-inline-start-color:#00B5A5}.cal-modal-item.upcoming{border-inline-start-color:#1B5EBE}.cal-modal-item.past{border-inline-start-color:#c2c6cf}.cal-modal-cat{font-size:.68rem;font-weight:800;color:#5C3A8F}.cal-modal-title{font-size:.92rem;font-weight:800;line-height:1.4}.cal-modal-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.74rem;color:#6b7280}@media(max-width:700px){.cal-toolbar{flex-direction:column;align-items:stretch}.cal-toolbar-right{justify-content:space-between}.cal-filter select{flex:1}.cal-grid-wrap{padding:8px}.cal-grid{gap:4px}.cal-cell{min-height:76px;padding:5px;border-radius:8px}.cal-ev{font-size:.6rem;padding:2px 4px}.cal-wd{font-size:.64rem;padding:4px 0 8px}.cal-legend{gap:10px 14px;font-size:.74rem}.cal-legend-total{width:100%;margin-inline-start:0;order:-1;margin-bottom:2px}.cal-modal{max-height:88vh}}@media(max-width:420px){.cal-cell{min-height:60px;padding:4px}.cal-ev{font-size:0;padding:0;height:6px;border-radius:3px;margin-top:1px}.cal-more{font-size:.6rem}.cal-daynum{font-size:.78rem}}
