/* Calendar uses the same opaque surfaces, type and accent as the inbox. */
.calendar-page{--ws-cols:minmax(400px,1fr) minmax(310px,35%);--ws-gap:32px;--ws-pl:40px;--ws-pr:40px;--ws-title:0px;--ws-side:0px}
.calendar-workspace{display:grid;grid-template-columns:var(--ws-cols);gap:var(--ws-gap);flex:1;min-height:0;padding:0 var(--ws-pr) 24px var(--ws-pl)}.calendar-month{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-top:15px}.calendar-grid-scroll{min-height:0;overflow-y:auto;scrollbar-width:thin}.calendar-month-nav,.calendar-month-footer,.calendar-month-empty{flex:none}.calendar-month-nav{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.calendar-month-title h2{margin:0;font-size:20px;letter-spacing:-.025em;font-weight:650;color:var(--mail-text)}.calendar-month-nav nav{display:flex;gap:8px;align-items:center}.calendar-month-nav a{display:flex;align-items:center;justify-content:center;width:28px;height:30px;border-radius:5px;font-size:22px;line-height:1;color:var(--mail-muted);text-decoration:none}.calendar-month-nav a:hover{background:var(--mail-hover);color:var(--mail-accent)}.calendar-month-nav .calendar-today{font-size:12px;width:auto;padding:0 10px;white-space:nowrap}.move-in-calendar{width:100%;border-collapse:separate;border-spacing:5px 7px;table-layout:fixed}.move-in-calendar th{border:0;background:none;padding:0 0 10px 8px;font-size:12px;font-weight:500;text-align:left;color:var(--mail-muted)}.move-in-calendar td{padding:0;vertical-align:top;border:0;background:none;height:91px}.calendar-day{display:block;min-height:91px;height:100%;padding:9px 8px;border-radius:7px;color:var(--mail-text);text-decoration:none;overflow:hidden}.calendar-day:hover{background:var(--mail-hover);color:var(--mail-text)}.calendar-day.has-listings{background:var(--mail-hover)}.calendar-day.selected{background:var(--mail-nav);color:var(--mail-accent)}.calendar-day-number{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;line-height:1.3;font-variant-numeric:tabular-nums}.calendar-day-number small{font-size:10px;font-weight:500;color:var(--mail-accent)}.calendar-day.today .calendar-day-number{color:var(--mail-accent);font-weight:700}.calendar-day-count{display:block;margin-top:10px;color:var(--mail-accent);font-size:11px;font-weight:600;white-space:nowrap}.calendar-day-preview{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;line-height:1.35;color:var(--mail-muted)}.calendar-month-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:20px 8px 0;font-size:12px;line-height:1.7;color:var(--mail-muted)}.calendar-month-footer a{color:var(--mail-accent);text-decoration:none}.calendar-month-footer a:hover{text-decoration:underline}.calendar-month-footer b{font-weight:500;margin-left:5px}.calendar-month-empty{font-size:13px;line-height:1.8;color:var(--mail-muted);padding:10px 8px 20px;margin:0}.calendar-side{min-width:0;min-height:0;position:relative;overflow:hidden;display:flex;flex-direction:column}.calendar-side .mail-detail{height:100%;padding:0;flex:1}.calendar-page .mail-back-list{display:block;background:none;border:0;padding:12px 16px 0;color:var(--mail-accent);font-size:12px;text-align:left;cursor:pointer}.calendar-page .mail-detail-heading{padding-top:18px}.calendar-agenda{min-height:0;display:flex;flex:1;flex-direction:column}.calendar-agenda-heading{flex:none;padding:19px 16px 23px}.calendar-agenda-heading h2{font-size:17px;font-weight:650;letter-spacing:-.015em;margin:0;color:var(--mail-text)}.calendar-agenda-heading p{font-size:12px;color:var(--mail-muted);margin:8px 0 0}.calendar-agenda-list{overflow-y:auto;min-height:0;scrollbar-width:thin}.calendar-page .mail-listing{gap:12px}.calendar-page .mail-listing-body>strong{font-size:14px}.calendar-page .mail-meta,.calendar-page .mail-listing-status{font-size:12px}.calendar-page .mail-value strong{font-size:14px}.calendar-agenda-empty{padding:38px 16px;color:var(--mail-muted)}.calendar-agenda-empty h3{font-size:15px;font-weight:500;margin:0 0 10px}.calendar-agenda-empty p{font-size:13px;line-height:1.7}.calendar-agenda-empty button,.calendar-agenda-empty a{display:inline-block;text-decoration:none;border:0;background:none;padding:8px 0;color:var(--mail-accent);font-size:13px;cursor:pointer}
@media(max-width:1150px){.calendar-page{--ws-cols:minmax(350px,1fr) minmax(280px,37%);--ws-gap:20px;--ws-pl:26px;--ws-pr:26px}.move-in-calendar{border-spacing:3px 6px}.calendar-day{padding-left:6px;padding-right:6px}.calendar-day-preview{font-size:10px}}
@media(max-width:750px){.calendar-page .mail-toolbar.is-split{display:flex}.calendar-page .mail-toolbar.is-split .mail-search{width:260px}.calendar-workspace{display:block;overflow-y:auto;padding:0 16px 24px}.calendar-month{overflow:visible}.calendar-grid-scroll{overflow:visible}.calendar-side{min-height:260px;overflow:visible;margin-top:28px}.calendar-agenda-list{overflow:visible}.calendar-side .mail-detail{overflow:visible}.calendar-page .mail-detail.is-open{position:static;display:block;padding:0}.calendar-agenda-heading{padding-left:8px}.calendar-month-nav{margin-bottom:20px}.move-in-calendar td,.calendar-day{min-height:76px;height:76px}.calendar-day-preview{display:none}}

.calendar-page [hidden]{display:none!important}.calendar-page .calendar-side .mail-detail:not([hidden]){display:block}

.calendar-page .mail-back-list{text-decoration:none}

.calendar-load-status{margin:0;padding:0 40px 12px;color:var(--mail-muted);font-size:13px;line-height:1.6}.calendar-load-status button{border:0;background:none;color:var(--mail-accent);font:inherit;cursor:pointer;padding:0 8px}.calendar-workspace[aria-busy=true]{cursor:progress}@media(max-width:750px){.calendar-load-status{padding-left:20px;padding-right:20px}}
/* 手机上格子只有 ~45px 宽，「N 条房源」放不下，只留数字（aria-label 里仍是完整说法） */
@media(max-width:520px){.calendar-day{padding-left:3px;padding-right:3px}.calendar-day-unit{display:none}.calendar-day-count{font-size:12px}.calendar-day-number{gap:3px;flex-wrap:wrap}.calendar-day-number small{white-space:nowrap}}
/* 650px 以下工具栏竖排，搜索框和收件箱一样占满整行 */
@media(max-width:650px){.calendar-page .mail-toolbar.is-split .mail-search{width:100%}}
