/* Calendar overview: classic keeps its notebook; journey opens a selected date beside the calendar. */
.rent-calendar-drawer{display:none}
html[data-hx-interface="journey"] #rent-calendar-detail{display:none!important}
html[data-hx-interface="journey"] body.dashboard-module-open .rent-calendar-drawer{display:none!important}
html[data-hx-interface="journey"] .rent-calendar-drawer:not([hidden]){position:fixed;z-index:180;display:flex;flex-direction:column;max-height:calc(100dvh - 24px);box-sizing:border-box;border:1px solid #dce7e4;border-radius:20px;background:#fff;color:#193e46;box-shadow:0 18px 60px #163d4533;overflow:hidden;animation:rent-calendar-enter .22s ease-out}
html[data-hx-interface="journey"] .rent-calendar-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px;border-bottom:1px solid #e3ece9;flex:none}
html[data-hx-interface="journey"] .rent-calendar-drawer-head h3{font-size:18px;line-height:1.4;margin:0 0 5px;color:#193e46}
html[data-hx-interface="journey"] .rent-calendar-drawer-head p{margin:0;font-size:12px;color:#637b7e;overflow-wrap:anywhere}
html[data-hx-interface="journey"] .rent-calendar-drawer-close{flex:none;display:grid;place-items:center;width:36px;height:36px;border:1px solid #dce7e4;border-radius:10px;background:#f4f8f6;color:#244e53;font:inherit;font-size:24px;line-height:1;cursor:pointer}
html[data-hx-interface="journey"] .rent-calendar-drawer-close:focus-visible,html[data-hx-interface="journey"] .rent-calendar-drawer .rent-calendar-record:focus-visible{outline:3px solid #317e78;outline-offset:-3px}
html[data-hx-interface="journey"] .rent-calendar-drawer-records{overflow:auto;overscroll-behavior:contain;padding:4px 20px 12px;min-height:0}
html[data-hx-interface="journey"] .rent-calendar-drawer .rent-calendar-record{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid #e7eeeb;color:#193e46;text-decoration:none;min-width:0}
html[data-hx-interface="journey"] .rent-calendar-drawer .rent-calendar-record>span{min-width:0;font-size:16px;font-weight:650;overflow-wrap:anywhere}
html[data-hx-interface="journey"] .rent-calendar-drawer .rent-calendar-record small{display:block;margin-top:6px;color:#6c8081;font-size:12px;line-height:1.6;font-weight:400;overflow-wrap:anywhere}
html[data-hx-interface="journey"] .rent-calendar-drawer .rent-calendar-record b{flex:none;color:#176b65;font-size:17px;white-space:nowrap}
html[data-hx-interface="journey"] .rent-calendar-drawer .rent-calendar-record.is-settled b{font-size:13px;color:#658474}
@keyframes rent-calendar-enter{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){html[data-hx-interface="journey"] .rent-calendar-drawer:not([hidden]){animation:none}}
.dashboard-main .rent-calendar{flex:1;min-height:0;display:flex;flex-direction:column;gap:5px;overflow:visible}.dashboard-main [hidden]{display:none!important}
.rent-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 28px;margin:0}.rent-calendar-filter{display:flex;align-items:center;gap:6px;font-size:var(--ui-font-12, 12px);min-width:0;flex:1}.rent-calendar-filter select{min-width:0;width:0;flex:1;max-width:none;height:28px;font-size:var(--ui-font-12, 12px);border:1px solid #dbe4ef;border-radius:6px;background:#fff;padding:3px 5px;color:#334f72}.rent-calendar-nav{display:flex;align-items:center;gap:4px;flex-shrink:0}.rent-calendar-nav button{height:28px;width:26px;border:1px solid #dbe4ef;border-radius:6px;background:#fff;color:#2b578c;font-size:var(--ui-font-18, 18px);cursor:pointer}.rent-calendar-nav input{height:28px;width:125px;min-width:0;border:1px solid #dbe4ef;border-radius:6px;padding:3px;font-size:var(--ui-font-12, 12px);color:#334f72}
.rent-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;color:#7b8ca2;font-size:var(--ui-font-11, 11px);line-height:16px;flex:0 0 16px}.rent-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:3px;flex:1;min-height:126px;height:auto;overflow:visible}.rent-day{border:1px solid #e5ebf3;border-radius:5px;background:#fff;color:#405a79;display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:3px 4px;min-width:0;min-height:0;height:auto;cursor:pointer;line-height:1.2;font-family:inherit}.rent-day.blank{background:none;border-color:transparent}.rent-day-number{display:flex;align-items:center;justify-content:space-between;gap:1px}.rent-day-date{font-size:var(--ui-font-12, 12px);font-weight:600}.rent-day-summary{font-size:var(--ui-font-11, 11px);font-weight:600;color:#2c6099}.rent-day.due{background:#e7f0fc;border-color:#c5d9f3;box-shadow:inset 3px 0 #4a84d1}.rent-day.overdue{box-shadow:inset 3px 0 #c87b43}.rent-day.today .rent-day-date{color:#fff;background:#244e7e;border-radius:4px;padding:2px 4px}.rent-day-today{display:none}.rent-day[aria-pressed=true]{outline:2px solid #2864b5;outline-offset:-2px}.rent-day:focus-visible{outline:3px solid #609be8;outline-offset:1px}.rent-day-amount{font-size:var(--ui-font-11, 11px);color:#36618f;margin-top:2px;white-space:nowrap}.rent-owner-dots,.rent-calendar-legend{display:none}.rent-calendar-status{font-size:var(--ui-font-12, 12px);line-height:1.4;color:#617792;margin:0;flex:0 0 auto;overflow-wrap:anywhere}.rent-calendar-status.error{color:#a54836}.rent-calendar-detail{min-height:0;display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto;padding:5px 0 0;border-top:1px solid #e5edf6;font-size:var(--ui-font-12, 12px);line-height:1.4;overflow:visible}.rent-calendar-detail strong{font-size:var(--ui-font-12, 12px)}.rent-calendar-detail p{margin:0}.rent-calendar-selected-info{min-width:0;display:flex;flex-direction:column;gap:2px}.rent-calendar-record{color:#2d5588;text-decoration:none}.rent-calendar-foot{display:none}.rent-calendar-company{font-size:var(--ui-font-12, 12px);color:#5c7290}.rent-owner-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;flex:0 0 8px}
@media(max-width:1180px),(max-height:800px){.dashboard-main .rent-day-amount{display:none}.dashboard-main .rent-calendar-filter{font-size:0}.dashboard-main .rent-calendar-filter select{font-size:var(--ui-font-12, 12px)}.dashboard-main .rent-calendar-nav input{width:122px}}
@media(max-width:760px),(max-height:619px){.dashboard-main .rent-calendar{gap:8px}.dashboard-main .rent-calendar-grid{min-height:156px;gap:5px}.dashboard-main .rent-day{padding:5px}.dashboard-main .rent-day-amount{display:block}.dashboard-main .rent-day-date{font-size:var(--ui-font-14, 14px)}.dashboard-main .rent-calendar-head{flex-wrap:wrap;flex-basis:auto}.dashboard-main .rent-calendar-filter{flex-basis:100%;font-size:var(--ui-font-12, 12px)}.dashboard-main .rent-calendar-nav{margin-left:auto}.dashboard-main .rent-calendar-detail{padding-top:8px}.dashboard-main .rent-day-summary{font-size:var(--ui-font-11, 11px)}}
@media(max-width:420px){.dashboard-main .rent-day-amount{display:none}.dashboard-main .rent-day-number{flex-wrap:wrap;justify-content:flex-start;gap:4px}.dashboard-main .rent-day-summary{display:block;flex-basis:100%}}

.dashboard-main .rent-calendar{gap:3px}.dashboard-main .rent-calendar-head{flex:0 0 26px}.dashboard-main .rent-calendar-week{font-size:var(--ui-font-11, 11px);line-height:14px;flex-basis:14px}.dashboard-main .rent-calendar-grid{min-height:0}.dashboard-main .rent-calendar-detail{padding:3px 0 0;min-height:22px}.dashboard-main .rent-calendar-selected-info{flex-direction:row;flex-wrap:wrap;gap:4px 8px}.dashboard-main .rent-calendar-selected-info strong{font-weight:600}.dashboard-main .rent-calendar-status{line-height:1.4}
@media(max-width:760px),(max-height:619px){.dashboard-main .rent-calendar{gap:7px}.dashboard-main .rent-calendar-head{flex:0 0 auto}.dashboard-main .rent-calendar-week{line-height:16px;flex-basis:16px}.dashboard-main .rent-calendar-detail{padding-top:7px;min-height:30px}}

.rent-calendar-detail-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}

.rent-day.due{background:#d4e7ff;border-color:#87afe5;box-shadow:inset 3px 0 #447acc}.rent-day.overdue{background:#ffeddb;border-color:#dfa967;box-shadow:inset 3px 0 #c8762c}
@media(min-width:1181px) and (max-height:800px){.dashboard-main .alert-card.is-calendar{position:relative}.dashboard-main .alert-card.is-calendar .alert-card-head{position:absolute;left:12px;top:10px;width:151px}.dashboard-main .alert-card.is-calendar .rent-calendar-head{padding-left:156px;flex-basis:29px}}

@media(min-width:1181px) and (max-height:800px){.dashboard-main .alert-card.is-calendar .dashboard-view-tabs button{padding:2px 6px;white-space:nowrap}}

/* Separate date glyphs from the owner dots without changing the month/detail tracks. */
@media screen {
 body.business-dashboard .dashboard-main .rent-day.due .rent-day-date,
 body.business-dashboard .dashboard-main .rent-day.settled .rent-day-date { transform:translateY(0); }
 body.business-dashboard .dashboard-main .rent-owner-dots { bottom:0; }
}
/* HX125: a selected day opens as one paper notebook; the card, not its records, scrolls. */
@media screen {
 .rent-calendar-notebook-head { display:flex; align-items:stretch; gap:0; border:1px solid #d7dfde; border-radius:8px 8px 0 0; background:#f5f6f2; box-shadow:0 2px 4px #17374708; }
 .rent-calendar-notebook-toggle { position:relative; flex:1; min-width:0; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 12px; border:0; border-radius:8px 0 0 0; background:transparent; color:#29494e; font:inherit; text-align:left; cursor:pointer; }
 .rent-calendar-notebook-toggle::after { content:''; position:absolute; top:0; right:0; width:11px; height:11px; background:linear-gradient(225deg,#e1e6df 49%,transparent 51%); pointer-events:none; }
 .rent-calendar-notebook-toggle:hover { background:#eaf0ea; }
 .rent-calendar-notebook-toggle:focus-visible { outline:2px solid #397e75; outline-offset:-3px; }
 .rent-calendar-notebook-fold { flex:none; font-size:var(--ui-font-11,11px); color:#607775; white-space:nowrap; }
 .rent-calendar-notebook-policy { flex:none; align-self:center; margin:0 9px; }
 .rent-calendar-notebook-toggle[aria-expanded=false] { border-radius:8px 0 0 8px; }
}
