.calendar-toolbar,.calendar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0}
.calendar-toolbar button{min-height:44px}.calendar-toolbar h3{flex:1;margin:0}
.calendar-period{margin:18px 0 12px;font-size:1.1rem}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.calendar-weekday{text-align:center;color:var(--muted);font-size:.75rem;padding:5px 0}
.calendar-day{min-width:0;min-height:64px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);color:var(--ink);padding:7px 3px;display:flex;flex-direction:column;align-items:center;gap:3px}
.calendar-day.is-today{border:2px solid var(--ink)}.calendar-day.is-selected{outline:2px solid var(--cyan);outline-offset:1px}
.calendar-day small{font-size:.65rem;border-radius:10px;padding:1px 6px;background:var(--line)}
.calendar-day.has-result small{background:#d5eddf;color:#1d5134}
.calendar-entry,.calendar-result{border:1px solid var(--line);border-radius:16px;background:var(--paper-2);color:var(--ink);padding:16px;margin:12px 0;overflow-wrap:anywhere}
.calendar-entry h4,.calendar-result h4{margin:8px 0;font-size:1rem}.calendar-entry p,.calendar-result p{white-space:pre-wrap;font-size:.85rem;line-height:1.5;margin:8px 0}
.calendar-status{font-size:.72rem;font-weight:700;color:var(--muted)}.calendar-move{display:block;color:var(--muted);margin:7px 0}
.calendar-jump,.calendar-form label{display:flex;flex-direction:column;gap:5px;margin:12px 0}
.calendar-jump{max-width:240px}.calendar-form input,.calendar-form textarea,.calendar-form select{width:100%;min-width:0;box-sizing:border-box}
.calendar-form input[type=checkbox]{width:24px;height:24px}.calendar-form textarea{min-height:90px}.calendar-dialog{width:min(560px,calc(100% - 24px));max-height:90dvh;overflow:auto;box-sizing:border-box}
.calendar-form,.calendar-toolbar label{min-width:0}.calendar-toolbar label{display:flex;flex-direction:column;gap:4px;flex:1 1 130px}.calendar-toolbar input{min-width:0;width:100%;box-sizing:border-box}
#trainingHistoryMore{margin:18px 0}.training-tabs{flex-wrap:nowrap}
.calendar-compose-modes,.calendar-exercise-head,.calendar-exercise-order{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.calendar-compose-modes button{flex:1 1 auto}.calendar-dialog .calendar-compose-modes button[aria-pressed=true],.calendar-dialog .calendar-compose-modes button[aria-pressed=true]:hover,.calendar-dialog .calendar-repeat-days button[aria-pressed=true],.calendar-dialog .calendar-repeat-days button[aria-pressed=true]:hover{background:var(--yellow);color:#172635;border-color:var(--yellow)}
.calendar-exercise-head{justify-content:space-between}.calendar-exercise-head>strong{flex:1 1 180px}.calendar-exercise-order button{padding:7px 10px;min-height:44px}
.calendar-exercise-editor{border-block-end:1px solid var(--line);padding:14px 0}.calendar-dose{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.calendar-dose label{font-size:.8rem}
.calendar-options,.calendar-row-options{margin:12px 0}.calendar-options summary,.calendar-row-options summary{min-height:35px;color:var(--muted)}
.calendar-repeat-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-repeat-days button{min-width:0;min-height:44px;padding:8px 2px}
.calendar-plan{margin:14px 0;font-size:.85rem}.calendar-plan ol{padding-inline-start:22px}.calendar-plan li{margin:7px 0;line-height:1.5}
.calendar-exercise-picker{padding:12px 0}.calendar-exercise-found{display:grid;gap:6px}.calendar-exercise-choice{text-align:start;white-space:normal;min-height:44px}
.calendar-form [hidden]{display:none!important}.calendar-dialog>.calendar-toolbar{align-items:start}.calendar-form .detail-hint{line-height:1.5}
.calendar-form label:has(>input[type=checkbox]){flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
@media(max-width:380px){.calendar-repeat-days{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-dose{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.calendar-day{min-height:48px;border-radius:9px}.calendar-grid{gap:4px}.calendar-toolbar button{font-size:.8rem;padding:9px 12px}.calendar-entry,.calendar-result{padding:12px}.calendar-dialog{padding:18px}}
