/* Endurance Lab v6 · shift-friendly planning · scoped to calendar */
.cal-home{margin:0 0 22px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;background:linear-gradient(110deg,#153c3d,#152535)}
.cal-home h3{font-size:21px;margin:5px 0}.cal-home p{color:var(--soft);margin:0;font-size:13px}
.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.cal-toolbar h2{margin:4px 0}.cal-toolbar p{margin:0}
.cal-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}
.cal-stat{padding:16px;border:1px solid var(--border);background:#172839;border-radius:14px}.cal-stat small{display:block;font-size:11px;color:var(--muted)}.cal-stat b{font-size:25px;display:block;line-height:1.2;margin:4px 0}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin:18px 0 24px}.cal-day{min-width:0;background:linear-gradient(145deg,#192a3d,#111f30);border:1px solid var(--border);border-radius:14px;padding:13px;min-height:228px}.cal-day.today{border-color:#c5e887}.cal-dayhead{display:flex;justify-content:space-between;align-items:center;gap:5px;border-bottom:1px solid #304457;padding-bottom:10px;margin-bottom:11px}.cal-dayhead b{font-size:13px}.cal-dayhead span{color:var(--muted);font-size:11px}.cal-dayhead button{background:transparent;color:var(--cyan);border:0;font-weight:900;font-size:16px;padding:2px 5px;border-radius:6px}
.cal-session{border:1px solid #39576b;background:#22394a;border-left:3px solid var(--lime);border-radius:9px;padding:9px;margin-bottom:7px;overflow-wrap:anywhere}.cal-session.done{border-left-color:#63cdbd}.cal-session.skipped{border-left-color:#a5b0be;opacity:.65}.cal-session.run{border-left-color:var(--orange)}.cal-session.swim{border-left-color:var(--cyan)}.cal-session.other{border-left-color:var(--blue)}.cal-session strong{display:block;font-size:12px;line-height:1.4}.cal-session small{display:block;font-size:10px;color:#b2c8d6;margin:4px 0}.cal-session .cal-mini{display:flex;gap:3px;align-items:center;justify-content:flex-end;margin-top:6px}.cal-session .cal-mini button{border:1px solid #47647a;background:#274258;color:var(--text);border-radius:6px;padding:3px 6px;font-size:10px}.cal-session .cal-mini button:hover{background:#375773}.cal-actual{font-size:11px;color:#b6c9d5;border-top:1px dashed #385269;padding-top:6px;margin-top:8px}.cal-empty{font-size:11px;color:#7e98aa}.cal-rest{font-size:11px;color:#b1bdca;display:block;padding:5px 0;font-style:italic}.cal-review-grid{grid-template-columns:1.25fr 1fr}.cal-review-form .field{margin-bottom:12px}.cal-review-form textarea{min-height:100px}.cal-saved{margin-left:12px;color:var(--lime);font-size:12px}.cal-guidance{display:grid;gap:10px;margin-top:15px}.cal-guidance article{background:#1d3043;padding:13px;border-radius:10px;border:1px solid #324e60}.cal-guidance article strong{display:block;margin-bottom:4px}.cal-guidance article p{font-size:12px;color:var(--muted);margin:0}.cal-history{width:100%;border-collapse:collapse}.cal-history th,.cal-history td{text-align:left;border-bottom:1px solid var(--border);padding:12px 10px;font-size:12px;vertical-align:top}.cal-history th{color:var(--muted)}.cal-history td small{display:block;color:var(--muted)}.cal-history-wrap{overflow:auto}.cal-trace{border-radius:50px;border:1px solid var(--border);padding:3px 8px;font-size:10px;color:var(--soft);white-space:nowrap}
@media(max-width:1200px){.cal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:780px){.cal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-review-grid{grid-template-columns:1fr}}
@media(max-width:430px){.cal-grid{grid-template-columns:1fr}.cal-day{min-height:110px}.cal-actions .btn{flex:1 1 auto}.cal-stat b{font-size:22px}}
/* Keep all navigation reachable as more training tools are added. */
@media(min-width:821px){.sidebar{overflow-y:auto}}

/* Version 6.1: dragging planned sessions between weekdays */
.cal-session{cursor:grab;user-select:none;-webkit-user-select:none}
.cal-session:active{cursor:grabbing}
.cal-session button{cursor:pointer;user-select:auto;-webkit-user-select:auto}
.cal-session.cal-dragging{opacity:.35}
.cal-day.cal-drop-target{outline:3px solid var(--lime);outline-offset:-4px;background:linear-gradient(145deg,#294e50,#1b3542)}
.cal-day.cal-drop-target .cal-dayhead{border-bottom-color:var(--lime)}
.cal-drag-ghost{position:fixed;z-index:99999;pointer-events:none;max-width:min(240px,75vw);padding:12px 16px;background:#243e4c;color:#ecfffb;border:2px solid var(--lime);box-shadow:0 12px 35px #0009;border-radius:12px;font-size:13px;font-weight:700;transform:translateY(-50%);white-space:normal}
.cal-touch-active .cal-session{touch-action:none}
.cal-touch-active{user-select:none;-webkit-user-select:none}
.cal-session:focus-visible{outline:2px solid var(--cyan)}

/* Selected training-week preview, shown before importing */
.cal-import-list{display:grid;gap:6px;margin-top:10px;max-height:230px;overflow-y:auto}
.cal-import-item{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:6px 0;font-size:12px}
.cal-import-item small{color:var(--muted)}
