.module-page.public-calendar{width:auto;max-width:none;min-height:calc(100dvh - 40px);margin:16px 16px 16px 0;padding:32px}.calendar-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:24px 0;display:flex}.calendar-period,.calendar-date-actions,.calendar-picker{align-items:center;gap:10px;display:flex}.calendar-period h2{font-variant-numeric:tabular-nums;margin:0 8px;font-size:1.35rem;font-weight:650}.public-calendar>:not(dialog) button,.calendar-picker{border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-primary);font:inherit;border-radius:14px;min-height:44px}.calendar-controls button{cursor:pointer;justify-content:center;align-items:center;padding:10px 14px;display:inline-flex}.calendar-picker{gap:8px;padding:6px 12px}.calendar-picker input{color:inherit;font:inherit;background:0 0;border:0;width:150px;min-width:0;max-width:100%;min-height:32px}.calendar-controls button:hover{background:var(--brand-soft)}.calendar-week{background:var(--surface-page);border-radius:24px;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:8px;display:grid}.calendar-week button{cursor:pointer;background:0 0;border-color:#0000;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:94px;padding:10px 2px;display:flex}.calendar-week button span{color:var(--text-secondary);font-size:.85rem}.calendar-week strong{font-size:1.5rem;font-weight:650;line-height:1.25}.calendar-week small{color:var(--text-secondary);font-size:.8rem}.calendar-week button.is-today strong{color:var(--brand-primary)}.calendar-week button[aria-pressed=true]{background:var(--brand-primary);color:#fff;box-shadow:0 5px 16px #1261bb20}.calendar-week button[aria-pressed=true] span,.calendar-week button[aria-pressed=true] strong,.calendar-week button[aria-pressed=true] small{color:#fff}.calendar-agenda{margin-top:24px}.calendar-timed{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:16px;margin-bottom:16px;display:grid}.calendar-timed>time{color:var(--brand-primary);font-variant-numeric:tabular-nums;padding-top:20px;font-size:1.05rem;font-weight:600}.public-calendar .calendar-event{text-align:left;background:var(--feed-tint);cursor:pointer;border-color:#0000;border-radius:20px;flex-direction:column;gap:10px;width:100%;padding:20px 22px;display:flex;position:relative}.calendar-event-favorite{z-index:1;position:absolute;top:14px;right:14px}.calendar-event:hover{box-shadow:inset 0 0 0 1px var(--feed-accent)}.calendar-event-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:10px;font-size:.8rem;display:flex}.calendar-category{color:var(--feed-accent);font-weight:600}.calendar-event-facts{color:var(--text-secondary);flex-wrap:wrap;gap:8px 20px;font-size:.9rem;display:flex}.calendar-event-facts>span{overflow-wrap:anywhere;align-items:center;gap:5px;display:inline-flex}.calendar-untimed{margin:26px 0}.calendar-untimed h3{color:var(--text-secondary);margin:0 0 14px;font-size:.95rem;font-weight:500}.calendar-untimed .calendar-event{margin-bottom:14px}.calendar-empty,.calendar-loading{text-align:center;min-height:200px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.calendar-empty p{margin:0}.calendar-empty button,.calendar-more{cursor:pointer;padding:10px 20px}.calendar-more{margin:24px auto;display:block}.public-calendar .calendar-event-open{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:10px;width:100%;padding:0 44px 0 0;display:flex}.calendar-event-open>strong{overflow-wrap:anywhere;font-size:1.12rem;font-weight:650;line-height:1.55}.calendar-event-time,.calendar-event-place{color:var(--feed-accent)}.calendar-event-time{font-variant-numeric:tabular-nums;font-weight:650}.calendar-event-source{color:var(--text-secondary)}.calendar-map-link{color:var(--brand-primary);align-self:flex-start;align-items:center;gap:5px;min-height:32px;font-size:.9rem;display:inline-flex}@media (max-width:760px){.module-page.public-calendar{min-height:calc(100dvh - 20px);margin:12px;padding:22px 16px 90px}.calendar-controls{gap:12px;margin:20px 0}.calendar-period{justify-content:space-between;width:100%}.calendar-period h2{font-size:1.15rem}.calendar-date-actions{justify-content:flex-end;gap:8px;width:100%;min-width:0}.calendar-date-actions button{flex-shrink:0}.calendar-picker{min-width:0}.calendar-week{border-radius:20px;gap:0;padding:5px}.calendar-week button{border-radius:16px;min-height:88px;padding:8px 1px}.calendar-week strong{font-size:1.3rem}.calendar-week button span,.calendar-week small{font-size:.75rem}.calendar-timed{grid-template-columns:48px minmax(0,1fr);gap:8px}.calendar-timed>time{font-size:.9rem}.public-calendar .calendar-event{border-radius:18px;padding:16px}.calendar-event-open>strong{font-size:1rem}.calendar-event-facts{gap:7px;font-size:.85rem}}@media (max-width:360px){.calendar-date-actions{gap:6px}.calendar-picker>svg{display:none}.calendar-picker{padding-inline:10px}}
