/* The screen owns scrolling; 42 stable cells preserve renderer callbacks. */
#app .calendar-controls {display:flex;align-items:center;gap:12px;margin:12px 0 20px;}
#app .calendar-controls .ab-picker {width:auto;max-width:65%;}
#app .calendar-controls .ab-picker-select {min-height:44px;min-width:110px;max-width:100%;background-color:var(--back);color:var(--pine);border-radius:20px;}
#app .calendar-controls>.ab-button {min-height:44px;min-width:60px;color:var(--pine);}
#app .calendar-weekdays {margin-bottom:4px;}
#app .calendar-weekdays abbr {text-align:center;font-size:12px;color:var(--secondary);text-decoration:none;line-height:24px;min-width:0;}
#app .calendar-grid {gap:2px !important;}
#app .calendar-day {display:block;position:relative;width:100%;min-width:0;min-height:44px;aspect-ratio:1;padding:0;border:2px solid transparent;border-radius:9px;background:transparent;color:var(--ink);cursor:pointer;overflow:hidden;}
#app .calendar-day>.ab-button-label:empty {display:none;}
#app .calendar-day>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;}
#app .calendar-day>.ab-text {position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:40px;font-size:17px;font-weight:500;pointer-events:none;}
#app .calendar-day.has-entries:not(.has-photo) {background:color-mix(in srgb,var(--pine) 13%,var(--surface));}
#app .calendar-day.has-photo>.ab-text {color:white;text-shadow:0 1px 3px black;background:#0002;}
#app .calendar-day.is-today {border-color:var(--pine);}
#app .calendar-day.is-selected {box-shadow:inset 0 0 0 2px var(--ink);}
#app .calendar-day.is-selected.has-photo {box-shadow:none;border-color:var(--ink);}
#app .calendar-blank {visibility:hidden;pointer-events:none;}
#app .calendar-selected-day {margin:24px 0 4px;padding-top:20px;border-top:1px solid var(--line);font-size:18px;line-height:1.4;font-weight:600;color:var(--ink);}
#app .calendar-empty {padding:20px 0;color:var(--secondary);line-height:1.5;}
#app .calendar-screen>.ab-nav-bar .ab-button {font-size:28px;min-width:44px;}
#app .calendar-screen>.ab-nav-bar {position:sticky;top:0;z-index:2;}
#app .calendar-screen .ab-nav-title-inline {font-size:22px;line-height:26px;font-weight:700;}
@media(max-width:360px) {#app .calendar-grid {gap:0 !important;}#app .calendar-grid,#app .calendar-weekdays {width:calc(100% + 20px) !important;margin-inline:-10px;}#app .calendar-day {border-radius:6px;}}
