.calendar-panel h2{font-size:1.15rem;text-align:center;margin:0}.calendar-tools{display:flex;gap:10px;justify-content:space-between;margin:16px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{text-align:center;font-size:.78rem;opacity:.7;padding:7px 0}.calendar-day{min-height:54px;min-width:0;border:1px solid transparent;border-radius:12px;background:transparent;color:inherit;padding:5px 2px;display:grid;place-items:center}.calendar-day small{font-size:.6rem;line-height:1}.calendar-day.outside{opacity:.4}.calendar-day.is-today{border-color:currentColor}.calendar-day[aria-pressed=true]{background:#214b50;color:#fff;border-color:#214b50}.calendar-event{display:grid;gap:5px;width:100%;text-align:left;border:1px solid #879b9d;border-radius:14px;margin:10px 0;padding:16px;background:transparent;color:inherit;font:inherit}.calendar-event span,.calendar-event small{font-size:.85rem;opacity:.8}.calendar-form{display:grid;gap:18px}.calendar-form label{display:grid;gap:7px;font-weight:600}.calendar-form input,.calendar-form select,.calendar-form textarea{display:block;width:100%;min-width:0;box-sizing:border-box;border:2px solid #879b9d;border-radius:12px;padding:13px;background:#fff;color:#173e49;font:inherit;min-height:48px}.calendar-form input:focus,.calendar-form select:focus,.calendar-form textarea:focus{outline:3px solid #d6ad53;outline-offset:2px}.calendar-form .calendar-check{display:flex;align-items:center;gap:12px}.calendar-form .calendar-check input{width:24px;min-height:24px;accent-color:#214b50}.calendar-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calendar-form [hidden]{display:none}.calendar-form details>label{margin-top:15px}.calendar-form .muted{margin:0;font-size:.88rem}.calendar-error{color:#a73425;margin:0}.calendar-reminder{border:2px solid #c18f35;border-radius:12px;padding:12px;margin:10px 0}.calendar-status{display:flex;gap:12px;flex-wrap:wrap}.calendar-status p{flex-basis:100%;margin:0}.calendar-form .primary{margin-top:8px}html[data-theme=fire] .calendar-form input,html[data-theme=fire] .calendar-form select,html[data-theme=fire] .calendar-form textarea{background:#211719;color:#fff4e9;border-color:#b99579}html[data-theme=fire] .calendar-day[aria-pressed=true]{background:#ffb46c;color:#25171a;border-color:#ffb46c}html[data-theme=fire] .calendar-error{color:#ffb4a2}

.calendar-legend{font-size:.8rem;opacity:.8;margin:12px 0 0}.calendar-tasks h2{margin:0}.calendar-task{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.calendar-task:last-child{border-bottom:0}.calendar-task>input{width:24px;height:24px;flex:0 0 24px;accent-color:var(--ink);cursor:pointer}.calendar-task-open{border:0;background:transparent;color:inherit;font:inherit;text-align:left;min-height:44px;min-width:0;flex:1;display:grid;gap:5px;padding:3px}.calendar-task-open strong{font-weight:600;overflow-wrap:anywhere}.calendar-task-open small{font-size:.8rem;opacity:.75}.calendar-task-done strong{text-decoration:line-through;opacity:.65}.calendar-completed{margin-top:14px}.calendar-completed>summary{padding:10px 0;cursor:pointer}

/* v71: separate types remain visible when multiple events share one day. */
.calendar-day{min-height:60px;grid-template-rows:auto auto;align-content:center;gap:2px}
.calendar-day-markers{display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;gap:2px;width:100%;min-width:0;min-height:26px}
.calendar-marker{display:inline-flex;align-items:center;justify-content:center;gap:1px;flex:0 0 auto;min-width:13px;height:13px;padding:1px;border-radius:3px;line-height:1;font-size:8px;font-weight:700}
.calendar-marker svg{width:11px;height:11px;flex:0 0 11px;stroke-width:2}.calendar-marker sup{position:static;font-size:8px;line-height:1;vertical-align:baseline}
.calendar-marker-league{background:#ffdfc1;color:#914309}.calendar-marker-allday{background:#d6f1dc;color:#216338}.calendar-marker-event{background:#d8eaff;color:#23588e}.calendar-marker-contract{background:#f8edbb;color:#725809}.calendar-marker-task{background:#eadfff;color:#653d95}
.calendar-panel .calendar-legend{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:10px;line-height:1.4}.calendar-marker-key{display:inline-flex;align-items:center;gap:4px}

.calendar-marker-payment{background:#d9ebe9;color:#145b55}.calendar-event.calendar-payment{border-inline-start:4px solid #39877d}.item-kind-payment{background:#d9ebe9;color:#145b55}[data-theme="fire"] .calendar-marker-payment,[data-theme="fire"] .item-kind-payment{background:#224b46;color:#c1f2e9}

.calendar-training{border-left:4px solid #647fc3}.calendar-marker-training{background:#e4eafa;color:#3a528c}.item-kind-training{background:#e4eafa;color:#3a528c}[data-schedule-form] [data-schedule-plan]{min-width:0}
