.calendar{width:100%;margin-top:2px}
.calendar__header{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:4px;margin:0}
.calendar>.calendar__header{margin-bottom:12px}
.calendar__month-button{box-sizing:border-box;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:18px;line-height:1}
.calendar__month-button:active{background:transparent}
.calendar__month{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:clip;text-align:center;font-size:14px;font-weight:700;line-height:1}
.calendar__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:4px}
.calendar__weekdays span{min-width:0;padding:4px 2px;text-align:center;color:var(--text-secondary);font-size:12px;font-weight:650}
.calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(74px,auto);gap:2px}
.calendar__date{position:relative;isolation:isolate;min-width:0;min-height:74px;overflow:hidden;border:0;border-radius:8px;padding:7px 5px;display:flex;flex-direction:column;align-items:center;background:transparent;color:var(--text);font:inherit;text-align:center}
.calendar__date:not(.is-neighbor){border:1px solid var(--border);background:var(--white)}
.calendar__date:active{background:var(--active)}
.calendar__date-number{position:relative;z-index:1;font-size:16px;line-height:1.2;font-weight:400}
.calendar__date-content{width:100%;min-height:30px;margin-top:5px;display:grid;align-content:start;justify-items:center;font-size:11px;line-height:1.2}
.calendar__date-indicators{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px;width:100%;min-height:8px;margin-top:3px}
.calendar__date-indicator{box-sizing:border-box;display:block;width:7px;height:7px;border:1px solid rgba(0,0,0,.18);border-radius:50%;background:var(--calendar-indicator)}
.calendar__date.is-weekend .calendar__date-number{color:#FF1111}
.calendar__date.is-neighbor .calendar__date-number{color:var(--text-muted)}
.calendar__date.is-working .calendar__date-number{font-weight:800}
.calendar__date.is-today{border-color:#B3ACA8;background:#E3E0DE}
.calendar__date.is-selected{box-shadow:inset 0 0 0 2px var(--text)}
.calendar__date.is-today.is-selected{background:#E3E0DE}
.calendar-workspace{display:grid;gap:0}
.calendar-workspace .page-header{margin:4px 0 8px;padding-bottom:8px}
.calendar-workspace [data-calendar-workspace-host]{padding:8px 0}
.calendar__date-fill{position:absolute;inset:0;z-index:0;display:flex;align-items:stretch;justify-content:flex-start;overflow:hidden;border-radius:inherit;pointer-events:none;background-image:var(--calendar-date-fill)}
.calendar__date-fill-segment{flex:0 0 auto;height:100%;opacity:.62}
.calendar__date-count{position:relative;z-index:1;display:grid;gap:1px;justify-items:center;font-size:10px;line-height:1.05;font-weight:700;color:var(--text)}
/* Graph-only presence markers. Month occupancy fill and workplace dots are unchanged. */
[data-journal-graph-calendar] .calendar__date{padding-top:21px}
[data-journal-graph-calendar] .calendar__graph-occupancy{position:absolute;z-index:2;top:4px;left:4px;right:4px;display:grid;gap:3px;pointer-events:none}
[data-journal-graph-calendar] .calendar__graph-occupancy-bar{display:block;width:100%;height:6px;border-radius:3px}
[data-journal-graph-calendar] .calendar__graph-occupancy-bar--record{background:#D2ED62}
[data-journal-graph-calendar] .calendar__graph-occupancy-bar--event{background:#777A7D}
@media (max-width:360px){.calendar__date{padding:6px 3px}.calendar__date-count{font-size:9px}}
