/* AHIGA manual calendar: familiar system type and a quiet white month sheet. */
#calendar-workspace{min-width:0;margin:0 0 34px;scroll-margin-top:24px}
#calendar-workspace button,#calendar-dialog button{touch-action:manipulation;-webkit-tap-highlight-color:#235ac522}
.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:8px 0 24px}.calendar-heading>div{min-width:0}.calendar-heading h2{font-size:28px;margin:0;text-wrap:balance}.calendar-help{color:var(--muted);font-size:13px;line-height:1.8;margin:6px 0 0;max-width:65ch;word-break:keep-all;overflow-wrap:anywhere}
.calendar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.calendar-actions button{flex-shrink:0}
.calendar-surface{min-width:0;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px 10px}.calendar-month-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.calendar-month-navigation h3{font-size:21px;letter-spacing:-.6px;margin:0 8px;min-width:145px;text-align:center;font-variant-numeric:tabular-nums}.calendar-month-navigation button{white-space:nowrap;padding:8px 12px}
.calendar-jump{display:flex;align-items:end;gap:8px;min-width:0}.calendar-jump label{margin:0;max-width:165px}.calendar-jump input{padding:7px 9px;font-size:13px}.calendar-jump button{padding:9px 12px}
.calendar-status{font-size:12px;line-height:1.7;color:var(--muted);margin:4px 22px 17px;min-height:20px}.calendar-limit{font-size:13px;line-height:1.8;background:#fff5e4;color:#775212;border:1px solid #efd9b1;border-radius:8px;padding:11px 14px;margin:0 22px 16px}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#f7f9fc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-weekdays span{font-size:12px;text-align:center;color:#536176;padding:10px 0}.calendar-weekdays span:first-child{color:#a44a45}.calendar-weekdays span:last-child{color:#235ac5}
.calendar-day{min-width:0;min-height:145px;padding:7px;border-bottom:1px solid #e5eaf2;border-right:1px solid #e5eaf2;background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-outside{background:#f9fafc}.calendar-outside .calendar-date{color:#818b99}.calendar-day[data-today=true]{background:#f3f7ff}
#calendar-workspace .calendar-date{display:block;background:transparent;color:#445168;box-shadow:none;border:0;padding:0;width:28px;height:28px;min-height:28px;border-radius:50%;font-size:12px;font-variant-numeric:tabular-nums;margin-bottom:6px}#calendar-workspace .calendar-date:hover{background:#e7eefb}#calendar-workspace .calendar-date[aria-current=date]{background:var(--accent);color:#fff}
#calendar-workspace .calendar-event,.calendar-day-list .calendar-event{display:flex;flex-direction:column;gap:2px;text-align:left;width:100%;min-width:0;margin:4px 0 0;background:#e8f0ff;color:#254f92;border:1px solid #d3e2fb;border-left:3px solid #6996dd;border-radius:5px;padding:5px 7px;box-shadow:none;line-height:1.45;overflow:hidden}#calendar-workspace .calendar-event:hover,.calendar-day-list .calendar-event:hover{background:#dce9ff;border-color:#afc8ee}.calendar-event strong,.calendar-event small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{font-size:12px;font-weight:600}.calendar-event small{font-size:10px;font-weight:400;color:#4f668a}
#calendar-workspace .calendar-more{display:block;background:transparent;box-shadow:none;color:#526a91;border:0;font-size:11px;line-height:1.5;max-width:100%;padding:4px 1px;text-align:left;overflow-wrap:anywhere}
.calendar-dialog{width:min(650px,94vw);max-height:90vh;padding:25px;overflow:auto;overscroll-behavior:contain}.calendar-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:22px}.calendar-dialog-heading h2{font-size:21px;letter-spacing:-.6px;margin:0;text-wrap:balance;overflow-wrap:anywhere}.calendar-dialog-heading button{flex-shrink:0}
.calendar-toolbar>button{flex-shrink:0}.calendar-digest{min-width:0}.calendar-digest>.calendar-help{margin:0 0 18px}.calendar-digest-days{margin-bottom:14px}.calendar-digest-days button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.calendar-digest-status{color:var(--muted);font-size:13px;line-height:1.8;overflow-wrap:anywhere;margin:0 0 14px;min-height:24px}.calendar-digest-message{margin:0;padding:18px 20px;max-width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-size:13px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;word-break:keep-all}.calendar-digest>button{margin-top:4px}
.calendar-alert-settings{display:grid;gap:16px;min-width:0}.calendar-alert-settings>.calendar-help{margin:0}.calendar-alert-choices{margin:0;padding:14px 16px;border:1px solid var(--line);border-radius:10px;min-width:0}.calendar-alert-choices legend{padding:0 5px;font-size:13px;color:#445168}.calendar-alert-choice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center}.calendar-alert-choice+.calendar-alert-choice{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.calendar-alert-choice label{margin:0;min-width:0}.calendar-alert-choice input[type=time]{min-width:0;width:100%;font-variant-numeric:tabular-nums}.calendar-alert-recipient,.calendar-alert-status{margin:0;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.calendar-alert-recipient{font-weight:600}.calendar-alert-status{color:var(--muted)}.calendar-alert-settings .calendar-check{min-height:32px}.calendar-alert-settings input:disabled{cursor:not-allowed}.calendar-alert-settings [hidden]{display:none}@media(max-width:550px){.calendar-alert-choice{grid-template-columns:minmax(0,1fr);gap:8px}.calendar-alert-choices{padding:12px}.calendar-alert-settings .calendar-actions button{flex:1}}
.calendar-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 18px}.calendar-form label{margin:0}.calendar-form input{min-width:0}.calendar-form>button{justify-self:start}.calendar-wide{grid-column:1/-1}.calendar-form .calendar-help{margin:0}.calendar-form textarea{font:inherit;font-size:13px;line-height:1.8;color:var(--ink);background:#fafbfc;border:1px solid #d7dbe3;border-radius:9px;width:100%;min-width:0;max-width:100%;padding:10px 12px;resize:vertical}.calendar-options{display:flex;flex-wrap:wrap;gap:10px 16px;min-width:0;border:1px solid var(--line);border-radius:10px;margin:0;padding:15px}.calendar-options legend{padding:0 5px;font-size:13px;color:#445168}.calendar-check{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px;min-height:28px;overflow-wrap:anywhere}.calendar-check input{width:17px;height:17px;flex-shrink:0;accent-color:var(--accent)}
.calendar-error{color:#a13f28;font-size:13px;line-height:1.8;overflow-wrap:anywhere;margin:0}.calendar-error:empty{display:none}.calendar-confirm{padding:16px;background:#f3f7fd;border:1px solid #cbd9f1;border-radius:10px;margin-top:18px}.calendar-confirm p{font-size:13px;line-height:1.8;margin:0 0 13px;overflow-wrap:anywhere}.calendar-confirm .calendar-error:not(:empty){margin:12px 0 0}.calendar-delete{justify-self:end!important}.calendar-day-list{display:grid;gap:10px}.calendar-day-list .calendar-event{margin:0;padding:12px}.calendar-day-list .calendar-event strong{font-size:14px;white-space:normal;overflow-wrap:anywhere}.calendar-day-list .calendar-event small{font-size:12px}.calendar-day-list>button:last-child{justify-self:start;margin-top:10px}
#calendar-workspace button:focus-visible,#calendar-dialog button:focus-visible,#calendar-dialog input:focus-visible,#calendar-dialog textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:1080px){.calendar-toolbar{align-items:flex-start;flex-direction:column;gap:14px}.calendar-heading{align-items:flex-start;flex-direction:column}.calendar-day{min-height:135px;padding:6px}.calendar-jump{align-self:flex-end}}
@media(max-width:550px){.calendar-heading{gap:14px;margin-bottom:18px}.calendar-heading h2{font-size:24px}.calendar-heading .calendar-help{font-size:12px}.calendar-actions{gap:6px}.calendar-actions button{flex-shrink:1;padding:9px 12px}.calendar-toolbar{padding:16px 12px 8px;gap:12px}.calendar-month-navigation{gap:5px;width:100%}.calendar-month-navigation h3{font-size:18px;min-width:0;flex:1;margin:0 2px}.calendar-month-navigation button{padding:8px 9px;font-size:11px}.calendar-month-navigation button:last-child{flex-basis:100%;margin-top:3px}.calendar-jump{align-self:stretch;justify-content:flex-end}.calendar-jump label{max-width:160px}.calendar-status{margin:5px 12px 13px;font-size:11px}.calendar-limit{margin:0 12px 13px;padding:10px;font-size:12px}.calendar-weekdays span{padding:8px 0;font-size:11px}.calendar-day{min-height:122px;padding:4px 2px}.calendar-surface{border-radius:10px}#calendar-workspace .calendar-date{width:25px;height:25px;min-height:25px;font-size:11px;margin-bottom:4px}#calendar-workspace .calendar-event{padding:4px 2px;border-left-width:2px;border-radius:4px;gap:2px}.calendar-event strong{font-size:10px}.calendar-event small{font-size:9px}#calendar-workspace .calendar-more{font-size:9px;padding:3px 0}.calendar-dialog{width:96vw;max-height:94vh;padding:19px}.calendar-dialog-heading{gap:10px}.calendar-dialog-heading h2{font-size:19px}.calendar-form{grid-template-columns:minmax(0,1fr);gap:14px}.calendar-wide{grid-column:1}.calendar-options{padding:12px;gap:8px 12px}.calendar-confirm{padding:13px}.calendar-delete{justify-self:start!important}}
@media(prefers-reduced-motion:reduce){#calendar-workspace *,#calendar-dialog *{scroll-behavior:auto;transition:none}}
