:root{color:#151515;background:#f4f3ee;font-family:DM Sans,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f4f3ee}button{font:inherit}svg{width:22px;height:22px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;width:244px;flex-direction:column;padding:34px 22px 24px;color:#fff;background:#111}.brand{display:flex;align-items:center;gap:12px;padding:0 8px;border:0;color:inherit;background:none;font:800 1.05rem Manrope;letter-spacing:.16em;cursor:pointer}.altiora-logo{display:block;flex:0 0 auto;object-fit:contain}.altiora-logo--xs{width:38px;height:38px}.altiora-logo--sm{width:72px;height:72px}.altiora-logo--md{width:144px;height:144px}.altiora-logo--lg{width:min(280px,70vw);height:auto}.brand-mark{overflow:hidden;border:1px solid rgba(255,212,0,.38);border-radius:10px;background:#050a10;box-shadow:0 8px 24px #00000052}.sidebar nav{display:grid;gap:8px;margin-top:62px}.sidebar nav button{display:flex;align-items:center;gap:14px;padding:13px 14px;border:0;border-radius:10px;color:#8f8f8f;background:transparent;font-weight:600;text-align:left;cursor:pointer;transition:.2s}.sidebar nav button:hover{color:#fff;background:#1c1c1c}.sidebar nav button.active{color:#111;background:#ffd400}.sync-status{display:flex;align-items:center;gap:11px;margin-top:auto;padding:16px 12px;border-top:1px solid #282828}.sync-status div{display:grid;gap:2px}.sync-status strong{font-size:.82rem}.sync-status small{color:#777;font-size:.72rem}.status-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#777;box-shadow:0 0 0 4px #ffffff0f}.status-dot--ok{background:#ffd400;box-shadow:0 0 0 4px #ffd4001f}.status-dot--unavailable{background:#ff685c}.main-content{min-height:100vh;margin-left:244px}.page-section{width:min(1320px,calc(100% - 72px));margin:0 auto;padding:54px 0 72px}.overline{display:block;margin-bottom:10px;color:#8c877b;font:800 .68rem Manrope;letter-spacing:.18em}.dashboard-hero{display:flex;align-items:center;justify-content:space-between;min-height:280px;padding:14px 5% 14px 0}.dashboard-hero h1,.page-title h1{margin:0;font:800 clamp(2.7rem,5vw,5rem)/.98 "Manrope";letter-spacing:-.065em}.dashboard-hero h1 em{color:#77736a;font-style:normal;font-weight:500}.dashboard-hero p,.page-title p{margin:22px 0 0;color:#77736a;font-size:1.02rem}.hero-ring{display:grid;width:190px;height:190px;place-items:center;border:17px solid #dddcd6;border-top-color:#ffd400;border-right-color:#ffd400;border-radius:50%;transform:rotate(20deg)}.hero-ring span{display:grid;text-align:center;transform:rotate(-20deg)}.hero-ring b{font:800 3.4rem/1 Manrope}.hero-ring small{margin-top:6px;color:#77736a;line-height:1.25}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stats-grid article{position:relative;overflow:hidden;min-height:150px;padding:26px;border:1px solid #e2e0d8;border-radius:16px;background:#fff}.stats-grid small{display:block;color:#77736a;font-weight:600}.stats-grid strong{display:block;margin:16px 0 5px;font:800 2.05rem Manrope;letter-spacing:-.05em}.stats-grid span{color:#a19d94;font-size:.77rem}.stats-grid .stat-accent{border-color:#ffd400;background:#ffd400}.stat-accent small,.stat-accent span{color:#4f4300}.content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:16px;margin-top:16px}.panel{border:1px solid #e2e0d8;border-radius:18px;background:#fff}.activity-panel{padding:28px}.panel-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px}.panel-heading h2{margin:0;font:800 1.45rem Manrope;letter-spacing:-.03em}.text-button{display:flex;align-items:center;gap:4px;padding:8px;border:0;color:#5e5a52;background:transparent;font-weight:700;cursor:pointer}.text-button svg{width:16px}.activity-row{display:grid;width:100%;grid-template-columns:42px minmax(160px,1.6fr) repeat(3,minmax(70px,.55fr)) 20px;gap:16px;align-items:center;padding:17px 4px;border:0;border-top:1px solid #eeece6;color:inherit;background:transparent;text-align:left;cursor:pointer;transition:.18s}.activity-row:hover{padding-right:0;padding-left:10px;background:#faf9f5}.sport-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#f0efe9}.sport-icon svg{width:18px}.activity-main{display:grid;gap:4px}.activity-main strong{overflow:hidden;font:700 .93rem Manrope;text-overflow:ellipsis;white-space:nowrap}.activity-meta{color:#969188;font-size:.72rem}.activity-stat{display:grid;gap:4px}.activity-stat small{color:#aaa69d;font-size:.68rem}.activity-stat b{font-size:.82rem}.row-arrow{color:#aaa69d}.row-arrow svg{width:17px}.goal-preview{display:flex;flex-direction:column;align-items:flex-start;padding:28px;color:#fff;background:#141414}.goal-preview .overline{color:#ffd400}.goal-preview h2{margin:18px 0 8px;font:800 1.6rem Manrope}.goal-preview p{margin:0 0 25px;color:#999;line-height:1.5}.goal-empty-icon{display:grid;width:74px;height:74px;margin-top:18px;place-items:center;color:#111;border-radius:50%;background:#ffd400}.goal-empty-icon svg{width:36px;height:36px}.outline-button{margin-top:auto;padding:10px 17px;border:1px solid #444;border-radius:9px;color:#fff;background:transparent;font-weight:700;cursor:pointer}.page-title{display:flex;min-height:190px;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:38px}.page-title h1{font-size:clamp(3rem,5vw,4.8rem)}.primary-button{padding:12px 20px;border:0;border-radius:10px;color:#111;background:#ffd400;font-weight:800;cursor:pointer}.primary-button:disabled{opacity:.45;cursor:not-allowed}.full-list{padding:12px 28px}.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.health-card{position:relative;min-height:230px;padding:26px;border:1px solid #e2e0d8;border-radius:16px;background:#fff}.health-card h3{margin:28px 0 5px;font:800 1.25rem Manrope}.health-card p{margin:0 0 24px;color:#8c877b}.health-glyph{display:block;width:38px;height:38px;border:8px solid #ffd400;border-radius:50%}.health-glyph--sleep{border-radius:50% 0 50% 50%;transform:rotate(-30deg)}.health-glyph--heart{border-radius:50% 50% 0;transform:rotate(45deg)}.health-glyph--battery{border-radius:6px}.health-glyph--steps{border-width:6px;border-radius:60% 40% 55% 45%}.pending-label{position:absolute;top:27px;right:24px;padding:5px 8px;border-radius:6px;color:#7e6c00;background:#fff7c7;font-size:.64rem;font-weight:800}.skeleton-line{width:100%;height:7px;margin-top:8px;border-radius:8px;background:#eeece6}.skeleton-line.short{width:62%}.info-banner{margin-top:16px;padding:24px 28px;border-left:5px solid #ffd400;border-radius:0 14px 14px 0;background:#fff}.info-banner p{margin:5px 0 0;color:#77736a;line-height:1.5}.empty-objectives{display:grid;min-height:430px;place-items:center;align-content:center;padding:50px;border:1px dashed #ccc8bd;border-radius:20px;text-align:center}.target-visual{display:grid;width:92px;height:92px;place-items:center;color:#111;border-radius:50%;background:#ffd400}.target-visual svg{width:46px;height:46px}.empty-objectives h2{margin:25px 0 7px;font:800 1.7rem Manrope}.empty-objectives p{max-width:470px;margin:0;color:#817d74;line-height:1.5}.readiness-pill,.coming-badge{margin-top:24px;padding:7px 11px;border-radius:20px;color:#6e5e00;background:#fff3a8;font-size:.72rem;font-weight:800}.coming-badge{margin:0}.drawer-backdrop{position:fixed;inset:0;z-index:50;background:#0000007a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.detail-drawer{position:absolute;inset:0 0 0 auto;overflow-y:auto;width:min(520px,100%);padding:48px 42px;color:#fff;background:#141414;box-shadow:-30px 0 70px #00000038;animation:slide-in .25s ease}.icon-button{position:absolute;top:24px;right:24px;display:grid;width:40px;height:40px;place-items:center;border:1px solid #363636;border-radius:50%;color:#fff;background:transparent;cursor:pointer}.detail-kicker{color:#ffd400;font-size:.7rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.detail-drawer h2{margin:28px 45px 8px 0;font:800 2.5rem/1.05 Manrope;letter-spacing:-.05em}.detail-date{color:#888;text-transform:capitalize}.hero-metric{margin:42px 0 16px;padding:28px;border-radius:15px;color:#111;background:#ffd400}.hero-metric small,.hero-metric strong{display:block}.hero-metric strong{margin-top:8px;font:800 3.2rem Manrope;letter-spacing:-.07em}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid #2d2d2d;border-radius:15px;background:#2d2d2d}.metric-grid div{display:grid;gap:7px;padding:20px;background:#1b1b1b}.metric-grid small{color:#818181}.metric-grid strong{font:700 1rem Manrope}.detail-note{margin-top:28px;color:#777;font-size:.8rem;line-height:1.5}.detail-note span{display:block;width:fit-content;margin-bottom:6px;padding:4px 7px;border-radius:5px;color:#7e6c00;background:#ffd400;font-weight:800}.state-message{padding:30px;color:#8c877b;text-align:center}.error-message{padding:12px;color:#bd3d31;background:#fff0ee}.mobile-header,.mobile-nav{display:none}@keyframes slide-in{0%{transform:translate(100%)}}@media(max-width:1050px){.desktop-only{display:none}.activity-row{grid-template-columns:42px minmax(150px,1.5fr) repeat(2,minmax(65px,.5fr)) 20px}.content-grid{grid-template-columns:1fr}.goal-preview{min-height:260px}.health-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{display:none}.main-content{margin-left:0;padding-bottom:78px}.mobile-header{display:flex;height:68px;align-items:center;justify-content:space-between;padding:0 20px;color:#fff;background:#111}.mobile-header .brand{padding:0}.mobile-header .brand-mark{width:30px;height:30px}.mobile-nav{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 5px max(8px,env(safe-area-inset-bottom));border-top:1px solid #dedbd1;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-nav button{display:grid;gap:3px;place-items:center;border:0;color:#908b81;background:transparent;font-size:.61rem}.mobile-nav button svg{width:20px}.mobile-nav button.active{color:#111}.mobile-nav button.active svg{color:#e5bd00}.page-section{width:min(100% - 28px,620px);padding:30px 0 45px}.dashboard-hero{min-height:250px;padding:10px 0 25px}.dashboard-hero h1{font-size:2.75rem}.dashboard-hero p{font-size:.9rem}.hero-ring{display:none}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid article{min-height:125px;padding:20px}.stats-grid article:last-child{grid-column:1 / -1}.stats-grid strong{font-size:1.55rem}.content-grid{margin-top:14px}.activity-panel,.full-list{padding:20px 16px}.panel-heading{align-items:center}.activity-row{grid-template-columns:38px minmax(120px,1fr) minmax(62px,.5fr) 16px;gap:10px}.activity-stat:nth-of-type(4){display:none}.sport-icon{width:34px;height:34px}.activity-main strong{font-size:.82rem}.activity-stat b{font-size:.73rem}.activity-stat small{display:none}.page-title{min-height:155px;align-items:flex-start;flex-direction:column;padding-bottom:24px}.page-title h1{font-size:3rem}.page-title .primary-button{width:100%}.health-grid{grid-template-columns:1fr}.health-card{min-height:190px}.coming-badge{align-self:flex-start}.empty-objectives{min-height:360px;padding:35px 20px}.detail-drawer{padding:42px 24px}.detail-drawer h2{font-size:2rem}.hero-metric strong{font-size:2.7rem}}.health-value{display:block;margin:13px 0 5px;font:800 2rem Manrope,sans-serif;letter-spacing:-.05em}.info-banner--error{border-color:#cf493d}.goals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.goal-card{position:relative;min-height:250px;padding:28px;border:1px solid #e2e0d8;border-radius:18px;background:#fff}.goal-card-icon{display:grid;width:50px;height:50px;place-items:center;border-radius:50%;background:#ffd400}.goal-card h2{margin:28px 0 7px;font:800 1.35rem Manrope,sans-serif}.goal-card p{color:#817d74}.goal-progress{overflow:hidden;height:8px;margin:28px 0 8px;border-radius:8px;background:#eceae3}.goal-progress span{display:block;height:100%;border-radius:inherit;background:#ffd400}.race-metrics{display:grid;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid #eceae3}.race-metrics span{display:flex;align-items:center;justify-content:space-between;gap:12px}.race-metrics small{color:#918c82}.race-metrics strong{font-size:.82rem}.plan-label{display:block;width:fit-content;margin-top:20px;padding:5px 8px;border-radius:6px;color:#6e5e00;background:#fff3a8;font-size:.7rem;font-weight:800}@media(max-width:1050px){.goals-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.goals-grid{grid-template-columns:1fr}}.planner-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px;align-items:start}.planner-card{display:grid;gap:18px;padding:30px;border:1px solid #e2e0d8;border-radius:18px;background:#fff}.planner-card h2{margin:0;font:800 1.55rem Manrope,sans-serif}.planner-card>p{margin:-10px 0 4px;color:#817d74;line-height:1.5}.step-number{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:#111;background:#ffd400;font-weight:800}.planner-card label{display:grid;gap:7px;color:#5e5a52;font-size:.78rem;font-weight:700}.planner-card input,.planner-card select{width:100%;padding:12px 13px;border:1px solid #dcd9d0;border-radius:9px;color:#171717;background:#faf9f5;font:500 .9rem DM Sans,sans-serif}.planner-card input:focus,.planner-card select:focus{outline:2px solid #ffd400;border-color:#ffd400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.planner-card fieldset{margin:0;padding:0;border:0}.planner-card legend{margin-bottom:9px;color:#5e5a52;font-size:.78rem;font-weight:700}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.planner-card .choice{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #dcd9d0;border-radius:9px;background:#faf9f5;cursor:pointer}.planner-card .choice.active{border-color:#ffd400;background:#fff9d9}.planner-card .choice input,.race-choices input{width:auto;accent-color:#e5bd00}.race-choices{display:grid;gap:7px}.race-choices label{display:grid;grid-template-columns:18px 1fr;align-items:center;padding:10px 12px;border-radius:9px;background:#f5f4ef}.race-choices small{grid-column:2;color:#99948a;font-weight:500}.saved-plans{margin-top:36px}.plan-tabs{display:flex;gap:9px;overflow-x:auto}.plan-tabs button{display:grid;flex:0 0 auto;gap:3px;padding:13px 16px;border:1px solid #ddd9cf;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.plan-tabs small{color:#908b81}.plan-result{margin-top:18px;padding:32px;border-radius:20px;color:#fff;background:#141414}.plan-result-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid #303030}.plan-result-header h2{margin:0;font:800 2rem Manrope,sans-serif}.plan-result-header p{color:#898989}.plan-result-header .readiness-pill{margin:0;white-space:nowrap}.session-list{display:grid}.session{display:grid;grid-template-columns:110px 1fr auto;gap:22px;align-items:center;padding:20px 4px;border-bottom:1px solid #292929}.session time{color:#ffd400;font-size:.78rem;text-transform:capitalize}.session strong{font:700 .95rem Manrope,sans-serif}.session p{margin:5px 0 0;color:#888;font-size:.78rem;line-height:1.4}.session>b{color:#ffd400;font-size:.82rem}.session--primary_race,.session--secondary_race{margin:8px -12px;padding-right:16px;padding-left:16px;border:0;border-radius:10px;color:#111;background:#ffd400}.session--primary_race time,.session--primary_race>b,.session--secondary_race time,.session--secondary_race>b{color:#111}.session--primary_race p,.session--secondary_race p{color:#655600}@media(max-width:900px){.planner-grid{grid-template-columns:1fr}}@media(max-width:760px){.planner-card,.plan-result{padding:22px 18px}.form-row,.choice-row{grid-template-columns:1fr}.plan-result-header{flex-direction:column}.session{grid-template-columns:90px 1fr;gap:12px}.session>b{grid-column:2}}.garmin-races-section{margin-bottom:24px;padding:28px;border:1px solid #e2e0d8;border-radius:18px;background:#fff}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.section-title-row h2{margin:0;font:800 1.55rem Manrope,sans-serif}.garmin-races-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.garmin-race-card{position:relative;padding:24px;border-radius:14px;background:#f4f3ee}.garmin-race-card h3{margin:20px 0 5px;font:800 1.3rem Manrope,sans-serif}.garmin-race-card>p{margin:0;color:#817d74;text-transform:capitalize}.create-plan-icon{display:flex;align-items:center;gap:9px;margin-top:22px;padding:11px 15px;border:0;border-radius:10px;color:#111;background:#ffd400;font-weight:800;cursor:pointer}.create-plan-icon svg{width:18px}.garmin-empty{padding:30px;border:1px dashed #cfcbc0;border-radius:12px;text-align:center}.garmin-empty p{margin:6px 0 0;color:#817d74}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;overflow-y:auto;place-items:start center;padding:40px 18px;background:#00000094;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.plan-modal{position:relative;display:grid;width:min(560px,100%);gap:18px;padding:38px;border-radius:20px;background:#fff;box-shadow:0 30px 90px #0000004d}.plan-modal h2{margin:0;padding-right:40px;font:800 2rem Manrope,sans-serif}.plan-modal>p{margin:-10px 0 5px;color:#817d74;text-transform:capitalize}.plan-modal label{display:grid;gap:7px;color:#5e5a52;font-size:.78rem;font-weight:700}.plan-modal input,.plan-modal select{width:100%;padding:12px 13px;border:1px solid #dcd9d0;border-radius:9px;background:#faf9f5}.plan-modal fieldset{margin:0;padding:0;border:0}.plan-modal legend{margin-bottom:8px;color:#5e5a52;font-size:.78rem;font-weight:700}.plan-modal .choice{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #dcd9d0;border-radius:9px;cursor:pointer}.plan-modal .choice.active{border-color:#ffd400;background:#fff9d9}.plan-modal .choice input,.plan-modal .race-choices input{width:auto;accent-color:#e5bd00}.plan-modal .icon-button{color:#111;border-color:#ddd}@media(max-width:760px){.garmin-races-section{padding:20px 16px}.garmin-races-grid{grid-template-columns:1fr}.plan-modal{padding:30px 20px}}.objectives-title{align-items:flex-end}.objective-actions{display:flex;gap:10px}.button-with-icon,.outline-action{display:flex;align-items:center;justify-content:center;gap:8px}.button-with-icon svg,.outline-action svg{width:18px}.outline-action{padding:11px 17px;border:1px solid #d6d2c7;border-radius:10px;color:#171717;background:#fff;font-weight:800;cursor:pointer}.compact-banner{margin:0 0 16px;padding:14px 18px}.race-strip{padding:26px;border:1px solid #e2e0d8;border-radius:18px;background:#fff}.race-strip .section-title-row>span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#ffd400;font-weight:800}.race-chip-list{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px}.race-chip-list article{display:flex;min-width:260px;align-items:center;gap:12px;padding:15px;border-radius:12px;background:#f4f3ee}.race-chip-list .goal-card-icon{width:38px;height:38px;flex:0 0 auto}.race-chip-list div{display:grid;gap:4px}.race-chip-list small{color:#8d887e}.active-plan-card{margin-top:16px;overflow:hidden;border-radius:20px;color:#fff;background:#141414}.active-plan-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:25px 28px;border-bottom:1px solid #303030}.active-plan-toolbar select{min-width:260px;padding:9px 34px 9px 12px;border:1px solid #3b3b3b;border-radius:9px;color:#fff;background:#202020;font-weight:700}.plan-tools{display:flex;gap:8px}.calendar-button,.delete-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;border:1px solid #3a3a3a;border-radius:9px;color:#fff;background:#222;font-weight:700;cursor:pointer}.calendar-button svg,.delete-button svg{width:18px}.delete-button{color:#ff776d}.plan-summary{padding:30px 28px}.plan-summary-main{display:flex;align-items:center;gap:15px}.plan-summary-main h2{margin:0;font:800 1.7rem Manrope,sans-serif}.plan-summary-main p{margin:5px 0 0;color:#8c8c8c}.plan-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;margin-top:28px;border:1px solid #303030;border-radius:13px;background:#303030}.plan-kpis article{display:grid;gap:7px;padding:18px;background:#1c1c1c}.plan-kpis small{color:#818181}.plan-kpis strong{color:#ffd400;font:700 .95rem Manrope,sans-serif}.empty-active-plan{display:grid;min-height:320px;place-items:center;align-content:center;text-align:center}.empty-active-plan h2{margin:20px 0 4px}.empty-active-plan p{color:#818181}.calendar-modal{position:relative;width:min(900px,100%);max-height:calc(100vh - 80px);overflow-y:auto;padding:36px;border-radius:20px;color:#fff;background:#141414}.calendar-modal h2{margin:0 50px 24px 0;font:800 2rem Manrope,sans-serif}.calendar-modal .icon-button{position:absolute}.objectives-workspace .plan-modal{max-height:calc(100vh - 80px);overflow-y:auto}@media(max-width:900px){.plan-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.objectives-title{align-items:stretch}.objective-actions{width:100%;flex-direction:column}.active-plan-toolbar{align-items:stretch;flex-direction:column}.active-plan-toolbar select{width:100%;min-width:0}.plan-tools{width:100%}.calendar-button{flex:1}.plan-kpis{grid-template-columns:1fr 1fr}.calendar-modal{padding:30px 18px}.calendar-modal .session{grid-template-columns:82px 1fr}}.ai-summary{max-width:850px;margin:20px 0 0;color:#aaa;line-height:1.55}.session-legend{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.session-legend span,.session-category{padding:4px 8px;border-radius:999px;color:#111;background:#ffd400;font-size:.68rem;font-weight:800;text-transform:uppercase}.calendar-modal .session{grid-template-columns:36px 105px 1fr auto;border-left:4px solid #ffd400;padding-left:14px}.session-glyph{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;color:#111;background:#ffd400;font-weight:900}.session-category{display:inline-block;margin-bottom:7px}.session-targets{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.session-targets span{padding:6px 9px;border:1px solid #383838;border-radius:7px;color:#aaa;font-size:.72rem}.session-targets b{color:#fff}.session--recovery{border-left-color:#45d483!important}.session--recovery .session-glyph,.legend--recovery{background:#45d483!important}.session--intervals{border-left-color:#ff5151!important}.session--intervals .session-glyph,.legend--intervals{background:#ff5151!important}.session--threshold{border-left-color:#ff8a34!important}.session--threshold .session-glyph,.legend--threshold{background:#ff8a34!important}.session--fartlek{border-left-color:#a971ff!important}.session--fartlek .session-glyph,.legend--fartlek{background:#a971ff!important}.session--long_run{border-left-color:#35b9ff!important}.session--long_run .session-glyph,.legend--long_run{background:#35b9ff!important}.session--hills{border-left-color:#c79562!important}.session--hills .session-glyph,.legend--hills{background:#c79562!important}.session--rest{opacity:.7;border-left-color:#777!important}.session--rest .session-glyph,.legend--rest{background:#777!important}.plan-modal textarea{min-height:90px;resize:vertical;padding:12px;border:1px solid #dcd9d0;border-radius:9px;font:inherit}.plan-modal .check-line{display:flex;grid-template-columns:none;align-items:center;gap:9px}.check-line input{width:auto}.training-days{padding:0;border:0}.training-days legend{margin-bottom:10px;color:#5e5a52;font-size:.78rem;font-weight:800}.training-days>p{margin:9px 0 0;color:#8d887e;font-size:.72rem}.day-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.plan-modal .day-picker label{display:grid;min-width:0;place-items:center;gap:3px;padding:10px 3px;border:1px solid #dedbd2;border-radius:9px;color:#777269;background:#f7f6f2;cursor:pointer}.plan-modal .day-picker label.selected{border-color:#e1bb00;color:#111;background:#ffd400}.plan-modal .day-picker input{position:absolute;width:1px;height:1px;opacity:0}.day-picker span{font-weight:900}.day-picker small{overflow:hidden;width:100%;font-size:.56rem;font-weight:800;text-align:center;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.calendar-modal .session{grid-template-columns:32px 1fr}.calendar-modal .session time{grid-column:2}.calendar-modal .session>div{grid-column:2}}.period-switch{display:inline-flex;gap:4px;margin:0 0 18px;padding:4px;border-radius:11px;background:#e9e7df}.period-switch button{padding:9px 14px;border:0;border-radius:8px;color:#777269;background:transparent;font-weight:800;cursor:pointer}.period-switch button.active{color:#111;background:#ffd400}.today-training{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:22px 25px;border-radius:17px;color:#fff;background:#171717}.today-training h2{margin:4px 0 0}.today-session{display:flex;max-width:720px;align-items:center;gap:14px;padding-left:16px;border-left:4px solid #ffd400}.today-session>span{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:11px;color:#111;background:#ffd400;font-size:1.2rem;font-weight:900}.today-session p{margin:4px 0;color:#aaa;font-size:.8rem}.today-session small{color:#ffd400}.activity-detail-sections{display:grid;gap:8px;margin-top:22px}.activity-detail-sections details{padding:14px;border:1px solid #e0ddd4;border-radius:10px}.activity-detail-sections summary{font-weight:800;cursor:pointer}.detail-data-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:12px 0 0;background:#e7e4dc}.detail-data-list div{min-width:0;padding:9px;background:#fff}.detail-data-list dt{overflow:hidden;color:#99948a;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.detail-data-list dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:.78rem;font-weight:700}.raw-data-grid{display:grid;gap:8px;margin-top:10px}.activity-map{position:relative;overflow:hidden;margin-top:14px;border-radius:12px;background:radial-gradient(circle at 30% 20%,#303030,#111)}.activity-map svg{display:block;width:100%}.activity-map polyline{fill:none;stroke:#ffd400;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.activity-map>span{position:absolute;right:10px;bottom:10px;padding:5px 8px;border-radius:6px;color:#fff;background:#000a;font-size:.68rem}.calendar-page{overflow:hidden;border:1px solid #dfdcd3;border-radius:18px;background:#fff}.calendar-page-toolbar{display:flex;align-items:center;justify-content:center;gap:24px;padding:20px}.calendar-page-toolbar h2{min-width:240px;margin:0;text-align:center;text-transform:capitalize}.calendar-page-toolbar button{width:38px;height:38px;border:0;border-radius:50%;background:#ffd400;font-size:1.4rem;cursor:pointer}.calendar-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{padding:10px;color:#8d887e;font-size:.72rem;font-weight:800;text-align:center}.month-grid article{min-height:120px;padding:9px;border-top:1px solid #e8e6df;border-right:1px solid #e8e6df}.month-grid article.outside{opacity:.3;background:#f4f3ef}.month-grid time{font-size:.75rem;font-weight:800}.month-grid article>div{display:grid;gap:4px;margin-top:8px;padding:8px;border-left:3px solid #ffd400;border-radius:7px;background:#f7f5ee}.month-grid strong{font-size:.72rem}.month-grid small{color:#858077;font-size:.64rem}.achievement-section{margin-top:28px}.achievement-grid,.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.achievement-grid article,.badge-grid article{padding:20px;border:1px solid #e2dfd6;border-radius:14px;background:#fff}.achievement-icon{display:grid;width:42px;height:42px;margin-bottom:15px;place-items:center;border-radius:11px;color:#111;background:#ffd400}.achievement-icon svg{width:23px}.achievement-grid p,.badge-grid p{margin:5px 0 0;color:#89847a}.badge-grid article{display:flex;gap:13px}.badge-grid article>span{color:#e3bd00;font-size:1.5rem}.calendar-activity{border-left-color:#28a66a!important;background:#edf8f2!important}.performance-grid,.prediction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.performance-grid article,.prediction-grid article{padding:24px;border:1px solid #e2dfd6;border-radius:16px;background:#fff}.performance-grid strong{display:block;margin:8px 0;font:800 2rem Manrope}.performance-highlight{color:#111;background:#ffd400!important}.prediction-grid{grid-template-columns:repeat(4,1fr)}.prediction-grid strong{display:block;margin-top:8px;font:800 1.3rem Manrope}.prediction-note{color:#89847a}.performance-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.performance-hero article{padding:28px;border:1px solid #e2dfd6;border-radius:18px;background:#fff}.performance-hero strong{display:block;margin:8px 0;font:800 2rem Manrope}.performance-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.performance-kpi-grid article{padding:20px;border:1px solid #e2dfd6;border-radius:14px;background:#fff}.performance-kpi-grid strong{display:block;margin-top:10px;font:800 1.45rem Manrope}.performance-kpi-grid span,.performance-kpi-grid small{color:#89847a}.sync-pill{padding:8px 12px;border-radius:999px;background:#eeeae0;font-weight:800}.sync-pill.is-synced{background:#dff5e8;color:#147443}.extend-button{border-color:#ffd400;color:#ffd400}.race-edit-button{margin-left:auto;padding:7px 10px;border:1px solid #d4d0c5;border-radius:8px;background:#fff;font-weight:700;cursor:pointer}.favorite-button{flex:0 0 auto;padding:4px;border:0;color:#bbb6aa;background:transparent;font-size:1.35rem;cursor:pointer}.favorite-button.is-favorite{color:#e3bd00}.favorite-goals{display:grid;width:100%;gap:12px;margin:18px 0}.favorite-goals article{padding:15px;border:1px solid #333;border-radius:12px;background:#202020}.favorite-goal-title{display:flex;gap:11px;align-items:flex-start}.favorite-goal-title>span{color:#ffd400}.favorite-goal-title h2{margin:0;font-size:1rem}.favorite-goal-title p{margin:3px 0 0;font-size:.85rem}.garmin-target{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid #353535}.garmin-target small{color:#999}.garmin-target strong{color:#ffd400}.terrain-picker,.distance-presets{display:flex;flex-wrap:wrap;gap:8px}.terrain-picker button,.distance-presets button{padding:9px 13px;border:1px solid #d8d4ca;border-radius:9px;background:#f7f6f1;font-weight:800;cursor:pointer}.terrain-picker button{flex:1}.terrain-picker button.active,.distance-presets button.active{border-color:#d9b500;background:#fff4ac}.athlete-profile form{display:grid;gap:16px}.profile-card{display:grid;gap:14px;padding:25px;border:1px solid #e2dfd6;border-radius:18px;background:#fff}.profile-card h2,.profile-card p{margin:0}.profile-card p{color:#89847a}.profile-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.profile-card label{display:grid;gap:7px;color:#5e5a52;font-size:.78rem;font-weight:800}.profile-card input,.profile-card textarea{width:100%;padding:11px 12px;border:1px solid #dcd9d0;border-radius:9px;background:#faf9f5;font:500 .9rem DM Sans}.profile-card textarea{min-height:120px;resize:vertical}.roadmap-panel{margin-top:16px;padding:24px;border:1px solid #e2dfd6;border-radius:18px;background:#fff}.roadmap-panel h2{margin:4px 0 18px}.roadmap-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}.roadmap-scroll article{display:grid;min-width:170px;gap:7px;padding:14px;border-radius:11px;background:#f5f4ef}.roadmap-scroll article.is-recovery{background:#fff5b8}.roadmap-scroll strong{text-transform:capitalize}.roadmap-scroll small,.roadmap-scroll em{color:#89847a;font-size:.72rem}.roadmap-scroll em{font-style:normal}@media(max-width:760px){.profile-fields{grid-template-columns:1fr}}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.metric-chart{padding:22px;border:1px solid #e2dfd6;border-radius:16px;background:#fff}.metric-chart>div{display:flex;justify-content:space-between}.metric-chart svg{width:100%;margin-top:10px}.metric-chart line{stroke:#ddd9cf}.metric-chart polyline{fill:none;stroke:#e3bd00;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.metric-chart small{color:#89847a}@media(max-width:760px){.today-training{align-items:stretch;flex-direction:column}.period-switch{display:grid;grid-template-columns:repeat(3,1fr)}.month-grid article{min-height:78px;padding:5px}.month-grid strong,.month-grid small{display:none}.achievement-grid,.badge-grid,.performance-grid,.prediction-grid,.chart-grid,.performance-hero,.performance-kpi-grid,.detail-data-list{grid-template-columns:1fr}}.detail-drawer{width:min(720px,100%)}.activity-detail-sections details{border-color:#393939;background:#1b1b1b}.activity-detail-sections summary{color:#fff}.detail-data-list{color:#171717;background:#d9d6cd}.detail-data-list div{color:#171717;background:#fff}.detail-data-list dt{color:#746f65;font-weight:700;text-transform:capitalize}.detail-data-list dd{color:#171717;font-size:.82rem;font-weight:800}.detail-data-list .detail-data-list{grid-template-columns:1fr;margin-top:6px;border:1px solid #e6e3db}.detail-data-list .detail-data-list div{background:#f6f5f1}.raw-data-grid{color:#171717}.raw-data-grid>small{padding:8px;color:#6f6a60;background:#fff}.drawer-backdrop{display:grid;place-items:center;padding:18px}.detail-drawer{position:relative;inset:auto;width:min(1500px,100%);height:calc(100vh - 36px);padding:48px clamp(24px,4vw,64px);border:1px solid #353535;border-radius:22px;box-shadow:0 35px 100px #0000008c}.detail-drawer>.icon-button{position:fixed;top:36px;right:36px;z-index:2;background:#141414}.detail-drawer .hero-metric{max-width:520px}.detail-drawer .metric-grid{grid-template-columns:repeat(4,1fr)}.activity-detail-sections{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.activity-detail-sections details{min-width:0}.activity-detail-sections details:has(.activity-map){grid-column:1 / -1}.activity-detail-sections .detail-data-list{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.detail-drawer .metric-grid{grid-template-columns:1fr 1fr}.activity-detail-sections{grid-template-columns:1fr}.activity-detail-sections details:has(.activity-map){grid-column:auto}}@media(max-width:760px){.drawer-backdrop{padding:0}.detail-drawer{width:100%;height:100vh;padding:42px 18px;border:0;border-radius:0}.detail-drawer>.icon-button{position:fixed;top:14px;right:14px}.activity-detail-sections .detail-data-list{grid-template-columns:1fr}}:root{--ink: #10110f;--yellow: #ffd400;--glass-light: rgba(255,255,255,.66);--glass-dark: rgba(17,18,16,.78);--glass-border: rgba(255,255,255,.58);--glass-shadow: 0 22px 60px rgba(31,34,25,.11), inset 0 1px 0 rgba(255,255,255,.82)}body{background:radial-gradient(circle at 82% 5%,rgba(255,212,0,.22),transparent 24rem),radial-gradient(circle at 20% 42%,rgba(255,255,255,.95),transparent 30rem),linear-gradient(135deg,#efeee8,#f9f8f3 46%,#e8e7df);background-attachment:fixed}body:before,body:after{position:fixed;z-index:-1;width:34rem;height:34rem;border-radius:50%;content:"";filter:blur(2px);pointer-events:none}body:before{top:18%;right:-18rem;background:radial-gradient(circle at 35% 35%,rgba(255,226,75,.42),rgba(255,212,0,.04) 65%,transparent 70%)}body:after{bottom:-22rem;left:20%;background:radial-gradient(circle,rgba(184,190,177,.32),transparent 68%)}.sidebar{border-right:1px solid rgba(255,255,255,.11);background:linear-gradient(160deg,#0a0b0af7,#141512e0);box-shadow:18px 0 55px #10110f21;-webkit-backdrop-filter:blur(28px) saturate(145%);backdrop-filter:blur(28px) saturate(145%)}.sidebar:before{position:absolute;inset:0;background:radial-gradient(circle at 30% 0,rgba(255,212,0,.12),transparent 26%),linear-gradient(110deg,transparent 45%,rgba(255,255,255,.035),transparent 55%);content:"";pointer-events:none}.sidebar>*{position:relative}.brand-mark{border-color:#ffd40061;background:#050a10;box-shadow:0 8px 24px #00000052}.sidebar nav button{border:1px solid transparent;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.sidebar nav button:hover{transform:translate(4px);border-color:#ffffff14;background:#ffffff12}.sidebar nav button.active{border-color:#ffffff73;background:linear-gradient(135deg,#ffe66a,#ffd400);box-shadow:0 10px 30px #ffd4002b,inset 0 1px #fffc}.panel,.stats-grid article,.health-card,.race-strip,.planner-card,.achievement-grid article,.badge-grid article,.calendar-page,.goal-card{border:1px solid var(--glass-border);background:linear-gradient(145deg,#ffffffd1,#ffffff82);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}.panel,.stats-grid article,.health-card,.race-strip,.achievement-grid article,.badge-grid article{position:relative;overflow:hidden}.panel:before,.stats-grid article:before,.health-card:before,.race-strip:before,.achievement-grid article:before,.badge-grid article:before{position:absolute;top:-70%;left:-30%;width:80%;height:140%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.5),transparent 65%);content:"";transform:rotate(12deg);pointer-events:none}.stats-grid article,.health-card,.achievement-grid article,.badge-grid article{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.stats-grid article:hover,.health-card:hover,.achievement-grid article:hover,.badge-grid article:hover{transform:translateY(-4px);border-color:#ffd4008c;box-shadow:0 28px 70px #1f221926,0 0 0 1px #ffd4001f,inset 0 1px #fff}.stats-grid .stat-accent{border-color:#ffea78e6;background:linear-gradient(135deg,#ffe75df5,#ffcd00d6);box-shadow:0 22px 55px #e3b50033,inset 0 1px 1px #ffffffbf}.primary-button,.outline-action,.calendar-button,.delete-button,.outline-button,.period-switch button.active{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.55);box-shadow:0 9px 24px #1c1d191f,inset 0 1px #ffffffbf;transition:transform .18s ease,box-shadow .18s ease}.primary-button{background:linear-gradient(135deg,#ffe878,#ffd400 58%,#e2b400)}.primary-button:hover,.outline-action:hover,.calendar-button:hover,.period-switch button:hover{transform:translateY(-2px);box-shadow:0 14px 34px #1c1d192b,inset 0 1px #fff}.period-switch{border:1px solid rgba(255,255,255,.64);background:#e2e1d88f;box-shadow:inset 0 1px 1px #ffffffe6,0 10px 30px #1e201a12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.active-plan-card,.today-training,.goal-preview,.plan-result,.calendar-modal{border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 80% 0,rgba(255,212,0,.09),transparent 30%),linear-gradient(145deg,#191a17f0,#0a0b0ae0);box-shadow:0 28px 75px #0c0d0b38,inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(30px) saturate(140%);backdrop-filter:blur(30px) saturate(140%)}.modal-backdrop,.drawer-backdrop{background:#14151270;-webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%)}.plan-modal{border:1px solid rgba(255,255,255,.72);background:linear-gradient(145deg,#ffffffe6,#f5f4edbd);box-shadow:0 40px 110px #0809084d,inset 0 1px #fff;-webkit-backdrop-filter:blur(34px) saturate(160%);backdrop-filter:blur(34px) saturate(160%)}.detail-drawer{background:radial-gradient(circle at 78% 0,rgba(255,212,0,.1),transparent 25%),linear-gradient(145deg,#191a17f5,#080908eb);-webkit-backdrop-filter:blur(32px) saturate(140%);backdrop-filter:blur(32px) saturate(140%)}.activity-detail-sections details{border-color:#ffffff21;background:#ffffff0e;box-shadow:inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.detail-data-list div{background:#ffffffe8}.activity-row{border-radius:12px}.activity-row:hover{background:#ffffff7a;box-shadow:inset 0 1px #ffffffd9}.hero-ring{border-color:#dcdbd39e;border-top-color:#ffd400;border-right-color:#ffd400;box-shadow:0 25px 70px #1f22191c,inset 0 0 30px #ffffffb3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-header,.mobile-nav{-webkit-backdrop-filter:blur(28px) saturate(150%);backdrop-filter:blur(28px) saturate(150%)}.page-title select,.active-plan-toolbar select,.plan-modal input,.plan-modal select,.plan-modal textarea{border-color:#ffffffb8;box-shadow:inset 0 1px 2px #1e201a0d,0 7px 18px #1e201a0f}@media(max-width:760px){.mobile-nav{grid-template-columns:repeat(6,1fr);background:#ffffffb8}.mobile-nav button{min-width:0}.mobile-nav button span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}}@media(prefers-reduced-motion:no-preference){.hero-ring{animation:liquid-float 6s ease-in-out infinite}@keyframes liquid-float{0%,to{translate:0 0}50%{translate:0 -8px}}}.objectives-workspace>.compact-banner{position:fixed;z-index:90;top:22px;left:calc(50% + 122px);width:min(560px,calc(100% - 40px));margin:0;border:1px solid rgba(255,255,255,.75);box-shadow:0 22px 60px #0000004d;transform:translate(-50%);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}@media(max-width:760px){.objectives-workspace>.compact-banner{left:50%}}.app-shell{position:relative;min-height:100vh;padding-top:0;isolation:isolate}.app-shell:before{position:fixed;inset:0;z-index:-2;content:"";background-image:var(--app-background);background-position:center;background-size:cover;background-repeat:no-repeat;transform:scale(1.015)}.app-shell:after{position:fixed;inset:0;z-index:-1;content:"";pointer-events:none;background:linear-gradient(105deg,#060706b3,#0809086e 42%,#08090829);-webkit-backdrop-filter:saturate(105%);backdrop-filter:saturate(105%)}.topbar{position:fixed;inset:0 0 auto;z-index:80;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;height:var(--app-header-height);padding:0 clamp(20px,3vw,54px);color:#fff;border-bottom:1px solid rgba(255,255,255,.11);background:radial-gradient(circle at 12% -80%,rgba(255,212,0,.2),transparent 32%),#0a0b0aeb;box-shadow:0 14px 45px #08090833;-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%)}.topbar .brand{flex:none}.top-navigation{display:flex;min-width:0;justify-content:center;gap:4px;overflow-x:auto;scrollbar-width:none}.top-navigation::-webkit-scrollbar{display:none}.top-navigation button{position:relative;display:inline-flex;flex:none;min-height:44px;align-items:center;gap:8px;padding:10px 14px;border:1px solid transparent;border-radius:12px;color:#aaa9a2;background:transparent;font:650 .78rem/1 Manrope;cursor:pointer;transition:.2s ease}.top-navigation button svg{width:16px;height:16px}.top-navigation button:hover{color:#fff;border-color:#ffffff1a;background:#ffffff12;transform:translateY(-1px)}.top-navigation button:focus-visible{outline:2px solid #ffd400;outline-offset:2px}.top-navigation button.active{color:#fff;border-color:#ffd40038;background:#ffd40014;box-shadow:inset 0 1px #ffffff0a}.top-navigation button.active:after{position:absolute;right:14px;bottom:4px;left:14px;height:2px;border-radius:2px;background:#ffd400;content:"";box-shadow:0 0 12px #ffd40073}.topbar .sync-status{flex:none;margin:0;padding:0}.user-menu{position:relative}.user-menu>summary{display:grid;width:44px;height:44px;place-items:center;padding:0;border:1px solid rgba(255,212,0,.38);border-radius:50%;color:#171817;background:linear-gradient(145deg,#ffe96e,#ffd400);box-shadow:0 8px 24px #ffd40024;cursor:pointer;list-style:none;transition:transform .18s ease,box-shadow .18s ease}.user-menu>summary::-webkit-details-marker{display:none}.user-menu>summary:hover{transform:translateY(-1px);box-shadow:0 10px 28px #ffd4003d}.user-menu>summary:focus-visible{outline:2px solid #fff;outline-offset:3px}.user-menu[open]>summary{box-shadow:0 0 0 3px #ffd40033}.profile-avatar{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(17,17,17,.16);border-radius:50%;background:#ffffff4d}.profile-avatar svg{width:21px;height:21px}.user-menu>div{position:absolute;top:calc(100% + 12px);right:0;display:grid;width:min(330px,calc(100vw - 24px));padding:8px;border:1px solid var(--color-border);border-radius:16px;background:#101110fa;box-shadow:0 24px 70px #00000080}.user-menu>div button{display:grid;min-height:52px;gap:4px;padding:13px;border:0;border-radius:10px;color:var(--color-ink);background:transparent;text-align:left;cursor:pointer}.calendar-week-summary--future{opacity:.78}.user-menu-heading{display:grid;gap:3px;margin:2px 4px 7px;padding:11px 9px 13px;border-bottom:1px solid var(--color-border)}.user-menu-heading strong{font:800 .86rem Manrope}.user-menu-heading small{color:var(--color-ink-muted);font-size:.67rem}.user-menu>div button:hover,.user-menu>div button:focus-visible{outline:none;background:#ffd40017}.user-menu>div small{color:var(--color-ink-muted);font-size:.67rem}.user-menu-logout{display:none!important;color:#ff8d84!important}html[data-auth-enabled=true] .user-menu-logout{display:grid!important}.main-content{margin-left:0}.mobile-header,.mobile-nav{display:none!important}.page-section{width:min(1440px,calc(100% - 48px));padding-top:38px}.dashboard-hero{position:relative;min-height:470px;margin-bottom:22px;padding:clamp(34px,5vw,76px);overflow:hidden;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:linear-gradient(105deg,#070807d6,#07080761 58%,#0708071a);box-shadow:0 32px 80px #00000047;-webkit-backdrop-filter:blur(5px) saturate(115%);backdrop-filter:blur(5px) saturate(115%)}.dashboard-hero:after{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px #ffffff3d,inset 0 -80px 100px #00000029;content:"";pointer-events:none}.dashboard-hero>*{position:relative;z-index:1}.dashboard-hero h1{max-width:720px;color:#fff;text-shadow:0 4px 28px rgba(0,0,0,.35)}.dashboard-hero h1 em{color:#ffd400}.dashboard-hero p{max-width:480px;color:#ffffffb8}.dashboard-hero .overline{color:#ffd400}.dashboard-hero .hero-ring{color:#fff;border-color:#ffffff47;border-top-color:#ffd400;border-right-color:#ffd400;background:#0b0c0a47;box-shadow:0 25px 70px #0000004d,inset 0 0 30px #ffffff14}.dashboard-hero .hero-ring small{color:#ffffffa8}.panel,.stats-grid article,.health-card,.race-strip,.planner-card,.achievement-grid article,.badge-grid article,.calendar-page,.goal-card{border-radius:20px}.stats-grid{gap:16px}.stats-grid article{min-height:160px;padding:28px}.panel,.stats-grid article,.health-card,.race-strip,.planner-card,.achievement-grid article,.badge-grid article,.calendar-page,.goal-card{border-color:#ffffff94;background:radial-gradient(circle at 8% 0,rgba(255,255,255,.88),transparent 38%),linear-gradient(145deg,#ffffffc7,#ffffff94);box-shadow:0 24px 65px #0000001f,inset 0 1px #fff,inset 0 -1px #ffffff4d;-webkit-backdrop-filter:blur(24px) saturate(145%) brightness(1.16);backdrop-filter:blur(24px) saturate(145%) brightness(1.16)}.panel:after,.stats-grid article:after,.health-card:after,.race-strip:after,.achievement-grid article:after,.badge-grid article:after{position:absolute;inset:0;border-radius:inherit;content:"";pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.24),transparent 24%,transparent 72%,rgba(255,212,0,.08));box-shadow:inset 0 0 32px #ffffff1f}.panel>*,.stats-grid article>*,.health-card>*,.race-strip>*,.achievement-grid article>*,.badge-grid article>*{position:relative;z-index:1}.panel:hover,.stats-grid article:hover,.health-card:hover,.race-strip:hover,.achievement-grid article:hover,.badge-grid article:hover{border-color:#ffe14db8;box-shadow:0 28px 75px #0003,0 0 34px #ffd4001a,inset 0 1px #fff}.activity-row{border:1px solid transparent;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.activity-row:hover{border-color:#ffffffb8;background:#ffffff61;box-shadow:0 12px 32px #00000017,inset 0 1px #ffffffd9;transform:translate(3px)}.period-switch{border-color:#ffffffb3;background:#ffffff94;box-shadow:0 14px 35px #00000017,inset 0 1px #fff}@media(max-width:1180px){.topbar{gap:12px;padding-inline:18px}.top-navigation button{padding-inline:9px;font-size:.7rem}.topbar .sync-status div{display:none}}@media(max-width:760px){.app-shell{padding-top:0}.topbar{grid-template-columns:auto minmax(0,1fr) auto;height:var(--app-header-height);padding-inline:12px}.topbar .brand>span:last-child{display:none}.topbar .brand-mark{width:38px;height:38px}.top-navigation{justify-content:flex-start}.top-navigation button{gap:0;padding:10px}.top-navigation button span{display:none}.top-navigation button svg{width:18px;height:18px}.page-section{width:min(100% - 24px,620px);padding:18px 0 40px}.dashboard-hero{min-height:400px;padding:30px 24px;border-radius:22px;background-position:64% center}.dashboard-hero h1{font-size:2.65rem}.dashboard-hero p{max-width:250px}}.app-shell:after{background:linear-gradient(105deg,#040504a3,#07080752 50%,#08070433)}.panel,.stats-grid article,.health-card,.race-strip,.planner-card,.achievement-grid article,.badge-grid article,.calendar-page,.goal-card{color:#f8f8f5;border:1px solid rgba(255,255,255,.5);background:radial-gradient(circle at 82% -12%,rgba(255,190,52,.12),transparent 36%),linear-gradient(135deg,#121514bd,#17161270);box-shadow:0 24px 70px #00000047,inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(20px) saturate(135%);backdrop-filter:blur(20px) saturate(135%)}.panel:after,.stats-grid article:after,.health-card:after,.race-strip:after,.achievement-grid article:after,.badge-grid article:after{background:linear-gradient(115deg,rgba(255,255,255,.09),transparent 28%,transparent 72%,rgba(255,191,0,.07));box-shadow:inset 0 0 42px #ffffff06}.panel:hover,.stats-grid article:hover,.health-card:hover,.race-strip:hover,.achievement-grid article:hover,.badge-grid article:hover{border-color:#ffd232b8;box-shadow:0 30px 80px #00000057,0 0 32px #ffb40017,inset 0 1px #ffffff2e}.panel h2,.panel h3,.stats-grid strong,.health-card h2,.health-card h3,.race-strip h2,.planner-card h2,.achievement-grid h2,.achievement-grid h3,.badge-grid h2,.badge-grid h3,.calendar-page h2,.calendar-page h3,.goal-card h2,.goal-card h3{color:#fff}.panel p,.panel small,.stats-grid small,.stats-grid span,.health-card p,.health-card small,.race-strip p,.planner-card p,.achievement-grid p,.badge-grid p,.calendar-page p,.goal-card p{color:#ffffffa3}.activity-row{color:#fff;border-bottom-color:#ffffff1a}.activity-row:hover{border-color:#ffffff4d;background:#ffffff17;box-shadow:0 14px 36px #0003,inset 0 1px #ffffff1f}.activity-main strong,.activity-stat b{color:#fff}.activity-main .activity-meta,.activity-stat small{color:#ffffff8c}.period-switch{border-color:#fff3;background:#0c0e0d85;box-shadow:0 16px 40px #00000038,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.period-switch button{color:#ffffffa6}.period-switch button:hover{color:#fff}.period-switch button.active{color:#111;background:linear-gradient(135deg,#ffe34f,#ffc400)}.page-title h1,.page-title p{color:#fff;text-shadow:0 3px 22px rgba(0,0,0,.38)}.page-title p{color:#ffffffad}.overline,.text-button{color:#ffd400}.topbar{border-bottom-color:#ffd40057;box-shadow:0 14px 45px #0809083d,0 1px #ffd4001f}.topbar:after{position:absolute;right:0;bottom:-1px;left:0;height:1px;background:linear-gradient(90deg,transparent 5%,#ffd400 28%,rgba(255,212,0,.25) 72%,transparent 95%);content:""}.top-navigation button{color:#ffffffc2}.top-navigation button svg{color:#ffd400;filter:drop-shadow(0 0 7px rgba(255,212,0,.2))}.top-navigation button:hover{color:#ffd400;border-color:#ffd4003d;background:#ffd40014}.top-navigation button.active{color:#111;box-shadow:0 9px 28px #ffd40047,inset 0 1px #ffffffd9}.top-navigation button.active svg{color:#111;filter:none}.dashboard-hero{min-height:350px;margin-bottom:16px;padding:clamp(30px,4vw,56px)}.dashboard-hero h1{font-size:clamp(2.7rem,4.4vw,4.25rem)}.dashboard-hero p{margin-top:16px}.hero-ring{width:174px;height:174px}.period-switch{margin-bottom:14px}.stats-grid{gap:14px}.stats-grid article{min-height:132px;padding:22px 24px}.stats-grid strong{margin:11px 0 3px;font-size:1.8rem}.today-training{gap:18px;margin:14px 0;padding:17px 22px}.today-training h2{font-size:1.22rem}.today-session>span{width:36px;height:36px}.content-grid{gap:14px;margin-top:14px}.activity-panel,.goal-preview{padding:22px}.activity-row{min-height:62px}.goal-empty-icon{width:58px;height:58px;margin-top:12px}.goal-empty-icon svg{width:28px;height:28px}.goal-preview h2{margin-top:13px;font-size:1.4rem}@media(max-width:760px){.dashboard-hero{min-height:330px;padding:28px 22px}.stats-grid article{min-height:116px;padding:18px}.today-training{align-items:flex-start;flex-direction:column}}.sport-icon{position:relative;color:#111;border:1px solid rgba(255,238,139,.8);background:linear-gradient(145deg,#ffe96a,#ffd400 62%,#d9aa00);box-shadow:0 7px 20px #ffd40033,inset 0 1px #ffffffc7}.sport-icon svg{width:20px;height:20px;stroke-width:1.9}.sport-icon--trail svg{width:22px}.sport-icon--tennis svg{width:21px;height:21px}.sport-icon--padel svg{width:21px;height:21px}.month-grid article>div,.month-grid article>div strong,.month-grid article>div small{color:#24251f;text-shadow:none}.month-grid article>div small{color:#696a62}.month-grid article>div>span{color:#927900}.month-grid .calendar-activity,.month-grid .calendar-activity strong{color:#173e2b}.month-grid .calendar-activity small{color:#557064}.race-chip-list article{color:#1c1d19}.race-chip-list article strong{color:#1c1d19}.race-chip-list article small{color:#77776f}.race-chip-list .race-edit-button{color:#171813}.coaching-explanation{display:grid;gap:3px;margin-top:10px;padding:10px 12px;border-left:2px solid #ffd400;border-radius:0 8px 8px 0;background:#ffd40012}.coaching-explanation b{color:#ffd400;font-size:.7rem}.coaching-explanation span{color:#ffffffd1;font-size:.76rem;line-height:1.4}.coaching-explanation small{color:#ffffff80;font-size:.68rem}.long-run-preferences{display:grid;gap:9px;margin-top:16px;padding-top:15px;border-top:1px solid #dedbd2}.long-run-preferences>strong{color:#24251f;font-size:.78rem}.long-run-preferences .day-picker label:not(.selected):has(input:disabled){opacity:.35;cursor:not-allowed}.weekly-coaching-summaries{display:grid;gap:10px;margin:0 0 20px}.weekly-coaching-summaries article{padding:18px;border:1px solid rgba(255,212,0,.32);border-radius:14px;background:linear-gradient(135deg,#ffd4001a,#ffffff0a)}.weekly-coaching-summaries article>div:first-child{display:grid;gap:2px}.weekly-coaching-summaries article>div:first-child strong{color:#fff;font:750 1rem Manrope}.weekly-coaching-summaries dl{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 0}.weekly-coaching-summaries dl div{display:grid;gap:4px;padding:10px;border-radius:9px;background:#ffffff12}.weekly-coaching-summaries dt{color:#ffffff7a;font-size:.65rem}.weekly-coaching-summaries dd{margin:0;color:#ffd400;font-size:.78rem;font-weight:800;text-transform:capitalize}.weekly-coaching-summaries p{margin:12px 0 0;color:#ffffffa8;font-size:.76rem;line-height:1.45}@media(max-width:760px){.weekly-coaching-summaries dl{grid-template-columns:1fr 1fr}}.roadmap-panel>div:first-child>p{margin:-10px 0 18px;color:#ffffff94;font-size:.82rem}.roadmap-scroll{gap:14px;scroll-snap-type:x proximity}.roadmap-scroll article{min-width:330px;gap:15px;padding:18px;color:#fff;border:1px solid rgba(255,255,255,.22);background:linear-gradient(145deg,#121514db,#1f1d169e);box-shadow:0 16px 42px #0000002e,inset 0 1px #ffffff1a;scroll-snap-align:start}.roadmap-scroll article.is-recovery{border-color:#ffd4007a;background:linear-gradient(145deg,#3d3612e0,#1e1d14ad)}.roadmap-scroll article header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.roadmap-scroll article header>div{display:grid;gap:4px}.roadmap-scroll article header small{color:#ffffff7a}.roadmap-scroll article header strong{color:#fff;font:800 1.08rem Manrope}.roadmap-scroll article header>span{padding:6px 9px;border-radius:999px;color:#171713;background:#ffd400;font-size:.72rem;font-weight:900}.roadmap-focus-list{display:grid;gap:10px}.roadmap-focus-list>div{display:grid;grid-template-columns:116px minmax(90px,1fr) 34px;gap:9px;align-items:center}.roadmap-focus-list span{overflow:hidden;color:#ffffffb8;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.roadmap-focus-list b{color:#ffd400;font-size:.68rem;text-align:right}.roadmap-focus-track{position:relative;overflow:hidden;height:8px;border-radius:999px;background:repeating-linear-gradient(90deg,#ffffff17 0 7px,#ffffff06 7px 10px)}.roadmap-focus-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd400,#ffb800);box-shadow:0 0 12px #ffd40059}.roadmap-scroll article footer{padding-top:11px;color:#ffffff80;border-top:1px solid rgba(255,255,255,.1);font-size:.68rem}@media(max-width:760px){.roadmap-scroll article{min-width:292px}.roadmap-focus-list>div{grid-template-columns:105px minmax(70px,1fr) 32px}}.metric-chart--empty{display:grid;min-height:155px;align-content:center;justify-items:center;gap:10px;color:#1d1e1a;background:#ffffffe0;box-shadow:0 18px 46px #00000021;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.metric-chart--empty strong{font:800 1rem Manrope}.metric-chart--empty p{margin:0;color:#74756d;font-size:.82rem;text-align:center}.achievement-section>h2{color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.55)}.achievement-section>.prediction-note{color:#ffffffc2;text-shadow:0 2px 12px rgba(0,0,0,.5)}.weekly-coaching-summaries .weekly-summary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.weekly-summary-heading>div{display:grid;gap:2px}.weekly-summary-heading>div>strong{color:#fff;font:750 1rem Manrope}.weekly-summary-heading button{flex:none;padding:8px 11px;border:1px solid rgba(255,212,0,.48);border-radius:9px;color:#ffd400;background:#ffd40014;font-size:.7rem;font-weight:850;cursor:pointer;transition:.18s ease}.weekly-summary-heading button:hover{color:#171713;background:#ffd400;transform:translateY(-1px)}.weekly-summary-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.garmin-send-button{align-self:start;padding:8px 10px;border:1px solid rgba(255,212,0,.55);border-radius:9px;color:#ffd400;background:#ffd40014;font-size:.7rem;font-weight:850;cursor:pointer}.garmin-send-button:hover{color:#171713;background:#ffd400}.garmin-confirm-modal{position:relative;display:grid;width:min(680px,100%);gap:18px;padding:36px;border:1px solid rgba(255,212,0,.38);border-radius:20px;color:#fff;background:#141411f5;box-shadow:0 30px 90px #00000073}.garmin-confirm-modal h2{margin:0;font:800 2rem Manrope}.garmin-confirm-modal>p{margin:-5px 0 0;color:#aaa79e;line-height:1.55}.garmin-preview-list{display:grid;gap:8px}.garmin-preview-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #34342c;border-radius:11px;background:#20201b}.garmin-preview-list article div{display:grid;gap:4px}.garmin-preview-list span{color:#aaa79e;font-size:.78rem}.garmin-preview-list b{color:#ffd400;font-size:.72rem;text-align:right}.garmin-confirm-actions{display:flex;justify-content:flex-end;gap:10px}.garmin-confirm-actions>button{padding:11px 15px;border:1px solid #4a493f;border-radius:10px;color:#fff;background:transparent;font-weight:800;cursor:pointer}.garmin-confirm-actions .primary-button{color:#171713;background:#ffd400}.garmin-confirm-actions button:disabled{opacity:.45;cursor:not-allowed}.local-delete-button{width:100%;margin-top:14px;padding:12px 16px;border:1px solid #e0b4b0;border-radius:10px;color:#a3261d;background:#fff7f6;font-weight:800;cursor:pointer}.local-delete-button:hover{border-color:#c94a40;background:#ffefed}@media(max-width:560px){.weekly-coaching-summaries .weekly-summary-heading{align-items:stretch;flex-direction:column}.weekly-summary-heading button{width:100%}}body{color:var(--color-ink);background:var(--color-bg)}.app-shell{background:radial-gradient(circle at 78% -10%,rgba(255,212,0,.08),transparent 28%),var(--color-bg)}.topbar{border-bottom-color:var(--color-border);background:#0c0d0dc7;box-shadow:0 12px 35px #00000029;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.top-navigation button{position:relative;color:#85867f;transition:color var(--transition-fast),background var(--transition-fast)}.top-navigation button:hover{color:var(--color-ink);background:#ffffff0d}.top-navigation button.active{color:var(--color-ink);background:#ffffff12}.top-navigation button.active:after{position:absolute;right:20%;bottom:-1px;left:20%;height:2px;border-radius:2px;background:var(--color-accent);content:""}.page-title p,.dashboard-summary p,.daily-advice p,.dashboard-quick-link p{color:var(--color-ink-muted)}.dashboard-summary{position:relative;display:grid;grid-template-columns:minmax(300px,1.3fr) 180px;overflow:hidden;padding:clamp(28px,4vw,52px);background:linear-gradient(100deg,#0c0d0dc7,#0c0d0d6b),var(--app-background) center/cover}.dashboard-summary:after{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px #ffffff1f;content:"";pointer-events:none}.dashboard-summary__intro h1{margin:0;font:800 clamp(2.7rem,5vw,5rem)/.96 "Manrope";letter-spacing:-.065em}.dashboard-summary__intro h1 em{color:#a8a79f;font-style:normal;font-weight:500}.dashboard-summary__ring{display:grid;width:150px;height:150px;place-self:center;place-items:center;align-content:center;border:10px solid rgba(255,255,255,.12);border-top-color:var(--color-accent);border-radius:50%}.dashboard-summary__ring>:first-child{font:800 2.7rem Manrope}.dashboard-summary__ring small{color:var(--color-ink-muted)}.dashboard-summary__kpis{display:grid;grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin-top:38px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#05050559}.period-switch.compact{grid-column:1/-1;width:fit-content;margin:18px 0 0;padding:4px;border:1px solid var(--color-border);border-radius:999px;background:#00000059}.period-switch.compact button{padding:7px 13px;border-radius:999px;color:var(--color-ink-muted)}.period-switch.compact button.active{color:#111;background:var(--color-accent)}.dashboard-focus-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:14px;margin-top:14px}.dashboard-focus-grid>*{min-height:260px;padding:26px}.today-session{margin-top:8px}.today-session div{display:grid;gap:8px}.favorite-goal-modern h3{margin:25px 0 6px;font:800 1.6rem Manrope}.favorite-goal-modern p{color:var(--color-ink-muted)}.favorite-goal-modern>strong{display:block;margin-top:24px;color:var(--color-accent);font:800 1.6rem Manrope}.daily-advice{background:linear-gradient(150deg,rgba(255,212,0,.1),transparent 60%),var(--color-surface)!important}.daily-advice .ds-badge{margin-top:22px}.dashboard-quick-link{display:flex;flex-direction:column;align-items:flex-start;padding:28px}.dashboard-quick-link .outline-button{margin-top:auto}.panel,.profile-card,.health-card,.performance-hero article,.performance-kpi-grid article,.metric-chart,.achievement-section,.achievement-grid article,.badge-grid article{border-color:var(--color-border);color:var(--color-ink);background:var(--color-surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.activity-row{border-top-color:var(--color-border);color:var(--color-ink)}.activity-row:hover{background:#ffffff0b}.sport-icon{background:#ffffff14}.activity-meta,.activity-stat small{color:var(--color-ink-muted)}.activity-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.activity-toolbar label{display:grid;gap:7px;color:var(--color-ink-muted);font-size:.75rem;font-weight:800}.activity-toolbar select{min-width:220px;padding:10px 34px 10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-ink);background:var(--color-surface-strong)}.health-card p,.profile-card p,.prediction-note,.metric-chart small{color:var(--color-ink-muted)}.health-card .skeleton-line{background:#ffffff14}.page-section:has(>.performance-hero){display:flex;flex-direction:column}.page-section:has(>.performance-hero)>.achievement-section{order:2;margin:0 0 16px}.page-section:has(>.performance-hero)>.performance-hero{order:3}.performance-highlight{color:#111!important;background:var(--color-accent)!important}.performance-highlight p{color:#000000a8}.profile-goal-summary{display:grid;grid-template-columns:1fr 1fr;margin-bottom:14px}.profile-card{border-radius:var(--radius-lg)}.achievement-grid article,.badge-grid article{border-radius:var(--radius-lg);transition:transform var(--transition-base),border-color var(--transition-base)}.achievement-grid article:hover,.badge-grid article:hover{border-color:#ffd40047;transform:translateY(-2px)}.trophy-card{display:flex;min-height:250px;flex-direction:column;padding:24px}.trophy-card__title{display:flex;align-items:start;justify-content:space-between;gap:16px}.trophy-card__title strong{font:800 1.05rem Manrope}.trophy-card__title>span{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:50%;color:#111;background:var(--color-accent)}.trophy-card p{color:var(--color-ink-muted);line-height:1.5}.trophy-progress{height:5px;margin-top:auto;overflow:hidden;border-radius:999px;background:#ffffff14}.trophy-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-accent)}.trophy-card footer{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:var(--color-ink-muted);font-size:.7rem}.info-banner{color:var(--color-ink);background:var(--color-surface)}.form-row input,.profile-fields input,textarea,select{border-color:var(--color-border);color:var(--color-ink);background-color:var(--color-surface-strong)}@media(max-width:1050px){.dashboard-focus-grid{grid-template-columns:1fr 1fr}.daily-advice{grid-column:1/-1}.dashboard-summary__kpis{grid-template-columns:1fr 1fr}.ds-kpi:nth-child(3){border-left:0;border-top:1px solid var(--color-border)}.ds-kpi:nth-child(4){border-top:1px solid var(--color-border)}}@media(max-width:760px){.dashboard-summary{grid-template-columns:1fr;padding:28px 20px}.dashboard-summary__ring{display:none}.dashboard-summary__kpis,.dashboard-focus-grid,.profile-goal-summary{grid-template-columns:1fr}.daily-advice{grid-column:auto}.period-switch.compact{width:100%}.period-switch.compact button{flex:1}.activity-toolbar{align-items:stretch;flex-direction:column}.activity-toolbar select{width:100%}.dashboard-focus-grid>*{min-height:220px}}.modal-backdrop{z-index:100;align-items:start;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:24px;overscroll-behavior:contain}.objectives-workspace .plan-modal,.calendar-modal,.garmin-confirm-modal{max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain}@media(max-width:760px){.modal-backdrop{padding:max(12px,env(safe-area-inset-top)) 10px 12px}.objectives-workspace .plan-modal,.calendar-modal,.garmin-confirm-modal{max-height:calc(100dvh - 24px)}}.page-section:has(>.performance-hero)>.achievement-section{padding:26px 28px 30px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(145deg,#fff1,#ffffff05),#121312d1}.page-section:has(>.performance-hero) .prediction-grid{grid-template-columns:repeat(4,minmax(145px,180px));justify-content:space-around;gap:clamp(14px,2.5vw,30px);margin-top:24px}.page-section:has(>.performance-hero) .prediction-grid article{position:relative;display:grid;width:100%;aspect-ratio:1;place-items:center;align-content:center;padding:22px;overflow:hidden;border:1px solid rgba(255,212,0,.34);border-radius:50%;color:var(--color-ink);background:radial-gradient(circle at 40% 32%,#2a2b27 0,#171817 62%,#0e0f0e);box-shadow:0 18px 45px #0000004d,inset 0 0 0 7px #ffd40012,inset 0 1px #ffffff1f;text-align:center}.page-section:has(>.performance-hero) .prediction-grid article:before{position:absolute;inset:7px;border:2px solid rgba(255,212,0,.72);border-right-color:#ffffff1a;border-bottom-color:#ffffff1a;border-radius:50%;content:"";transform:rotate(28deg)}.page-section:has(>.performance-hero) .prediction-grid small{position:relative;z-index:1;color:#b9b7af;font-size:.72rem;font-weight:800;letter-spacing:.04em}.page-section:has(>.performance-hero) .prediction-grid strong{position:relative;z-index:1;margin-top:8px;color:var(--color-accent);font:800 clamp(1.2rem,2vw,1.65rem) "Manrope";letter-spacing:-.04em;text-shadow:0 2px 16px rgba(255,212,0,.14)}@media(max-width:900px){.page-section:has(>.performance-hero) .prediction-grid{grid-template-columns:repeat(2,minmax(140px,175px));justify-content:center}}@media(max-width:420px){.page-section:has(>.performance-hero)>.achievement-section{padding:22px 14px}.page-section:has(>.performance-hero) .prediction-grid{grid-template-columns:repeat(2,minmax(120px,150px));gap:10px}}.roadmap-panel{margin-top:16px;padding:clamp(20px,3vw,30px);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-ink);background:linear-gradient(145deg,#fff1,#ffffff05),#111211e0;box-shadow:var(--shadow-card)}.roadmap-panel .ds-section-header{margin-bottom:14px}.roadmap-navigation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:16px}.roadmap-navigation .ds-button:first-child{justify-self:start}.roadmap-navigation .ds-button:last-child{justify-self:end}.roadmap-navigation>strong{color:var(--color-ink-muted);font-size:.76rem}.roadmap-scroll{scrollbar-width:thin;scrollbar-color:rgba(255,212,0,.45) rgba(255,255,255,.05)}.roadmap-scroll article.is-active{border-color:var(--color-accent);box-shadow:0 16px 42px #00000038,0 0 0 2px #ffd4001f}.roadmap-focus-list>div{grid-template-columns:minmax(130px,1fr) auto}.roadmap-focus-list .ds-badge{justify-self:end;text-transform:capitalize}.modal-backdrop{overflow-y:auto}.calendar-modal{max-height:none;overflow:visible}.session-legend-panel{margin:12px 0 18px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#ffffff09}.session-legend-panel summary{padding:12px 14px;color:var(--color-ink-muted);font-size:.78rem;font-weight:800;cursor:pointer}.session-legend-panel .session-legend{margin:0;padding:0 14px 14px}.calendar-modal .session{padding-top:14px;padding-bottom:14px}.calendar-modal .garmin-send-button{border-color:var(--color-border);color:var(--color-ink-muted);background:#ffffff09}.health-title-actions{display:flex;align-items:center;gap:12px}.health-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.health-grid .health-card{min-height:145px;padding:18px;border-radius:var(--radius-md)}.health-card .health-glyph{position:absolute;top:16px;right:16px;width:30px;height:30px;opacity:.76}.health-card .ds-metric-tile__label{padding-right:36px}.health-card .health-value{font-size:inherit}.achievement-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}.trophy-card{min-height:160px;padding:18px}.trophy-card__title>span{width:34px;height:34px}.trophy-card__title>span svg{width:18px}.trophy-card p{margin:10px 0 0;font-size:.78rem;line-height:1.4}.trophy-card footer{margin-top:auto;padding-top:10px;justify-content:flex-end}@media(max-width:760px){.roadmap-navigation{grid-template-columns:1fr 1fr}.roadmap-navigation>strong{grid-column:1/-1;grid-row:1;text-align:center}.roadmap-navigation .ds-button{padding-inline:10px;font-size:.7rem}.health-title-actions{width:100%;justify-content:space-between}.health-grid{grid-template-columns:1fr 1fr}.health-grid .health-card{min-height:136px}}.page-section:has(>.performance-hero)>.page-title{order:0}.page-section:has(>.performance-hero)>.info-banner{order:1}.page-section:has(>.performance-hero)>.performance-hero{order:2}.page-section:has(>.performance-hero)>.load-metric-grid{order:3}.page-section:has(>.performance-hero)>.performance-kpi-grid{order:4}.page-section:has(>.performance-hero)>.chart-grid{order:5}.page-section:has(>.performance-hero)>.performance-predictions{order:6}.performance-hero{grid-template-columns:1.25fr .75fr}.training-status-card{border-color:#ffd40075;background:linear-gradient(145deg,#ffd40016,#ffffff06),var(--color-surface)!important}.training-status-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.training-status-heading>div{display:grid;gap:8px}.training-status-heading small{color:var(--color-ink-muted)}.training-status-heading strong{margin:0;color:var(--color-ink)}.training-status-card>p,.load-balance-card>p{color:var(--color-ink-muted);line-height:1.55}.training-status-card details{width:fit-content;margin-top:18px}.training-status-card summary{min-height:42px;padding:10px 14px;border:1px solid rgba(255,212,0,.35);border-radius:var(--radius-sm);color:var(--color-accent);font-weight:800;cursor:pointer}.training-status-card details p{max-width:620px;color:var(--color-ink-muted);font-size:.78rem}.load-balance-card .ds-section-header{align-items:center;margin-bottom:14px}.load-ratio{display:flex;align-items:center;justify-content:space-between;gap:14px}.load-ratio>strong{margin:0;color:var(--color-accent);font:800 clamp(2rem,4vw,3.4rem) "Manrope"}.load-metric-grid{margin-top:14px}.load-metric-grid .ds-metric-tile{min-height:142px}.performance-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.performance-kpi-grid .ds-metric-tile{min-height:128px;padding:18px}.performance-predictions{margin-top:16px!important}.performance-predictions .prediction-grid{align-items:stretch}.page-section:has(>.performance-hero) .performance-predictions .prediction-grid article{width:100%;min-height:210px;aspect-ratio:1;padding:28px}.page-section:has(>.performance-hero) .prediction-grid article>span,.page-section:has(>.performance-hero) .prediction-grid article time{position:relative;z-index:1;display:block;margin-top:6px;color:var(--color-ink-muted);font-size:.64rem}.page-section:has(>.performance-hero) .prediction-grid article.is-primary-goal{grid-column:span 2;aspect-ratio:auto;border-radius:var(--radius-lg);background:linear-gradient(145deg,#ffd40024,#ffffff08),var(--color-surface-strong)}.page-section:has(>.performance-hero) .prediction-grid article.is-primary-goal:before{inset:10px;border-radius:calc(var(--radius-lg) - 8px)}.prediction-goal{position:relative;z-index:1;display:grid;gap:4px;margin-top:12px}.prediction-goal b{color:var(--color-accent);font-size:.72rem}.prediction-goal span{margin:0!important;color:#dedbd2!important}@media(max-width:900px){.performance-hero{grid-template-columns:1fr}.page-section:has(>.performance-hero) .prediction-grid article.is-primary-goal{grid-column:1/-1}}@media(max-width:520px){.page-section:has(>.performance-hero) .performance-predictions .prediction-grid article{min-height:150px;padding:18px}.page-section:has(>.performance-hero) .prediction-grid article.is-primary-goal{min-height:190px}}@media(max-width:480px){.health-grid{grid-template-columns:1fr}}.activity-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-right:54px}.activity-detail-heading h2{margin-top:12px}.activity-detail-heading .ds-action-menu{flex:0 0 auto;margin-top:4px}.activity-detail-heading .ds-action-menu summary{min-height:42px;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);list-style:none;color:var(--color-ink);background:#ffffff0d}.activity-detail-heading .ds-action-menu button{display:flex;align-items:center;gap:8px;padding:10px;border:0;border-radius:8px;color:var(--color-danger);background:transparent;text-align:left;cursor:pointer}.activity-detail-heading .ds-action-menu button:hover{background:#ff776d14}.activity-detail-heading .ds-action-menu svg{width:17px}.activity-verdict{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:28px 0 18px}.activity-verdict h3{margin:8px 0 5px;font:800 1.4rem Manrope}.activity-verdict p{margin:0;color:var(--color-ink-muted);line-height:1.5}.activity-plan-link,.planned-actual,.activity-coaching-impact,.activity-feeling{margin-top:18px;padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff09}.activity-plan-link .ds-section-header,.planned-actual .ds-section-header,.activity-coaching-impact .ds-section-header,.activity-feeling .ds-section-header{margin-bottom:14px}.placement-reason,.activity-coaching-impact>p{margin:0;color:var(--color-ink-muted);line-height:1.55}.planned-actual-table{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.planned-actual-table>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,1fr) minmax(120px,1fr)}.planned-actual-table>div+div{border-top:1px solid var(--color-border)}.planned-actual-table>div>*{min-width:0;padding:11px 13px}.planned-actual-table>div>*+*{border-left:1px solid var(--color-border)}.planned-actual-table strong{font-size:.78rem}.planned-actual-table span{color:#d8d5cc;font-size:.78rem}.planned-actual-head{color:var(--color-ink-muted);background:#ffffff0e;font-size:.7rem;font-weight:800}.activity-feeling .ds-metric-tile{min-height:110px;box-shadow:none}.activity-garmin-secondary{margin-top:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff06}.activity-garmin-secondary summary{padding:16px 18px;color:var(--color-ink-muted);font-size:.78rem;font-weight:800;cursor:pointer}.activity-garmin-secondary .metric-grid{margin:0 18px 18px}.detail-note span{color:#151511;background:var(--color-accent)}@media(max-width:760px){.activity-detail-heading{display:block;padding-right:48px}.activity-detail-heading .ds-action-menu{margin-top:14px}.activity-detail-heading .ds-action-menu>div{right:auto;left:0}.activity-verdict{flex-direction:column}.activity-plan-link,.planned-actual,.activity-coaching-impact,.activity-feeling{padding:17px}.planned-actual-table{overflow-x:auto}.planned-actual-table>div{min-width:430px}}.profile-view{display:grid;gap:18px}.profile-view-section{padding:clamp(20px,3vw,28px);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#141513b8;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.profile-reference{display:grid;align-content:start;gap:9px;min-height:150px;box-shadow:none}.profile-reference>small{color:var(--color-ink-muted)}.profile-reference>strong{color:var(--color-ink);font:800 clamp(1.2rem,2vw,1.65rem) "Manrope";overflow-wrap:anywhere}.profile-reference footer{display:grid;gap:7px;margin-top:auto;padding-top:10px;border-top:1px solid var(--color-border)}.profile-reference time{color:var(--color-ink-muted);font-size:.64rem}.profile-source-note{margin:14px 0 0;color:var(--color-ink-muted);font-size:.75rem;line-height:1.5}.profile-notes{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.profile-notes p{margin:0;color:var(--color-ink);line-height:1.6;white-space:pre-wrap}.profile-form-actions{display:flex;gap:10px}.athlete-profile>form .profile-card>p{color:var(--color-ink-muted)}@media(max-width:760px){.athlete-profile .page-title .ds-button{width:100%}.profile-reference{min-height:130px}.profile-notes,.profile-form-actions{flex-direction:column}.profile-form-actions .ds-button{width:100%}}html,body{overflow-x:clip}.mobile-menu-button{display:none}.top-navigation button,.brand,.mobile-menu-button,.icon-button,.calendar-page-toolbar button{min-width:44px;min-height:44px}.top-navigation button[aria-current=page]{color:#111;border-color:#ffffffa6;background:linear-gradient(135deg,#ffe86c,#ffd400)}@media(max-width:1280px){.topbar{gap:12px;padding-inline:16px}.top-navigation{justify-content:center}.top-navigation button{padding:10px 12px}.top-navigation button span{display:none}.top-navigation button svg{width:18px;height:18px}.topbar .sync-status div{display:none}}@media(max-width:760px){.topbar{grid-template-columns:1fr auto auto;overflow:visible}.topbar .brand>span:last-child{display:inline}.mobile-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 11px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-ink);background:#ffffff0f;font-weight:800;cursor:pointer}.mobile-menu-button>span:first-child{color:var(--color-accent);font-size:1.2rem}.topbar .sync-status{display:none}.top-navigation{position:absolute;top:calc(var(--app-header-height) - 1px);right:10px;left:10px;display:none;max-height:calc(100dvh - var(--app-header-height) - 12px);grid-template-columns:1fr 1fr;gap:7px;overflow-y:auto;padding:12px;border:1px solid var(--color-border);border-radius:0 0 var(--radius-md) var(--radius-md);background:#0f100ff7;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.top-navigation.is-open{display:grid}.top-navigation button{width:100%;justify-content:flex-start;gap:10px;border-radius:var(--radius-sm)}.top-navigation button span{display:inline}.top-navigation button svg{flex:0 0 auto}.page-title select{width:100%;min-height:44px}.calendar-page{overflow-x:auto}.calendar-weekdays,.month-grid{min-width:680px}}@media(pointer:coarse){:where(button,a,summary,select,input[type=checkbox],input[type=radio]){min-height:44px}}body:after{opacity:.56;background:linear-gradient(#090a096b,#090a09ad)}.page-title{min-height:140px;padding-bottom:28px}.page-title h1{font-size:clamp(2.35rem,4vw,3.6rem)}.page-title p{margin-top:12px;color:#b9b7af}.coaching-dashboard{padding-top:18px}.coaching-dashboard>*+*{margin-top:14px}.weekly-quick-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.weekly-quick-metrics>span{display:grid;min-width:112px;gap:3px;padding:9px 14px;border:1px solid var(--color-border);border-radius:999px;background:#141514ad;box-shadow:inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.weekly-quick-metrics small{color:#aaa89f;font-size:.64rem;font-weight:700}.weekly-quick-metrics strong{color:var(--color-ink);font:800 .9rem Manrope}.weekly-quick-metrics>span:first-child strong{color:var(--color-accent)}.coaching-next-session{padding:30px;border-color:#ffd40033;background:linear-gradient(135deg,rgba(255,212,0,.055),transparent 45%),var(--color-surface)}.coaching-session-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:26px}.coaching-session-main h2{margin:14px 0 7px;font:800 clamp(1.7rem,3vw,2.5rem) "Manrope";letter-spacing:-.045em}.coaching-session-main>p{max-width:720px;color:#c2c0b8;line-height:1.55}.session-date-chip{color:var(--color-accent);font-size:.75rem;font-weight:800;text-transform:capitalize}.session-targets{display:grid;grid-template-columns:repeat(4,1fr);margin-top:24px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#0000002e}.coaching-session-layout aside{padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#0000002e}.coaching-session-layout aside>strong{font:800 1rem Manrope}.coaching-session-layout aside p{margin:10px 0 22px;color:#b9b7af;font-size:.82rem;line-height:1.55}.coaching-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.coaching-dashboard-grid>*{padding:26px}.daily-signal-grid{display:grid;grid-template-columns:repeat(5,1fr);overflow:visible;border:1px solid var(--color-border);border-radius:var(--radius-md)}.daily-signal-grid>div{display:grid;gap:9px;min-width:0;padding:16px;border-left:1px solid var(--color-border)}.daily-signal-grid>div:first-child{border-left:0}.daily-signal-grid span{display:flex;align-items:center;gap:5px;color:#aaa89f;font-size:.7rem}.daily-signal-grid strong{font:800 1.12rem Manrope}.coaching-alert{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px;border:1px solid rgba(255,212,0,.2);border-radius:10px;background:#ffd4000e}.coaching-alert p{margin:0;color:#c8c5ba;font-size:.75rem;line-height:1.45}.main-objective h3{margin:0;font:800 1.55rem Manrope}.main-objective>p{color:#aaa89f}.objective-kpis{display:grid;grid-template-columns:repeat(2,1fr);margin-top:18px;border:1px solid var(--color-border);border-radius:var(--radius-md)}.objective-kpis .ds-kpi:nth-child(3){border-left:0;border-top:1px solid var(--color-border)}.objective-kpis .ds-kpi:nth-child(4){border-top:1px solid var(--color-border)}.weekly-progress{padding:26px}.weekly-progress-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.progress-metric{padding:17px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#00000029}.progress-metric>div:first-child{display:grid;gap:7px}.progress-metric span{color:#aaa89f;font-size:.72rem}.progress-metric strong{font:800 1.25rem Manrope}.progress-metric strong small{color:#85837c;font-size:.72rem}.progress-track{height:6px;margin-top:15px;overflow:hidden;border-radius:99px;background:#ffffff13}.progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--color-accent)}.coaching-dashboard>.daily-advice{min-height:0;padding:26px}.daily-advice h3{margin:0 0 8px;font:800 1.18rem Manrope}.daily-advice details{margin-top:16px;color:#b9b7af;font-size:.78rem}.daily-advice summary{color:var(--color-accent);font-weight:800;cursor:pointer}.daily-advice li{margin:7px 0}.advice-actions{display:flex;gap:9px;margin-top:20px}.coaching-dashboard>.activity-panel{padding:26px}.activity-row{grid-template-columns:42px minmax(160px,1.6fr) repeat(3,minmax(70px,.55fr)) auto 20px}.activity-row>.ds-badge{white-space:nowrap}@media(max-width:1100px){.coaching-dashboard-grid{grid-template-columns:1fr}.daily-signal-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.weekly-progress-grid{grid-template-columns:1fr 1fr}.activity-row>.ds-badge{display:none}}@media(max-width:760px){.weekly-quick-metrics{width:100%;justify-content:stretch}.weekly-quick-metrics>span{min-width:0;flex:1;padding:9px 11px}.coaching-session-layout{grid-template-columns:1fr}.session-targets,.daily-signal-grid{grid-template-columns:1fr 1fr}.daily-signal-grid>div:nth-child(odd){border-left:0}.daily-signal-grid>div:nth-child(n+3){border-top:1px solid var(--color-border)}.weekly-progress-grid{grid-template-columns:1fr}.coaching-next-session,.coaching-dashboard-grid>*,.weekly-progress,.coaching-dashboard>.daily-advice,.coaching-dashboard>.activity-panel{padding:20px 16px}.advice-actions{align-items:stretch;flex-direction:column}}.plan-modal,.plan-modal h2,.plan-modal h3,.plan-modal strong{color:#171817}.plan-modal label,.plan-modal legend{color:#55554f}.plan-modal p,.plan-modal small,.plan-modal .training-days>p,.plan-modal .long-run-preferences p{color:#74736c}.plan-modal input,.plan-modal select,.plan-modal textarea{color:#171817;background:#ffffffd1;caret-color:#171817}.plan-modal input::placeholder,.plan-modal textarea::placeholder{color:#99978f;opacity:1}.plan-modal select option{color:#171817;background:#fff}.plan-modal .choice{color:#55554f;background:#ffffff80}.plan-modal .choice.active{color:#171817;background:#fff8cf}.calendar-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.calendar-legend>span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-ink-muted);background:#141514b8;font-size:.7rem;font-weight:800}.calendar-legend>span:before{width:9px;height:9px;border-radius:50%;background:var(--legend-color,#ffd400);content:""}.calendar-legend .legend-completed{--legend-color:#46ce82}.calendar-legend .legend-competition{--legend-color:#ffd400}.calendar-legend .legend-rest{--legend-color:#898989}.calendar-legend .legend-missed{--legend-color:#ff776d}.calendar-week-summaries{display:grid;grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;gap:10px;overflow-x:auto;margin-bottom:14px;padding-bottom:5px;scrollbar-width:thin}.calendar-week-summary{display:grid;gap:11px;min-height:150px;box-shadow:none}.calendar-week-summary>strong{font:800 .82rem Manrope}.calendar-week-summary>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.calendar-week-summary>div span{display:grid;gap:2px;color:var(--color-ink-muted);font-size:.65rem}.calendar-week-summary b{color:var(--color-ink);font-size:.75rem}.calendar-workspace .calendar-page{color:var(--color-ink);background:#131413d1}.calendar-workspace .calendar-page-toolbar{border-bottom:1px solid var(--color-border)}.calendar-workspace .calendar-weekdays{background:#ffffff09}.calendar-workspace .month-grid article{position:relative;border-color:var(--color-border);color:var(--color-ink);background:#ffffff05}.calendar-workspace .month-grid article.outside{background:#ffffff03}.calendar-workspace .month-grid article.is-today{box-shadow:inset 0 0 0 2px var(--color-accent)}.calendar-workspace .month-grid article.is-today>time{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;color:#111;background:var(--color-accent)}.calendar-session{display:grid;width:100%;gap:4px;margin-top:8px;padding:8px;border:0;border-left:3px solid var(--color-accent);border-radius:7px;color:#24251f;background:#f7f5ee;text-align:left;cursor:pointer}.calendar-session:hover{outline:2px solid rgba(255,212,0,.38)}.calendar-session>span{color:#927900}.calendar-session strong,.calendar-activity strong{display:-webkit-box;overflow:hidden;font-size:.72rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.calendar-session small{overflow:hidden;color:#696a62;font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.calendar-session--competition{border-left-color:#ffd400;background:#fff3a8}.calendar-session--rest{border-left-color:#888;background:#e7e6e1}.calendar-session--missed{border-left-color:#ff776d;background:#fff0ee;opacity:.78}.calendar-detail-backdrop{z-index:95;place-items:stretch end;padding:0}.calendar-detail-panel{position:relative;width:min(520px,100%);height:100dvh;overflow-y:auto;padding:62px 34px 34px;border-left:1px solid var(--color-border);color:var(--color-ink);background:radial-gradient(circle at 75% 0,rgba(255,212,0,.1),transparent 25%),#111211;box-shadow:-25px 0 70px #0006}.calendar-detail-panel h2{margin:8px 52px 12px 0;font:800 2rem/1.08 Manrope}.calendar-detail-panel section{margin-top:20px;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff09}.calendar-detail-panel h3{margin:0 0 8px;font:800 1rem Manrope}.calendar-detail-panel p{margin:0;color:var(--color-ink-muted);line-height:1.55}.calendar-detail-panel section small{display:block;margin-top:9px;color:var(--color-accent)}.calendar-detail-panel .session-targets{grid-template-columns:1fr 1fr}.calendar-detail-actions{display:flex;gap:9px;margin-top:24px}@media(max-width:760px){.calendar-week-summaries{grid-auto-columns:minmax(205px,82vw)}.calendar-detail-panel{padding:58px 18px 26px}.calendar-detail-actions{flex-direction:column}.calendar-detail-actions .ds-button{width:100%}}.garmin-force-upload{margin-top:16px;padding:16px;border:1px solid rgba(255,212,0,.28);border-radius:12px;background:#ffd4000e}.garmin-force-upload strong{font:800 .82rem Manrope}.garmin-force-upload p{margin:6px 0 12px;color:var(--color-ink-muted);font-size:.74rem;line-height:1.5}.garmin-force-upload button{min-height:40px;padding:0 14px;border:1px solid var(--color-accent);border-radius:999px;color:var(--color-accent);background:transparent;font-weight:800;cursor:pointer}.calendar-session small,.calendar-activity small{display:block}.version-bubble{position:fixed;z-index:55;bottom:max(18px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:5px 11px 5px 6px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#d8d6ce;background:#111211e0;box-shadow:0 8px 26px #0000004d;font:700 .67rem Manrope,sans-serif;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease}.version-bubble>span{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;color:#111;background:var(--color-accent);font-size:.68rem;font-weight:900}.version-bubble:hover{transform:translateY(-2px);border-color:#ffd40073;background:#181917f5}.version-bubble:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.garmin-status-bubble{position:fixed;z-index:55;bottom:max(62px,calc(env(safe-area-inset-bottom) + 62px));left:max(18px,env(safe-area-inset-left));display:flex;align-items:center;gap:9px;min-height:42px;padding:7px 13px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:var(--color-ink);background:#111211e6;box-shadow:0 8px 26px #0000004d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.garmin-status-bubble>div{display:grid;gap:1px}.garmin-status-bubble strong{font:800 .68rem Manrope}.garmin-status-bubble small{color:var(--color-ink-muted);font-size:.6rem}.garmin-status-bubble .status-dot{width:9px;height:9px;flex:0 0 auto}.garmin-status-bubble--ok{border-color:#ffd40038}.garmin-status-bubble--error,.garmin-status-bubble--unavailable{border-color:#ff776d40}.release-notes-backdrop{z-index:110;place-items:center}.release-notes-modal{position:relative;width:min(600px,100%);padding:38px;border:1px solid rgba(255,255,255,.12);border-radius:22px;color:var(--color-ink);background:radial-gradient(circle at 80% 0,rgba(255,212,0,.12),transparent 35%),#151615;box-shadow:0 30px 90px #0000008c}.release-notes-modal>.icon-button{position:absolute;top:22px;right:22px}.release-notes-modal h2{max-width:480px;margin:12px 44px 6px 0;font:800 clamp(1.65rem,4vw,2.35rem)/1.1 "Manrope";letter-spacing:-.035em}.release-notes-modal>time{color:var(--color-ink-muted);font-size:.72rem}.release-notes-list{margin:28px 0 24px;padding-top:22px;border-top:1px solid var(--color-border)}.release-notes-list h3{margin:0 0 15px;font:800 .86rem Manrope}.release-notes-list ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}.release-notes-list li{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start}.release-notes-list li>span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:#111;background:var(--color-accent);font-size:.68rem;font-weight:900}.release-notes-list p{margin:2px 0 0;color:#cbc9c0;font-size:.8rem;line-height:1.5}@media(max-width:760px){.version-bubble{bottom:12px;left:12px}.garmin-status-bubble{bottom:56px;left:12px}.release-notes-modal{padding:30px 20px 22px}.release-notes-modal>.icon-button{top:16px;right:16px}}.global-error-state{display:grid;min-height:100dvh;place-content:center;justify-items:start;gap:14px;padding:32px;color:var(--color-ink,#f7f5ee);background:radial-gradient(circle at 20% 20%,rgba(255,212,0,.12),transparent 32%),#0d0e0d}.global-error-state>span{color:var(--color-accent,#ffd400);font:800 .72rem Manrope;letter-spacing:.18em}.global-error-state h1{max-width:650px;margin:0;font:800 clamp(2rem,6vw,4rem)/1 "Manrope"}.global-error-state p{max-width:560px;color:#b9b7af;line-height:1.6}.global-error-state button{min-height:44px;padding:0 18px;border:0;border-radius:999px;color:#111;background:var(--color-accent,#ffd400);font-weight:800;cursor:pointer}.objectives-workspace{display:grid;grid-template-columns:minmax(280px,35fr) minmax(0,65fr);gap:16px}.objectives-workspace>.page-title,.objectives-workspace>.info-banner,.objectives-workspace>.active-plan-card,.objectives-workspace>.active-week-panel{grid-column:1/-1}.objectives-workspace>.race-strip{grid-column:1;margin:0}.objectives-workspace>.roadmap-panel{grid-column:2;margin:0;min-width:0}.active-week-panel{padding:26px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card)}.active-week-table{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md)}.active-week-head,.active-week-table article{display:grid;grid-template-columns:150px minmax(210px,1.5fr) minmax(110px,.7fr) minmax(150px,.8fr) 110px;gap:14px;align-items:center;padding:13px 16px}.active-week-head{color:var(--color-ink-muted);background:#ffffff09;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.active-week-table article{border-top:1px solid var(--color-border)}.active-week-table article time{color:var(--color-accent);font-size:.75rem;font-weight:800;text-transform:capitalize}.active-week-table article div,.active-week-table article>span{display:grid;gap:4px}.active-week-table article small{color:var(--color-ink-muted);font-size:.66rem}.adjustment-preview-modal{width:min(900px,100%);max-height:90dvh;overflow:auto}.adjustment-context{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.adjustment-context>div{display:grid;gap:7px;padding:14px;border:1px solid #deddd5;border-radius:12px;background:#f7f6f1}.adjustment-context ul{margin:0;padding-left:18px}.adjustment-session-list{display:grid;gap:8px}.adjustment-session-list article{display:grid;grid-template-columns:145px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid #deddd5;border-radius:12px}.adjustment-session-list article div{display:grid;gap:4px}.adjustment-session-list time{font-weight:800;text-transform:capitalize}.adjustment-session-list span{color:#74736c;font-size:.75rem}.adjustment-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.analysis-modal{width:min(760px,100%);max-height:92dvh;overflow:auto}.adjustment-scope{display:grid;gap:6px;padding:14px;border-left:4px solid var(--accent,#f0df00);border-radius:10px;background:#f7f6e8}.adjustment-scope span,.conditional-fields small{color:#66655f;font-size:.82rem}.conditional-fields{display:grid;gap:12px;padding:14px;border:1px solid #deddd5;border-radius:12px}.adjustment-known-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.adjustment-known-data>div{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:10px;border:1px solid #deddd5;border-radius:10px}.adjustment-known-data small{grid-column:1/-1;color:#74736c}.data-status{font-size:.7rem;text-transform:uppercase}.data-status--available{color:#397044}.data-status--unavailable,.data-status--insufficient_history{color:#8b6b26}.adjustment-timeline{display:grid;gap:7px;padding:16px;border:1px solid #deddd5;border-radius:12px;background:#151613;color:#f5f4ed}.adjustment-timeline>div{display:flex;gap:9px;color:#85867f}.adjustment-timeline .is-done{color:#b9c4a7}.adjustment-timeline .is-active{color:#f2e600;font-weight:800}.adjustment-timeline .is-error,.adjustment-timeline p{color:#ff9a8f}.adjustment-preview-modal>section{margin-top:18px;padding-top:14px;border-top:1px solid #deddd5}.adjustment-preview-modal h3{margin:0 0 10px}.adjustment-diff{display:grid;gap:8px}.adjustment-diff article{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:12px;border:1px solid #deddd5;border-left:4px solid #999;border-radius:10px}.adjustment-diff article.diff--added{border-left-color:#3e8b50}.adjustment-diff article.diff--removed{border-left-color:#b94d43}.adjustment-diff article.diff--modified{border-left-color:#d4a72c}.adjustment-diff article div{display:grid;gap:4px}.adjustment-diff small{color:#74736c}.validation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;list-style:none;padding:0}.validation-list li{color:#397044}.ai-trace{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;padding:12px;border-radius:10px;background:#eeede7;font-size:.78rem}.ai-trace strong{width:100%}.warning-banner{padding:12px;border-radius:10px;background:#fff0dc;color:#7d4916}.coaching-dashboard{display:flex;flex-direction:column}.coaching-dashboard>.daily-advice{order:3}.coaching-dashboard>.weekly-progress{order:4}.coaching-dashboard>.activity-panel{order:5}.coaching-next-session{padding:22px}.coaching-session-main h2{font-size:clamp(1.45rem,2.2vw,2rem)}.coaching-session-layout aside{padding:16px}.session-targets{margin-top:16px}.daily-advice>p{max-width:900px}.daily-advice .advice-actions{margin-top:14px}.performance-page{display:grid;gap:18px}.performance-page>.page-title{margin-bottom:0}.performance-predictions-v2,.performance-load-section,.performance-trends,.performance-secondary{padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.prediction-grid--primary article{min-height:190px}.prediction-grid--primary article>strong{font-size:clamp(1.7rem,3vw,2.5rem)}.performance-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.performance-status-grid>*{min-height:220px}.performance-status-value{display:block;margin:10px 0;color:var(--color-ink);font:800 clamp(1.6rem,3vw,2.5rem) "Manrope"}.performance-status-grid p,.performance-status-grid small{color:var(--color-ink-muted);line-height:1.55}@media(max-width:960px){.objectives-workspace{grid-template-columns:1fr}.objectives-workspace>.race-strip,.objectives-workspace>.roadmap-panel{grid-column:1}.active-week-table{overflow-x:auto}.active-week-head,.active-week-table article{min-width:760px}.performance-status-grid{grid-template-columns:1fr}}@media(max-width:760px){.active-week-panel,.performance-predictions-v2,.performance-load-section,.performance-trends,.performance-secondary{padding:18px 14px}.adjustment-context,.adjustment-known-data,.validation-list{grid-template-columns:1fr}.adjustment-session-list article,.adjustment-diff article{grid-template-columns:1fr}.adjustment-confirm-actions{flex-direction:column-reverse}.adjustment-confirm-actions .ds-button{width:100%}}.objectives-workspace .plan-modal{color:#f5f4ed;border-color:#ffd4003d;background:radial-gradient(circle at 86% 0,rgba(255,212,0,.1),transparent 30%),linear-gradient(145deg,#191a17fa,#0d0e0dfa);box-shadow:0 34px 100px #0000009e,inset 0 1px #ffffff14;scrollbar-color:#77742e #20211e;scrollbar-width:thin}.objectives-workspace .plan-modal::-webkit-scrollbar{width:9px}.objectives-workspace .plan-modal::-webkit-scrollbar-track{background:#20211e}.objectives-workspace .plan-modal::-webkit-scrollbar-thumb{border:2px solid #20211e;border-radius:999px;background:#77742e}.objectives-workspace .plan-modal h2,.objectives-workspace .plan-modal h3,.objectives-workspace .plan-modal strong{color:#f7f5ee}.objectives-workspace .plan-modal>p,.objectives-workspace .plan-modal p,.objectives-workspace .plan-modal small{color:#b9b7af;text-transform:none}.objectives-workspace .plan-modal label,.objectives-workspace .plan-modal legend{color:#d6d3ca}.objectives-workspace .plan-modal input,.objectives-workspace .plan-modal select,.objectives-workspace .plan-modal textarea{color:#f7f5ee;border-color:#ffffff29;background:#242522;box-shadow:inset 0 1px 2px #00000052}.objectives-workspace .plan-modal input::placeholder,.objectives-workspace .plan-modal textarea::placeholder{color:#85847d}.objectives-workspace .plan-modal select option{color:#f7f5ee;background:#242522}.objectives-workspace .plan-modal .choice{color:#d6d3ca;border-color:#ffffff29;background:#242522}.objectives-workspace .plan-modal .choice.active{color:#171713;border-color:#ffd400;background:#ffd400}.objectives-workspace .plan-modal .choice.active strong,.objectives-workspace .plan-modal .choice.active span{color:#171713}.objectives-workspace .plan-modal .icon-button{color:#f7f5ee;border-color:#ffffff2e;background:#ffffff09}.objectives-workspace .plan-modal .adjustment-scope{border-color:#ffd400;background:#ffd40013}.objectives-workspace .plan-modal .adjustment-scope span{color:#c7c4b9}.objectives-workspace .plan-modal .adjustment-known-data>div,.objectives-workspace .plan-modal .conditional-fields{border-color:#ffffff21;background:#ffffff09}.objectives-workspace .plan-modal .adjustment-known-data>div>span{color:#f0eee7}.objectives-workspace .plan-modal .adjustment-known-data small{color:#9f9d95}.objectives-workspace .plan-modal .data-status--available{color:#7cdda0}.objectives-workspace .plan-modal .data-status--unavailable,.objectives-workspace .plan-modal .data-status--insufficient_history{color:#f0c65b}.analysis-modal{width:min(840px,100%)}.dismissible-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;animation:notification-in .2s ease-out}.dismissible-banner button{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#f7f5ee;background:#ffffff0b;font-size:1.1rem;cursor:pointer}@keyframes notification-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.adjustment-progress-backdrop{z-index:90;place-items:center}.adjustment-progress-modal{position:relative;display:grid;width:min(620px,100%);gap:15px;padding:34px;border:1px solid rgba(255,212,0,.3);border-radius:20px;color:#f7f5ee;background:radial-gradient(circle at 84% 0,rgba(255,212,0,.11),transparent 32%),#141512;box-shadow:0 32px 100px #0009}.adjustment-progress-modal h2{margin:0;font:800 clamp(1.7rem,4vw,2.35rem)/1.08 "Manrope"}.adjustment-progress-modal>p{margin:-4px 0 3px;color:#aaa89f}.adjustment-progress-modal .adjustment-timeline{margin-top:4px;border-color:#ffffff1c;background:#ffffff06}.adjustment-progress-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:3px}@media(max-width:760px){.adjustment-progress-modal{padding:27px 18px}.adjustment-progress-actions{align-items:stretch;flex-direction:column-reverse}.adjustment-progress-actions .ds-button{width:100%}}.activity-detail-backdrop{inset:calc(var(--app-header-height) + 10px) 0 0;padding:0 18px 18px;animation:activity-backdrop-in .18s ease-out}.activity-detail-drawer{box-sizing:border-box;height:100%;animation:activity-detail-bounce-in .42s cubic-bezier(.22,1,.36,1)}.activity-detail-drawer>.icon-button{top:calc(var(--app-header-height) + 26px);right:34px;width:44px;height:44px;color:#141512;border-color:#ffd400;background:#ffd400;box-shadow:0 8px 24px #00000073,0 0 0 3px #ffd4002e}.activity-detail-drawer>.icon-button:hover{background:#ffe44d;transform:scale(1.05)}@keyframes activity-backdrop-in{0%{opacity:0}}@keyframes activity-detail-bounce-in{0%{opacity:0;transform:translateY(-14px) scale(.988)}58%{opacity:1;transform:translateY(5px) scale(1.003)}80%{transform:translateY(-2px) scale(1)}to{transform:none}}@media(max-width:760px){.activity-detail-backdrop{inset:var(--app-header-height) 0 0;padding:8px 0 0}.activity-detail-drawer{height:100%;border-radius:16px 16px 0 0}.activity-detail-drawer>.icon-button{top:calc(var(--app-header-height) + 18px);right:14px}}@media(prefers-reduced-motion:reduce){.activity-detail-backdrop,.activity-detail-drawer{animation:none}}.calendar-modal{box-sizing:border-box;width:min(1400px,calc(100vw - 48px));max-width:calc(100vw - 48px);padding:clamp(24px,3vw,42px)}.calendar-modal .session-legend-panel{margin:0 0 18px}.weekly-coaching-summaries{gap:12px}.weekly-coaching-summaries>article{overflow:hidden;padding:0;transition:border-color .18s ease,background .18s ease}.weekly-coaching-summaries>article.is-expanded{border-color:#ffd400b3;background:linear-gradient(135deg,#ffd4001b,#ffffff06)}.weekly-summary-toggle{display:grid;width:100%;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:20px;border:0;color:#fff;background:transparent;text-align:left;cursor:pointer}.weekly-summary-toggle>div{display:grid;gap:4px}.weekly-summary-toggle strong{color:#fff;font:800 1.05rem Manrope}.weekly-summary-toggle small{color:#aaa89f;font-size:.7rem}.weekly-summary-toggle>span{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(255,212,0,.45);border-radius:50%;color:#ffd400;font-size:1.3rem}.weekly-summary-content{padding:0 20px 20px}.weekly-summary-content dl{margin-top:0}.weekly-calendar{padding:20px;border-top:1px solid rgba(255,255,255,.11);background:#0003}.weekly-calendar .weekly-summary-actions{margin-bottom:12px}.weekly-calendar .weekly-summary-actions button{padding:9px 13px;border:1px solid rgba(255,212,0,.48);border-radius:9px;color:#ffd400;background:#ffd40012;font-size:.72rem;font-weight:850;cursor:pointer}.weekly-calendar .weekly-summary-actions button:hover{color:#171713;background:#ffd400}.weekly-calendar .weekly-summary-actions button:disabled{opacity:.45;cursor:not-allowed}.weekly-calendar .session-list{border-top:1px solid rgba(255,255,255,.08)}.weekly-coaching-summaries .weekly-calendar .session{margin:0;padding:18px 8px 18px 14px;border-width:0 0 1px 4px;border-color:rgba(255,255,255,.1) rgba(255,255,255,.1) rgba(255,255,255,.1) #ffd400;border-radius:0;background:transparent}.weekly-calendar .session:last-child{border-bottom:0}.empty-week-message{margin:0;padding:24px;color:#aaa89f;text-align:center}@media(max-width:760px){.calendar-modal{width:calc(100vw - 20px)}.weekly-summary-toggle,.weekly-summary-content,.weekly-calendar{padding-right:14px;padding-left:14px}.weekly-calendar .session{grid-template-columns:32px 1fr}.weekly-calendar .session time,.weekly-calendar .session>div{grid-column:2}}.objectives-workspace>.page-title{grid-row:1}.objectives-workspace>.info-banner{grid-row:2}.objectives-workspace>.active-plan-card{grid-column:1;grid-row:3;min-width:0;margin:0}.objectives-workspace>.roadmap-panel{grid-column:2;grid-row:3}.objectives-workspace>.active-week-panel{grid-row:4}.objectives-workspace>.race-strip{grid-column:1/-1;grid-row:5;max-height:330px;overflow:hidden}.objectives-workspace .race-chip-list{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px;max-height:235px;overflow-x:hidden;overflow-y:auto;padding-right:8px;scrollbar-color:var(--color-accent) rgba(255,255,255,.07);scrollbar-width:thin}.objectives-workspace .race-chip-list article{width:auto;min-width:0}.objectives-workspace .active-plan-toolbar{align-items:stretch;flex-direction:column;gap:12px}.objectives-workspace .active-plan-toolbar>div:first-child select{width:100%}.objectives-workspace .plan-tools{display:grid;grid-template-columns:1fr 1fr;width:100%}.objectives-workspace .plan-tools .calendar-button{justify-content:center;min-width:0}.objectives-workspace .plan-tools .extend-button{grid-column:1/-1}.objectives-workspace .plan-summary{padding:24px}.objectives-workspace .plan-kpis{grid-template-columns:1fr 1fr}.objectives-workspace .plan-kpis article:nth-child(3){border-left:0;border-top:1px solid var(--color-border)}.objectives-workspace .plan-kpis article:nth-child(4){border-top:1px solid var(--color-border)}.objectives-workspace .ai-summary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5}.active-week-head,.active-week-table article{grid-template-columns:150px minmax(260px,1.5fr) minmax(100px,.55fr) minmax(145px,.7fr) 105px 92px}.active-week-table{overflow:visible}.active-week-table article:has(details[open]){position:relative;z-index:20}.active-session-title>.ds-status-badge{width:max-content;margin-bottom:3px}.active-session-title>small{display:-webkit-box;overflow:hidden;max-width:520px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.active-session-actions{position:relative;display:flex!important;grid-auto-flow:column;gap:7px!important;justify-content:end}.active-session-actions summary,.garmin-watch-button{display:grid;width:38px;height:38px;place-items:center;padding:0;border:1px solid var(--color-border);border-radius:50%;color:var(--color-accent);background:#ffffff0a;font-weight:900;cursor:pointer;list-style:none}.active-session-actions summary::-webkit-details-marker{display:none}.active-session-actions details[open] summary{border-color:var(--color-accent);background:#ffd4001a}.active-session-actions details p{position:absolute;z-index:10;right:0;bottom:calc(100% + 10px);width:min(350px,75vw);margin:0;padding:14px;border:1px solid rgba(255,212,0,.3);border-radius:12px;color:var(--color-ink-muted);background:#171817;box-shadow:0 18px 45px #00000073;font-size:.72rem;line-height:1.5}.active-session-actions details p strong{display:block;margin-bottom:5px;color:var(--color-ink)}.garmin-watch-button{font-size:1.05rem}.garmin-watch-button:hover{color:#111;border-color:var(--color-accent);background:var(--color-accent)}.performance-page .prediction-grid--primary article{border-color:#ffd40038;color:var(--color-ink);background:linear-gradient(145deg,#ffd40013,#ffffff06),#171817;box-shadow:inset 0 1px #ffffff0f}.performance-page .prediction-grid--primary article>small,.performance-page .prediction-grid--primary article>span,.performance-page .prediction-grid--primary article time{color:var(--color-ink-muted)}.performance-page .prediction-grid--primary article>strong{color:var(--color-accent)}.performance-page .prediction-grid--primary article.is-primary-goal{border-color:#ffd40094;background:linear-gradient(145deg,#ffd40029,#ffffff09),#171817}.performance-page .prediction-goal span{color:var(--color-ink)}@media(max-width:960px){.objectives-workspace>.active-plan-card,.objectives-workspace>.roadmap-panel,.objectives-workspace>.active-week-panel,.objectives-workspace>.race-strip{grid-column:1;grid-row:auto}.objectives-workspace .race-chip-list{grid-template-columns:1fr 1fr}}@media(max-width:620px){.objectives-workspace .race-chip-list,.objectives-workspace .plan-tools{grid-template-columns:1fr}.objectives-workspace .plan-tools .extend-button{grid-column:auto}}.health-workspace{display:grid;gap:16px}.health-workspace>.page-title{margin-bottom:0}.recovery-summary{padding:24px}.recovery-summary ul{display:grid;gap:7px;margin:12px 0;padding-left:20px;color:var(--color-ink-muted)}.recovery-summary>small{color:var(--color-accent)}.health-trend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.health-trend-grid>:nth-child(n+4){grid-column:span 1}.health-checkin-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:14px}.health-checkin-form,.checkin-history{padding:26px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card)}.health-trend-empty{display:grid;align-content:center;min-height:180px;gap:8px}.health-trend-empty p,.health-trend-empty small{margin:0;color:var(--color-ink-muted)}.plan-preview-backdrop{z-index:120;padding:24px}.plan-preview-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1120px,100%);max-height:min(920px,calc(100vh - 48px));overflow:hidden;border:1px solid rgba(255,212,0,.3);border-radius:24px;color:var(--color-ink);background:linear-gradient(145deg,#1b1c1afc,#0c0d0cfc);box-shadow:0 36px 110px #000000b8,inset 0 1px #ffffff14}.plan-preview-header{display:flex;justify-content:space-between;gap:24px;padding:30px 34px 24px;border-bottom:1px solid var(--color-border);background:radial-gradient(circle at 10% 0,rgba(255,212,0,.1),transparent 42%)}.plan-preview-header h2{margin:7px 0 8px;font-size:clamp(1.55rem,3vw,2.35rem)}.plan-preview-header p{max-width:760px;margin:0;color:var(--color-ink-muted);line-height:1.6}.plan-preview-scroll{display:grid;gap:18px;padding:24px 34px 34px;overflow-y:auto;scrollbar-color:rgba(255,212,0,.5) rgba(255,255,255,.04);scrollbar-width:thin}.plan-preview-section{padding:24px;border:1px solid var(--color-border);border-radius:18px;background:#ffffff06}.plan-preview-section>h3,.plan-preview-section-title h3{margin:0 0 17px;font-size:1rem}.plan-preview-section-title{display:flex;align-items:start;justify-content:space-between;gap:16px}.plan-preview-section-title p{margin:-10px 0 17px;color:var(--color-ink-muted);font-size:.75rem}.plan-preview-objective{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:22px}.plan-preview-race{display:grid;gap:6px;align-content:center;padding:22px;border-radius:14px;color:#151612;background:linear-gradient(135deg,#ffe86b,#ffd400)}.plan-preview-race span{font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.plan-preview-race strong{font-size:1.25rem}.plan-preview-race time{font-size:.76rem;font-weight:700}.plan-preview-objective dl,.plan-construction dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.plan-preview-objective dl div,.plan-construction dl div{display:grid;gap:4px;padding:14px;border:1px solid var(--color-border);border-radius:12px;background:#00000029}.plan-preview-objective dt,.plan-construction dt{color:var(--color-ink-muted);font-size:.67rem;font-weight:800;text-transform:uppercase}.plan-preview-objective dd,.plan-construction dd{margin:0;font-weight:800}.coach-strategy-copy{display:grid;gap:16px}.coach-strategy-copy p{max-width:850px;margin:0;font-size:.94rem;line-height:1.75}.coach-strategy-copy>div{display:flex;flex-wrap:wrap;gap:8px}.coach-strategy-copy span{padding:7px 10px;border:1px solid rgba(255,212,0,.2);border-radius:999px;color:#f5d84c;background:#ffd4000f;font-size:.68rem;font-weight:800}.plan-preview-sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.plan-preview-sessions>article{display:grid;gap:14px;padding:20px;border:1px solid var(--color-border);border-radius:15px;background:#0000002e}.plan-preview-sessions>article.is-hard{border-color:#ffd40038}.plan-preview-sessions article>header{display:flex;justify-content:space-between;gap:12px}.plan-preview-sessions article>header>div{display:grid;gap:3px}.plan-preview-sessions time{color:var(--color-ink);font-size:.72rem;font-weight:800;text-transform:capitalize}.plan-preview-sessions header div>span{color:var(--color-accent);font-size:.63rem;font-weight:900;text-transform:uppercase}.plan-preview-sessions h4{margin:0;font-size:1rem}.plan-preview-session-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.plan-preview-session-metrics span{display:grid;gap:3px;color:var(--color-ink-muted);font-size:.65rem}.plan-preview-session-metrics b{color:var(--color-ink);font-size:.75rem}.plan-preview-why{padding-top:12px;border-top:1px solid var(--color-border)}.plan-preview-why strong,.local-adjustment strong{color:var(--color-accent);font-size:.69rem}.plan-preview-why p,.local-adjustment p{margin:5px 0 0;color:var(--color-ink-muted);font-size:.73rem;line-height:1.55}.local-adjustment{padding:12px;border:1px solid rgba(255,212,0,.24);border-radius:10px;background:#ffd4000f}.session-provenance{color:var(--color-ink-muted)}.plan-preview-phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.plan-preview-phases article{display:grid;gap:5px;padding:16px;border-left:2px solid var(--color-accent);border-radius:0 12px 12px 0;background:#ffffff08}.plan-preview-phases span{color:var(--color-accent);font-size:.62rem;font-weight:900;text-transform:uppercase}.plan-preview-phases small{color:var(--color-ink-muted)}.plan-construction{display:grid;gap:16px}.plan-construction h3{margin-bottom:0}.plan-construction ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.plan-construction li{font-size:.78rem}.plan-construction>p{margin:0;color:var(--color-ink-muted);font-size:.74rem}.plan-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 34px;border-top:1px solid var(--color-border);background:#080908f5}.plan-preview-footer p{max-width:580px;margin:0;color:var(--color-ink-muted);font-size:.72rem}.plan-preview-footer>div{display:flex;gap:10px;flex:none}@media(max-width:760px){.plan-preview-backdrop{padding:0}.plan-preview-modal{width:100%;max-height:100vh;min-height:100vh;border:0;border-radius:0}.plan-preview-header,.plan-preview-scroll,.plan-preview-footer{padding-right:18px;padding-left:18px}.plan-preview-objective,.plan-preview-sessions{grid-template-columns:1fr}.plan-preview-footer{display:grid}.plan-preview-footer>div{display:grid;grid-template-columns:1fr}.plan-preview-footer button{width:100%}.plan-preview-objective dl,.plan-construction dl{grid-template-columns:1fr 1fr}}@keyframes spin{to{transform:rotate(360deg)}}.plan-generation-backdrop{z-index:140}.plan-generation-modal{width:min(520px,calc(100% - 32px));padding:30px;border:1px solid rgba(255,212,0,.3);border-radius:20px;background:#0f100efa;box-shadow:0 30px 90px #000000b3}.plan-generation-modal h2{margin:8px 0}.plan-generation-modal>p,.plan-generation-modal>small{color:var(--color-ink-muted)}.plan-generation-pipeline{display:grid;gap:10px;margin:22px 0}.plan-generation-pipeline div{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--color-border);border-radius:10px;font-size:.78rem}.plan-generation-pipeline span{color:var(--color-accent);animation:spin 1.4s linear infinite}.health-checkin-form{display:grid;gap:15px}.health-checkin-form label{display:grid;grid-template-columns:1fr auto;gap:7px;color:var(--color-ink-muted);font-size:.74rem;font-weight:700}.health-checkin-form label input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--color-accent)}.health-checkin-form input:not([type=range]),.health-checkin-form textarea{grid-column:1/-1;width:100%;padding:11px 12px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-ink);background:#0003}.health-checkin-form textarea{min-height:90px;resize:vertical}.checkin-message{margin:0;color:var(--color-accent);font-size:.74rem}.checkin-history article{display:grid;grid-template-columns:145px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--color-border)}.checkin-history article time{color:var(--color-accent);font-size:.72rem;font-weight:800;text-transform:capitalize}.checkin-history article>div{display:flex;flex-wrap:wrap;gap:12px;color:var(--color-ink-muted);font-size:.7rem}.checkin-history article b{color:var(--color-ink)}.privacy-page{display:grid;gap:16px}.privacy-page>.page-title{margin-bottom:0}.privacy-intro,.privacy-audit{padding:28px}.privacy-intro p,.privacy-audit p,.privacy-grid p{color:var(--color-ink-muted);line-height:1.6}.privacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.privacy-grid h2{margin:0;font:800 1rem Manrope}.privacy-audit small{color:var(--color-accent)}.trophy-card--record{min-height:145px}.trophy-card--record p{color:var(--color-accent);font:800 1.15rem Manrope}.trophy-card--badge .trophy-card__title>span{width:48px;height:48px;border-radius:0;clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%)}.trophy-card--badge{min-height:185px}@media(max-width:1000px){.health-trend-grid{grid-template-columns:1fr 1fr}.health-checkin-layout{grid-template-columns:1fr}}@media(max-width:700px){.health-trend-grid,.privacy-grid{grid-template-columns:1fr}.checkin-history article{grid-template-columns:1fr}.health-checkin-form,.checkin-history,.privacy-intro,.privacy-audit{padding:20px 16px}}.auth-screen,.auth-loading{display:grid;min-height:100dvh;place-items:center;padding:24px;color:var(--color-ink);background:radial-gradient(circle at 70% 15%,rgba(255,212,0,.14),transparent 32%),linear-gradient(#070807a8,#070807db),var(--app-background,#0d0e0d);background-color:#0d0e0d}.auth-loading{align-content:center;gap:16px;color:var(--color-ink-muted)}.auth-panel{display:grid;width:min(470px,100%);justify-items:start;padding:clamp(28px,5vw,48px);border:1px solid rgba(255,255,255,.13);border-radius:26px;background:#111211e6;box-shadow:0 35px 100px #0000008c;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.auth-panel>.altiora-logo{justify-self:center;margin-bottom:22px}.auth-panel h1{margin:10px 0;font:800 clamp(2rem,7vw,3.2rem)/1 "Cormorant Garamond",serif}.auth-panel>p{margin:0 0 24px;color:var(--color-ink-muted);line-height:1.55}.auth-panel form{display:grid;width:100%;gap:15px}.auth-panel label{display:grid;gap:7px;color:var(--color-ink-muted);font-size:.73rem;font-weight:800}.auth-panel input{min-height:46px;padding:0 13px;border:1px solid var(--color-border);border-radius:11px;color:var(--color-ink);background:#00000042}.auth-panel input:focus{outline:2px solid var(--color-accent);outline-offset:2px}.auth-panel form .primary-button{width:100%;margin-top:5px}.auth-panel>small{margin-top:20px;color:var(--color-ink-muted);font-size:.64rem}.auth-error{padding:11px;border:1px solid rgba(255,119,109,.3);border-radius:10px;color:#ffaca5;background:#ff776d14;font-size:.72rem}.diagnostic-view{display:grid;gap:16px}.diagnostic-view>.page-title{margin-bottom:0}.diagnostic-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.diagnostic-list{display:grid;gap:0;margin:8px 0 0}.diagnostic-list>div{display:grid;grid-template-columns:minmax(125px,.7fr) 1.3fr;gap:14px;padding:10px 0;border-top:1px solid var(--color-border)}.diagnostic-list dt{color:var(--color-ink-muted);font-size:.7rem;font-weight:700}.diagnostic-list dd{margin:0;color:var(--color-ink);font-size:.74rem;overflow-wrap:anywhere}.diagnostic-list .diagnostic-error dd,.diagnostic-cache-error{color:#ffaca5}.diagnostic-cache-table{display:grid;min-width:760px;margin-top:14px}.diagnostic-cache-table:before{content:""}.diagnostic-view .glass-card:has(.diagnostic-cache-table){overflow-x:auto}.diagnostic-cache-row{position:relative;display:grid;grid-template-columns:1.25fr .75fr .65fr 1.15fr .7fr .55fr .5fr;gap:12px;align-items:center;min-height:48px;padding:9px 4px;border-top:1px solid var(--color-border);color:var(--color-ink-muted);font-size:.69rem}.diagnostic-cache-row strong{color:var(--color-ink)}.diagnostic-cache-head{min-height:36px;border-top:0;color:var(--color-accent);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.diagnostic-cache-error{grid-column:1/-1;margin-top:-4px;font-size:.62rem;overflow-wrap:anywhere}.diagnostic-cache-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}@media(max-width:850px){.diagnostic-grid{grid-template-columns:1fr}.diagnostic-cache-table{min-width:680px}}.objective-readiness-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.objective-readiness-heading h3{margin-bottom:5px}.objective-readiness-heading p{margin:0}.readiness-score{display:grid;flex:0 0 145px;justify-items:end;gap:2px;padding-left:16px;border-left:1px solid rgba(255,212,0,.28)}.readiness-score strong{color:var(--color-accent);font:800 clamp(2rem,4vw,3.2rem)/1 "Manrope"}.readiness-score span{color:var(--color-ink-muted);font-size:.61rem;font-weight:900;letter-spacing:.08em;text-align:right}.readiness-details{margin-top:18px;padding-top:14px;border-top:1px solid var(--color-border)}.readiness-details summary{cursor:pointer;color:var(--color-accent);font-size:.72rem;font-weight:800}.readiness-details ul{display:grid;gap:9px;margin:13px 0;padding:0;list-style:none}.readiness-details li{display:grid;gap:3px;padding-left:14px;border-left:3px solid var(--color-border);color:var(--color-ink-muted);font-size:.7rem}.readiness-details li strong{color:var(--color-ink)}.readiness-details li.factor-good{border-color:#78d39a}.readiness-details li.factor-watch{border-color:var(--color-accent)}.readiness-details li.factor-attention{border-color:#ff8278}.readiness-details>small{color:var(--color-ink-muted);font-size:.61rem}.next-milestone{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--color-border);color:var(--color-ink-muted);font-size:.7rem}.next-milestone strong{color:var(--color-accent);text-transform:capitalize}.empty-coaching-context{display:grid;grid-template-columns:1fr minmax(180px,.32fr);gap:18px;align-items:center}.coaching-next-session--empty{min-height:0}@media(max-width:700px){.objective-readiness-heading{display:grid}.readiness-score{width:100%;justify-items:start;padding:12px 0 0;border-top:1px solid rgba(255,212,0,.28);border-left:0}.readiness-score span{text-align:left}.empty-coaching-context{grid-template-columns:1fr}}:root{--app-header-height: 82px;--color-ink: #f7f5ef;--color-ink-muted: #aaa79f;--color-bg: #0c0d0d;--color-surface: rgba(28,29,28,.78);--color-surface-strong: #171817;--color-border: rgba(255,255,255,.1);--color-accent: #ffd400;--color-danger: #ff776d;--glass-blur: 18px;--shadow-card: 0 18px 55px rgba(0,0,0,.22);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--space-1: 6px;--space-2: 10px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--transition-fast: .16s ease;--transition-base: .26s cubic-bezier(.22,1,.36,1)}html{scroll-padding-top:calc(var(--app-header-height) + 16px)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid rgba(255,212,0,.38);outline-offset:3px}.ds-app-shell{position:relative;min-height:100dvh;padding-top:0;isolation:isolate}.ds-app-shell>.topbar{height:var(--app-header-height)}.ds-page-shell{min-height:100dvh;padding-top:var(--app-header-height)}.ds-page-content{min-height:calc(100dvh - var(--app-header-height))}.ds-responsive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--grid-min)),1fr));gap:var(--space-3)}.ds-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-ink);background:linear-gradient(145deg,#ffffff13,#ffffff06),var(--color-surface);box-shadow:var(--shadow-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.ds-card--compact{padding:18px;border-radius:var(--radius-md)}.ds-card--standard{padding:24px}.ds-card--featured{padding:clamp(24px,4vw,42px)}.ds-card--interactive{cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.ds-card--interactive:hover{border-color:#ffd40057}.ds-card--warning{border-color:#ffd4006b;background:linear-gradient(145deg,#ffd40017,#ffffff06),var(--color-surface)}.ds-card--critical{border-color:#ff776d80;background:linear-gradient(145deg,#ff776d1c,#ffffff06),var(--color-surface)}.ds-card--muted{color:var(--color-ink-muted);background:#181918a8;box-shadow:none}.ds-section-header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.ds-section-header h2{margin:0;font:800 1.45rem Manrope;letter-spacing:-.035em}.ds-section-header p{margin:7px 0 0;color:var(--color-ink-muted)}.ds-page-header{display:flex;min-height:132px;align-items:end;justify-content:space-between;gap:var(--space-4);padding:26px 0 28px}.ds-page-header h1{margin:0;font:800 clamp(2.35rem,4vw,3.55rem)/1 "Manrope";letter-spacing:-.06em}.ds-page-header p{max-width:680px;margin:12px 0 0;color:#b9b7af;line-height:1.55}.ds-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-ink);background:#ffffff0e;font-weight:800;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.ds-button:hover{border-color:#ffffff40;background:#ffffff17;transform:translateY(-1px)}.ds-button:focus-visible{outline:3px solid rgba(255,212,0,.3);outline-offset:2px}.ds-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.ds-button--primary{border-color:var(--color-accent);color:#111;background:var(--color-accent)}.ds-button--ghost{border-color:transparent;background:transparent}.ds-button--destructive{color:var(--color-danger);background:#ff776d12}.ds-button--icon{width:42px;padding:0;border-radius:50%}.ds-button__spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ds-spin .7s linear infinite}.ds-metric-help{position:relative;display:inline-flex;vertical-align:middle}.ds-metric-help>button{display:grid;width:20px;height:20px;place-items:center;border:1px solid var(--color-border);border-radius:50%;color:var(--color-ink-muted);background:transparent;font-size:.67rem;cursor:help}.ds-metric-help>span{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;width:250px;padding:10px 12px;border:1px solid var(--color-border);border-radius:9px;color:var(--color-ink);background:#171817;box-shadow:var(--shadow-card);font-size:.72rem;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:var(--transition-fast)}.ds-metric-help:hover>span,.ds-metric-help:focus-within>span{opacity:1;transform:translate(-50%)}@keyframes ds-spin{to{transform:rotate(360deg)}}.ds-badge{display:inline-flex;width:fit-content;align-items:center;padding:6px 10px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-ink-muted);background:#ffffff0d;font-size:.7rem;font-weight:800}.ds-badge--accent,.ds-badge--high,.ds-badge--priority{border-color:#ffd4004d;color:var(--color-accent);background:#ffd40014}.ds-badge--source{color:#d1cec5;background:#ffffff09}.ds-badge--warning{border-color:#ffd4006b;color:var(--color-accent);background:#ffd40017}.ds-metric-grid{align-items:stretch}.ds-metric-tile{position:relative;display:grid;align-content:start;gap:8px;min-height:138px}.ds-metric-tile__label{color:var(--color-ink-muted);font-size:.78rem}.ds-metric-tile strong{font:800 clamp(1.35rem,2.3vw,2rem) "Manrope";letter-spacing:-.04em}.ds-metric-tile p{margin:0;color:var(--color-ink-muted);font-size:.78rem;line-height:1.4}.ds-trend{display:inline-flex;align-items:center;gap:5px;color:var(--color-ink-muted);font-size:.75rem;font-weight:800}.ds-trend--up{color:#83d89b}.ds-trend--down{color:#ff9a91}.ds-action-menu{position:relative}.ds-action-menu summary{cursor:pointer;font-weight:800}.ds-action-menu>div{position:absolute;z-index:15;right:0;display:grid;min-width:190px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-strong);box-shadow:var(--shadow-card)}.ds-kpi{display:grid;gap:7px;min-width:0;padding:18px;border-left:1px solid var(--color-border)}.ds-kpi:first-child{border-left:0}.ds-kpi small,.ds-kpi span{color:var(--color-ink-muted)}.ds-kpi strong{overflow:hidden;font:800 clamp(1.25rem,2vw,2rem) "Manrope";letter-spacing:-.05em;text-overflow:ellipsis}.ds-kpi--accent strong{color:var(--color-accent)}.ds-skeleton{display:grid;gap:12px;padding:24px}.ds-skeleton span{height:14px;border-radius:8px;background:linear-gradient(90deg,#ffffff0d,#ffffff1f,#ffffff0d);background-size:200% 100%;animation:ds-shimmer 1.4s infinite}.ds-skeleton span:last-child{width:62%}.ds-empty{display:grid;min-height:220px;place-items:center;align-content:center;padding:32px;text-align:center}.ds-empty>span{color:var(--color-accent);font-size:2rem}.ds-empty h3{margin:12px 0 4px}.ds-empty p{margin:0;color:var(--color-ink-muted)}@keyframes ds-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:760px){.ds-section-header,.ds-page-header{align-items:start;flex-direction:column}.ds-page-header{min-height:0;padding:24px 0}.ds-kpi{border-top:1px solid var(--color-border);border-left:0}.ds-kpi:first-child{border-top:0}}@media(max-width:760px){:root{--app-header-height: 70px}}
