/* Calendar-only layout; links, tabs, icons, dialogs, filters and loading remain shared. */
.on-calendar-results { min-width:0; }
.on-event-calendar { min-width:0; }
.on-event-calendar>.on-navigation { padding-top:0; }
.on-calendar-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:18px; border:1px solid var(--on-line,#f4e5d9); background:var(--on-soft,#f4f6f7); }
.on-calendar-header>h2 { margin:0; font:var(--on-heading-weight,700) var(--on-heading-current-size,var(--on-heading-size,clamp(23px,2.6vw,32px)))/1.2 var(--on-heading,system-ui,sans-serif); text-transform:var(--on-heading-transform,uppercase); overflow-wrap:anywhere; }
.on-calendar-controls { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.on-calendar-controls>.on-icon-button { flex:0 0 44px; text-decoration:none; }
.on-calendar-controls>.on-button { min-height:44px; }
.on-calendar-grid { border-collapse:collapse; table-layout:fixed; width:100%; margin:0; border:1px solid var(--on-line,#f4e5d9); font-family:var(--on-font,system-ui,sans-serif); }
.on-calendar-grid :is(th,td) { width:calc(100% / 7); border:1px solid var(--on-line,#f4e5d9); text-align:left; padding:0; vertical-align:top; }
.on-calendar-grid th { padding:12px; font-size:12px; background:var(--on-soft,#f4f6f7); }
.on-calendar-grid abbr { text-decoration:none; }
.on-calendar-grid td.is-muted { background:var(--on-soft,#f4f6f7); }
.on-calendar-day { display:flex; min-width:0; min-height:160px; flex-direction:column; gap:9px; padding:12px; color:inherit; text-decoration:none; }
.on-calendar-day:hover,.on-calendar-day:focus-visible { background:color-mix(in srgb,var(--on-accent,#fab900) 9%,var(--on-paper,#fff)); }
.on-calendar-day:focus-visible { outline:2px solid var(--on-ink,#002d5e); outline-offset:-2px; }
.on-calendar-day>time { display:grid; place-items:center; align-self:flex-start; width:28px; height:28px; font:700 19px/1 var(--on-heading,system-ui,sans-serif); }
.on-calendar-grid [aria-current=date] .on-calendar-day>time { background:var(--on-accent,#fab900); color:var(--on-on-accent,#002d5e); }
.on-calendar-count { display:block; color:var(--on-ink,#002d5e); font-size:12px; font-weight:600; }
.on-calendar-previews { display:grid; gap:5px; min-width:0; font-size:11px; line-height:1.4; }
.on-calendar-previews>span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.on-calendar-grid .is-muted .on-calendar-previews { opacity:.7; }
.on-calendar-agenda { display:grid; gap:14px; }
.on-calendar-agenda>h3 { margin:0; font:var(--on-heading-weight,700) var(--on-heading-current-size,var(--on-heading-size,24px))/1.3 var(--on-heading,system-ui,sans-serif); }
.on-event-calendar>.on-calendar-agenda { margin-top:18px; }
.on-calendar-entry { min-width:0; border:1px solid var(--on-line,#f4e5d9); padding:18px; background:var(--on-paper,#fff); }
.on-calendar-entry>h3 { margin:8px 0 12px; font:var(--on-heading-weight,700) var(--on-heading-current-size,var(--on-heading-size,23px))/1.3 var(--on-heading,system-ui,sans-serif); text-transform:var(--on-heading-transform,uppercase); overflow-wrap:anywhere; }
.on-calendar-entry>h3>a { text-decoration:none; color:inherit; }
.on-calendar-entry>h3>a:hover { text-decoration:underline; text-underline-offset:3px; }
.on-calendar-entry .on-icon { width:16px; height:16px; flex:0 0 16px; }
.on-calendar-entry>.on-icon-label { display:flex; align-items:flex-start; gap:8px; font-size:12px; line-height:1.6; margin:7px 0 0; }
.on-calendar-entry>.on-icon-label>.on-icon { margin-top:2px; }
.on-calendar-entry>.on-calendar-entry-kind { margin:0; font-weight:600; }
.on-calendar-entry>.on-calendar-repeat { margin:9px 0 0; font-size:11px; line-height:1.6; }
.on-calendar-entry>.on-event-status { margin:10px 0 0; }
.on-calendar-dialog { width:min(740px,calc(100% - 32px)); }
.on-calendar-note { margin:18px 0; padding:16px; background:var(--on-soft,#f4f6f7); border:1px solid var(--on-line,#f4e5d9); font-size:13px; line-height:1.7; }
.on-calendar-timezone { margin:14px 0 0; font-size:11px; }
@media(max-width:959px) {
 .on-calendar-day { min-height:122px; padding:9px; }
 .on-calendar-previews { font-size:10px; }
 .on-calendar-header { padding:14px; }
}
@media(max-width:599px) {
 .on-calendar-header { align-items:flex-start; flex-direction:column; gap:12px; padding:14px 12px; }
 .on-calendar-grid th { padding:10px 4px; text-align:center; font-size:11px; }
 .on-calendar-day { align-items:center; justify-content:flex-start; gap:8px; min-height:82px; padding:8px 2px; }
 .on-calendar-day>time { align-self:center; width:26px; height:26px; font-size:18px; }
 .on-calendar-count { min-width:22px; padding:2px 4px; text-align:center; border:1px solid var(--on-line,#f4e5d9); background:var(--on-paper,#fff); font-size:11px; line-height:1.4; }
 .on-calendar-count>span,.on-calendar-previews { display:none; }
 .on-calendar-entry { padding:14px; }
 .on-calendar-entry>h3 { font-size:var(--on-heading-current-size,var(--on-heading-size,22px)); }
 .on-calendar-dialog .on-dialog-header>h2 { font-size:var(--on-heading-current-size,var(--on-heading-size,23px)); }
}
