/* Calendar uses the same theme as the rest of the site. */
.site-calendar{position:fixed;inset:auto;margin:0;width:min(300px,calc(100vw - 16px));padding:12px;max-height:calc(100dvh - 16px);overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--dialog-border);border-radius:var(--radius-control);box-shadow:0 8px 28px var(--shadow)}.site-calendar::backdrop{background:transparent;backdrop-filter:none;pointer-events:none}
.calendar-form{margin:0}
.calendar-header,.calendar-month{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.calendar-header h2{font-size:14px;margin:0;letter-spacing:0}
.calendar-icon{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border:1px solid var(--line);border-radius:var(--radius-control);background:transparent;font-size:20px;line-height:1;padding:0}
.calendar-icon:hover:not(:disabled){border-color:var(--acid);color:var(--acid)}
.calendar-month{margin:8px 0 6px}
.calendar-month strong{font-size:13px;text-transform:capitalize}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.calendar-weekdays{font-size:12px;color:var(--muted);text-align:center;margin-bottom:var(--space-2)}
.calendar-days button{height:30px;min-width:0;padding:0;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;font-size:13px}
.calendar-days button:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-soft)}
.calendar-days button[aria-pressed=true]{background:var(--acid);color:var(--on-accent);font-weight:800}
.calendar-days button:disabled{opacity:.25}
.calendar-days button:focus-visible{outline-offset:0}
.calendar-time{display:grid;grid-template-columns:minmax(0,1fr) 64px auto 64px;align-items:end;gap:var(--space-2);padding-top:8px;margin-top:8px;border-top:1px solid var(--line)}
.calendar-time>span{align-self:center;font-size:14px}.calendar-time small{display:block;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.calendar-time label{font-size:11px;color:var(--muted);display:grid;gap:2px}
.calendar-time input{min-width:0;padding:8px 4px;text-align:center;height:34px;font-size:16px;color:var(--acid);background:var(--raised)}
.calendar-time b{align-self:end;line-height:34px}
.calendar-error:empty{display:none}.calendar-error{font-size:12px;margin:var(--space-2) 0}
.calendar-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:10px}
.calendar-actions .btn{flex:1;min-width:0;min-height:32px;padding:6px 10px;font-size:12px}
@media(pointer:coarse){.calendar-days button{height:36px}.calendar-icon{width:36px;height:36px}.calendar-actions .btn{min-height:40px}}
