.calendar-page.svelte-ey237n{padding:120px 20px;background:#f8fafc;min-height:100vh}.text-center.svelte-ey237n{text-align:center;margin-bottom:40px}h1.svelte-ey237n{font-size:3rem;font-weight:900;text-transform:uppercase;margin:0;color:#1a1a1a}p.svelte-ey237n{color:#64748b;font-size:1.2rem}.filters-bar.svelte-ey237n{display:flex;justify-content:center;gap:20px;margin-bottom:30px;flex-wrap:wrap}.filter-group.svelte-ey237n{display:flex;flex-direction:column;gap:5px}.filter-group.svelte-ey237n label:where(.svelte-ey237n){font-size:.8rem;font-weight:700;text-transform:uppercase;color:#64748b}select.svelte-ey237n{padding:10px 15px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-weight:600;color:#1e293b;min-width:120px;cursor:pointer}.calendar-layout.svelte-ey237n{display:flex;align-items:center;justify-content:center;gap:20px;max-width:1200px;margin:0 auto}.nav-arrow.svelte-ey237n{background:#fff;border:1px solid #cbd5e1;color:#1e293b;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:0 4px 6px #0000000d}.desktop-arrow.svelte-ey237n{width:50px;height:50px}.nav-arrow.svelte-ey237n:hover{background:var(--color-primary, #22c55e);color:#fff;border-color:var(--color-primary, #22c55e);transform:scale(1.1)}.calendar-wrapper.svelte-ey237n{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000000d;overflow:hidden;border:1px solid #e2e8f0;flex-grow:1}.grid-header.svelte-ey237n{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#111827;color:#fff;padding:15px 0;gap:1px}.weekday.svelte-ey237n{display:flex;align-items:center;justify-content:center;font-weight:700;text-transform:uppercase;font-size:.9rem}.grid-body.svelte-ey237n{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#e2e8f0;gap:1px;border-bottom:1px solid #e2e8f0}.day.svelte-ey237n{background:#fff;min-height:120px;padding:8px;display:flex;flex-direction:column;gap:5px;transition:background .2s;position:relative}.day.empty.svelte-ey237n{background:#f9fafb;pointer-events:none}.day.svelte-ey237n:hover:not(.empty){background:#f8fafc}.day.today.svelte-ey237n{background:#f0fdf4}.day.today.svelte-ey237n .day-number:where(.svelte-ey237n){background:#16a34a;color:#fff;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.day.selected.svelte-ey237n{border:2px solid var(--color-primary-dark, #16a34a);background-color:#f0f9ff}.day-number.svelte-ey237n{font-weight:700;font-size:.9rem;color:#334155;align-self:flex-end}.mobile-dot.svelte-ey237n{display:none;width:6px;height:6px;background-color:var(--color-primary-dark, #16a34a);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.event-pill.svelte-ey237n{background:#1e293b;color:#fff;border:none;width:100%;text-align:left;padding:4px 8px;border-radius:4px;font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:5px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .1s,background .2s}.event-pill.svelte-ey237n:hover{background:var(--color-primary-dark, #16a34a);transform:scale(1.02)}.mobile-controls.svelte-ey237n{display:none;align-items:center;justify-content:space-between;margin-bottom:20px;padding:10px 20px;border-radius:12px;max-width:1000px;margin-left:auto;margin-right:auto}.mobile-arrow.svelte-ey237n{width:40px;height:40px}.current-month-label.svelte-ey237n{font-size:1.1rem;font-weight:800;color:#1a1a1a;text-transform:uppercase}.mobile-events-detail.svelte-ey237n{margin-top:20px;max-width:1000px;margin-left:auto;margin-right:auto;padding-bottom:40px}.mobile-events-detail.svelte-ey237n h3:where(.svelte-ey237n){font-size:1.2rem;margin-bottom:15px;color:#111827;border-bottom:2px solid #e5e7eb;padding-bottom:10px}.mobile-events-detail.empty.svelte-ey237n{text-align:center;color:#64748b;font-style:italic;background:#fff;padding:20px;border-radius:12px;border:1px solid #e2e8f0}.mobile-list.svelte-ey237n{display:flex;flex-direction:column;gap:10px}.mobile-card.svelte-ey237n{background:#fff;padding:15px;border-radius:12px;border:1px solid #e2e8f0;display:flex;align-items:center;gap:15px;box-shadow:0 4px 10px #00000008}.card-icon.svelte-ey237n{width:40px;display:flex;justify-content:center}.card-info.svelte-ey237n h4:where(.svelte-ey237n){margin:0 0 5px;font-size:1rem;color:#111827}.meta-row.svelte-ey237n{display:flex;align-items:center;gap:6px;color:#64748b;font-size:.85rem}.modal-backdrop.svelte-ey237n{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.modal-content.svelte-ey237n{background:#fff;width:100%;max-width:400px;border-radius:20px;padding:30px;position:relative;box-shadow:0 20px 50px #0003}.close-btn.svelte-ey237n{position:absolute;top:15px;right:15px;background:none;border:none;cursor:pointer;color:#94a3b8;transition:color .2s}.close-btn.svelte-ey237n:hover{color:#1e293b}.modal-header.svelte-ey237n{text-align:center;margin-bottom:25px}.icon-circle.svelte-ey237n{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 15px;color:#fff}.icon-circle.prom.svelte-ey237n{background:#3b82f6}.icon-circle.party.svelte-ey237n{background:#8b5cf6}.icon-circle.after.svelte-ey237n{background:#eab308}.modal-header.svelte-ey237n h2:where(.svelte-ey237n){margin:0;font-size:1.5rem;color:#1e293b}.modal-body.svelte-ey237n{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.info-row.svelte-ey237n{display:flex;align-items:center;gap:12px;font-size:1rem;color:#334155;padding:10px;background:#f8fafc;border-radius:10px}.text-gray.svelte-ey237n{color:#94a3b8}.btn-primary.svelte-ey237n{width:100%;background:#111827;color:#fff;border:none;padding:12px;border-radius:10px;font-weight:700;cursor:pointer;transition:background .2s}.btn-primary.svelte-ey237n:hover{background:#333}@media(max-width:800px){.desktop-only.svelte-ey237n,.desktop-arrow.svelte-ey237n{display:none}.calendar-layout.svelte-ey237n{display:block}.mobile-controls.svelte-ey237n{display:flex}.day.svelte-ey237n{min-height:50px;justify-content:center;align-items:center;cursor:pointer}.day-number.svelte-ey237n{align-self:center;font-size:1rem}.mobile-dot.svelte-ey237n{display:block;margin-top:15px}.day.empty.svelte-ey237n{min-height:50px}}
