.planner-layout{max-width:1880px;margin:0 auto}.calendar-workspace{min-width:0}.planner-transition-surface{will-change:opacity, transform;min-width:0}.planner-transition-surface.is-next{animation:.36s cubic-bezier(.16,.84,.22,1) both planner-surface-next}.planner-transition-surface.is-previous{animation:.36s cubic-bezier(.16,.84,.22,1) both planner-surface-previous}@keyframes planner-surface-next{0%{opacity:.38;transform:translate(44px)}to{opacity:1;transform:translate(0)}}@keyframes planner-surface-previous{0%{opacity:.38;transform:translate(-44px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.planner-transition-surface.is-next,.planner-transition-surface.is-previous{animation:none}}.readonly-banner{background:var(--soft-fill);border:1px solid var(--soft-line);opacity:.76;border-radius:8px;margin-bottom:8px;padding:9px 11px;font-size:.78rem;font-weight:750}.realtime-update-banner{color:#5b4212;text-align:center;z-index:10050;background:#fff7dc;border:1px solid #e4c766;border-radius:10px;justify-content:center;align-items:center;gap:10px;max-width:min(460px,100vw - 28px);min-height:40px;margin:0;padding:8px 10px 8px 12px;font-size:.82rem;font-weight:780;display:inline-flex;position:fixed;top:82px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #563f0f24}.realtime-update-banner-label{align-items:center;gap:7px;display:inline-flex}.realtime-update-banner-label svg{color:#b97805;width:17px;height:17px}.realtime-update-banner button{color:#fffaf0;background:#6f4f13;border:1px solid #6f4f13;border-radius:7px;min-height:28px;padding:0 12px;font-size:.76rem;font-weight:780}.realtime-update-banner button:disabled{color:#5b42128a;cursor:default;background:#6f4f131f;border-color:#6f4f1347}.week-header{align-items:start;margin-bottom:8px;display:flex;position:relative}.week-title-row{width:100%;min-width:0}.week-title-control{grid-template-columns:minmax(0, var(--week-control-width)) minmax(0, 1fr) minmax(0, var(--week-control-width));align-items:center;gap:10px;width:100%;display:grid}.week-summary-button{background:var(--paper);cursor:pointer;flex:0 1 var(--week-control-width);border:1px solid #0000;border-radius:8px;align-items:start;gap:3px;min-width:0;min-height:44px;padding:6px 60px 6px 8px;transition:background .12s,border-color .12s,box-shadow .12s;display:grid;position:relative}.week-summary-button:hover,.week-summary-button:focus-visible{background:var(--soft-fill);border-color:var(--soft-line);outline:0;box-shadow:0 0 0 3px #11111106}:is(.week-summary-button:has(.last-modified-legend[data-tooltip]:hover),.week-summary-button:has(.last-modified-legend[data-tooltip]:focus-visible)){z-index:20}.week-summary-button.is-selected,.week-summary-button.is-partial{background:var(--soft-fill);border-color:var(--soft-line)}.week-summary-button.is-selected{box-shadow:0 0 0 1px #11111147}.week-summary-button.is-partial{box-shadow:0 0 0 1px #11111124}.week-summary-meta{opacity:.62;text-transform:uppercase;font-size:.72rem;font-weight:800}.week-summary-title{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:850;display:block;overflow:hidden}.week-summary-secondary{align-items:center;gap:7px;min-width:0;min-height:18px;display:flex}.week-summary-actions{opacity:0;pointer-events:none;z-index:4;align-items:center;gap:2px;transition:opacity .12s;display:inline-flex;position:absolute;top:5px;right:5px}.week-summary-button:hover .week-summary-actions,.week-summary-button:focus-within .week-summary-actions{opacity:1;pointer-events:auto}.week-summary-button:has(.scope-checkbox:checked) .week-summary-actions{opacity:1;pointer-events:auto}.week-summary-button:has(.scope-checkbox:indeterminate) .week-summary-actions{opacity:1;pointer-events:auto}.week-summary-checkbox{justify-content:center;align-items:center;width:20px;height:24px;display:inline-flex}.last-modified-legend{color:#11111194;letter-spacing:0;text-overflow:clip;text-transform:none;white-space:nowrap;flex:0 auto;align-items:center;gap:6px;min-width:0;max-width:100%;font-size:.62rem;font-weight:760;line-height:1.2;display:inline-flex;overflow:visible}.last-modified-avatar{background:var(--paper);border:1px solid var(--last-modified-avatar-color);color:var(--last-modified-avatar-color);border-radius:999px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:.5rem;font-weight:900;line-height:1;display:inline-flex;overflow:hidden}.last-modified-avatar img,.last-modified-avatar span{border-radius:inherit;width:100%;height:100%;display:block}.last-modified-avatar img{object-fit:cover}.last-modified-avatar span{text-align:center;justify-content:center;align-items:center;display:flex}.last-modified-copy,.last-modified-name,.last-modified-separator,.last-modified-time{min-width:0}.last-modified-copy{flex:0 auto;align-items:center;gap:4px;max-width:100%;display:inline-flex}.last-modified-name{color:#111111b8;text-overflow:ellipsis;flex:0 auto;overflow:hidden}.last-modified-separator{color:#11111157;flex:none}.last-modified-time{color:#11111175;flex:none}.last-modified-legend[data-tooltip]:after{text-align:left;white-space:nowrap;width:max-content;max-width:min(420px,100vw - 24px)}@media (max-width:640px){.last-modified-legend[data-tooltip]:after{white-space:normal;width:auto}}
.presence-cluster{isolation:isolate;flex:none;align-items:center;min-width:0;display:inline-flex}.presence-avatar,.presence-overflow{background:var(--paper);color:#111111bd;border:1px solid #1113;border-radius:999px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;margin-left:-5px;font-size:.52rem;font-weight:900;line-height:1;display:inline-flex;overflow:hidden}.presence-avatar:first-child,.presence-overflow:first-child{margin-left:0}.presence-avatar img{object-fit:cover;width:100%;height:100%;display:block}.presence-overflow{background:var(--ink);color:var(--paper);font-size:.5rem}.day-presence .presence-avatar,.day-presence .presence-overflow,.month-day-presence .presence-avatar,.month-day-presence .presence-overflow,.block-presence .presence-avatar,.block-presence .presence-overflow,.month-block-presence .presence-avatar,.month-block-presence .presence-overflow{width:18px;height:18px}.month-week-last-modified,.month-day-last-modified,.block-last-modified{gap:5px}.month-week-last-modified .last-modified-avatar,.month-day-last-modified .last-modified-avatar,.block-last-modified .last-modified-avatar{width:16px;height:16px}
.week-navigation{grid-column:2;justify-self:center;align-items:center;gap:clamp(16px,1.8vw,26px);min-width:0;display:inline-flex}.header-navigation-controls{flex:none;align-items:center;gap:6px;display:inline-flex}.week-header-actions,.month-header-actions{grid-column:3;justify-content:flex-end;justify-self:end;align-items:center;gap:6px;min-width:0;display:flex}.coach-athlete-view-button{background:var(--paper);border:1px solid var(--line);color:var(--ink);white-space:nowrap;border-radius:6px;align-items:center;gap:7px;min-height:32px;padding:0 9px;font-size:.78rem;font-weight:750;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.coach-athlete-view-button svg{opacity:1;width:17px;height:17px}.coach-athlete-view-button:hover,.coach-athlete-view-button:focus-visible{background:var(--soft-fill);border-color:var(--ink);outline:0}
.athlete-visibility-button{background:var(--paper);border:1px solid var(--line);white-space:nowrap;border-radius:6px;align-items:center;gap:7px;min-width:172px;min-height:32px;padding:0 9px;font-weight:750;transition:background .12s,border-color .12s;display:inline-flex}.athlete-visibility-button:hover,.athlete-visibility-button:focus-visible{background:var(--soft-fill);border-color:var(--ink);outline:0}.athlete-visibility-button svg{opacity:.76;width:15px;height:15px}.athlete-visibility-button-status{border:1px solid var(--soft-line);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-width:58px;min-height:20px;padding:0 7px;font-size:.68rem;line-height:1;transition:background .16s,border-color .16s,color .16s,opacity .16s,transform .16s;display:inline-flex;overflow:hidden}.athlete-visibility-button-dot{border-radius:999px;width:6px;height:6px}.athlete-visibility-button-status.is-hidden{color:var(--danger);background:#c7251a14;border-color:#c7251a2e}.athlete-visibility-button-status.is-hidden .athlete-visibility-button-dot{background:var(--danger)}.athlete-visibility-button-status.is-partial{color:#896f16;background:#896f1617;border-color:#896f1633}.athlete-visibility-button-status.is-partial .athlete-visibility-button-dot{background:#896f16}.athlete-visibility-button-status.is-visible{color:#168a3a;background:#168a3a17;border-color:#168a3a33}.athlete-visibility-button-status.is-visible .athlete-visibility-button-dot{background:#168a3a}.athlete-visibility-button-status.is-scheduled{color:#2563eb;background:#2563eb14;border-color:#2563eb33}.athlete-visibility-button-status.is-scheduled .athlete-visibility-button-dot{background:#2563eb}.athlete-visibility-button-status.is-loading{color:var(--muted);background:#1111110a;border-color:#1111111a}.athlete-visibility-button-status.is-loading .athlete-visibility-button-dot{opacity:.45;background:currentColor;animation:.9s ease-in-out infinite athlete-visibility-loading-pulse}.athlete-visibility-button-loading-bar{background:linear-gradient(90deg,#11111114,#11111138,#11111114) 0 0/200% 100%;border-radius:999px;width:34px;height:7px;animation:.96s ease-in-out infinite athlete-visibility-loading-sweep}@keyframes athlete-visibility-loading-pulse{0%,to{opacity:.32;transform:scale(.88)}50%{opacity:.72;transform:scale(1)}}@keyframes athlete-visibility-loading-sweep{0%{background-position:100% 0}to{background-position:-100% 0}}
.planner-history-actions{flex:none;align-items:center;gap:4px;display:inline-flex}.planner-history-button-shell{display:inline-flex;position:relative}.planner-history-button{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}.planner-history-button svg{opacity:.76;width:15px;height:15px}.planner-history-button:not(:disabled):hover,.planner-history-button:not(:disabled):focus-visible{background:var(--soft-fill);border-color:var(--ink);outline:0}.planner-history-button:disabled{cursor:not-allowed;opacity:.38}
.calendar-view-button,.week-nav-button,.week-today-button,.month-today-button{background:var(--paper);border:1px solid var(--line);border-radius:6px;flex:none;justify-content:center;align-items:center;height:28px;padding:0;display:inline-flex}.calendar-view-button{gap:6px;width:auto;padding:0 8px;font-size:.76rem;font-weight:800}.calendar-view-button svg{opacity:.76;flex:none;width:16px;height:16px}.calendar-view-button{transition:background .12s,border-color .12s}.calendar-view-button:hover,.calendar-view-button:focus-visible,.week-today-button:hover,.week-today-button:focus-visible,.month-today-button:hover,.month-today-button:focus-visible{background:var(--soft-fill);border-color:var(--ink);outline:0}.week-nav-button{opacity:.72;width:24px;font-size:.86rem;font-weight:850;transition:background .12s,border-color .12s,opacity .12s}.week-nav-button:not(:disabled):hover,.week-nav-button:not(:disabled):focus-visible{background:var(--soft-fill);border-color:var(--ink);opacity:1;outline:0}.week-nav-button:disabled{cursor:default;opacity:.24}.week-today-button,.month-today-button{gap:5px;padding:0 8px;font-size:.76rem;font-weight:750}.week-today-button svg,.month-today-button svg{opacity:.78;flex:none;width:14px;height:14px}

.calendar-grid{overscroll-behavior-x:contain;scrollbar-gutter:stable;grid-template-columns:repeat(7,minmax(180px,1fr));min-height:calc(100vh - 118px);padding-bottom:6px;display:grid;overflow-x:auto}.calendar-grid.sunday-collapsed{grid-template-columns:repeat(6,minmax(180px,1fr)) minmax(34px,40px)}.week-overview-screen{gap:12px;display:grid}.week-overview-header{display:block}.week-overview-header p{opacity:.62;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:800}.week-overview-header h2{margin:0;font-size:1rem}.month-title-row{width:100%;min-width:0}.month-title-control{grid-template-columns:minmax(0, var(--week-control-width)) minmax(0, 1fr) minmax(0, var(--week-control-width));align-items:center;gap:10px;width:100%;min-width:0;display:grid}.month-title-control h2{flex:0 1 var(--week-control-width);min-width:0}.month-picker{flex:none;min-width:0;position:relative}
.week-overview-header button{background:var(--paper);border:1px solid var(--line);border-radius:6px;height:28px;min-height:0;padding:0 8px;font-size:.76rem;font-weight:750}.week-overview-header .month-title-button{background:var(--soft-fill);letter-spacing:0;border-color:#1111111f;justify-content:space-between;align-items:center;gap:8px;min-width:154px;max-width:100%;height:34px;padding:0 10px 0 12px;font-size:1.08rem;font-weight:900;display:inline-flex}.week-overview-header .month-title-button:hover,.week-overview-header .month-title-button:focus-visible{border-color:var(--ink);background:#fff;outline:0}.month-picker-popover{background:var(--paper);border:1px solid var(--line);z-index:12;border-radius:8px;gap:10px;width:254px;padding:10px;display:grid;position:absolute;top:42px;left:0;box-shadow:0 16px 38px #1111111f}.month-picker-year{grid-template-columns:28px 1fr 28px;align-items:center;gap:6px;display:grid}.week-overview-header .month-picker-year button{width:28px;padding:0;font-size:.86rem;font-weight:850}.month-picker-year input{appearance:textfield;border:1px solid var(--line);text-align:center;border-radius:6px;width:100%;height:28px;font-size:.82rem;font-weight:850}.month-picker-year input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.month-picker-year input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.month-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.week-overview-header .month-picker-month{height:32px;padding:0 6px;font-size:.72rem;font-weight:800}.week-overview-header .month-picker-month:hover,.week-overview-header .month-picker-month:focus-visible{background:var(--soft-fill);outline:0}.week-overview-header .month-picker-month.selected{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.month-actions{flex-wrap:nowrap;grid-column:2;justify-content:center;justify-self:center;align-items:center;gap:clamp(16px,1.8vw,26px);min-width:0;display:flex}.month-header-actions{min-height:32px}.month-actions .header-navigation-controls>button{transition:background .12s,border-color .12s}.month-actions .header-navigation-controls>button:hover,.month-actions .header-navigation-controls>button:focus-visible{background:var(--soft-fill);border-color:var(--ink);outline:0}.month-actions .header-navigation-controls>button:first-child,.month-actions .header-navigation-controls>button:nth-child(3){opacity:.72;width:24px;padding:0;font-size:.86rem;font-weight:850}
.month-calendar{border-left:1px solid var(--line);border-top:1px solid var(--line);display:grid}.month-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays span{border-bottom:1px solid var(--line);border-right:1px solid var(--line);opacity:.58;text-transform:uppercase;padding:6px;font-size:.66rem;font-weight:850}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;display:grid}.month-day{background:var(--paper);border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);cursor:pointer;text-align:left;grid-template-rows:auto 1fr 26px;align-content:stretch;gap:6px;min-height:116px;padding:6px;display:grid;position:relative}:is(.month-day:has(.day-menu[open]),.month-day:has(.block-menu[open])){z-index:20}.month-day.unavailable{cursor:default}.month-day.unprogrammed-week{background:var(--paper)}.month-day.unprogrammed-week:not(.today) .month-day-number{opacity:.38;font-weight:750}.month-day.unprogrammed-week:hover,.month-day.unprogrammed-week:focus-visible{background:#11111106;outline:0}.month-day.outside-month{opacity:.36}.month-day.today{background:#11111117}.month-day.is-selected,.month-day.is-partial{background:#1111110e}.month-day.is-selected{box-shadow:inset 0 0 0 1px #11111152}.month-day.is-partial{box-shadow:inset 0 0 0 1px #11111124}.month-day.drop-target{background:#1111;box-shadow:inset 0 0 0 2px #111111b8}.month-day.today .month-day-number{background:var(--ink);color:var(--paper);opacity:1;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;display:inline-flex}.month-day-top{align-items:center;gap:5px;width:100%;min-width:0;display:flex}.month-day-number{opacity:.76;font-size:.78rem;font-weight:850}.month-day-presence{margin-right:auto}.month-day-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.month-day-preview-button{opacity:0;pointer-events:none;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:opacity .12s;display:inline-flex}.month-day-preview-button svg{opacity:.7;width:14px;height:14px}
.month-day-blocks{align-content:start;gap:4px;min-width:0;display:grid}.month-block-pill{background:var(--block-bg,var(--paper));border:1px solid var(--soft-line);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:5px;gap:1px;min-width:0;padding:4px 5px;display:grid;position:relative}.month-block-pill:active{cursor:grabbing}.month-block-pill.dragging{opacity:0;pointer-events:none;border:0;width:0;min-width:0;height:0;padding:0;position:absolute;overflow:hidden}.month-block-pill.drop-before{box-shadow:inset 0 2px 0 var(--ink)}.month-drop-preview{background:var(--block-bg,var(--soft-fill));border:1px dashed var(--block-color,var(--ink));opacity:.82;border-radius:5px;gap:1px;min-width:0;padding:4px 5px;animation:.15s ease-out drag-preview-in;display:grid;box-shadow:0 5px 14px #11111117}.month-drop-preview small{opacity:.58;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.54rem;font-weight:850;overflow:hidden}.month-drop-preview strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.month-block-pill.selected,.workout-block.selected{box-shadow:inset 0 0 0 1px var(--ink)}.month-block-pill small{opacity:.5;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.58rem;font-weight:850;overflow:hidden}.month-block-pill strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.month-block-presence{justify-self:start;margin-top:1px}.month-block-pill .month-block-empty-title,.month-drop-preview .month-block-empty-title{visibility:hidden}

.day-column{flex-direction:column;min-width:0;display:flex}.day-column.collapsed{min-width:34px}.day-column.drag-target-day .day-header,.day-column.drag-target-day .day-blocks{background:#1111110e}.day-column.drag-target-day .day-blocks{box-shadow:inset 0 0 0 1px #11111180}.day-column.is-selected .day-header,.day-column.is-selected .day-blocks,.day-column.is-partial .day-header,.day-column.is-partial .day-blocks{background:#1111110e}.day-column.is-selected .day-blocks{box-shadow:inset 0 0 0 1px #1111115c}.day-column.is-partial .day-blocks{box-shadow:inset 0 0 0 1px #11111129}.day-header{align-items:center;gap:5px;width:100%;padding:2px 6px 1px;display:flex}.day-column.collapsed .day-header{justify-content:center;align-items:center;gap:4px;min-height:26px;padding:2px 2px 1px}.scope-checkbox{accent-color:#2f6df6;cursor:pointer;opacity:0;pointer-events:none;flex:none;width:14px;height:14px;margin:0;padding:0;transition:opacity .12s;transform:translateY(-1px)}.day-select-checkbox{margin-left:auto}.day-header-actions{cursor:default;opacity:0;pointer-events:none;align-items:center;gap:2px;margin-left:auto;transition:opacity .12s;display:inline-flex}.day-shrink-button{color:var(--ink);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex}.day-shrink-button:hover,.day-shrink-button:focus-visible{background:var(--soft-fill);outline:0}.day-shrink-button svg{opacity:.95;width:15px;height:15px}.day-column.collapsed .day-header-actions{display:none}.day-header-actions .day-select-checkbox{margin-left:0}.scope-checkbox:disabled{cursor:default;opacity:0}.scope-checkbox:checked,.scope-checkbox:indeterminate{opacity:1;pointer-events:auto}.day-header-actions:has(.scope-checkbox:checked){opacity:1;pointer-events:auto}.day-header-actions:has(.scope-checkbox:indeterminate){opacity:1;pointer-events:auto}.day-column:hover .day-header-actions,.day-column:focus-within .day-header-actions,.day-header-actions:focus-within,.week-header:hover .week-select-checkbox:not(:disabled),.week-header:focus-within .week-select-checkbox:not(:disabled),.week-summary-button:hover .week-select-checkbox:not(:disabled),.week-summary-button:focus-within .week-select-checkbox:not(:disabled),.day-column:hover .day-select-checkbox:not(:disabled),.day-column:focus-within .day-select-checkbox:not(:disabled),.scope-checkbox:focus-visible{opacity:1;pointer-events:auto}.day-header strong{letter-spacing:.06em;opacity:.58;text-transform:uppercase;font-size:.64rem}.day-header span{opacity:.72;font-size:.66rem;font-weight:750}.day-header.today>span:not(.day-header-actions){background:var(--ink);color:var(--paper);opacity:1;border-radius:999px;align-items:center;min-height:20px;padding:0 7px;text-decoration:none;display:inline-flex}.day-column:has(.day-header.today) .day-blocks{background:#11111117}.day-column:has(.day-header.today) .day-header{background:#11111117}.day-blocks{border-right:1px solid var(--line);border-top:1px solid var(--line);flex:1;align-content:start;gap:6px;padding:6px;display:grid}.day-column.collapsed .day-blocks{padding:0}.day-column:first-child .day-blocks{border-left:1px solid var(--line)}.day-column.collapsed .collapsed-day-cell{background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:0;align-content:start;place-items:center;padding:6px 0 0;display:grid}.day-column.collapsed .collapsed-day-cell:hover,.day-column.collapsed .collapsed-day-cell:focus-visible{background:var(--soft-fill);outline:0}.collapsed-day-cell-icon{color:var(--ink);justify-content:center;align-items:center;width:100%;min-height:54px;display:inline-flex}.collapsed-day-cell-icon svg{opacity:.95;width:16px;height:16px}.empty-day{border:1px dashed var(--line);opacity:.55;text-align:center;border-radius:6px;min-height:54px;margin:0;padding:14px 8px;font-size:.78rem}.workout-block{background:var(--block-bg,var(--paper));border:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;gap:5px;padding:6px;display:grid;position:relative}.workout-block:active{cursor:grabbing}.workout-block.dragging{opacity:0;pointer-events:none;border:0;width:0;min-width:0;height:0;padding:0;position:absolute;overflow:hidden}.workout-block:hover,.workout-block:focus-within{z-index:12}.workout-block.readonly,.month-block-pill.readonly,.week-summary-button.readonly{cursor:default;-webkit-user-select:text;user-select:text}.workout-block.drop-before{box-shadow:inset 0 2px 0 var(--ink)}.day-blocks.drop-at-end{box-shadow:inset 0 -2px 0 var(--ink)}.day-column.drag-target-day .day-blocks.drop-at-end{box-shadow:inset 0 0 0 1px #11111180, inset 0 -2px 0 var(--ink)}
.drop-preview-block{background:var(--block-bg,var(--soft-fill));border:1px dashed var(--block-color,var(--ink));opacity:.84;border-radius:6px;gap:4px;padding:6px;animation:.15s ease-out drag-preview-in;display:grid;box-shadow:0 7px 18px #1111111a}.drop-preview-block span{opacity:.54;text-transform:uppercase;font-size:.6rem;font-weight:850}.drop-preview-block strong{font-size:.82rem;line-height:1.2}.block-meta-row{justify-content:space-between;align-items:center;gap:7px;min-height:22px;display:flex}.block-checkbox{accent-color:#2f6df6;flex:none;width:15px;height:15px;margin:0;padding:0}.block-type-label,.block-type-select{opacity:.58;text-transform:uppercase;background:0 0;border:0;border-radius:0;width:auto;padding:0;font-size:.64rem;font-weight:800}.block-type-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:inline-flex;overflow:hidden}.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:6px;flex:auto;min-width:34px;height:24px;margin-left:auto;padding:0;display:block}.drag-handle:active{cursor:grabbing}.drag-handle:focus-visible{outline:0}
.block-menu{position:relative}.block-card-actions,.month-block-actions{box-shadow:none;opacity:0;pointer-events:none;z-index:4;background:0 0;border:0;align-items:center;gap:2px;padding:0;transition:opacity .12s;display:inline-flex;position:absolute;top:5px;right:5px}.month-block-actions{top:4px;right:4px}.workout-block:hover .block-card-actions,.workout-block:focus-within .block-card-actions,.workout-block.selected .block-card-actions,.month-block-pill:hover .month-block-actions,.month-block-pill:focus-within .month-block-actions,.month-block-pill.selected .month-block-actions{opacity:1;pointer-events:auto}.block-menu summary{cursor:pointer;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;list-style:none;display:flex}.block-menu summary::-webkit-details-marker{display:none}.block-menu summary span{font-size:.98rem;line-height:1;display:block;transform:translateY(-1px)}.block-menu[open] summary{background:0 0;border-color:#0000}.week-menu,.day-menu{position:relative}.day-header-actions .day-menu,.month-day-actions .day-menu{opacity:0;pointer-events:none;transition:opacity .12s}.day-header-actions .day-menu[open],.day-header-actions .day-menu:focus-within,.month-day-actions .day-menu[open]{opacity:1;pointer-events:auto;z-index:30}.block-menu-content{background:var(--paper);border:1px solid var(--line);z-index:5;border-radius:6px;gap:6px;min-width:156px;padding:6px;display:grid;position:absolute;top:28px;right:0;box-shadow:0 10px 24px #11111114}.week-menu-content,.day-menu-content{min-width:190px}.block-menu-item{opacity:1;text-align:left;border-radius:5px;align-items:center;gap:7px;width:100%;min-height:28px;padding:0 8px;font-size:.68rem;transition:background .12s,opacity .12s;display:inline-flex}.block-menu-item:hover,.block-menu-item:focus-visible{background:var(--soft-fill);opacity:1}.block-menu-item svg,.block-menu-label svg{opacity:.74;flex:none;width:14px;height:14px}.block-menu-item.danger{color:var(--danger)}
.block-menu-color-row{gap:5px;padding:2px 2px 4px;display:grid}.block-menu-label{opacity:.52;text-transform:uppercase;align-items:center;gap:6px;font-size:.58rem;font-weight:850;display:inline-flex}.block-menu-swatches{gap:5px;display:flex}.block-menu-swatch{background:var(--swatch-bg);border:1px solid var(--swatch-color);border-radius:999px;flex:none;width:16px;height:16px;min-height:0;padding:0;transition:box-shadow .12s}.block-menu-swatch:hover,.block-menu-swatch:focus-visible{box-shadow:0 0 0 2px var(--paper), 0 0 0 3px #1111113d}.block-menu-swatch.selected{box-shadow:0 0 0 2px var(--paper), 0 0 0 3px var(--ink)}
.block-title,.block-title-text{overflow-wrap:anywhere;border:0;border-radius:0;padding:2px 0 5px;font-size:.92rem;font-weight:850;display:block}.block-description,.block-description-preview{min-height:34px;padding:7px;font-size:.86rem;line-height:1.4}.block-description-preview{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;padding:0}.block-description-preview.empty{opacity:.46}.block-last-modified{width:100%;padding-top:1px}.block-presence{margin-left:auto}
.movement-inline-wrapper{display:inline;position:relative}.movement-inline-link{color:inherit;text-underline-offset:2px;font-weight:850;-webkit-text-decoration:underline #11111157;text-decoration:underline #11111157;text-decoration-thickness:1px}.movement-inline-link:hover,.movement-inline-link:focus-visible{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.movement-video-preview{background:var(--paper);border:1px solid var(--line);opacity:0;pointer-events:none;z-index:42;border-radius:8px;gap:7px;width:190px;padding:7px;transition:opacity .12s,transform .12s;display:grid;position:absolute;top:calc(100% + 7px);left:0;transform:translateY(-3px);box-shadow:0 14px 40px #11111129}.movement-inline-wrapper:hover .movement-video-preview,.movement-inline-wrapper:focus-within .movement-video-preview{opacity:1;transform:translateY(0)}.movement-video-preview img,.movement-video-placeholder{aspect-ratio:16/9;background:var(--soft-fill);object-fit:cover;border-radius:5px;width:100%;display:block}.movement-video-placeholder{opacity:.7;justify-content:center;align-items:center;font-size:.74rem;font-weight:850;display:flex}.movement-video-preview>span:last-child{gap:1px;display:grid}.movement-video-preview strong{font-size:.76rem;line-height:1.15}.movement-video-preview small{opacity:.58;font-size:.66rem}@media (hover:none),(pointer:coarse){.movement-inline-link{background:#1111110f;border-radius:4px;padding:1px 4px;text-decoration:none}.movement-video-preview{display:none}}


.modal-backdrop{overscroll-behavior:contain;padding:18px;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));z-index:30;background:#11111147;justify-content:safe center;align-items:safe center;display:flex;position:fixed;inset:0;overflow:auto}.block-types-modal-backdrop{z-index:80}.block-modal{background:var(--paper);border-radius:10px;gap:22px;width:min(620px,100%);max-height:min(720px,100dvh - 36px);padding:24px 26px 20px;display:grid;overflow:auto;box-shadow:0 22px 70px #11111138}.block-modal,.day-preview-modal,.confirm-modal{overflow-wrap:anywhere}.block-editor-modal{width:min(1040px,100%);max-height:min(860px,100dvh - 36px)}.block-editor-modal,.week-editor-modal{grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.block-editor-modal .block-editor-layout,.week-editor-modal .modal-fields{min-height:0;padding-right:2px;overflow:auto}.day-preview-modal{background:var(--paper);border-radius:10px;gap:16px;width:min(680px,100%);max-height:min(760px,100dvh - 36px);padding:22px 24px 20px;display:grid;overflow:auto;box-shadow:0 22px 70px #11111138}.block-modal-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.block-modal-header>div{min-width:0}.block-modal-header p{opacity:.52;text-transform:uppercase;margin:0 0 6px;font-size:.7rem;font-weight:850}.block-modal-header h2{overflow-wrap:anywhere;margin:0;font-size:1rem}.modal-close{color:#1116;background:0 0;border:0;border-radius:6px;width:30px;height:30px;padding:0;font-size:1.8rem;line-height:1;transition:background .12s,color .12s}.modal-close:hover,.modal-close:focus-visible{background:var(--soft-fill);color:var(--ink);outline:0}.modal-fields{gap:14px;display:grid}.block-editor-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);align-items:start;gap:18px;min-height:0;display:grid}.block-editor-fields{min-width:0}.block-editor-modal .modal-textarea{min-height:180px;max-height:min(360px,42dvh);overflow:auto}
.modal-field{gap:6px;display:grid}.modal-field-compact{max-width:220px}.block-type-editor-field{max-width:262px}.block-type-field-header{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.modal-field .block-type-field-header>span{opacity:.72;font-size:.76rem;font-weight:700}.block-type-control-row{grid-template-columns:minmax(0,228px) 28px;align-items:center;gap:6px;min-width:0;display:grid}.block-type-control-row .block-type-select,.block-type-control-row .block-type-trigger{width:100%}.block-type-settings-button{color:#1111119e;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:color .12s;display:inline-flex}.block-type-settings-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:15px;height:15px}.block-type-settings-button:hover,.block-type-settings-button:focus-visible{color:#002fa7;background:0 0}.block-type-settings-button:focus-visible{outline-offset:2px;outline:1px solid #002fa7}.block-type-settings-button:after{z-index:240;top:calc(100% + 8px);bottom:auto}.block-type-settings-button:hover{outline:0}.block-type-select{opacity:1;text-transform:none;display:inline-block;position:relative}.block-type-trigger{background:var(--paper);border:1px solid var(--soft-line);color:var(--ink);border-radius:7px;justify-content:flex-start;align-items:center;gap:7px;min-width:148px;min-height:36px;padding:0 10px;font-size:.8rem;font-weight:800;transition:background .12s,border-color .12s;display:inline-flex}.block-type-trigger:hover,.block-type-trigger:focus-visible,.block-type-select:focus-within .block-type-trigger{background:var(--soft-fill);border-color:var(--ink);outline:0}.block-type-select svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:15px;height:15px}.block-type-menu{background:var(--paper);border:1px solid var(--line);overscroll-behavior:contain;scrollbar-gutter:stable;z-index:48;border-radius:9px;gap:2px;min-width:236px;max-height:min(240px,100dvh - 180px);padding:4px;display:grid;position:absolute;top:calc(100% + 5px);left:0;overflow:hidden auto;box-shadow:0 14px 28px #11111121}.block-type-option{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:46px;padding:7px 8px;transition:background .12s;display:flex}.block-type-option:hover,.block-type-option:focus-visible,.block-type-option.is-selected{background:var(--soft-fill);outline:0}.block-type-option-main{align-items:center;gap:8px;display:flex}.modal-field .block-type-trigger span,.modal-field .block-type-option span{font-size:inherit;opacity:1}.block-type-option-main>span{gap:2px;display:grid}.block-type-option strong{font-size:.76rem}.block-type-option small{opacity:.62;white-space:nowrap;font-size:.66rem}.block-type-option .block-type-check{stroke-width:2.5px;width:15px;height:15px}
.block-types-modal{width:min(860px,100%);max-height:min(760px,100dvh - 36px);overflow:hidden}.block-modal-header .block-types-modal-description{opacity:.58;text-transform:none;max-width:620px;margin:5px 0 0;font-size:.72rem;font-weight:600;line-height:1.4}.block-types-editor{border:1px solid var(--soft-line);grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);min-height:0;display:grid}.block-types-list-panel{background:var(--soft-fill);border-right:1px solid var(--soft-line);grid-template-rows:auto minmax(0,1fr);gap:6px;min-width:0;padding:10px;display:grid}.block-types-list-toolbar{grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:6px;min-width:0;display:grid}
.block-types-search-field{min-width:0;position:relative}.block-types-search-field svg{color:#1111116b;pointer-events:none;stroke-width:1.8px;width:13px;height:13px;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.block-types-search-field input{background:var(--paper);border:1px solid var(--soft-line);border-radius:5px;width:100%;min-width:0;height:28px;padding:0 8px 0 28px;font-size:.7rem}.block-types-search-field input:focus{border-color:#002fa7;outline:0}.block-types-list{align-content:start;gap:4px;max-height:420px;padding-right:2px;display:grid;position:relative;overflow:hidden auto}.block-types-search-empty{opacity:.52;margin:12px 8px;font-size:.7rem}.block-types-list-item{color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-height:44px;padding:0 4px 0 0;transition:background .12s,border-color .12s,box-shadow .12s,opacity .12s;display:grid}.block-types-list-select{color:inherit;cursor:grab;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:44px;padding:7px;display:grid}.block-types-list-select:active{cursor:grabbing}
.block-types-list-item.is-dragging{opacity:0;pointer-events:none;border:0;width:0;height:0;min-height:0;padding:0;position:absolute;overflow:hidden}.block-types-drop-preview{background:var(--paper);border-color:var(--ink);border-style:dashed;box-shadow:0 6px 16px #1111111a}.block-types-drop-preview .block-types-list-select{cursor:grabbing}.native-drag-image{transform:rotate(.8deg)scale(.98);opacity:.94!important;pointer-events:none!important;z-index:10000!important;position:fixed!important;top:-10000px!important;left:-10000px!important;box-shadow:0 12px 28px #1113!important}.native-drag-image .block-card-actions,.native-drag-image .month-block-actions,.native-drag-image .block-types-list-visibility-button{display:none!important}@keyframes drag-preview-in{0%{opacity:.35;transform:scale(.985)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.drop-preview-block,.month-drop-preview,.block-types-drop-preview{animation:none}}
.block-types-list-item:hover,.block-types-list-item:focus-within,.block-types-list-item.is-selected{background:var(--paper);border-color:var(--line);outline:0}.block-types-list-select:focus-visible,.block-types-list-visibility-button:focus-visible{outline:0}.block-types-list-item.is-hidden .block-types-list-select{opacity:.58}.block-types-list-label{align-items:center;gap:6px;min-width:0;display:flex}.block-types-list-label strong{min-width:0}.block-types-list-item strong,.block-type-detail-heading strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.block-type-detail-status-row{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.block-type-origin-icon{flex:none;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.block-type-origin-icon svg{stroke-width:1.65px;width:13px;height:13px}.block-type-origin-icon.is-base{color:#1111117a}.block-type-origin-icon.is-organization{color:#002fa7}.block-type-origin-badge{border:1px solid var(--soft-line);text-transform:uppercase;border-radius:999px;align-items:center;min-height:17px;padding:0 6px;font-size:.58rem;font-weight:850;line-height:1;display:inline-flex}.block-type-origin-badge.is-base{color:#111111b8;background:#1111110e}.block-type-origin-badge.is-organization{color:#002fa7;background:#002fa714;border-color:#002fa72e}.block-types-list-visibility-button{background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.block-types-list-visibility-button svg{stroke-width:1.45px;width:16px;height:16px}.block-types-list-visibility-button.is-visible{color:#168a3a}.block-types-list-visibility-button.is-hidden{color:var(--danger)}.block-types-list-visibility-button:not(:disabled):hover,.block-types-list-visibility-button:not(:disabled):focus-visible{background:var(--soft-fill)}.block-types-list-visibility-button:disabled{cursor:not-allowed;opacity:.42}.block-types-list-item:first-child .block-types-list-visibility-button:after{top:calc(100% + 8px);bottom:auto}.block-type-detail-heading-subtitle,.block-type-visibility-control small{opacity:.58;font-size:.66rem}.block-types-add-button{border:1px solid var(--soft-line);color:#11111194;background:0 0;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1rem;font-weight:650;line-height:1;transition:background .12s,border-color .12s,color .12s;display:flex}.block-types-add-button:not(:disabled):hover,.block-types-add-button:not(:disabled):focus-visible{background:var(--paper);color:#002fa7;border-color:#002fa7;outline:0}.block-types-add-button:disabled{cursor:not-allowed;opacity:.42}
.block-type-detail-panel input{min-height:34px;padding:0 10px}.block-type-detail-panel input:disabled{background:var(--soft-fill);cursor:not-allowed;opacity:.62}.block-type-detail-panel{align-content:start;gap:14px;min-width:0;padding:16px;display:grid;overflow:auto}.block-type-detail-heading{border-bottom:1px solid var(--soft-line);padding-bottom:12px}.block-type-detail-heading>div{gap:2px;min-width:0;display:grid}.block-type-visibility-control{border:1px solid var(--soft-line);border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.block-type-visibility-button{border:1px solid;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.block-type-visibility-button svg{width:18px;height:18px}.block-type-visibility-button.is-visible{color:#168a3a;background:#168a3a1a}.block-type-visibility-button.is-hidden{color:var(--danger);background:#c7251a1a}.block-type-visibility-button:not(:disabled):hover,.block-type-visibility-button:not(:disabled):focus-visible{background:var(--paper);outline:0;box-shadow:0 0 0 3px}.block-type-visibility-button:disabled{cursor:not-allowed;opacity:.42}.block-type-visibility-control span{gap:2px;min-width:0;display:grid}.block-type-visibility-control strong{font-size:.78rem}
.block-type-detail-actions,.block-types-modal-footer{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.block-type-detail-actions small{opacity:.58;font-size:.66rem}.block-type-detail-actions{border-top:1px solid var(--soft-line);padding-top:12px}.block-types-modal-footer{justify-content:flex-end}.block-type-detail-actions .secondary-action,.block-type-detail-actions .secondary-danger-action,.block-types-modal-footer .secondary-action,.block-types-modal-footer .primary-action{border:1px solid var(--line);border-radius:7px;justify-content:center;align-items:center;min-height:34px;padding:0 11px;font-size:.76rem;font-weight:800;display:inline-flex}.block-type-detail-actions .secondary-action,.block-types-modal-footer .secondary-action{background:var(--paper);color:var(--ink)}.block-type-detail-actions .secondary-danger-action{background:var(--paper);color:var(--danger)}.block-types-modal-footer .primary-action{background:var(--ink);border-color:var(--ink);color:var(--paper);min-width:58px}.block-types-save-spinner{opacity:.78;border:2px solid;border-right-color:#0000;border-radius:50%;width:13px;height:13px;animation:.68s linear infinite planner-action-spin}.block-type-detail-actions button:disabled,.block-types-modal-footer button:disabled{cursor:not-allowed;opacity:.42}.block-type-detail-actions button:not(:disabled):hover,.block-type-detail-actions button:not(:disabled):focus-visible,.block-types-modal-footer .secondary-action:not(:disabled):hover,.block-types-modal-footer .secondary-action:not(:disabled):focus-visible,.block-types-modal-footer .primary-action:not(:disabled):hover,.block-types-modal-footer .primary-action:not(:disabled):focus-visible{background:var(--soft-fill);border-color:var(--ink);color:var(--ink);outline:0}.block-types-form-error{color:var(--danger);margin:0;font-size:.74rem;font-weight:760}

.modal-field span,.color-field legend{opacity:.72;font-size:.76rem;font-weight:700}.modal-field .character-counter{color:#11111194;font-variant-numeric:tabular-nums;opacity:1;text-align:right;align-self:end;font-size:.7rem;font-weight:800;line-height:1}.modal-field .character-counter.near-limit{color:#9a6700}.modal-field .character-counter.at-limit{color:var(--danger)}.modal-field input,.modal-field select,.modal-textarea{min-height:36px;padding:8px 10px;font-size:.9rem}.modal-textarea{min-height:120px;line-height:1.45}.week-notes-textarea{min-height:220px;max-height:min(420px,48dvh);overflow:auto}
.movement-assistant{border:1px solid var(--soft-line);border-radius:8px;gap:10px;padding:11px;display:grid}.block-editor-assistant{align-self:start;max-height:calc(100dvh - 180px);overflow:auto}.movement-assistant>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.movement-assistant>header div{gap:2px;display:grid}.movement-assistant strong{font-size:.82rem}.movement-assistant span,.movement-empty-state,.movement-detected-note{opacity:.58;font-size:.72rem;line-height:1.3}.movement-empty-state,.movement-detected-note{margin:0}.movement-secondary-button,.movement-video-link,.movement-link-toggle,.movement-video-form button,.movement-create-form button{background:var(--paper);border:1px solid var(--line);border-radius:6px;align-items:center;gap:5px;min-height:28px;padding:0 9px;font-size:.74rem;font-weight:800;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.movement-secondary-button{white-space:nowrap}.movement-assistant .movement-secondary-button-plus{color:var(--ink);opacity:1;font-size:.9rem;line-height:1}.movement-secondary-button:hover,.movement-secondary-button:focus-visible,.movement-video-link:hover,.movement-video-link:focus-visible,.movement-link-toggle:hover,.movement-link-toggle:focus-visible,.movement-video-form button:hover,.movement-video-form button:focus-visible,.movement-create-form button:hover,.movement-create-form button:focus-visible{background:var(--soft-fill);border-color:var(--ink);outline:0}.movement-link-toggle svg,.movement-video-link svg{width:13px;height:13px}.movement-link-toggle.is-linked{color:#1f7a48;background:#2c8b561a;border-color:#2c8b566b}.movement-link-toggle.is-linked:hover,.movement-link-toggle.is-linked:focus-visible{border-color:var(--danger);color:var(--danger);background:#c7251a17}.movement-link-active-label,.movement-link-remove-label{align-items:center;gap:5px;display:inline-flex}.movement-link-remove-label,.movement-link-toggle.is-linked:hover .movement-link-active-label,.movement-link-toggle.is-linked:focus-visible .movement-link-active-label{display:none}.movement-link-toggle.is-linked:hover .movement-link-remove-label,.movement-link-toggle.is-linked:focus-visible .movement-link-remove-label{display:inline-flex}.movement-video-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.movement-detected-list{gap:7px;display:grid}.movement-detected-row{background:var(--soft-fill);border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.movement-detected-row>div{gap:2px;min-width:0;display:grid}.movement-video-form{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;display:grid}.movement-video-form input,.movement-create-form input{min-height:30px;padding:6px 8px}.movement-create-form{border-top:1px solid var(--soft-line);gap:9px;padding-top:10px;display:grid}.movement-create-form label{gap:5px;display:grid}.movement-create-form footer{justify-content:flex-end;gap:7px;display:flex}.movement-create-form footer button:last-child{background:var(--ink);border-color:var(--ink);color:var(--paper)}.movement-create-form footer button:last-child:hover,.movement-create-form footer button:last-child:focus-visible{background:var(--soft-fill);border-color:var(--ink);color:var(--ink)}
.danger-action{background:var(--danger);color:var(--paper)}.confirm-modal-backdrop{overscroll-behavior:contain;padding:18px;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));z-index:36;background:#11111138;justify-content:safe center;align-items:safe center;display:flex;position:fixed;inset:0;overflow:auto}.confirm-modal{background:var(--paper);border:1px solid var(--soft-line);border-radius:10px;gap:14px;width:min(420px,100%);max-height:calc(100dvh - 36px);padding:20px;display:grid;overflow:auto;box-shadow:0 22px 70px #1111113d}.confirm-modal header,.confirm-modal footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.confirm-modal h3{color:var(--danger);margin:0;font-size:1rem}.confirm-modal p{opacity:.76;margin:0;line-height:1.4}.confirm-modal button:not(.modal-close){border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 14px;font-weight:800;display:inline-flex}.confirm-modal button:disabled{cursor:not-allowed;opacity:.46}
.color-field{border:0;margin:0;padding:0}.color-swatches{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.color-swatch{background:0 0;border:0;border-radius:999px;flex:none;width:34px;height:34px;min-height:34px;padding:0;position:relative}.color-swatch:before{background:radial-gradient(circle at center, var(--swatch-bg) 0 50%, transparent 52%), var(--paper);border:2px solid var(--swatch-color);border-radius:inherit;content:"";transition:box-shadow .12s;position:absolute;inset:5px}.color-swatch:hover:before,.color-swatch:focus-visible:before{box-shadow:0 0 0 3px var(--paper), 0 0 0 5px #1111113d}.color-swatch:focus-visible{outline:0}.color-swatch.selected:before{box-shadow:0 0 0 3px var(--paper), 0 0 0 5px var(--ink)}
.modal-actions{background:var(--paper);z-index:1;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;margin-bottom:-1px;padding-top:2px;display:grid;position:sticky;bottom:0}.block-editor-modal .modal-actions,.week-editor-modal .modal-actions{border-top:1px solid var(--soft-line);padding-top:12px;position:static}.modal-actions button{border:0;border-radius:8px;min-height:36px;padding:0 14px;font-weight:800}.modal-danger-actions{align-items:center;gap:12px;display:inline-flex}.modal-actions .delete-action{color:var(--danger);background:0 0;padding-left:0}.modal-actions .delete-button-action{background:var(--danger);color:var(--paper);padding:0 14px}.modal-actions .secondary-action{background:var(--soft-fill)}.modal-actions .primary-action{background:var(--ink);color:var(--paper)}.block-editor-modal .modal-actions button,.week-editor-modal .modal-actions button,.confirm-modal button:not(.modal-close){transition:background .12s,box-shadow .12s,color .12s}.block-editor-modal .modal-actions .delete-action,.week-editor-modal .modal-actions .delete-action{border-radius:6px;padding:0 10px}.block-editor-modal .modal-actions .delete-action:not(:disabled):hover,.block-editor-modal .modal-actions .delete-action:not(:disabled):focus-visible,.week-editor-modal .modal-actions .delete-action:not(.delete-button-action):not(:disabled):hover,.week-editor-modal .modal-actions .delete-action:not(.delete-button-action):not(:disabled):focus-visible{background:#b32d2314;outline:0}.block-editor-modal .modal-actions .secondary-action:not(:disabled):hover,.block-editor-modal .modal-actions .secondary-action:not(:disabled):focus-visible,.week-editor-modal .modal-actions .secondary-action:not(:disabled):hover,.week-editor-modal .modal-actions .secondary-action:not(:disabled):focus-visible,.confirm-modal .secondary-action:not(:disabled):hover,.confirm-modal .secondary-action:not(:disabled):focus-visible{box-shadow:inset 0 0 0 1px var(--line);background:#e7e7e5;outline:0}.block-editor-modal .modal-actions .primary-action:not(:disabled):hover,.block-editor-modal .modal-actions .primary-action:not(:disabled):focus-visible,.week-editor-modal .modal-actions .primary-action:not(:disabled):hover,.week-editor-modal .modal-actions .primary-action:not(:disabled):focus-visible{background:var(--soft-fill);box-shadow:inset 0 0 0 1px var(--ink);color:var(--ink);outline:0}.week-editor-modal .modal-actions .delete-button-action:not(:disabled):hover,.week-editor-modal .modal-actions .delete-button-action:not(:disabled):focus-visible,.confirm-modal .danger-action:not(:disabled):hover,.confirm-modal .danger-action:not(:disabled):focus-visible{background:#98271f;outline:0;box-shadow:inset 0 0 0 1px #1111111f}.modal-actions button:disabled{cursor:not-allowed;opacity:.44}
.new-week-modal{width:min(520px,100%)}.new-week-options{gap:10px;display:grid}.new-week-option{background:var(--paper);border:1px solid var(--line);text-align:left;border-radius:8px;align-items:start;gap:4px;min-height:72px;padding:14px;transition:background .12s,border-color .12s;display:grid}.new-week-option:hover,.new-week-option:focus-visible{background:var(--soft-fill);border-color:var(--ink);outline:0}.new-week-option strong{font-size:.92rem}.new-week-option span{opacity:.62;font-size:.82rem}

.team-access-modal{gap:18px;width:min(980px,100%);max-height:min(820px,100dvh - 36px)}.team-access-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.team-access-summary span{background:var(--soft-fill);border:1px solid var(--soft-line);opacity:.9;border-radius:8px;gap:3px;min-height:58px;padding:10px;font-size:.72rem;font-weight:750;display:grid}.team-access-summary strong{font-size:1rem}.team-section{border:1px solid var(--soft-line);border-radius:9px;gap:12px;padding:14px;display:grid}.team-section-heading{gap:3px;display:grid}.team-section-heading h3{margin:0;font-size:.94rem}.team-section-heading p{opacity:.58;margin:0;font-size:.74rem;line-height:1.35}.team-access-modal .primary-action,.team-access-modal .secondary-action,.team-access-modal .secondary-danger-action{border:1px solid var(--line);border-radius:7px;align-items:center;gap:7px;min-height:34px;padding:0 11px;font-size:.76rem;font-weight:800;display:inline-flex}.team-access-modal .primary-action{background:var(--ink);border-color:var(--ink);color:var(--paper)}.team-access-modal .primary-action:disabled,.team-access-modal .secondary-danger-action:disabled{cursor:not-allowed;opacity:.36}.team-access-modal .secondary-action{background:var(--paper)}.team-access-modal .secondary-danger-action{background:var(--paper);color:var(--danger)}.athlete-view-modal-button{justify-self:flex-start}.team-access-modal button svg{width:14px;height:14px}
.athlete-visibility-modal{width:min(900px,100%)}.athlete-visibility-section{gap:14px}.athlete-visibility-mode-heading{margin:0;font-size:.94rem;line-height:1.35}.athlete-visibility-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.athlete-visibility-mode-card{background:var(--paper);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;min-height:104px;padding:12px;display:grid}.athlete-visibility-mode-card:hover,.athlete-visibility-mode-card:focus-visible{border-color:color-mix(in srgb, var(--ink) 26%, var(--soft-line));outline:none}.athlete-visibility-mode-card.is-selected{background:var(--soft-fill);border-color:color-mix(in srgb, var(--ink) 48%, var(--soft-line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 18%, transparent)}.athlete-visibility-mode-icon{background:var(--soft-fill);border:1px solid var(--soft-line);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.athlete-visibility-mode-icon svg{width:15px;height:15px}.athlete-visibility-mode-card>span:last-child{gap:5px;min-width:0;display:grid}.athlete-visibility-mode-card strong{font-size:.84rem}.athlete-visibility-mode-card small{opacity:.62;font-size:.72rem;line-height:1.35}
.athlete-visibility-controls{grid-template-columns:minmax(220px,.48fr) minmax(0,1fr);align-items:end;gap:10px;display:grid}.athlete-visibility-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.athlete-visibility-list-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.athlete-visibility-list-heading>div{gap:4px;min-width:0;display:grid}.athlete-visibility-access-title{align-items:baseline;gap:8px;display:flex}.athlete-visibility-access-count{font-variant-numeric:tabular-nums;opacity:.5;font-size:.68rem;font-weight:750}.athlete-visibility-bulk-action{white-space:nowrap;justify-self:end}.athlete-visibility-note{background:var(--soft-fill);border:1px solid var(--soft-line);border-radius:8px;margin:0;padding:10px;font-size:.74rem;line-height:1.35}.athlete-visibility-list{border:1px solid var(--soft-line);border-radius:8px;max-height:300px;display:grid;overflow:auto}.athlete-visibility-row{border-bottom:1px solid var(--soft-line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:58px;padding:10px;display:grid}.athlete-visibility-row:last-child{border-bottom:0}.athlete-visibility-row>span:first-child{gap:3px;min-width:0;display:grid}.athlete-visibility-row strong,.athlete-default-toggle strong{font-size:.82rem}.athlete-visibility-row small,.athlete-default-toggle small{opacity:.56;font-size:.7rem;line-height:1.3}.athlete-visibility-row input,.athlete-default-toggle input{accent-color:var(--ink);cursor:pointer;width:18px;height:18px;margin:0;padding:0}.athlete-visibility-status{border:1px solid var(--soft-line);border-radius:999px;align-items:center;gap:6px;min-height:25px;padding:0 9px;font-size:.68rem;font-weight:850;display:inline-flex}.athlete-visibility-status small{opacity:.52;text-transform:uppercase;font-size:.58rem;font-weight:850}.athlete-visibility-status.is-visible{color:#168a3a;background:#168a3a17;border-color:#168a3a38}.athlete-visibility-status.is-hidden{color:var(--danger);background:#c7251a14;border-color:#c7251a33}.athlete-visibility-status.is-scheduled{color:#896f16;background:#896f1617;border-color:#896f1638}
.athlete-default-toggle{border:1px solid var(--soft-line);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.athlete-default-toggle span{gap:3px;min-width:0;display:grid}.athlete-default-grid,.athlete-scheduled-grid{grid-template-columns:minmax(0,1fr) 140px minmax(180px,1fr);gap:10px;display:grid}.athlete-scheduled-grid .modal-field{min-width:0}.athlete-scheduled-grid input,.athlete-scheduled-grid select{width:100%;min-width:0;height:36px;display:block}.athlete-scheduled-grid select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 8l5 5 5-5' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;padding-right:32px;line-height:1.2}.athlete-visibility-footer{border-top:1px solid var(--soft-line);padding-top:12px}
@media (max-width:720px){.athlete-visibility-controls,.athlete-visibility-list-heading,.athlete-visibility-mode-grid,.athlete-default-grid,.athlete-scheduled-grid,.athlete-visibility-row{grid-template-columns:1fr}.athlete-visibility-bulk-action{justify-self:stretch}.athlete-visibility-row{align-items:stretch}.athlete-visibility-status{justify-self:flex-start}}
@media (max-height:760px){.modal-backdrop,.confirm-modal-backdrop{align-items:flex-start}.block-modal,.day-preview-modal{gap:14px;padding:16px 18px}.confirm-modal{padding:16px}.block-editor-modal,.team-access-modal{gap:14px}.block-modal-header{gap:12px}.modal-fields{gap:10px}.modal-textarea{min-height:96px}.block-editor-modal .modal-textarea{min-height:120px}.week-notes-textarea{min-height:140px}.block-editor-layout{gap:14px}.movement-assistant,.team-section{gap:10px;padding:11px}.team-access-summary span{min-height:48px;padding:8px}}@media (max-height:620px){.block-modal,.day-preview-modal,.confirm-modal{gap:10px;padding:12px 14px}.block-modal-header p{margin-bottom:3px}.modal-textarea,.block-editor-modal .modal-textarea,.week-notes-textarea{min-height:82px}.block-editor-assistant{max-height:34dvh}.new-week-option{min-height:56px;padding:10px}}
.team-empty-state{border:1px dashed var(--line);opacity:.58;text-align:center;border-radius:8px;margin:0;padding:18px;font-size:.78rem}

.shared-program-shell{background:var(--paper);align-content:start;gap:18px;min-height:100vh;padding:clamp(16px,3vw,34px);display:grid}.shared-program-status-shell{grid-template-rows:auto minmax(0,1fr);align-content:stretch;justify-items:stretch}.shared-program-status-card{background:var(--paper);place-self:center}.shared-program-header{justify-content:space-between;align-items:start;gap:18px;width:100%;max-width:1120px;margin:0 auto;display:flex}.shared-program-header .brand-lockup>span:not([data-brand-mark]){font-size:1rem;font-weight:900}.shared-program-header-actions{justify-content:flex-end;align-items:flex-start;gap:10px;min-width:0;display:flex}.shared-program-actions{flex:none}.shared-program-actions .auth-menu{z-index:80}.shared-program-titlebar{justify-content:flex-end;align-items:flex-start;gap:10px;min-width:0;display:flex}.shared-program-meta{text-align:right;justify-items:end;gap:4px;min-width:0;display:grid}.shared-program-coach-mode{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;margin-top:4px;display:flex}.shared-program-coach-mode span,.shared-program-coach-mode a{border:1px solid var(--soft-line);border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:.68rem;font-weight:850;text-decoration:none;display:inline-flex}.shared-program-coach-mode span{background:var(--soft-fill);color:#111111a8}.shared-program-coach-mode a{background:var(--ink);border-color:var(--ink);color:var(--paper)}.shared-program-coach-mode a:hover,.shared-program-coach-mode a:focus-visible{background:#1b1b1b;outline:0}.shared-program-header p{opacity:.58;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:850}.shared-program-header h1{margin:0;font-size:clamp(1.25rem,2.3vw,2rem);line-height:1.08}.shared-program-panel{gap:14px;width:100%;max-width:1120px;margin:0 auto;display:grid}
.shared-week-navigation,.shared-month-calendar{background:var(--paper);border:1px solid var(--soft-line);border-radius:10px;gap:10px;padding:12px;display:grid}.shared-week-navigation-actions,.shared-month-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;display:flex}.shared-week-navigation-actions>.header-navigation-controls>button,.shared-month-actions>.header-navigation-controls>button{background:var(--paper);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:.76rem;font-weight:850;display:inline-flex}.shared-week-navigation-actions>.header-navigation-controls>button:disabled,.shared-month-actions>.header-navigation-controls>button:disabled{cursor:not-allowed;opacity:.38}.shared-week-navigation-actions>.header-navigation-controls>button:not(:disabled):hover,.shared-week-navigation-actions>.header-navigation-controls>button:not(:disabled):focus-visible,.shared-month-actions>.header-navigation-controls>button:not(:disabled):hover,.shared-month-actions>.header-navigation-controls>button:not(:disabled):focus-visible{background:var(--soft-fill);border-color:var(--ink);outline:0}.shared-today-button svg{width:14px;height:14px}.shared-refresh-button{min-width:92px}.shared-refresh-button svg,.shared-refresh-button .planner-action-spinner{width:14px;height:14px}
.shared-month-calendar header{justify-content:space-between;align-items:center;gap:12px;display:flex}.shared-month-calendar header>strong{font-size:.95rem}.shared-calendar-weekdays,.shared-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.shared-calendar-weekdays span{opacity:.52;text-align:center;text-transform:uppercase;font-size:.66rem;font-weight:850}.shared-calendar-day{background:var(--soft-fill);color:var(--ink);text-align:left;border:1px solid #0000;border-radius:8px;align-content:start;gap:6px;min-height:112px;padding:7px;display:grid}button.shared-calendar-day{cursor:pointer}button.shared-calendar-day:hover,button.shared-calendar-day:focus-visible{border-color:var(--ink);outline:0}.shared-calendar-day-heading{justify-content:space-between;align-items:center;gap:5px;min-width:0;display:flex}.shared-calendar-day-heading>span{font-size:.8rem;font-weight:850}.shared-calendar-day-heading>small{opacity:.62;font-size:.62rem;line-height:1.15}.shared-calendar-day-blocks{pointer-events:none}.shared-calendar-block-pill{cursor:pointer;-webkit-user-select:none;user-select:none}.shared-calendar-block-pill small{font-size:.56rem}.shared-calendar-block-pill strong{font-size:.72rem}.shared-calendar-more-blocks{background:var(--soft-fill);border:1px solid var(--soft-line);opacity:.72;border-radius:5px;padding:4px 5px;font-size:.68rem;font-weight:850}.shared-calendar-day.outside-month{opacity:.46}.shared-calendar-day.is-visible-week{background:var(--paper);border-color:var(--soft-line)}.shared-calendar-day.selected-week{background:var(--soft-fill);border-color:var(--ink)}.shared-calendar-day.today .shared-calendar-day-heading>span:first-child{text-underline-offset:3px;text-decoration:underline}.shared-empty-week-notice{background:var(--soft-fill);border:1px solid var(--soft-line);border-radius:8px;margin:0;padding:10px 12px;font-size:.82rem;font-weight:750}
.shared-week-strip{grid-template-columns:repeat(7,minmax(118px,1fr));padding-bottom:2px;overflow-x:auto}.shared-day-detail{border:1px solid var(--soft-line);border-radius:10px;padding:18px}.shared-day-detail h2{margin:0;font-size:1.12rem}.athlete-day-detail header p{opacity:.52;text-transform:uppercase;margin:0 0 5px;font-size:.7rem;font-weight:850}.athlete-day-detail h3{margin:0;font-size:1.08rem}.athlete-week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.athlete-week-strip button{background:var(--paper);border:1px solid var(--soft-line);text-align:left;border-radius:8px;gap:5px;min-height:82px;padding:10px;display:grid}.athlete-week-strip button:hover,.athlete-week-strip button:focus-visible,.athlete-week-strip button.selected{border-color:var(--ink);outline:0}.athlete-week-strip button.selected{background:var(--soft-fill)}.athlete-week-strip span{opacity:.58;text-transform:uppercase;font-size:.68rem;font-weight:850}.athlete-week-strip strong{font-size:.82rem}.athlete-week-strip small{opacity:.58;font-size:.68rem;line-height:1.25}
.athlete-day-detail{border-top:1px solid var(--soft-line);gap:14px;padding-top:16px;display:grid}.athlete-day-detail header{justify-content:space-between;align-items:start;gap:12px;display:flex}.athlete-day-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.athlete-day-detail header>span,.athlete-day-count{background:var(--soft-fill);border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:850}.athlete-expand-blocks-button{background:var(--paper);border:1px solid var(--line);border-radius:999px;flex:0 0 29px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:background .12s,border-color .12s;display:inline-flex}.athlete-expand-blocks-button:hover,.athlete-expand-blocks-button:focus-visible{background:var(--soft-fill);border-color:var(--ink);outline:0}.athlete-expand-blocks-button.is-expanded{background:var(--soft-fill)}.athlete-expand-blocks-button svg{width:14px;height:14px}.athlete-day-blocks{gap:10px;display:grid}.athlete-workout-card{background:var(--block-bg,var(--paper));border:1px solid var(--soft-line);border-radius:8px;gap:7px;padding:14px;display:grid}.athlete-workout-summary{cursor:pointer;justify-content:space-between;align-items:start;gap:12px;list-style:none;display:flex}.athlete-workout-summary::-webkit-details-marker{display:none}.athlete-workout-summary>div{gap:7px;min-width:0;display:grid}.athlete-workout-summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:6px}.athlete-workout-content{border-top:1px solid var(--soft-line);gap:7px;padding-top:10px;display:grid}.athlete-workout-card small{opacity:.56;text-transform:uppercase;font-size:.64rem;font-weight:850}.athlete-workout-card h4{margin:0;font-size:.98rem}.athlete-workout-card h3{margin:0;font-size:1rem}.athlete-workout-card p,.athlete-empty-day{white-space:pre-wrap;margin:0;line-height:1.45}.athlete-empty-day{opacity:.58}
.day-preview-content{gap:10px;display:grid}.day-preview-block{background:var(--block-bg,var(--paper));border:1px solid var(--soft-line);border-radius:7px;gap:5px;padding:11px 12px;display:grid}.day-preview-block small{opacity:.52;text-transform:uppercase;font-size:.62rem;font-weight:850}.day-preview-block h3{margin:0;font-size:.95rem}.day-preview-block p,.day-preview-empty{opacity:.82;white-space:pre-wrap;margin:0;font-size:.86rem;line-height:1.4}.day-preview-empty{opacity:.52}

.planner-shell{--week-control-width:330px;min-height:100vh}.planner-view-toggle{background:linear-gradient(#ffffffeb,#f5f4f0f0);border:1px solid #11111129;border-radius:8px;flex:none;align-items:center;gap:2px;width:max-content;height:28px;padding:2px;display:inline-flex;box-shadow:inset 0 1px #ffffffd1,0 1px 2px #1111110f}.planner-view-toggle button{color:#111111ad;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;height:22px;min-height:0;padding:0 8px;font-size:.72rem;font-weight:850;transition:background .12s,box-shadow .12s,color .12s;display:inline-flex}.planner-view-toggle button:hover,.planner-view-toggle button:focus-visible{color:var(--ink);background:#ffffffc7;outline:0}.planner-view-toggle button.is-active{background:var(--ink);color:var(--paper);box-shadow:0 2px 8px #1111112e}.planner-view-toggle svg{opacity:.76;flex:none;width:13px;height:13px}.planner-view-toggle button.is-active svg{opacity:.94}.create-week-button,.create-week-button.is-loading{white-space:nowrap;width:auto;min-width:132px}.week-title-control{gap:10px}.day-blocks.is-empty-day{align-content:start}.empty-day-action-card{opacity:1;text-align:left;background:linear-gradient(135deg,#1111110b,#0000 54%),#ffffffad;gap:4px;min-height:74px;padding:12px 10px;display:grid}.empty-day-action-card strong{letter-spacing:-.01em;font-size:.78rem}.empty-day-action-card span{color:#11111194;font-size:.7rem;font-weight:650;line-height:1.25}.add-block-row:hover,.add-block-row:focus-visible,.paste-block-row:hover,.paste-block-row:focus-visible,.clear-clipboard-row:hover,.clear-clipboard-row:focus-visible{background:var(--soft-fill);border-color:var(--ink);color:var(--ink);opacity:1;outline:0}.month-title-control{justify-content:flex-start}
.add-block-actions{grid-template-columns:minmax(0,1fr) 42px;gap:6px;display:grid}.add-block-row,.insert-template-row{background:var(--paper);border:1px dashed var(--line);opacity:0;pointer-events:none;border-radius:6px;width:100%;min-height:34px;padding:0 9px;font-size:.78rem;font-weight:750;transition:opacity .12s}.insert-template-row{justify-content:center;align-items:center;padding:0;display:inline-flex}.insert-template-row:hover,.insert-template-row:focus-visible{background:var(--soft-fill);border-color:var(--ink);color:var(--ink);opacity:1;pointer-events:auto;outline:0}.insert-template-row svg{opacity:.72;width:15px;height:15px}.paste-block-row{background:var(--ink);border:1px solid var(--line);color:var(--paper);border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:34px;padding:0 9px;font-size:.78rem;font-weight:750;display:inline-flex}.paste-block-row svg{flex:none;width:15px;height:15px}.clear-clipboard-row{background:var(--paper);border:1px solid var(--line);color:#111111a8;justify-content:center;align-items:center;width:34px;min-height:34px;padding:0;display:inline-flex}.clear-clipboard-row svg{width:14px;height:14px}.paste-actions{opacity:0;pointer-events:none;grid-template-columns:minmax(0,1fr) 34px;gap:6px;width:100%;transition:opacity .12s;display:grid}.month-paste-row{min-height:26px;font-size:.68rem}.month-paste-slot{align-content:end;gap:4px;min-height:26px;display:grid}.month-day-last-modified{max-width:100%}.month-paste-actions{grid-template-columns:minmax(0,1fr) 32px}.month-paste-row svg{width:13px;height:13px}.month-clear-clipboard-row{width:32px;min-height:26px}.month-clear-clipboard-row svg{width:12px;height:12px}
.selection-action-bar{background:var(--paper);border:1px solid var(--soft-line);z-index:24;border-radius:10px;align-items:center;gap:8px;padding:8px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #11111124}.selection-count{white-space:nowrap;min-width:90px;padding:0 10px;font-size:.9rem}.selection-action-bar button,.selection-color-menu summary{background:var(--soft-fill);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 13px;font-weight:750;display:inline-flex}.selection-color-menu{position:relative}.selection-color-menu summary{background:var(--paper);border-color:var(--line);width:36px;padding:0;list-style:none}.selection-color-menu summary::-webkit-details-marker{display:none}.selection-color-menu summary span{font-size:1.05rem;transform:translateY(-1px)}.selection-color-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;gap:7px;padding:8px;display:flex;position:absolute;bottom:44px;left:0;box-shadow:0 14px 34px #1111111f}.selection-color-menu .selection-color-option{background:var(--swatch-bg);border:2px solid var(--swatch-color);border-radius:999px;width:22px;height:22px;min-height:0;padding:0}.selection-color-option span{display:none}.selection-action.danger{color:var(--danger)}.selection-cancel{background:var(--paper)!important;border-color:var(--line)!important}
.month-calendar{overscroll-behavior-x:contain;scrollbar-gutter:stable;background:0 0;border:0;border-radius:0;gap:6px;display:grid;overflow-x:auto}.month-weekdays,.month-week-row{grid-template-columns:minmax(124px,.55fr) repeat(7,minmax(0,1fr));min-width:980px;display:grid}.month-weekdays{border:1px solid var(--soft-line);background:#ffffffbd;border-radius:10px;overflow:hidden}.month-weekdays span{border:0;border-right:1px solid var(--soft-line);color:#11111194;padding:7px 8px}.month-weekdays span:last-child{border-right:0}.month-week-heading{color:#11111175}.month-grid{grid-template-columns:1fr;gap:6px;display:grid}.month-week-row{background:var(--paper);border:1px solid var(--soft-line);border-radius:12px;transition:border-color .12s,box-shadow .12s,opacity .12s;overflow:hidden}:is(.month-week-row:has(.month-week-menu[open]),.month-week-row:has(.day-menu[open]),.month-week-row:has(.block-menu[open]),.month-week-row:has(.last-modified-legend[data-tooltip]:hover),.month-week-row:has(.last-modified-legend[data-tooltip]:focus-visible)){z-index:20;position:relative;overflow:visible}.month-week-row.is-programmed:hover,.month-week-row.is-programmed:focus-within{border-color:#11111147;box-shadow:0 12px 30px #1111110e}.month-week-row.is-active-week{border-color:#1111116b;box-shadow:inset 3px 0 #1111119e}.month-week-row.is-active-week .month-week-summary{background:linear-gradient(135deg,#11111112,#0000 58%),#ffffffe6}.month-week-row.is-selected{border-color:#11111152;box-shadow:0 0 0 1px #1111113d}.month-week-row.is-partial{border-color:#1111112e;box-shadow:0 0 0 1px #1111111f}.month-week-row.is-selected .month-week-summary,.month-week-row.is-partial .month-week-summary{background:linear-gradient(135deg,#11111112,#0000 58%),#ffffffe6}.month-week-row.is-outside-month{opacity:.58}.month-week-summary{border-right:1px solid var(--soft-line);background:linear-gradient(135deg,#1111110d,#0000 58%),#ffffffd1;align-content:start;gap:6px;min-height:96px;padding:8px 36px 8px 8px;display:grid;position:relative}.month-week-summary.is-clickable{cursor:pointer;outline:0;transition:background .12s,box-shadow .12s}.month-week-summary.is-clickable:hover,.month-week-summary.is-clickable:focus-visible{box-shadow:inset 0 0 0 1px #1111112e}.month-week-summary>span:not(.month-week-summary-actions):not(.month-week-collab){color:#1111117a;letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:900}.month-week-summary>strong{letter-spacing:-.01em;font-size:.75rem;line-height:1.15}.month-week-summary>small{color:#1111118f;font-size:.66rem;font-weight:700;line-height:1.2}.month-week-summary>.month-week-collab{color:#1111117a;letter-spacing:0;text-transform:none;align-items:flex-start;gap:6px;min-width:0;display:flex}.month-week-summary>button{border:1px solid var(--soft-line);color:var(--ink);white-space:nowrap;background:#ffffffc2;border-radius:999px;place-self:end start;min-height:22px;padding:0 7px;font-size:.58rem;font-weight:850;transition:background .12s,border-color .12s,color .12s}.month-week-summary>button:hover,.month-week-summary>button:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--paper);outline:0}.month-week-summary-actions{z-index:6;align-items:center;gap:2px;display:inline-flex;position:absolute;top:6px;right:6px}.month-week-select-checkbox{margin-right:2px}.month-week-menu{position:relative}.month-week-menu-content{min-width:min(198px,100vw - 24px);max-width:calc(100vw - 24px);left:0;right:auto}.month-day{border-bottom:0;border-right:1px solid var(--soft-line);grid-template-rows:auto minmax(0,1fr) auto;min-height:96px;padding:5px}.month-week-row .month-day:last-child{border-right:0}.month-day-blocks{gap:3px}.month-day-preview-button:hover,.month-day-preview-button:focus-visible{opacity:1;background:#11111112;outline:0}.month-create-week-button{border:1px dashed var(--soft-line);color:#11111194;background:#ffffffb8;border-radius:6px;justify-content:center;align-items:center;width:max-content;min-height:24px;padding:0 8px;font-size:.66rem;font-weight:850;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.month-create-week-button:hover,.month-create-week-button:focus-visible{background:var(--paper);border-color:var(--ink);color:var(--ink);outline:0}
@media (max-width:900px){.month-weekdays,.month-week-row{grid-template-columns:minmax(102px,.6fr) repeat(7,minmax(92px,1fr));min-width:800px}.month-week-summary{padding:7px}}
.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-lockup h1{margin:0;font-size:1.35rem;font-weight:900;line-height:1}.week-header p{opacity:.62;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:800}.week-header input{border:0;border-radius:0;min-width:0;padding:0;font-size:.95rem;font-weight:850}
.planner-controls{min-width:0}.track-picker{display:grid;position:relative}.track-picker-button{background:var(--paper);border:1px solid var(--line);text-align:left;border-radius:8px;align-items:center;gap:9px;min-width:0;min-height:38px;padding:5px 9px;transition:background .12s,border-color .12s,box-shadow .12s;display:flex}.track-picker-button:hover,.track-picker-button:focus-visible,.track-picker-button[aria-expanded=true]{background:var(--soft-fill);border-color:var(--ink);outline:0;box-shadow:0 0 0 3px #11111106}.track-picker-mark{background:var(--ink);box-sizing:border-box;color:var(--paper);text-transform:uppercase;border:1px solid #111;border-radius:6px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:.72rem;font-weight:900;display:inline-flex;overflow:hidden}.track-picker-mark img,.track-picker-option-mark img{object-fit:cover;width:100%;height:100%}.track-picker-copy{gap:1px;min-width:0;display:grid}.track-picker-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;line-height:1.1;overflow:hidden}.track-picker-copy small{opacity:.56;font-size:.66rem;font-weight:750}.track-picker-popover{background:var(--paper);border:1px solid var(--line);z-index:22;border-radius:9px;gap:8px;min-width:min(340px,100vw - 20px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 48px #11111124}.track-picker-search{border:1px solid var(--soft-line);border-radius:7px;align-items:center;gap:8px;min-height:34px;padding:0 9px;display:flex}.track-picker-search svg{opacity:.54;flex:none;width:14px;height:14px}.track-picker-search input{border:0;min-height:0;padding:0}.track-picker-list{gap:3px;max-height:280px;display:grid;overflow:auto}.track-picker-list p{opacity:.56;margin:0;padding:14px 8px}.track-picker-list button,.track-picker-list a{background:var(--paper);color:inherit;text-align:left;border:0;border-radius:7px;grid-template-columns:28px minmax(0,1fr);gap:8px;min-height:44px;padding:8px;text-decoration:none;transition:background .12s;display:grid}.track-picker-option-mark{background:var(--ink);box-sizing:border-box;color:var(--paper);text-transform:uppercase;border:1px solid #111;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.76rem;font-weight:900;display:inline-flex;overflow:hidden}.track-picker-option-copy{gap:3px;min-width:0;display:grid}.track-picker-list button:hover,.track-picker-list button:focus-visible,.track-picker-list button.active,.track-picker-list a:hover,.track-picker-list a:focus-visible,.track-picker-list a.active{background:var(--soft-fill);outline:0}.track-picker-list strong{text-overflow:ellipsis;white-space:nowrap;min-height:1.05em;font-size:.84rem;display:block;overflow:hidden}.track-picker-option-description{opacity:.62;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.25;display:block;overflow:hidden}
.workbench-top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.workbench-top-actions>button:not([data-account-avatar]),.block-menu-item{background:var(--paper);border:1px solid var(--line);border-radius:6px;min-height:32px;padding:0 9px;font-weight:750}.workbench-top-actions>button:not([data-account-avatar]){transition:background .12s,border-color .12s}.workbench-top-actions>button:not([data-account-avatar]):not(.primary-action):hover,.workbench-top-actions>button:not([data-account-avatar]):not(.primary-action):focus-visible{background:var(--soft-fill);border-color:var(--ink);outline:0}.workbench-top-actions .primary-action{background:var(--ink);color:var(--paper)}.workbench-top-actions .primary-action:not(:disabled):hover,.workbench-top-actions .primary-action:not(:disabled):focus-visible{border-color:var(--ink);background:#1b1b1b;outline:0}.create-week-button{background:linear-gradient(135deg, #ffffff29, transparent 38%), var(--ink);color:var(--paper);white-space:nowrap;border:1px solid #111111eb;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-width:132px;min-height:32px;padding:0 12px;font-weight:850;transition:background .12s,border-color .12s,box-shadow .12s,transform .12s;display:inline-flex;box-shadow:0 7px 18px #11111124,inset 0 1px #ffffff2e}.create-week-button svg{flex:none;width:15px;height:15px}.create-week-button.is-loading{gap:0;min-width:132px}.create-week-button:not(:disabled):hover,.create-week-button:not(:disabled):focus-visible,.workbench-top-actions .primary-action.create-week-button:not(:disabled):hover,.workbench-top-actions .primary-action.create-week-button:not(:disabled):focus-visible{border-color:var(--ink);color:var(--paper);background:linear-gradient(135deg,#ffffff38,#0000 42%),#1f1f1f;outline:0;transform:translateY(-1px);box-shadow:0 9px 22px #1111112e,inset 0 1px #fff3}.create-week-button:disabled{cursor:wait;opacity:.68}.week-overview-header .create-week-button{background:linear-gradient(135deg, #ffffff29, transparent 38%), var(--ink);color:var(--paper);border-color:#111111eb;border-radius:8px;height:32px;min-height:32px;padding:0 12px;font-size:.76rem;font-weight:850;box-shadow:0 7px 18px #11111124,inset 0 1px #ffffff2e}.planner-action-spinner{opacity:.78;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:13px;height:13px;animation:.68s linear infinite planner-action-spin}@keyframes planner-action-spin{to{transform:rotate(360deg)}}
@media (max-width:1380px){.workbench-top-actions{justify-content:flex-start}.calendar-grid{min-height:0}}
@media (max-width:980px){.team-access-summary{grid-template-columns:1fr}.athlete-week-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.month-day{min-height:92px}.month-block-pill small{display:none}}@media (min-width:721px) and (max-width:980px){.week-title-control{grid-template-columns:auto minmax(0,1fr);align-items:start}.week-summary-button{grid-column:1/-1;width:100%}.week-navigation{grid-column:1;justify-self:start}.week-header-actions{flex-wrap:wrap;grid-column:2;justify-self:stretch}.create-week-button,.create-week-button.is-loading,.athlete-visibility-button{min-width:0}}
@media (max-width:720px){.planner-controls{grid-template-columns:1fr}.workbench-top-actions button{flex:1}.workbench-top-actions [data-account-avatar]{flex:0 0 34px}.brand-lockup{align-items:flex-start}.shared-program-header{flex-direction:column;gap:10px}.shared-program-header-actions{width:100%}.shared-program-titlebar{flex:auto;justify-content:space-between}.shared-program-meta{text-align:left;justify-items:start}.shared-program-coach-mode{justify-content:flex-start}.shared-program-actions{margin-left:auto}.shared-program-shell{gap:12px;padding:12px}.shared-program-panel{gap:10px}.shared-week-navigation,.shared-month-calendar{padding:10px}.shared-week-navigation-actions,.shared-month-actions{justify-content:space-between}.shared-month-calendar header{flex-direction:column;align-items:stretch}.shared-calendar-day{min-height:82px;padding:6px}.shared-calendar-day-heading>small{display:none}.shared-calendar-block-pill{padding:3px 4px}.shared-calendar-block-pill small{display:none}.shared-week-strip{scroll-snap-type:x proximity;gap:7px;margin-inline:-12px;padding:0 12px 6px;display:flex;overflow-x:auto}.shared-week-strip button{scroll-snap-align:start;flex:0 0 118px;min-height:58px;padding:8px}.shared-week-strip small{display:none}.shared-week-strip strong{font-size:.76rem}.shared-day-detail{border-radius:8px;padding:12px}.shared-day-detail header{gap:8px}.shared-day-detail header>span,.shared-day-detail .athlete-day-count{padding:4px 7px;font-size:.66rem}.month-title-control,.week-title-control{grid-template-columns:minmax(0,1fr);align-items:center}.month-title-control{gap:8px}.week-title-control{gap:10px}.month-actions,.month-header-actions,.week-navigation,.week-header-actions{grid-column:1;justify-self:center}.week-summary-button{flex-basis:auto;width:100%}.month-picker{justify-self:start}.week-overview-header{flex-direction:column;align-items:flex-start}.month-actions{justify-content:flex-start}.month-weekdays span{padding:7px 8px;font-size:.58rem}.month-day{gap:3px;min-height:68px;padding:5px}.month-block-pill{border:0;padding:0}.month-block-pill strong{font-size:.68rem}.selection-action-bar{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 16px);bottom:8px}.selection-count{min-width:auto}.modal-backdrop{padding:8px;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));justify-content:stretch;align-items:stretch}.block-modal{border-radius:8px;max-height:calc(100dvh - 16px);padding:18px}.block-editor-layout{grid-template-columns:1fr}.block-editor-assistant{max-height:none;overflow:visible}.block-editor-modal .modal-textarea{min-height:140px}.modal-field-compact{max-width:none}.block-types-modal{grid-template-rows:auto minmax(0,1fr) auto}.block-types-editor{grid-template-columns:1fr;overflow:auto}.block-types-list-panel{border-bottom:1px solid var(--soft-line);border-right:0}.block-types-list{max-height:220px}.block-types-modal-footer{justify-content:stretch}.block-types-modal-footer button{flex:1}.modal-actions{grid-template-columns:1fr 1fr}.athlete-week-strip{grid-template-columns:1fr}.modal-actions span{display:none}.modal-actions .delete-action{grid-column:1/-1;justify-self:start}}
@media (max-width:980px) and (orientation:landscape) and (max-height:520px){.athlete-week-strip{-webkit-overflow-scrolling:touch;grid-template-columns:repeat(7,minmax(118px,1fr));padding-bottom:2px;overflow-x:auto}}
.day-column:last-child .clear-clipboard-row:after,.month-week-row .month-day:last-child .clear-clipboard-row:after{left:auto;right:0;transform:translateY(3px)}.day-column:first-child .last-modified-legend[data-tooltip]:after{left:0;transform:translateY(3px)}.day-column:last-child .last-modified-legend[data-tooltip]:after{left:auto;right:0;transform:translateY(3px)}.month-week-row .month-week-summary+.month-day .last-modified-legend[data-tooltip]:after,.month-week-row .month-week-summary .last-modified-legend[data-tooltip]:after,.week-summary-button .last-modified-legend[data-tooltip]:after{left:0;transform:translateY(3px)}.month-week-row .month-day:last-child .last-modified-legend[data-tooltip]:after{left:auto;right:0;transform:translateY(3px)}.day-column:last-child .clear-clipboard-row:hover:after,.day-column:last-child .clear-clipboard-row:focus-visible:after,.month-week-row .month-day:last-child .clear-clipboard-row:hover:after,.month-week-row .month-day:last-child .clear-clipboard-row:focus-visible:after,.day-column:first-child .last-modified-legend[data-tooltip]:hover:after,.day-column:first-child .last-modified-legend[data-tooltip]:focus-visible:after,.day-column:last-child .last-modified-legend[data-tooltip]:hover:after,.day-column:last-child .last-modified-legend[data-tooltip]:focus-visible:after,.month-week-row .month-week-summary+.month-day .last-modified-legend[data-tooltip]:hover:after,.month-week-row .month-week-summary+.month-day .last-modified-legend[data-tooltip]:focus-visible:after,.month-week-row .month-week-summary .last-modified-legend[data-tooltip]:hover:after,.month-week-row .month-week-summary .last-modified-legend[data-tooltip]:focus-visible:after,.week-summary-button .last-modified-legend[data-tooltip]:hover:after,.week-summary-button .last-modified-legend[data-tooltip]:focus-visible:after,.month-week-row .month-day:last-child .last-modified-legend[data-tooltip]:hover:after,.month-week-row .month-day:last-child .last-modified-legend[data-tooltip]:focus-visible:after{transform:translateY(0)}.day-column:hover .add-block-row,.day-column:focus-within .add-block-row,.day-column:hover .insert-template-row,.day-column:focus-within .insert-template-row,.day-column:hover .paste-actions,.day-column:focus-within .paste-actions,.month-day:hover .month-paste-actions,.month-day:focus-within .month-paste-actions,.month-week-summary:hover .month-week-select-checkbox:not(:disabled),.month-week-summary:focus-within .month-week-select-checkbox:not(:disabled),.month-day:hover .month-day-preview-button,.month-day:focus-within .month-day-preview-button,.month-day:hover .month-day-select-checkbox:not(:disabled),.month-day:focus-within .month-day-select-checkbox:not(:disabled),.day-column:hover .day-header-actions .day-menu,.month-day:hover .month-day-actions .day-menu,.month-day-actions .day-menu:focus-within{opacity:1;pointer-events:auto}

.template-modal-backdrop{background:var(--paper);overscroll-behavior:contain;z-index:34;padding:0;position:fixed;inset:0;overflow:auto}
.template-library-modal{background:var(--paper);grid-template-rows:auto auto auto 1fr;height:100dvh;min-height:0;padding:24px 26px;display:grid;overflow:auto}.template-manager-backdrop{padding:18px;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:#11111147;justify-content:safe center;align-items:safe center;display:flex}.template-manager-modal{--template-accent:var(--ink);background:#fff;border:1px solid #11111124;border-radius:8px;grid-template-rows:auto minmax(0,1fr);gap:0;width:min(1360px,100vw - 36px);max-width:1440px;height:min(860px,100dvh - 36px);padding:0;overflow:hidden;box-shadow:0 22px 70px #1111113d}.template-manager-backdrop.is-maximized{padding:0}.template-manager-modal.is-maximized{border:0;border-radius:0;width:100vw;max-width:none;height:100dvh}.template-manager-header{background:#fff;border-bottom:1px solid #11111124;justify-content:space-between;align-items:start;min-height:50px;padding:8px 14px;display:flex}.template-manager-header h2{letter-spacing:0;margin:2px 0 0;font-size:.92rem}.template-manager-header-actions{align-items:center;gap:3px;display:flex}.template-manager-size-button{color:#1116;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;padding:7px;transition:background .12s,color .12s;display:inline-flex}.template-manager-size-button:hover,.template-manager-size-button:focus-visible{background:var(--soft-fill);color:var(--ink);outline:0}.template-manager-size-button svg{width:16px;height:16px}.template-manager-date,.template-editor-heading span,.template-day-editor header span,.template-block-editor header>span{color:#11111194;letter-spacing:0;text-transform:uppercase;font-size:.68rem;font-weight:850}
.template-manager-shell{grid-template-columns:minmax(240px,290px) minmax(0,1fr);min-height:0;display:grid}.template-manager-sidebar{background:#f7f7f8;border-right:1px solid #11111124;grid-template-rows:auto auto auto minmax(0,1fr);min-height:0;display:grid}.template-manager-sidebar .template-tabs{margin:0;padding:16px 16px 0}.template-manager-sidebar .template-toolbar{align-items:stretch;margin:0;padding:14px 16px;display:grid}.template-search-row{grid-template-columns:minmax(0,1fr) 42px;align-items:stretch;gap:8px;display:grid}.template-manager-sidebar .template-search{background:#fff;width:100%}.template-create-icon-button{color:#1111116b;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:42px;min-height:42px;font-size:.95rem;font-weight:650;line-height:1;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.template-create-icon-button:not(:disabled):hover,.template-create-icon-button:not(:disabled):focus-visible{background:var(--soft-fill);border-color:var(--soft-line);color:var(--ink);outline:0}.template-create-icon-button:disabled{cursor:not-allowed;opacity:.46}.template-manager-dirty-note{color:#111111a3;border-top:1px solid #11111114;margin:0;padding:10px 16px;font-size:.78rem;line-height:1.35}.template-card-list{align-content:start;min-height:0;display:grid;overflow:auto}.template-card-row{text-align:left;background:0 0;border:0;border-bottom:1px solid #11111114;gap:8px;min-height:74px;padding:12px 16px;display:grid}.template-card-row:hover,.template-card-row:focus-visible,.template-card-row.template-card-selected{background:#fff;outline:0}.template-card-row.template-card-selected{box-shadow:inset 3px 0 0 var(--template-accent)}.template-card-row:disabled{cursor:not-allowed;opacity:.62}.template-card-row>span:first-child{gap:3px;min-width:0;display:grid}.template-card-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.template-card-row small{color:#11111194;font-size:.76rem}
.template-manager-editor{grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid;position:relative;overflow:hidden}.template-manager-editor-empty{place-items:center;padding:24px}.template-editor-heading{border-bottom:1px solid #1111111a;justify-content:space-between;align-items:start;gap:16px;padding:12px 20px;display:flex}.template-editor-heading-main{flex:auto;min-width:0}.template-editor-fields{grid-template-columns:minmax(220px,380px) minmax(220px,1fr);align-items:end;gap:12px;margin-top:4px;display:grid}.template-title-field{gap:4px;max-width:none;margin-top:0;display:grid}.template-title-field span{opacity:.58;text-transform:none;font-size:.66rem;font-weight:700}.template-title-field input{background:var(--paper);border:1px solid var(--soft-line);border-radius:7px;width:100%;min-height:34px;padding:0 10px;font-size:.92rem;font-weight:800}.template-name-field>span,.template-name-field input{font-weight:400}.template-title-field input:focus{border-color:var(--ink);outline:0}.template-editor-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:8px;display:flex}.template-tag-meta-field{gap:4px;min-width:0;display:grid;position:relative}.template-tag-meta-field>span,.template-tag-field>span{opacity:.58;font-size:.66rem;font-weight:400}
.template-content-editor{min-height:0;padding:12px 20px 18px;overflow:auto}.template-content-editor:not(.template-content-editor-week){grid-template-columns:minmax(220px,360px)}.template-day-editor{min-width:0}.template-day-header{border-right:1px solid var(--line);border-top:0;min-height:26px}.template-day-editor:first-child .template-day-header{border-left:1px solid var(--line)}.template-day-blocks{min-height:360px}.template-content-editor:not(.template-content-editor-week) .template-day-blocks{border:0;min-height:280px}.template-content-editor:not(.template-content-editor-week) .template-day-header{border:0}.template-add-block-actions{grid-template-columns:minmax(0,1fr);gap:6px;width:100%;display:grid}.template-add-block-actions .template-add-block-row{width:100%}.template-workout-block{cursor:pointer;-webkit-user-select:none;user-select:none}.template-workout-block.is-readonly{cursor:default}.template-workout-block:not(.is-readonly):hover,.template-workout-block:not(.is-readonly):focus-visible{border-color:var(--ink);outline:0}
.template-block-editor-backdrop{z-index:3;background:#1111115c;justify-content:center;align-items:center;padding:18px;display:flex;position:absolute;inset:0}.template-block-editor-modal{width:min(1040px,100%);max-height:min(860px,100% - 36px)}.template-block-modal-actions{border-top:1px solid var(--soft-line);padding-top:12px}.template-block-editor{background:var(--block-bg,#fff);border:1px solid var(--block-color,#1111111f);border-radius:8px;gap:12px;padding:12px;display:grid}.template-danger-button{min-height:30px;color:var(--danger);background:#fff;border:1px solid #11111124;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:.76rem;font-weight:800;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.template-danger-button:not(:disabled):hover,.template-danger-button:not(:disabled):focus-visible{background:#fff0f0;border-color:#b32d236b;outline:0;box-shadow:0 4px 12px #b32d231a}.template-block-editor-grid{grid-template-columns:minmax(190px,.4fr) minmax(240px,.8fr) minmax(0,1fr);gap:12px;display:grid}.template-block-details-field{grid-column:1/-1}.template-video-editor{border-top:1px solid #11111114;gap:8px;padding-top:10px;display:grid}.template-video-row{grid-template-columns:minmax(160px,.6fr) minmax(220px,1fr) auto;gap:8px;display:grid}
.template-manager-footer{background:#fff;border-top:1px solid #1111111f;justify-content:flex-end;align-items:center;gap:12px;padding:14px 20px;display:flex}.template-manager-footer button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 14px;font-weight:850;transition:background .12s,box-shadow .12s;display:inline-flex}.template-manager-footer .primary-action{background:var(--template-accent);color:#fff}.template-manager-footer .primary-action:not(:disabled):hover,.template-manager-footer .primary-action:not(:disabled):focus-visible{background:#1b1b1b;outline:0;box-shadow:0 5px 14px #1113}.template-manager-footer .secondary-action{background:var(--soft-fill)}.template-manager-footer button:disabled,.template-insert-button:disabled{cursor:not-allowed;opacity:.46}.template-manager-footer button[aria-busy=true],.confirm-modal button[aria-busy=true]{cursor:wait}.template-action-spinner{opacity:.78;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:13px;height:13px;animation:.68s linear infinite template-action-spin}@keyframes template-action-spin{to{transform:rotate(360deg)}}

.insert-template-modal{padding-top:20px}.template-modal-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.template-modal-header h2{margin:0;font-size:1rem}.template-modal-header p{opacity:.52;text-transform:uppercase;margin:0 0 6px;font-size:.72rem;font-weight:850}.save-template-modal{grid-template-rows:auto auto minmax(0,1fr);width:min(640px,100%);min-height:min(460px,100dvh - 36px);overflow:auto}.save-template-modal>.modal-fields{grid-template-rows:auto auto minmax(64px,1fr);align-content:start}.save-template-modal .save-template-actions{align-self:end}.edit-template-modal{overflow:auto}.edit-template-modal .modal-textarea{max-height:min(260px,32dvh);overflow:auto}.edit-template-modal .save-template-actions{background:var(--paper);border-top:1px solid var(--soft-line);grid-template-columns:auto auto auto;justify-content:end;align-items:center;padding-top:10px;position:sticky;bottom:0}.template-save-preview{background:var(--soft-fill);border:1px solid var(--soft-line);border-radius:8px;gap:5px;padding:12px;display:grid}.template-save-preview-title{font-size:.94rem;font-weight:500;line-height:1.25}.template-save-preview p{opacity:.64;max-height:56px;margin:0;line-height:1.35;overflow:hidden}.template-save-type-field{border:0;margin:0;padding:0}.template-save-type-field legend{opacity:.72;margin-bottom:8px;font-size:.76rem;font-weight:700}.template-save-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.template-save-type-option{background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:10px;min-height:74px;padding:11px;transition:background .12s,border-color .12s,box-shadow .12s;display:grid}.template-save-type-option:hover,.template-save-type-option:focus-within{background:var(--soft-fill);border-color:#1111116b}.template-save-type-option.template-save-type-selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.template-save-type-option input{accent-color:var(--ink);margin-top:2px}.template-save-type-option span{gap:3px;display:grid}.template-save-type-option strong{font-size:.84rem}.template-save-type-option small{opacity:.58;font-size:.72rem;line-height:1.25}
.template-tag-field{position:relative}.template-tag-control{min-width:0;position:relative}.template-tag-strip{border:1px solid var(--soft-line);scrollbar-width:none;background:#fff;border-radius:7px;align-items:center;gap:5px;min-width:0;height:34px;padding:4px 5px;display:flex;overflow:auto hidden}.template-tag-strip::-webkit-scrollbar{display:none}.template-tag-chip-visual{background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--tag-ink);white-space:nowrap;border-radius:999px;flex:none;align-items:center;min-height:23px;padding:0 8px;font-size:.69rem;font-weight:700;line-height:1;display:inline-flex}button.template-tag-chip-visual{font-family:inherit}.template-tag-chip-visual.is-interactive:hover,.template-tag-chip-visual.is-interactive:focus-visible{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--tag-border);outline:0}.template-tag-selected{flex:none;display:inline-flex;position:relative}.template-tag-selected .template-tag-chip-visual.has-remove{padding-right:24px}.template-tag-remove{color:currentColor;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.template-tag-remove:hover,.template-tag-remove:focus-visible{background:#1111111a;outline:0}.template-tag-remove span{font-size:.78rem;line-height:1}.template-tag-add{color:#1111118f;white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:none;align-items:center;gap:4px;min-height:23px;padding:0 7px;font-size:.7rem;display:inline-flex}.template-tag-add:hover,.template-tag-add:focus-visible{background:var(--soft-fill);color:var(--ink);outline:0}.template-tag-add>span{font-size:.9rem;line-height:1}.template-tag-empty{color:#1111117a;padding:0 4px;font-size:.72rem}.template-tag-popover{z-index:85;background:#fff;border:1px solid #11111129;border-radius:10px;gap:12px;width:min(330px,100vw - 40px);padding:12px;display:grid;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 18px 48px #1111112e}.template-tag-popover-field,.template-tag-color-field{gap:6px;display:grid}.template-tag-editor-note{color:#11111194;margin:0;font-size:.72rem;line-height:1.35}.template-tag-popover-field>span,.template-tag-color-field>span,.template-tag-create>span{opacity:.62;font-size:.68rem;font-weight:700}.template-tag-popover-field input{min-height:34px;padding:0 9px}.template-tag-results{border-top:1px solid var(--soft-line);max-height:180px;padding-top:5px;display:grid;overflow-y:auto}.template-tag-result{justify-content:space-between;align-items:center;gap:6px;min-height:34px;display:flex}.template-tag-result>button:first-child{text-align:left;background:0 0;border:0;padding:2px 0}.template-tag-edit-link{background:0 0;border:0;padding:5px 6px;font-size:.7rem}.template-tag-create{border-top:1px solid var(--soft-line);gap:8px;padding-top:10px;display:grid}.template-tag-palette{gap:7px;display:flex}.template-tag-palette button{background:var(--tag-bg);border:2px solid var(--tag-border);border-radius:999px;width:22px;height:22px;min-height:0;padding:0}.template-tag-palette button.template-tag-color-selected,.template-tag-palette button:focus-visible{outline:0;box-shadow:0 0 0 2px #fff,0 0 0 4px #111}.template-tag-popover-actions{gap:7px;display:flex}.template-tag-popover-actions button,.template-tag-primary-action{background:var(--soft-fill);border:1px solid var(--soft-line);border-radius:7px;min-height:32px;padding:0 9px;font-size:.74rem}.template-tag-primary-action{background:var(--soft-fill);color:var(--ink)}.template-tag-popover-actions .template-tag-delete-action{color:var(--danger)}.template-tag-delete-confirm{background:#c7251a0f;border:1px solid #c7251a2e;border-radius:8px;gap:8px;padding:9px;display:grid}.template-tag-delete-confirm p{margin:0;font-size:.74rem;line-height:1.35}.template-tag-delete-confirm>div{justify-content:end;gap:7px;display:flex}.template-tag-delete-confirm button{border-radius:6px;min-height:30px;padding:0 9px;font-size:.72rem}
.template-tags .template-tag-chip-visual,.template-preview-tags .template-tag-chip-visual{background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--tag-ink);border-radius:999px;padding:3px 7px}.save-template-actions{grid-template-columns:1fr auto auto}.save-template-actions button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.save-template-actions .secondary-action:not(:disabled):hover,.save-template-actions .secondary-action:not(:disabled):focus-visible{box-shadow:inset 0 0 0 1px var(--line);background:#e7e7e5;outline:0}.save-template-actions .primary-action:not(:disabled):hover,.save-template-actions .primary-action:not(:disabled):focus-visible{background:#1b1b1b;outline:0;box-shadow:0 5px 14px #1113}.save-template-actions button[aria-busy=true]{cursor:wait}.template-tabs{border-bottom:1px solid var(--line);gap:8px;margin-top:34px;display:flex}.insert-template-modal .template-tabs{margin-top:20px}.template-tabs button{color:#1111119e;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 4px 10px;font-weight:750}.template-tabs button.template-tab-active{border-bottom-color:var(--ink);color:var(--ink)}.template-tabs span{background:var(--soft-fill);border-radius:999px;margin-left:3px;padding:1px 6px;font-size:.68rem}.template-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:30px 0 18px;display:flex}.insert-template-modal .template-toolbar,.weekly-template-modal .template-toolbar{margin:18px 0 10px}.template-search{background:var(--paper);border:1px solid var(--line);border-radius:7px;align-items:center;gap:10px;width:min(362px,100%);min-height:42px;padding:0 12px;display:flex}.template-search svg{opacity:.52;width:15px;height:15px}.template-search input{border:0;min-height:0;padding:0}.template-secondary-button{background:var(--paper);border:1px solid var(--line);border-radius:7px;min-height:34px;padding:0 12px;font-weight:800}.template-table{grid-auto-rows:max-content;align-content:start;row-gap:0;min-width:760px;display:grid}.insert-template-modal .template-table,.weekly-template-modal .template-table{margin-top:0}.template-table-head,.template-row{border-bottom:1px solid var(--soft-line);grid-template-columns:minmax(260px,1.25fr) 130px minmax(180px,.85fr) 76px 150px;align-items:center;gap:10px;display:grid}.insert-template-modal .template-table-head,.insert-template-modal .template-row,.weekly-template-modal .template-table-head,.weekly-template-modal .template-row{min-height:42px;padding-top:5px;padding-bottom:5px}.weekly-template-modal .template-table-head,.weekly-template-modal .template-row{grid-template-columns:minmax(300px,1.35fr) minmax(220px,.9fr) 76px 150px}.template-table-head{padding:0 10px 8px;font-size:.7rem;font-weight:850}.template-row{min-height:42px;padding:5px 10px}.template-name-cell{align-items:center;gap:8px;min-width:0;display:flex}.template-name-cell strong{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.template-tags{flex-wrap:wrap;gap:4px;display:flex}.template-tags span{background:var(--soft-fill);border-radius:5px;padding:2px 6px;font-size:.66rem;line-height:1.2}.template-row-actions{align-items:center;gap:5px;display:inline-flex}.template-icon-button{opacity:.7;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.template-icon-button:hover,.template-icon-button:focus-visible{background:var(--soft-fill);opacity:1;outline:0}.template-icon-button svg,.template-insert-button svg{width:14px;height:14px}.template-insert-button{background:var(--ink);color:var(--paper);border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:30px;padding:0 11px;font-size:.8rem;font-weight:825;transition:background .12s,box-shadow .12s;display:inline-flex}.template-insert-button:not(:disabled):hover,.template-insert-button:not(:disabled):focus-visible{background:#1b1b1b;outline:0;box-shadow:0 5px 14px #1113}.template-empty{border-bottom:1px solid var(--soft-line);opacity:.56;margin:0;padding:28px 12px}
.template-preview-backdrop{overscroll-behavior:contain;padding:16px;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));z-index:44;background:#1111113d;justify-content:safe center;align-items:safe center;display:flex;position:fixed;inset:0;overflow:auto}.template-preview-modal{background:var(--paper);border:1px solid var(--soft-line);overflow-wrap:anywhere;border-radius:10px;gap:16px;width:min(1180px,100vw - 32px);max-height:calc(100dvh - 32px);padding:24px 26px 22px;display:grid;overflow:auto;box-shadow:0 22px 70px #1111113d}.template-preview-description{background:var(--soft-fill);white-space:pre-wrap;border-radius:8px;margin:0;padding:10px 12px;line-height:1.35}.template-preview-tags{flex-wrap:wrap;gap:6px;display:flex}.template-preview-tags span{background:var(--soft-fill);border-radius:6px;padding:3px 8px;font-size:.7rem}.template-preview-content{gap:12px;display:grid}.template-preview-content.template-preview-week-layout{grid-auto-columns:minmax(190px,1fr);grid-auto-flow:column;max-height:calc(100dvh - 220px);padding-bottom:8px;overflow:auto}.template-preview-content.template-preview-week-layout .template-preview-section{background:var(--paper);border:1px solid var(--soft-line);border-radius:8px;min-width:190px;padding:12px}.template-preview-section{align-content:start;gap:8px;display:grid}.template-preview-section h3{opacity:.62;margin:0;font-size:.78rem}.template-preview-block{background:var(--block-bg,var(--paper));border:1px solid var(--soft-line);border-radius:8px;gap:5px;padding:11px 12px;display:grid}.template-preview-block small{opacity:.52;text-transform:uppercase;font-size:.62rem;font-weight:850}.template-preview-block p,.template-preview-empty{opacity:.72;white-space:pre-wrap;margin:0;line-height:1.35}.template-preview-empty{opacity:.52}
.template-add-block-row{background:var(--paper);border:1px dashed var(--line);border-radius:6px;min-height:34px;padding:0 9px;font-size:.78rem;font-weight:750}.template-add-block-row:hover,.template-add-block-row:focus-visible{background:var(--soft-fill);border-color:var(--ink);color:var(--ink);outline:0}
@media (max-width:980px){.template-editor-heading{flex-direction:column;align-items:stretch}.template-editor-actions{justify-content:start}}@media (max-width:720px){.template-manager-backdrop{padding:0}.template-manager-modal{border:0;border-radius:0;width:100vw;height:100dvh}.template-manager-shell{grid-template-rows:minmax(260px,.45fr) minmax(0,1fr);grid-template-columns:1fr}.template-manager-sidebar{border-bottom:1px solid #11111124;border-right:0}.template-block-editor-grid,.template-video-row{grid-template-columns:1fr}.template-tag-meta-field{grid-column:auto}.template-editor-fields{grid-template-columns:1fr}.template-content-editor-week{grid-auto-flow:row;overflow-x:hidden}.template-content-editor-week .template-day-editor{min-width:0}.template-block-editor-backdrop{padding:0}.template-block-editor-modal{border-radius:0;width:100%;height:100%;max-height:none}.template-manager-footer{align-items:stretch}.template-manager-footer button{width:100%}.edit-template-modal .save-template-actions{grid-template-columns:1fr 1fr 1fr;justify-content:stretch}}@media (max-height:760px){.template-preview-backdrop{align-items:flex-start}.template-preview-modal{gap:14px;padding:16px 18px}.template-library-modal{padding:16px 18px}.template-toolbar,.insert-template-modal .template-toolbar,.weekly-template-modal .template-toolbar{gap:10px;margin:12px 0 8px}.template-save-preview{padding:10px}.template-save-type-option{min-height:58px;padding:9px}}@media (max-height:620px){.template-preview-modal{gap:10px;padding:12px 14px}.template-modal-header p{margin-bottom:3px}.template-library-modal{padding:12px 14px}.template-modal-header{gap:10px}.template-table-head,.template-row{min-height:36px}}

