._backdrop_1e4fg_1{z-index:50;background:#0a0e1473;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;padding:16px;display:grid;position:fixed;inset:0}._backdrop_1e4fg_1[data-variant=panel]{place-items:stretch end;padding:0}._box_1e4fg_18{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(520px,100%);max-height:100%;color:var(--text);grid-template-rows:auto minmax(0,1fr);display:grid;box-shadow:0 12px 40px #0000004d}._box_1e4fg_18:focus{outline:none}._backdrop_1e4fg_1[data-variant=panel] ._box_1e4fg_18{border-width:0 0 0 1px;border-radius:0;width:min(560px,100%);height:100%}._head_1e4fg_41{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:12px 8px 10px 16px;display:grid}._title_1e4fg_50{padding-top:6px;font-size:1.15rem;line-height:1.3}._close_1e4fg_56{border-radius:var(--radius-small);width:44px;height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;font-size:1.6rem;line-height:1;display:inline-grid}._close_1e4fg_56:hover{color:var(--text)}._body_1e4fg_75{overscroll-behavior:contain;align-content:start;gap:14px;min-width:0;padding:14px 16px 20px;display:grid;overflow-y:auto}@media (max-width:640px){._backdrop_1e4fg_1,._backdrop_1e4fg_1[data-variant=panel]{place-items:stretch stretch;padding:0}._box_1e4fg_18,._backdrop_1e4fg_1[data-variant=panel] ._box_1e4fg_18{border:0;border-radius:0;width:100%;height:100%}}._week_1hn9p_1{gap:12px;min-width:0;display:grid}._weekNav_1hn9p_8{justify-content:space-between;align-items:center;gap:8px;display:flex}._navButton_1hn9p_15{border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);width:44px;height:44px;color:var(--text);flex:none;place-items:center;display:inline-grid}._weekRange_1hn9p_27{font-variant-numeric:tabular-nums;text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 12px;font-weight:600;display:flex}._currentLink_1hn9p_38{font-size:.9rem;font-weight:400}._weekHeader_1hn9p_43{gap:8px;display:grid}._weekLabel_1hn9p_48{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}._labelType_1hn9p_55{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.8rem;font-weight:600}._noLabel_1hn9p_65{color:var(--muted);font-weight:400}._lastPlanned_1hn9p_70{gap:4px;font-size:.9rem;display:grid}._plannedAt_1hn9p_76{color:var(--muted)}._summary_1hn9p_80{border:1px solid var(--border);border-left:4px solid var(--border);border-radius:var(--radius-small);background:var(--surface);padding:8px 10px}._summary_1hn9p_80[data-new]{border-left-color:var(--accent)}._summaryTitle_1hn9p_92{margin-right:6px;font-weight:600}._newBadge_1hn9p_97{background:var(--accent);color:var(--accent-contrast);vertical-align:1px;border-radius:999px;margin-right:6px;padding:0 7px;font-size:.75rem;font-weight:700;display:inline-block}._summaryText_1hn9p_109{display:block}._days_1hn9p_114{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:8px;display:grid}._day_1hn9p_114{border:1px solid var(--border);border-top:4px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);-webkit-hyphens:auto;hyphens:auto;align-content:start;gap:8px;min-width:0;min-height:140px;padding:8px;font-size:.85rem;display:grid}._day_1hn9p_114[data-today]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}._day_1hn9p_114[data-race-priority=A]{background:var(--race-a-soft);border-top-color:var(--race-a)}._day_1hn9p_114[data-race-priority=B]{background:var(--race-b-soft);border-top-color:var(--race-b)}._day_1hn9p_114[data-race-priority=C]{background:var(--race-c-soft);border-top-color:var(--race-c)}._day_1hn9p_114[data-blocked]{background:repeating-linear-gradient(135deg, var(--surface-sunken) 0 8px, var(--border) 8px 9px)}._dayHeader_1hn9p_160{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 6px;display:flex}._dayTitle_1hn9p_168{font-size:.9rem;line-height:1.25}._weekday_1hn9p_173{display:block}._dayDate_1hn9p_177{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:400}._todayBadge_1hn9p_183{background:var(--accent);color:var(--accent-contrast);border-radius:999px;padding:0 7px;font-size:.72rem;font-weight:700}._race_1hn9p_192,._blocked_1hn9p_193,._extra_1hn9p_194{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px;display:grid}._race_1hn9p_192 svg,._blocked_1hn9p_193 svg,._extra_1hn9p_194 svg{margin-top:2px}._race_1hn9p_192{font-weight:600}._race_1hn9p_192[data-priority=A]{color:var(--race-a)}._race_1hn9p_192[data-priority=B]{color:var(--race-b)}._race_1hn9p_192[data-priority=C]{color:var(--race-c)}._raceName_1hn9p_223{color:var(--text);display:block}._raceMeta_1hn9p_228{font-size:.78rem;display:block}._blocked_1hn9p_193{border-radius:var(--radius-small);background:var(--surface);border:1px dashed var(--muted);color:var(--muted);padding:6px 8px}._blockedLabel_1hn9p_241{color:var(--text);font-weight:600;display:block}._empty_1hn9p_247{color:var(--muted);font-size:.8rem}._restDay_1hn9p_253{border:1px solid var(--border);border-left:3px solid var(--rest);border-radius:var(--radius-small);background:var(--rest-soft);min-width:0;color:var(--rest);align-items:center;gap:6px;padding:7px 8px;font-weight:600;line-height:1.3;display:flex}._restDay_1hn9p_253 svg{flex:none}._units_1hn9p_273,._extras_1hn9p_274{gap:6px;margin:0;padding:0;list-style:none;display:grid}._unit_1hn9p_273{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-small);background:var(--surface);min-width:0;box-shadow:var(--shadow);gap:3px;padding:7px 8px;display:grid}._unit_1hn9p_273[data-status=done]{border-left-color:var(--ok)}._unit_1hn9p_273[data-status=skipped]{border-left-color:var(--muted);border-left-style:dashed}._unit_1hn9p_273[data-status=skipped] ._unitTitle_1hn9p_303,._unit_1hn9p_273[data-status=skipped] ._unitPlanned_1hn9p_304{color:var(--muted)}._unitHead_1hn9p_308{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:6px;display:grid}._sportIcon_1hn9p_315{color:var(--muted);margin-top:1px;display:inline-flex}._unitTitle_1hn9p_303{font-weight:600;line-height:1.3}._keyMarker_1hn9p_326{color:var(--danger);white-space:nowrap;font-weight:700}._fixed_1hn9p_332{color:var(--muted);margin-top:2px;display:inline-flex}._unitPlanned_1hn9p_304{color:var(--text)}._unitStatus_1hn9p_342{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 5px;font-size:.78rem;display:flex}._unit_1hn9p_273[data-status=done] ._unitStatus_1hn9p_342{color:var(--ok)}._statusLabel_1hn9p_355{font-weight:600}._actual_1hn9p_359{color:var(--text);flex-basis:100%}._extra_1hn9p_194{border:1px dashed var(--border);border-radius:var(--radius-small);color:var(--muted);padding:4px 8px;font-size:.78rem}._extraTitle_1hn9p_372{font-weight:600;display:block}._tip_1hn9p_377{border-top:1px solid var(--border);gap:3px;padding-top:6px;font-size:.78rem;display:grid}._tipTitle_1hn9p_385{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.7rem;font-weight:700}._tipContext_1hn9p_393{font-weight:600}._tipSource_1hn9p_397{color:var(--muted)}@media (max-width:640px){._days_1hn9p_114{flex-direction:column;align-items:stretch;gap:10px;display:flex}._day_1hn9p_114{order:var(--phone-order,0);-webkit-hyphens:manual;hyphens:manual;min-height:0;padding:10px 12px;font-size:.95rem}._day_1hn9p_114[data-past]{opacity:.85}._dayTitle_1hn9p_168{font-size:1rem}._weekday_1hn9p_173{display:inline}._unit_1hn9p_273{padding:9px 10px}._unitStatus_1hn9p_342,._extra_1hn9p_194,._tip_1hn9p_377,._raceMeta_1hn9p_228,._empty_1hn9p_247{font-size:.85rem}._restDay_1hn9p_253{white-space:nowrap;padding:4px 10px}._actual_1hn9p_359{flex-basis:auto}}._shortWalks_1hn9p_454{color:var(--muted);margin:0;font-size:.9rem}._garminStale_1hn9p_460{border:1px solid var(--border);border-left:4px solid var(--warn);border-radius:var(--radius-small);background:var(--surface);padding:6px 10px;font-size:.9rem}._garminStaleHint_1hn9p_469{color:var(--muted)}._dayActions_1hn9p_474{gap:4px;margin-left:auto;display:inline-flex}._dayButton_1hn9p_480,._cardButton_1hn9p_481{border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);min-width:32px;min-height:32px;color:var(--muted);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:4px;padding:0 6px;font-size:.78rem;line-height:1;display:inline-flex}._dayButton_1hn9p_480{font-size:1.1rem}._dayButton_1hn9p_480:hover,._cardButton_1hn9p_481:hover{color:var(--text);border-color:var(--muted)}._dayButton_1hn9p_480[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}._unit_1hn9p_273{position:relative}._unitLink_1hn9p_520{color:inherit;-webkit-touch-callout:none;text-decoration:none}._unitLink_1hn9p_520:after{content:"";border-radius:var(--radius-small);position:absolute;inset:0}._unitLink_1hn9p_520:hover{text-decoration:underline}._unit_1hn9p_273[data-movable]{cursor:grab;touch-action:manipulation;-webkit-user-select:none;user-select:none}._unit_1hn9p_273[data-dragging]{opacity:.35}._unit_1hn9p_273[data-drop-over]{box-shadow:0 -3px 0 0 var(--accent)}._unitOverlay_1hn9p_552{cursor:grabbing;font-size:.85rem;box-shadow:0 8px 24px #00000040}._unitActions_1hn9p_558{flex-wrap:wrap;justify-content:flex-end;gap:4px;margin-top:2px;display:flex}._unitActions_1hn9p_558 ._cardButton_1hn9p_481,._exportFailed_1hn9p_567 ._cardButton_1hn9p_481{z-index:1;position:relative}._dragHandle_1hn9p_572{cursor:grab;touch-action:none;font-size:1rem}._exportFailed_1hn9p_567{color:var(--danger);flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:.78rem;display:flex}._exportFailed_1hn9p_567 ._cardButton_1hn9p_481{min-height:28px;color:var(--danger);border-color:currentColor}._days_1hn9p_114[data-dragging] ._day_1hn9p_114[data-drop=invalid]{opacity:.55}._days_1hn9p_114[data-dragging] ._day_1hn9p_114[data-drop=valid]{border-style:solid dashed dashed}._day_1hn9p_114[data-drop=valid][data-drop-over]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}._day_1hn9p_114[data-drop=invalid][data-drop-over]{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger)}@media (min-width:641px){._moveText_1hn9p_614{display:none}}._days_1hn9p_114{touch-action:pan-y pinch-zoom}._selectField_1hn9p_624 select{font:inherit;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);min-height:44px;color:var(--text);width:100%;padding:0 10px}._choice_1hn9p_635{border:1px solid var(--border);border-left:4px solid var(--warn);border-radius:var(--radius-small);gap:10px;min-width:0;margin:0;padding:10px 12px;display:grid}._affected_1hn9p_646{margin:0;padding-left:18px}._affectedFixed_1hn9p_651{color:var(--muted);align-items:center;gap:3px;font-size:.85rem;display:inline-flex}._notice_1hn9p_659{z-index:60;border:1px solid var(--danger);border-radius:var(--radius);background:var(--surface);width:max-content;max-width:calc(100vw - 24px);color:var(--text);align-items:center;gap:8px;padding:8px 8px 8px 14px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}@media (max-width:640px){._dayButton_1hn9p_480,._cardButton_1hn9p_481{min-width:40px;min-height:40px;font-size:.85rem}._dayButton_1hn9p_480{font-size:1.2rem}._exportFailed_1hn9p_567{font-size:.85rem}}._meta_f3usj_2{gap:6px;display:grid}._metaLine_f3usj_7{color:var(--muted);align-items:center;gap:8px;display:flex}._planned_f3usj_14{font-variant-numeric:tabular-nums;font-weight:600}._chips_f3usj_19{flex-wrap:wrap;gap:6px;display:flex}._chip_f3usj_19{border:1px solid var(--border);background:var(--surface-sunken);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:.82rem;display:inline-flex}._chip_f3usj_19[data-status=done]{color:var(--ok);border-color:currentColor}._chip_f3usj_19[data-key]{color:var(--danger);border-color:currentColor;font-weight:600}._description_f3usj_47{white-space:pre-wrap}._label_f3usj_51{font-weight:600}._section_f3usj_55{border-top:1px solid var(--border);gap:10px;min-width:0;padding-top:12px;display:grid}._section_f3usj_55 h3{font-size:1rem}._confirm_f3usj_67{border:1px solid var(--danger);border-radius:var(--radius-small);background:var(--danger-soft);gap:8px;padding:10px 12px;display:grid}._activity_f3usj_76{justify-items:start;gap:6px;display:grid}._activities_f3usj_82{gap:6px;width:100%;margin:0;padding:0;list-style:none;display:grid}._activities_f3usj_82 li{border:1px dashed var(--border);border-radius:var(--radius-small);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding:6px 8px;display:flex}._doneForm_f3usj_102{justify-items:start;gap:8px;display:grid}._doneForm_f3usj_102 ._row_f3usj_108{width:100%}._garminState_f3usj_112[data-state=failed],._garminState_f3usj_112[data-state=invalid]{border-radius:var(--radius-small);background:var(--danger-soft);color:var(--danger);padding:8px 10px}._garminState_f3usj_112[data-state=synced]{color:var(--ok)}._steps_f3usj_125{gap:4px;margin:0;padding:0;list-style:none;display:grid}._step_f3usj_125{border-left:3px solid var(--border);border-radius:var(--radius-small);background:var(--surface-sunken);grid-template-columns:minmax(84px,30%) minmax(0,1fr);gap:10px;padding:6px 10px;display:grid}._step_f3usj_125[data-step-type=active]{border-left-color:var(--accent)}._step_f3usj_125[data-step-type=warmup],._step_f3usj_125[data-step-type=cooldown]{border-left-color:var(--ok)}._stepType_f3usj_152{font-weight:600}._stepValues_f3usj_156{font-variant-numeric:tabular-nums}._repeat_f3usj_160{border-left:3px solid var(--accent);border-radius:var(--radius-small);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:4px 0 4px 8px;display:grid}._repeatCount_f3usj_170{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}._form_f3usj_177 select,._form_f3usj_177 textarea,._form_f3usj_177 input[type=date]{font:inherit;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);min-height:44px;color:var(--text);width:100%;padding:0 10px}._form_f3usj_177 textarea{resize:vertical;padding:8px 10px}._row_f3usj_108{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}._stepsField_f3usj_202{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}._stepsEditor_f3usj_211{gap:10px;display:grid}._stepDraft_f3usj_216,._repeatDraft_f3usj_217{border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface-sunken);gap:8px;min-width:0;margin:0;padding:8px 10px 10px;display:grid;position:relative}._repeatDraft_f3usj_217{border-left:3px solid var(--accent);background:0 0}._stepDraft_f3usj_216[aria-describedby]{border-color:var(--danger)}._stepLegend_f3usj_238{padding:0 4px;font-size:.9rem;font-weight:600}._stepActions_f3usj_244{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}._iconButton_f3usj_251,._textButton_f3usj_252{border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);min-width:36px;min-height:36px;color:var(--text);font:inherit;cursor:pointer;padding:0 8px;font-size:.85rem}._iconButton_f3usj_251:disabled{opacity:.4;cursor:default}._stepGrid_f3usj_270{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));align-items:end;gap:8px;display:grid}._small_f3usj_277,._wide_f3usj_278{gap:3px;min-width:0;font-size:.82rem;font-weight:600;display:grid}._wide_f3usj_278{grid-column:1/-1}._form_f3usj_177 ._small_f3usj_277 input,._form_f3usj_177 ._small_f3usj_277 select,._form_f3usj_177 ._wide_f3usj_278 input,._repeatDraft_f3usj_217>._small_f3usj_277 input{font:inherit;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);min-height:40px;color:var(--text);width:100%;padding:0 8px;font-weight:400}._repeatDraft_f3usj_217>._small_f3usj_277{max-width:200px}._inlineCheck_f3usj_309{align-items:center;gap:6px;min-height:40px;font-size:.85rem;display:flex}._inlineCheck_f3usj_309 input{width:18px;height:18px;accent-color:var(--accent)}._stepErrors_f3usj_323{border-radius:var(--radius-small);background:var(--danger-soft);color:var(--danger);margin:0;padding:6px 10px 6px 26px;font-size:.85rem}@media (max-width:640px){._step_f3usj_125{grid-template-columns:minmax(0,1fr);gap:0}}._replan_b8qji_1{justify-items:start;gap:8px;font-size:.9rem;display:grid}._status_b8qji_8{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-small);background:var(--surface);justify-items:start;gap:4px;width:100%;padding:8px 10px;display:grid}._status_b8qji_8[data-status=done]{border-left-color:var(--ok)}._statusTitle_b8qji_24{font-weight:600}._badge_b8qji_28{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:0 8px;font-weight:600;display:inline-block}._badge_b8qji_28[data-status=done]{color:var(--ok);background:0 0;border:1px solid}._group_b8qji_43{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}._reason_b8qji_52 textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);color:var(--text);resize:vertical;width:100%;padding:8px 10px}._fixedList_b8qji_63{gap:4px;margin:0;padding:0;list-style:none;display:grid}._fixedList_b8qji_63 li{border:1px solid var(--border);border-radius:var(--radius-small);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px;padding:5px 8px;display:grid}._fixedList_b8qji_63 svg{color:var(--muted);margin-top:3px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f5f7;--surface:#fff;--surface-sunken:#eceff3;--text:#1b1f24;--muted:#56606c;--border:#d5dae1;--accent:#1d5fc4;--accent-contrast:#fff;--accent-soft:#e4eefc;--danger:#b3261e;--danger-soft:#fdecea;--ok:#1a7a3a;--warn:#9a5b00;--rest:#135a31;--rest-soft:#e3f4e8;--race-a:#c2261d;--race-a-soft:#fde7e5;--race-b:#a86200;--race-b-soft:#fff0d2;--race-c:#00756a;--race-c-soft:#dcf4f0;--radius:8px;--radius-small:5px;--shadow:0 1px 2px #10182814;--page-width:1400px;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111418;--surface:#1b2027;--surface-sunken:#151a20;--text:#e7eaee;--muted:#9ca6b3;--border:#333a45;--accent:#74abff;--accent-contrast:#0b1524;--accent-soft:#1c2c45;--danger:#ff8a80;--danger-soft:#40201e;--ok:#6fd08c;--warn:#ffc661;--rest:#7ed99a;--rest-soft:#17351f;--race-a:#ff8a80;--race-a-soft:#45201f;--race-b:#ffc661;--race-b-soft:#40300f;--race-c:#5fd3c0;--race-c-soft:#123a35;--shadow:none}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;overflow-wrap:break-word;min-height:100dvh}h1,h2,h3,p{margin:0}h1{font-size:1.35rem;line-height:1.25}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.button{font:inherit;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;padding:0 14px}.button:disabled{opacity:.6;cursor:progress}.button--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.button--quiet{color:var(--muted);background:0 0;border-color:#0000;padding:0 8px}.button--quiet:hover{color:var(--text)}.field{gap:4px;display:grid}.field__label{font-size:.9rem;font-weight:600}.field input{font:inherit;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);min-height:44px;color:var(--text);width:100%;padding:0 10px}.form-error{border-radius:var(--radius-small);background:var(--danger-soft);color:var(--danger);padding:8px 10px;font-size:.95rem}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;position:sticky;top:0}.app-header__inner{max-width:var(--page-width);flex-wrap:wrap;align-items:center;gap:4px 20px;margin:0 auto;padding:6px 16px;display:flex}.app-header__brand{letter-spacing:.01em;font-weight:700}.app-header__tools{order:3;align-items:center;gap:8px;margin-left:auto;display:flex}.app-nav{order:2;gap:2px;min-width:0;display:flex}.app-nav__link{border-radius:var(--radius-small);min-height:40px;color:var(--muted);white-space:nowrap;align-items:center;padding:0 10px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.app-nav__link:hover{color:var(--text)}.app-nav__link.active{color:var(--accent);background:var(--accent-soft)}.app-main{max-width:var(--page-width);margin:0 auto;padding:16px}.page{justify-items:start;gap:12px;display:grid}.page-state{text-align:center;color:var(--muted);padding:32px 16px}.lang-switch{border:1px solid var(--border);border-radius:var(--radius-small);display:inline-flex;overflow:hidden}.lang-switch__option{font:inherit;min-width:36px;min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:.8rem;font-weight:600}.lang-switch__option[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast)}.garmin-badge{border:1px solid var(--border);white-space:nowrap;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:.8rem;display:inline-flex}.garmin-badge__name{color:var(--text);font-weight:600}.garmin-badge__dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.garmin-badge[data-state=connected] .garmin-badge__dot{background:var(--ok)}.garmin-badge[data-state=sync_delayed] .garmin-badge__dot{background:var(--warn)}.garmin-badge[data-state=reauth_required] .garmin-badge__dot,.garmin-badge[data-state=disrupted] .garmin-badge__dot{background:var(--danger)}.login{min-height:100vh;grid-template-rows:auto 1fr;justify-items:center;min-height:100dvh;padding:16px;display:grid}.login__language{justify-self:end}.login__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;box-shadow:var(--shadow);align-self:center;gap:14px;margin-bottom:10vh;padding:24px;display:grid}.login__brand{color:var(--accent);font-weight:700}@media (max-width:640px){.app-header{position:static}.app-header__inner{gap:2px 12px;padding:6px 12px 0}.app-header__tools{order:2}.app-nav{flex:1 0 100%;order:3;justify-content:space-between}.app-nav__link{border-radius:var(--radius-small) var(--radius-small) 0 0;flex:1 1 0;justify-content:center;padding:0 4px;font-size:.9rem}.garmin-badge__status{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.app-main{padding:12px}}.login__language{align-items:center;gap:8px;display:flex}.login__card[data-wide]{max-width:640px;margin-bottom:24px}.form{gap:14px;display:grid}.form__links{flex-wrap:wrap;gap:4px 16px;font-size:.95rem;display:flex}.form__actions{flex-wrap:wrap;gap:8px;display:flex}.field__hint{color:var(--muted);font-size:.85rem}.field input[readonly]{background:var(--surface-sunken);color:var(--muted)}.field input[aria-invalid=true],.check input[aria-invalid=true]{outline:2px solid var(--danger);outline-offset:1px}.check{cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:10px;display:grid}.check input{width:20px;height:20px;accent-color:var(--accent);margin:2px 0 0}.form-success{border-radius:var(--radius-small);background:var(--accent-soft);color:var(--text);padding:8px 10px;font-size:.95rem}.notice{border:1px solid var(--border);border-left:4px solid var(--warn);border-radius:var(--radius-small);background:var(--surface);padding:8px 10px;font-size:.95rem}.button--danger{background:var(--danger);border-color:var(--danger);color:var(--surface);font-weight:600}.consent{gap:12px;display:grid}.consent__box{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);gap:8px;padding:12px 14px;font-size:.95rem;display:grid}.consent__box h2,.consent__box h3,.consent__box h4,.settings-section h3{margin:0;font-size:1rem}.consent__box ul{gap:4px;margin:0;padding-left:20px;display:grid}.consent__version{color:var(--muted);font-size:.8rem}.prose{gap:4px;display:grid}.prose h2{margin:0;font-size:1.05rem}.page--settings{justify-items:stretch;max-width:720px}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);gap:12px;padding:16px;scroll-margin-top:72px;display:grid}.settings-section h2{margin:0;font-size:1.15rem}.settings-section>.button{justify-self:start}.facts{gap:6px;margin:0;display:grid}.facts>div{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.facts dt{font-weight:600}.facts dd{margin:0}a.garmin-badge{text-decoration:none}.garmin-badge[data-state=connecting] .garmin-badge__dot,.garmin-badge[data-state=mfa_pending] .garmin-badge__dot{background:var(--accent)}.banner{background:var(--danger-soft);color:var(--danger);border-bottom:1px solid var(--border);text-align:center;padding:8px 16px;font-size:.95rem}@media (max-width:640px){.login__card{padding:18px 16px}.settings-section{padding:12px}.form__actions .button{flex:auto}.app-nav:has(a[href^=\/admin]){overflow-x:auto}.app-nav:has(a[href^=\/admin]) .app-nav__link{padding:0 1px;font-size:.8rem}}
