.calendar-day{cursor:pointer}
.calendar-day.past{cursor:default;background:#f8f9f7}
.calendar-day.past:hover{border-color:#eef1eb;background:#f8f9f7}
.calendar-day.past .calendar-day-number{color:#a5afa2;cursor:default}
.calendar-day.past .calendar-mini-event{opacity:.8}
[data-theme="dark"] .calendar-day.past,[data-theme="dark"] .calendar-day.past:hover{background:#19211b;border-color:#303d32}
.calendar-day:focus-visible{outline:2px solid #698a61;outline-offset:2px}
.calendar-day .calendar-mini-event{cursor:pointer}
.calendar-mini-event.high-priority{background:#fae6df;color:#934c3b;border-left:3px solid #bb6b54;font-weight:700}
.agenda-item.high-priority{border-left:3px solid #bb6b54;padding-left:10px;background:#fff9f6}
.calendar-availability{border-top:1px solid #edf0e9;margin-top:20px;padding-top:20px}
.calendar-availability h3{font-family:'DM Sans',sans-serif;letter-spacing:-.03em;font-size:15px;margin:8px 0}
.calendar-availability h3{display:flex;align-items:center;gap:9px}
.calendar-service-icon{width:21px;height:21px;flex:none;object-fit:contain}
.calendar-availability p{font-size:10px;line-height:1.55;color:#718071}
.calendar-availability label{display:block;font-size:10px;font-weight:700;color:#677866;margin:15px 0 11px}
.calendar-availability input{display:block;width:100%;padding:9px;margin-top:6px;border:1px solid #dce4d9;border-radius:6px;background:#fff;color:#283028;font-size:11px}
.calendar-availability-actions{display:flex;gap:7px;flex-wrap:wrap}
.calendar-availability-actions button{font-size:10px}
[data-theme="dark"] .calendar-mini-event.high-priority{background:#51352e;color:#ffd2c6}
[data-theme="dark"] .agenda-item.high-priority{background:#2a2422}
[data-theme="dark"] .calendar-availability{border-color:#303d32}
[data-theme="dark"] .calendar-availability input{background:#131b15;border-color:#3a4b3c;color:#edf4e9}
.calendar-dialog #publishGoogleMeetBtn[hidden],.calendar-dialog #calendarMeetingLink[hidden],#connectGoogleCalendar[hidden]{display:none}
.calendar-meeting-link{padding:10px 12px;margin:9px 0;border-radius:6px;background:#eef5ed;color:#466947;font-size:11px}
.calendar-meeting-link a{color:inherit;font-weight:700}
.calendar-meeting-link small{display:block;margin-top:8px;line-height:1.5;color:#70836d}
[data-theme="dark"] .calendar-meeting-link{background:#263b2b;color:#cbe9c8}

.calendar-sync-callout small{display:block;margin-top:10px;font-size:11px;line-height:1.5;color:var(--muted,#7c8579)}

/* Keep the month and its upcoming list aligned; connection tools stay on the right. */
.calendar-primary{min-width:0;display:grid;gap:18px;align-content:start}
.calendar-upcoming{min-width:0;padding:23px;border:1px solid #e2e7df;border-radius:10px;background:#fff}
.calendar-upcoming h2{font-family:'DM Sans',sans-serif;font-size:18px;letter-spacing:-.04em;margin:8px 0 17px}
.calendar-upcoming .agenda-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 12px;border-radius:4px}
.calendar-upcoming .agenda-item strong{font-size:12px;min-width:0;overflow-wrap:anywhere}
.calendar-upcoming .agenda-item small{flex:none;text-align:right;margin:0;max-width:55%;line-height:1.5}
.calendar-side>.calendar-availability:first-child{border-top:0;margin-top:0;padding-top:0}
.calendar-sync-callout{margin-top:14px;padding:14px;border:1px solid #dce7d5;border-radius:8px;background:#f3f7ef}
.calendar-sync-callout h4{font-size:12px;font-weight:700;margin:0 0 7px;color:#304c32}
.calendar-sync-callout p{margin:0 0 12px}
.calendar-sync-callout button{font-size:11px}
.calendar-sync-callout [hidden]{display:none!important}
[data-theme="dark"] .calendar-upcoming{background:#1b251e;border-color:#303d32}
[data-theme="dark"] .calendar-upcoming h2{color:#e7eee5}
[data-theme="dark"] .calendar-sync-callout{background:#243327;border-color:#3a4b3c}
[data-theme="dark"] .calendar-sync-callout h4{color:#d5e6cd}
@media(max-width:650px){.calendar-upcoming{padding:18px}.calendar-upcoming .agenda-item{align-items:flex-start;flex-direction:column;gap:5px}.calendar-upcoming .agenda-item small{text-align:left;max-width:100%}}

#calendarEndHint{display:block;margin-top:6px;font-size:11px;font-weight:400;color:var(--muted,#718071)}#calendarEndHint[hidden]{display:none}
.calendar-sync-summary{width:min(600px,calc(100vw - 32px));max-height:85dvh;overflow:auto}.calendar-sync-results{max-height:45dvh;overflow:auto}.calendar-sync-results .connected-result{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid var(--border,#dce2d7);overflow-wrap:anywhere}.calendar-sync-summary .dialog-actions{align-items:center;flex-wrap:wrap}

.calendar-sync-results .connected-result{border:0;border-bottom:1px solid var(--border,#dce2d7);border-radius:0;background:transparent;padding:12px 2px;font-size:13px}.calendar-sync-results .connected-result small{font-size:11px;font-weight:400;color:var(--muted,#718071)}

.calendar-account-note{margin-top:14px;font-size:11px;line-height:1.7;color:var(--muted,#718071)}.calendar-account-note summary{cursor:pointer;font-weight:600;color:var(--ink,#243d2c)}.calendar-account-note p{margin:10px 0 0}.calendar-account-note summary:focus-visible{outline:2px solid #89a27f;outline-offset:4px;border-radius:3px}[data-theme="dark"] .calendar-account-note{color:#a6b5a1}[data-theme="dark"] .calendar-account-note summary{color:#d5e6cd}

/* A full day remains reachable without crowding the month grid. */
.calendar-more{display:block;max-width:100%;width:max-content;border:0;border-radius:5px;background:#edf3e8;color:#37563b;font:600 10px/1.4 'DM Sans',sans-serif;padding:4px 6px;text-align:left;cursor:pointer;white-space:nowrap}
.calendar-more:hover{background:#dfead7}.calendar-more:focus-visible,.calendar-day-number:focus-visible,.calendar-day-item:focus-visible{outline:2px solid #64845f;outline-offset:2px}
.calendar-day-number{min-width:24px;min-height:24px;text-align:left;cursor:pointer}.calendar-day.past .calendar-day-number:not(:disabled){cursor:pointer}
.calendar-day-dialog{width:min(580px,calc(100vw - 28px));max-height:85dvh;overflow:auto}.calendar-day-dialog .dialog-top h2{font-size:22px;line-height:1.3}.calendar-day-count{font-size:12px;color:#718071;margin:0 0 16px}
.calendar-day-items{display:grid;gap:9px}.calendar-day-item{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:15px;border:1px solid #dfe6da;border-radius:8px;background:#fafcf8;color:#263d2c;text-align:left;cursor:pointer}.calendar-day-item:hover{border-color:#8ca982}.calendar-day-item-detail{min-width:0;display:grid;gap:7px}.calendar-day-item strong{font-size:14px;overflow-wrap:anywhere}.calendar-day-item small{font-size:11px;line-height:1.6;color:#718071}.calendar-day-action{font-size:11px;font-weight:600;flex:none}.calendar-day-item.high-priority{border-left:3px solid #bb6b54}.calendar-day-dialog .dialog-actions{flex-wrap:wrap;margin-top:20px}
[data-theme="dark"] .calendar-more{background:#2c3e2f;color:#d2e5c9}[data-theme="dark"] .calendar-more:hover{background:#38503c}[data-theme="dark"] .calendar-day-item{background:#1b291f;border-color:#3a4b3c;color:#e7eee5}[data-theme="dark"] .calendar-day-item:hover{border-color:#8ca982}[data-theme="dark"] .calendar-day-item small,[data-theme="dark"] .calendar-day-count{color:#a6b5a1}
@media(max-width:650px){.calendar-more{font-size:9px;padding:4px}.calendar-day-dialog{padding:18px}.calendar-day-dialog .dialog-top h2{font-size:20px}.calendar-day-item{padding:13px;min-height:64px}.calendar-day-dialog .dialog-actions button{min-height:42px}}
