/* The original calendar remains intact; scheduling adds only section buttons and date highlights. */
.premaculture-topic-panel--calendar .premaculture-cal-shell.is-year{max-height:none!important}
.premaculture-topic-panel--calendar [data-calendar-date]{cursor:pointer;border:2px solid transparent;box-shadow:none!important}
.premaculture-topic-panel--calendar [data-calendar-date]:focus-visible{outline:none;border-color:#fff;z-index:3}
.premaculture-topic-panel--calendar .premaculture-cal-day.has-capacity::after{display:none!important}
.premaculture-topic-panel--calendar [data-calendar-date].is-plan-eligible:not(.is-plan-selected){background:#86b9a8!important;color:#173941!important}
.premaculture-topic-panel--calendar [data-calendar-date].is-plan-eligible.is-plan-suggested:not(.is-plan-selected){background:#b9d9ae!important;color:#173941!important}
.premaculture-topic-panel--calendar [data-calendar-date].is-plan-selected{background:#f8d66b!important;color:#243f49!important}
.premaculture-topic-panel--calendar [data-calendar-date].is-plan-growing:not(.is-plan-selected):not(.is-plan-eligible){background:#9bc5cc!important;color:#173941!important}
.premaculture-topic-panel--calendar [data-calendar-date].is-plan-selected.is-plan-growing{background:#9bc5cc!important;color:#173941!important}
.premaculture-topic-panel--calendar [data-calendar-date].is-plan-suggested:not(.is-plan-selected):not(.is-plan-eligible):not(.is-plan-growing){background:#a9c8ba!important;color:#173941!important}
.premaculture-topic-panel--calendar .premaculture-cal-time-head [data-calendar-date].is-plan-selected,
.premaculture-topic-panel--calendar .premaculture-cal-day-title [data-calendar-date].is-plan-selected{border-radius:999px}

.prema-calendar-planner{margin:clamp(1rem,2vw,1.5rem) 0 .75rem;font-family:"DM Sans",Helvetica,Arial,sans-serif}
.prema-calendar-planner *{box-sizing:border-box}
.prema-calendar-planner-head{display:flex;align-items:center;margin-bottom:.55rem;color:#344f5b}
.prema-calendar-planner-head label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:800}
.prema-calendar-planner-head select{max-width:min(18rem,52vw);min-width:0;border:1px solid #8ba4a9;border-radius:.38rem;background:#fff;color:#233b44;font:inherit;font-size:.82rem;padding:.38rem .45rem}
.prema-calendar-legend{display:flex;align-items:flex-start;gap:.55rem;overflow-x:auto;padding:.1rem .08rem .42rem;scrollbar-width:thin}
.prema-calendar-legend-card{flex:0 0 10.5rem;min-width:0;padding:.2rem}
.prema-calendar-legend-pick{display:grid;align-content:start;gap:.2rem;width:100%;border:0;background:transparent;color:#27444d;font:inherit;text-align:center;cursor:pointer}
.prema-calendar-legend-pick img{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:.35rem}
.prema-calendar-legend-card.is-active .prema-calendar-legend-pick img{outline:2px solid #f8d66b;outline-offset:2px}
.prema-calendar-legend-pick span{overflow:hidden;font-size:.73rem;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.prema-calendar-artwork-missing{display:grid;place-items:center;width:100%;aspect-ratio:1;border:1px solid #8ca7ae;border-radius:.35rem}
.prema-calendar-legend-pick:focus-visible{outline:2px solid #f8d66b;outline-offset:2px}
.prema-calendar-empty,.prema-calendar-loading{margin:0;padding:.75rem;color:#344f5b}
.prema-calendar-access{display:flex;align-items:end;flex-wrap:wrap;gap:.65rem;margin:0 0 .75rem;padding:.8rem;border:1px solid #64818b;border-radius:.6rem;background:#415d69;color:#fff;font-family:"DM Sans",Helvetica,Arial,sans-serif}
.prema-calendar-access p{flex-basis:100%;margin:0;font-size:.9rem}
.prema-calendar-access label{display:grid;gap:.2rem;font-size:.75rem;font-weight:800}
.prema-calendar-access input{min-width:10rem;border:1px solid #b7c9cc;border-radius:.35rem;padding:.5rem;font:inherit}
.prema-calendar-access button{border:0;border-radius:.35rem;background:#f8d66b;color:#263b43;padding:.55rem .8rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.prema-calendar-access button:disabled{opacity:.6;cursor:wait}
.prema-calendar-access [role="alert"]{color:#ffe2a4;font-weight:700}

[data-premaculture-calendar-stagebar]:empty{display:none}
.prema-calendar-stagebar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.32rem;margin:.15rem 0 .55rem;color:#f7fbfa;font-family:"DM Sans",Helvetica,Arial,sans-serif}
.prema-calendar-stagebar strong{margin-right:.3rem;font-size:.82rem}
.prema-calendar-stagebar button{min-width:1.8rem;min-height:1.65rem;border:1px solid #a4b9bd;border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:.73rem;font-weight:800;cursor:pointer}
.prema-calendar-stagebar button:hover{border-color:#f8d66b;outline:none}
.prema-calendar-stagebar button:focus-visible{border-color:#fff;outline:none}
.prema-calendar-stagebar button.is-active{border-color:#f8d66b;background:#f8d66b;color:#243f49}
.prema-calendar-stagebar button.is-active:focus-visible{border-color:#fff}
.prema-calendar-stagebar-details{flex-basis:100%;color:#e4eeee;font-size:.72rem;text-align:center}
@media(max-width:650px){.prema-calendar-legend-card{flex-basis:8.75rem}.prema-calendar-stagebar{justify-content:flex-start}.prema-calendar-stagebar-details{text-align:left}}
