:root{--bg:#f7f4ee;--panel:#fff;--text:#17352f;--muted:#65736f;--accent:#ef6a42;--line:#dfe5e1;--soft:#e8f2ed;--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,select{font:inherit}.calendar-shell{max-width:1120px;margin:auto;padding:clamp(16px,3vw,34px)}.calendar-header,.calendar-toolbar,.calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.calendar-header{margin-bottom:18px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--accent);margin:0 0 5px}h1{font-size:clamp(1.55rem,4vw,2.5rem);margin:0}.calendar-actions,.control-group,.view-switch{display:flex;align-items:center;gap:8px}button,select{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:9px 13px;cursor:pointer}button:hover,button:focus-visible,select:focus-visible{border-color:var(--accent);outline:none}.calendar-actions button:first-child,.calendar-actions button:last-child{font-size:1.5rem;line-height:1;padding:6px 13px}.calendar-toolbar{padding:13px 0 18px}.calendar-toolbar label{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted)}.view-switch button.active{background:var(--text);color:#fff;border-color:var(--text)}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--line);gap:1px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.weekday,.day{background:var(--panel)}.weekday{padding:10px;text-align:center;font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--muted)}.day{min-height:120px;padding:9px}.day.outside{background:#f3f3f0;color:#99a29f}.day-number{display:block;font-size:.8rem;font-weight:800;margin-bottom:7px}.day.today .day-number{display:inline-grid;place-items:center;background:var(--accent);color:#fff;width:27px;height:27px;border-radius:50%}.event-pill{display:block;text-decoration:none;color:var(--text);background:var(--soft);border-left:3px solid var(--accent);border-radius:7px;padding:6px 7px;margin:5px 0;font-size:.76rem;line-height:1.2}.event-pill time{display:block;color:var(--muted);font-size:.68rem;margin-bottom:2px}.more{font-size:.7rem;color:var(--muted)}.list-view{display:grid;gap:12px}.list-event{display:grid;grid-template-columns:74px 1fr auto;gap:16px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:14px;text-decoration:none;color:inherit}.list-date{text-align:center;border-right:1px solid var(--line);padding-right:14px}.list-date strong{display:block;font-size:1.45rem}.list-date span,.event-meta{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.list-event h2{font-size:1rem;margin:3px 0}.event-details{font-size:.85rem;color:var(--muted);margin:2px 0}.event-category{background:var(--soft);border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:700}.empty{text-align:center;padding:50px 10px;color:var(--muted)}.calendar-footer{padding-top:18px;font-size:.8rem}.calendar-footer a{color:var(--text)}
body.embed .calendar-shell{padding:14px;max-width:none}body.embed .calendar-header h1{font-size:1.35rem}body.embed .eyebrow,body.embed .calendar-footer{display:none}body.embed .day{min-height:95px}body.compact .day{min-height:75px}.theme-dark{--bg:#10231f;--panel:#18332c;--text:#f7f4ee;--muted:#b3c3be;--line:#315047;--soft:#24463d;color-scheme:dark}.theme-dark .day.outside{background:#142a24;color:#789087}
@media(max-width:720px){.calendar-header,.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-toolbar{gap:12px}.control-group{width:100%;justify-content:space-between}.month-grid{grid-template-columns:1fr}.weekday{display:none}.day{min-height:auto}.day:empty{display:none}.day.outside{display:none}.day-number{font-size:.9rem}.list-event{grid-template-columns:55px 1fr}.event-category{display:none}.calendar-footer{align-items:flex-start;flex-direction:column}}
