.training-workspace{min-width:0}.training-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.training-eyebrow{letter-spacing:.16em;color:var(--muted);margin:0 0 4px;font-size:10px}.training-toolbar h1{letter-spacing:-.04em;margin:0;font-size:26px;line-height:1.3}.training-toolbar h1 span{color:var(--muted);letter-spacing:0;margin-top:4px;font-size:13px;font-weight:400;display:block}.training-toolbar nav,.training-toolbar form{align-items:center;gap:6px;display:flex}.training-toolbar input{border:1px solid var(--line);background:var(--surface);max-width:140px;font:inherit;border-radius:5px;padding:7px}.training-toolbar .button{min-height:34px;padding:8px}.training-toolbar nav>.text-link{margin-left:8px;font-size:12px}.training-summary{border-top:1px solid var(--line);align-items:center;gap:28px;padding:14px 0 18px;display:flex}.training-summary>div:not(.training-sport-totals){gap:2px;display:grid}.training-summary strong{letter-spacing:-.04em;font-size:23px;line-height:1.2}.training-summary strong span{color:var(--muted);font-size:15px;font-weight:400}.training-summary>div>span{color:var(--muted);font-size:11px}.training-sport-totals{flex-wrap:wrap;gap:14px;margin-left:auto;display:flex}.training-sport-totals>span{grid-template-columns:auto auto;align-items:center;gap:2px 7px;display:grid}.training-sport-totals small{color:var(--muted);grid-column:1/-1}.training-sport{color:var(--muted);align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.sport-running{color:var(--orange)}.sport-strength{color:var(--green)}.training-calendar{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:22px;display:grid;overflow:hidden}.training-day{border-right:1px solid var(--line);min-width:0;min-height:176px;padding:9px 7px}.training-day:last-child{border:0}.training-day>header{color:var(--muted);justify-content:space-between;align-items:center;padding:0 3px 9px;font-size:10px;display:flex}.training-day>header b{color:var(--ink);place-content:center;width:24px;height:24px;font-size:13px;display:grid}.training-day.is-today>header b{background:var(--ink);color:#fff;border-radius:50%}.training-day-items{gap:6px;display:grid}.training-calendar-item{text-align:left;border:1px solid var(--line);background:var(--canvas);width:100%;font:inherit;cursor:pointer;overflow-wrap:anywhere;border-radius:4px;gap:3px;padding:8px 6px;display:grid}.training-calendar-item strong{font-size:12px}.training-calendar-item>span:not(.training-sport):not(.training-status),.training-calendar-item small{color:var(--muted);font-size:10px;line-height:1.35}.training-calendar-item.is-linked{background:var(--soft-green);border-color:#d9e2d4}.training-calendar-item.is-extra{background:var(--surface);border-style:dashed}.training-calendar-item:hover,.training-row:hover{background:var(--soft-green)}.training-status{white-space:nowrap;color:var(--muted);align-items:center;gap:4px;font-size:10px;display:inline-flex}.status-confirmed{color:var(--green)}.status-skipped{color:var(--orange)}.training-rest{color:var(--muted);align-items:center;gap:5px;padding:9px 4px;font-size:11px;display:flex}.training-list-heading{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.training-list-heading h2,.training-extras h2{margin:0;font-size:15px}.training-list-heading h2 span,.training-extras h2 span{color:var(--muted);margin-left:6px;font-size:11px;font-weight:400}.training-list-heading>span{color:var(--muted);font-size:11px}.training-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:70px;display:flex}.training-row-main{text-align:left;min-width:0;font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;flex:1;align-items:center;gap:17px;padding:12px 0;display:flex}.training-row time{color:var(--muted);flex:0 0 53px;font-size:10px;display:grid}.training-row time b{color:var(--ink);font-size:12px;font-weight:500}.training-row-content{flex:1;min-width:0}.training-row-content>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.training-row-content strong{font-size:13px}.training-row-metrics{color:var(--muted);font-size:11px}.training-row-content p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:3px 0 0;font-size:11px;overflow:hidden}.training-row-content>small{color:var(--green);margin-top:2px;font-size:10px;display:block}.training-row-action{flex-shrink:0;align-items:center;gap:5px;padding:7px 9px!important;font-size:11px!important;display:flex!important}.training-count{background:var(--soft-green);text-align:center;border-radius:4px;min-width:18px}.training-extras{margin-top:22px}.training-extras>button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;align-items:center;gap:10px;padding:10px 0;display:flex}.training-extras>button strong{font-size:12px}.training-extras>button>span:not(.training-sport),.training-extras small{color:var(--muted);font-size:11px}.training-extras>button>svg{margin-left:auto}.is-selected{outline:2px solid var(--green);outline-offset:-2px}.training-history{margin-top:24px!important}.training-history>summary{cursor:pointer;font-size:13px;font-weight:600}.training-history>summary>span{color:var(--muted);margin-left:12px;font-size:11px;font-weight:400}.training-history[open]>summary{margin-bottom:18px}.training-detail{border:0;border-left:1px solid var(--line);background:var(--surface);width:390px;max-width:100%;height:calc(100dvh - 76px);max-height:none;color:var(--ink);z-index:35;overscroll-behavior:contain;margin:0;padding:0;position:fixed;inset:76px 0 0 auto;overflow-y:auto;box-shadow:-10px 0 35px #282c270a}.training-detail::backdrop{background:#282c2755}.training-detail-header{border-bottom:1px solid var(--line);background:var(--surface);z-index:1;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;position:sticky;top:0}.training-detail-header>span{letter-spacing:.12em;color:var(--muted);font-size:10px}.training-detail-body{padding:20px}.training-detail h2{letter-spacing:-.04em;margin:8px 0;font-size:25px;line-height:1.2}.training-detail h3{margin:0 0 12px;font-size:14px}.training-detail p{color:var(--muted);text-wrap:pretty;font-size:12px}.training-detail-date{margin:0 0 10px}.training-targets{border-bottom:1px solid var(--line);gap:5px;padding:16px 0;font-size:12px;display:grid}.training-targets strong{font-size:18px}.training-steps{border-bottom:1px solid var(--line);padding:20px 0}.training-step-strip{gap:3px;height:7px;margin-bottom:15px;display:flex}.training-step-strip span{background:#c6d2c1;border-radius:2px;min-width:4px}.training-step-strip .step-main{background:var(--green)}.training-step-strip .step-repeat{background:var(--orange)}.training-steps ol{margin:0;padding:0;list-style:none}.training-steps li{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:11px 0;font-size:12px;display:flex}.training-steps li>span{color:var(--muted);padding-top:2px;font-size:10px}.training-steps li>div{flex:1}.training-steps li small{margin-top:4px;display:block}.training-steps li>b{white-space:nowrap;font-size:11px}.training-steps>small{color:var(--muted);margin-top:10px;font-size:10px;display:block}.training-linking{border-bottom:1px solid var(--line);padding:20px 0}.training-linked{background:var(--soft-green);border-radius:5px;gap:8px;margin-bottom:12px;padding:12px;font-size:12px;display:grid}.training-linked>span:not(.training-status),.training-linked small{color:var(--muted);font-size:11px}.training-panel-actions{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.training-candidates{border:0;min-width:0;margin:14px 0;padding:0}.training-candidates legend{color:var(--muted);padding:0 0 8px;font-size:11px}.training-candidates label{border:1px solid var(--line);cursor:pointer;border-radius:5px;align-items:flex-start;gap:9px;margin:7px 0;padding:11px;display:flex}.training-candidates label>span{gap:5px;min-width:0;font-size:12px;display:grid}.training-candidates label>span>span,.training-candidates small{color:var(--muted);font-size:10px}.training-skip{margin-top:18px;font-size:11px}.training-error{background:var(--soft-orange);border-radius:4px;padding:9px;color:#ad2b1f!important}.training-notes{margin-top:20px}.training-notes summary{cursor:pointer;font-size:12px}.training-session-choice{text-align:left;border:1px solid var(--line);background:var(--canvas);width:100%;font:inherit;cursor:pointer;border-radius:5px;gap:4px;margin-top:10px;padding:12px;display:grid}.training-session-choice span{color:var(--muted);font-size:11px}.training-workspace :focus-visible,.training-detail :focus-visible{outline:2px solid var(--orange);outline-offset:3px}.training-workspace button:disabled{opacity:.5;cursor:wait}@media (min-width:1101px){.training-workspace.has-selection{padding-right:360px}.training-workspace.has-selection .training-toolbar{flex-direction:column;align-items:flex-start}.training-workspace.has-selection .training-summary{flex-wrap:wrap;gap:15px}.training-workspace.has-selection .training-sport-totals{margin-left:0}.training-workspace.has-selection .training-row-main{gap:10px}.training-workspace.has-selection .training-row-main>.training-status,.training-workspace.has-selection .calendar-workout-type,.training-workspace.has-selection .training-calendar-item .training-sport span{display:none}.training-workspace.has-selection .training-calendar-item .training-status{font-size:0}.training-workspace.has-selection .training-row-action{font-size:10px!important}}@media (max-width:1100px){.training-detail{width:min(100vw,480px);height:100dvh;margin:0 0 0 auto;inset:0}.training-summary{gap:20px}.training-sport-totals{gap:10px}}@media (max-width:650px){.training-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.training-toolbar h1{font-size:24px}.training-toolbar h1 span{margin-left:12px;font-size:12px;display:inline}.training-toolbar nav{justify-content:space-between;gap:4px;width:100%}.training-toolbar input{max-width:123px;font-size:12px}.training-toolbar nav>.text-link{margin-left:0;font-size:11px}.training-summary{flex-wrap:wrap;gap:14px 24px;padding:14px 0}.training-summary strong{font-size:21px}.training-sport-totals{gap:15px;width:100%;margin:0}.training-summary>div>span{font-size:10px}.training-calendar{margin-bottom:18px}.training-day{min-height:106px;padding:6px 2px}.training-day>header{justify-content:center;justify-items:center;gap:2px;padding:0 0 7px;font-size:9px;display:grid}.training-day>header b{font-size:12px}.training-calendar-item{justify-items:center;gap:4px;padding:5px 2px}.training-calendar-item .training-sport span,.training-calendar-item .calendar-workout-type,.training-calendar-item small{display:none}.training-calendar-item strong{text-align:center;font-size:9px;line-height:1.3}.training-calendar-item .training-status{gap:0;font-size:0}.training-calendar-item .training-status svg{width:12px;height:12px}.training-rest{justify-content:center;gap:0;padding:8px 0;font-size:0}.training-rest svg{width:13px}.training-list-heading>span{font-size:10px}.training-row{flex-wrap:wrap;align-items:flex-end;gap:0;padding:4px 0 10px;position:relative}.training-row-main{flex-basis:100%;align-items:flex-start;gap:10px;width:100%;padding:7px 0 4px}.training-row time{flex-basis:42px;font-size:9px}.training-row time b{font-size:10px}.training-row-content>div{gap:4px 8px}.training-row-content strong{font-size:12px}.training-row-metrics{font-size:10px}.training-row-content p{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;display:-webkit-box}.training-row-main>.training-status{gap:0;padding-top:3px;font-size:0}.training-row-action{margin-left:52px;min-height:27px!important;padding:4px 8px!important;font-size:10px!important}.training-extras>button{flex-wrap:wrap;gap:4px 8px}.training-extras>button>span:not(.training-sport){margin-left:0}.training-extras small{font-size:10px}.training-detail{width:100vw}.training-history>summary>span{margin-top:3px;margin-left:15px;display:block}}@media (prefers-reduced-motion:reduce){.training-workspace{transition:none}}@media (min-width:651px){.training-calendar-item{grid-template-columns:minmax(0,1fr) auto;gap:2px 3px;padding:6px}.training-calendar-item>.training-sport{grid-area:1/1}.training-calendar-item>strong{text-align:right;grid-area:1/2;font-size:10px}.training-calendar-item>.calendar-workout-type,.training-calendar-item>.training-status,.training-calendar-item>small{grid-column:1/-1}.training-calendar-item .training-sport{font-size:10px}.training-day{min-height:160px}.training-row{min-height:62px}.training-row-main{padding:9px 0}.training-workspace.has-selection .training-calendar-item{grid-template-columns:auto minmax(0,1fr)}.training-workspace.has-selection .training-calendar-item>strong{font-size:9px}}.training-skip{min-height:32px;display:block}@media (max-width:650px){.training-calendar-item{grid-template-columns:13px minmax(0,1fr);gap:3px 1px;padding:4px 2px}.training-calendar-item>.training-sport{grid-area:1/1}.training-calendar-item>.training-sport svg{width:12px;height:12px}.training-calendar-item>strong{white-space:nowrap;grid-area:1/2;font-size:9px}.training-calendar-item>.training-status{grid-column:1/-1;justify-self:center}.training-calendar-distance{display:none}}.training-garmin{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.training-garmin p{font-size:.85rem}
