.cal-head { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; flex-wrap:wrap; }
.lanes { position:relative; min-height:72px; margin:8px 0 16px; }
.lane { position:absolute; display:flex; justify-content:space-between; gap:8px; padding:8px 10px; border:0; border-left:3px solid var(--red); background:#fffdfb; text-align:left; cursor:pointer; box-shadow:inset 0 0 0 1px var(--line); }
.lane.on { background:#f3e8e6; }
.lane small { color:var(--muted); }
.months { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.month { background:#fffdfb; border:1px solid var(--line); border-radius:12px; padding:10px; }
.month h3 { margin:0 0 8px; font:500 16px Georgia,serif; }
.dow-row, .mini { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.dow-row span, .mini button { text-align:center; font-size:11px; }
.mini button { border:0; background:transparent; min-height:28px; border-radius:6px; }
.mini button.in { background:#f3e8e6; }
.mini button.pick, .mini button.edge { background:var(--red); color:white; }
.mini button:disabled { color:#d9d3cb; }
.panel { margin-top:14px; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.check { display:flex; align-items:center; gap:8px; }
.muted { color:var(--muted); }
@media (max-width:900px) { .months { grid-template-columns:1fr 1fr; } .row2 { grid-template-columns:1fr; } }
@media (max-width:560px) { .months { grid-template-columns:1fr; } }
