:root {
  font-family: "Segoe UI", Inter, Arial, sans-serif;
  font-size: 100%;
  color: #202b36;
  background: #f3f6fa;
  font-synthesis: none;
  --ink: #202b36;
  --muted: #586675;
  --accent: #225b88;
  --accent-dark: #184669;
  --paper: #f3f6fa;
  --line: #dce1e4;
  --sidebar: 244px;
  --nav-height: 88px;
}
html[data-large-text="true"] { font-size: 118.75%; }
* { box-sizing: border-box; }
html { scroll-padding: 24px 0 120px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; color-scheme: light; }
body { margin: 0; padding-top: env(safe-area-inset-top, 0px); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button { cursor: pointer; color: inherit; }
button:disabled { cursor: default; opacity: .48; }
a { color: inherit; text-decoration: none; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { color: var(--ink); letter-spacing: -.035em; line-height: 1.2; overflow-wrap: anywhere; }
h1 { font-size: clamp(1.9rem, 3vw, 2.6rem); font-weight: 700; margin-bottom: .65rem; }
h2 { font-size: 1.5rem; font-weight: 650; margin-bottom: .75rem; }
h3 { font-size: 1.125rem; font-weight: 650; margin-bottom: .5rem; }
p { line-height: 1.65; }
strong { font-weight: 650; }
:focus-visible { outline: 3px solid #246aa0; outline-offset: 4px; }
main:focus { outline: none; }
.icon { width: 22px; height: 22px; flex: 0 0 auto; vertical-align: middle; }
.muted { color: var(--muted); }
.small { font-size: .875rem; }
.full { width: 100%; }
.grow { flex: 1; min-width: 0; }
.flip { transform: rotate(180deg); }
.eyebrow { display: block; color: var(--accent); font-size: .8125rem; font-weight: 650; letter-spacing: .025em; line-height: 1.5; }
.button, .icon-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  border: 1px solid #bdc8d1; border-radius: 12px; background: #fff;
  padding: .75rem 1rem; min-height: 48px; font-size: .9375rem; font-weight: 600; line-height: 1.3;
  transition: background .15s, border-color .15s;
}
.button:hover, .icon-button:hover { background: #edf2f6; border-color: #8195a7; }
.button.primary,.button.dark { background: var(--accent); border-color: var(--accent); color: white; }
.button.primary:hover,.button.dark:hover { background: var(--accent-dark); border-color: var(--accent-dark); }
.button.ghost { background: transparent; border-color: transparent; }
.button.ghost:hover { background: #e9eef2; }
.button.compact { font-size: .875rem; }
.icon-button { min-width: 48px; padding: .65rem; }
.text-link, .text-button { display: inline-flex; align-items: center; gap: .5rem; border: 0; background: none; padding: .6rem 0; min-height: 44px; color: var(--accent); font-size: .9375rem; font-weight: 600; }
.text-link:hover,.text-button:hover { text-decoration: underline; }
.pill { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .75rem; width: fit-content; border-radius: 100px; background: #eaf0f6; color: #285577; font-size: .8125rem; line-height: 1.5; font-weight: 600; }
.pill .icon { width: 18px; height: 18px; }
.pill.success { background: #e8f1ea; color: #305d42; }
.pill.neutral { background: #f6ecdb; color: #735218; }
.error { color: #a02e28; font-size: .9375rem; line-height: 1.5; margin: .7rem 0; }
.error:empty { display: none; }
label { display: flex; flex-direction: column; gap: .5rem; font-size: .875rem; color: #394958; font-weight: 600; line-height: 1.4; }
label small { font-size: .8125rem; color: var(--muted); font-weight: 400; line-height: 1.6; }
input, select, textarea {
  min-width: 0; width: 100%; min-height: 50px; padding: .75rem .85rem;
  border: 1px solid #7c8c9a; border-radius: 10px; background: #fff; color: var(--ink); font-size: 1rem;
}
input::placeholder,textarea::placeholder { color: #62707c; opacity: 1; }
input:disabled { background: #eef1f3; color: #526171; opacity: 1; }
textarea { resize: vertical; line-height: 1.6; }
.stack-form { display: grid; gap: 1.25rem; margin-top: 1.25rem; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 100; padding: 15px; background: #fff; color: var(--accent); clip-path: inset(100%); }
.skip-link:focus { clip-path: none; }
.app-layout { display: flex; min-height: 100vh; min-height: 100dvh; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar); display: flex; flex-direction: column; background: #fff; border-right: 1px solid var(--line); padding: 32px 20px 20px; z-index: 20; }
.brand { display: flex; align-items: center; gap: 10px; font-size: 1.4rem; font-weight: 800; letter-spacing: -.04em; white-space: nowrap; }
.brand-light { font-weight: 650; font-size: .9rem; }
.brand small { display: block; font-size: .625rem; letter-spacing: .075em; line-height: 1.4; font-weight: 600; margin-top: 3px; }
.brand img { width: 40px; height: 40px; }
.workspace-label { color: var(--muted); font-size: .8125rem; margin: 44px 12px 18px; }
.sidebar nav { display: grid; gap: 8px; }
.nav-item { display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 14px 16px; font-size: .9375rem; border-radius: 12px; color: #506172; }
.nav-item.active { background: #eaf0f6; color: #204f75; font-weight: 700; }
.nav-item:hover { background: #eef3f7; }
.nav-item i { display: none; }
.sidebar-coach { margin-top: auto; padding: 36px 12px 20px; }
.sidebar-coach>.avatar { margin-bottom: 14px; background: #233c50; color: #fff; }
.sidebar-coach strong, .sidebar-coach>span { display: block; }
.sidebar-coach strong { font-size: .9375rem; }
.sidebar-coach>span { color: var(--muted); font-size: .8125rem; margin-top: 5px; }
.sidebar-coach p { font-size: .8125rem; color: var(--muted); margin: 20px 0 0; }
.instagram-link { display: inline-flex; align-items: center; gap: 8px; color: var(--accent); min-height: 44px; font-size: .8125rem; }
.instagram-link:hover { text-decoration: underline; }
.instagram-link .icon { width: 16px; height: 16px; }
.sidebar>.instagram-link { padding-left: 12px; }
.workspace { min-width: 0; margin-left: var(--sidebar); width: calc(100% - var(--sidebar)); }
.topbar { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); padding: 16px 36px; background: #fcfcfa; }
.breadcrumb { font-size: .9375rem; color: var(--muted); }
.topbar-right { display: flex; align-items: center; gap: 14px; }
.mobile-brand { display: none; }
.avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 48px; height: 48px; border-radius: 16px; background: #e7edf2; color: #3e5c74; font-size: .875rem; font-weight: 700; }
.user-chip { display: flex; align-items: center; gap: 10px; border: 0; border-radius: 10px; background: transparent; min-height: 48px; padding: 4px; font-size: .875rem; text-align: left; }
.user-chip:hover { background: #eaf0f5; }
.user-chip small { display: block; color: var(--muted); font-size: .75rem; margin-top: 4px; }
.small-avatar { width: 38px; height: 38px; border-radius: 50%; }
.theme-button { gap: 6px; padding: 10px 12px; }
.theme-button .theme-label { font-size: .8125rem; margin-left: 6px; }
.theme-button[aria-pressed="true"] { background: #225b88; color: #fff; }
.demo-banner { padding: 9px 36px; font-size: .8125rem; color: #625027; background: #f6efdF; border-bottom: 1px solid #e7ddc7; }
main { max-width: 1420px; margin: auto; padding: 36px; min-height: 65vh; }
.page-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 12px 36px 28px; font-size: .8125rem; color: var(--muted); }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.page-heading .eyebrow { margin-bottom: 10px; }
.page-heading p { margin-bottom: 0; color: var(--muted); font-size: 1rem; max-width: 650px; }
.page-heading>.button { flex-shrink: 0; }
.week-control { display: flex; align-items: center; gap: 4px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 4px; flex-shrink: 0; }
.week-control .icon-button { padding: 6px; min-width: 44px; min-height: 44px; border: 0; background: transparent; }
.week-control label { position: relative; display: flex; flex-direction: row; align-items: center; gap: 10px; min-width: 210px; min-height: 44px; padding: 4px 10px; cursor: pointer; }
.week-control label>.icon { display: block; width: 20px; height: 20px; color: var(--accent); }
.week-picker-copy { display: grid; gap: 1px; line-height: 1.2; }
.week-picker-copy small { color: var(--muted); font-size: .625rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.week-picker-copy strong { color: var(--ink); font-size: .875rem; font-weight: 650; white-space: nowrap; }
.week-control input { position: absolute; inset: 0; width: 100%; min-height: 100%; padding: 0; border: 0; opacity: 0; cursor: pointer; }
.card { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; min-width: 0; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1fr) 285px; align-items: start; gap: 24px; }
.dashboard-grid>section { min-width: 0; }
.week-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.week-heading>.muted { font-size: .8125rem; }
.day-tabs { display: grid; grid-template-columns: repeat(auto-fit,minmax(110px,1fr)); gap: 10px; margin-bottom: 24px; }
.day-tab { display: grid; gap: 7px; justify-items: start; padding: 16px; background: #fff; color: #374c5f; border: 1px solid #c4ced6; border-radius: 14px; text-align: left; }
.day-tab>span { font-size: .875rem; font-weight: 600; }
.day-tab>strong { font-size: 1.5rem; }
.day-tab>small { font-size: .75rem; }
.day-tab.selected { background: #225b88; color: #fff; border-color: #225b88; box-shadow: 0 4px 12px #225b8815; }
.training-hero { position: relative; overflow: hidden; padding: 30px; border-radius: 20px; background: #e5edf3; border: 1px solid #d1dfe9; margin-bottom: 32px; }
.hero-copy { position: relative; z-index: 1; max-width: 580px; }
.dark-pill { background: #fff; color: #315e80; }
.training-hero h2 { font-size: 2rem; margin: 20px 0 10px; color: #183b56; }
.training-hero p { color: #455c6d; font-size: 1rem; margin-bottom: 22px; }
.training-hero .button { min-height: 56px; font-size: 1rem; }
.hero-helper { display: block; color: #455c6d; font-size: .875rem; max-width: 340px; margin-top: 16px; line-height: 1.6; }
.hero-art { position: absolute; right: -12px; top: 65px; font-size: 5rem; letter-spacing: -.07em; font-weight: 800; transform: rotate(-90deg); color: #225b8812; pointer-events: none; }
.hero-art span { display: none; }
.section-title { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.section-title h2,.section-title h3 { margin-bottom: 0; }
.section-title p { margin: .5rem 0 0; color: var(--muted); font-size: .9375rem; }
.section-title>span { color: var(--muted); font-size: .8125rem; }
.exercise-list { display: grid; gap: 16px; }
.exercise-row { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.exercise-card-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.exercise-card-heading>div { min-width: 0; flex: 1; }
.exercise-card-heading h3 { margin: 4px 0 0; font-size: 1.25rem; }
.exercise-card-heading .eyebrow { color: var(--muted); font-size: .8125rem; }
.exercise-number { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 auto; border-radius: 12px; background: #edf2f6; color: #355c78; font-size: 1rem; font-weight: 700; }
.exercise-kind { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: .8125rem; }
.exercise-kind .icon { width: 18px; height: 18px; }
.exercise-prescription { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 0; }
.exercise-prescription>div { background: #f7f8f8; border-radius: 12px; padding: 12px; }
.exercise-prescription dt { color: #556472; font-size: .8125rem; margin-bottom: 8px; }
.exercise-prescription dd { margin: 0; font-size: 1.4rem; font-weight: 650; line-height: 1.3; }
.exercise-prescription small { display: block; font-size: .75rem; font-weight: 400; color: var(--muted); margin-top: 3px; }
.no-weight { font-size: 1rem; font-weight: 600; }
.exercise-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 20px; }
.exercise-card-footer>span { color: var(--muted); font-size: .8125rem; }
.right-stack { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.coach-note { background: #f0f2e9; border-color: #dde2d4; }
.coach-note>.eyebrow { color: #485e38; }
.coach-person { display: flex; gap: 10px; align-items: center; margin: 20px 0; }
.coach-person .avatar { background: #e0e5d6; color: #42543a; }
.coach-person strong { font-size: .9375rem; }
.coach-person span:not(.avatar) { display: block; color: #506047; font-size: .8125rem; margin-top: 4px; }
.coach-note>p { color: #45543d; font-size: .9375rem; white-space: pre-wrap; margin-bottom: 0; }
.week-progress { display: flex; align-items: center; gap: 14px; margin: 24px 0 20px; }
.week-progress>strong { font-size: 2.5rem; white-space: nowrap; letter-spacing: -.06em; }
.week-progress small { font-size: 1.25rem; color: var(--muted); font-weight: 400; }
.week-progress>span { font-size: .8125rem; color: var(--muted); line-height: 1.5; }
.progress-track { height: 8px; background: #e6eaed; overflow: hidden; border-radius: 8px; }
.progress-track>span { display: block; height: 100%; background: var(--accent); border-radius: 8px; }
.weekly-card>p { color: var(--muted); font-size: .875rem; margin-top: 18px; }
.goal-card h3 { margin-top: 12px; }
.goal-card p { color: var(--muted); margin-bottom: 0; font-size: .875rem; }
.metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 32px; }
.metric { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.metric>div { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .875rem; margin-bottom: 15px; }
.metric>div .icon { width: 20px; height: 20px; color: var(--accent); }
.metric>strong { display: block; font-size: 2rem; letter-spacing: -.04em; }
.metric>strong>span { color: var(--muted); font-weight: 400; font-size: 1.25rem; }
.metric>small { display: block; color: var(--muted); font-size: .8125rem; margin-top: 8px; }
.student-search-label { max-width: 480px; margin-bottom: 24px; }
.student-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.student-card { display: flex; flex-direction: column; gap: 22px; }
.table-person { display: flex; align-items: center; gap: 14px; }
.table-person>div { min-width: 0; }
.table-person h3 { font-size: 1.2rem; margin-bottom: 6px; }
.table-person p { color: var(--muted); font-size: .875rem; margin-bottom: 0; overflow-wrap: anywhere; }
.student-facts { margin: 0; display: flex; justify-content: space-between; gap: 20px; }
.student-facts dt { color: var(--muted); font-size: .8125rem; margin-bottom: 8px; }
.student-facts dd { margin: 0; font-size: .9375rem; }
.row-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; }
.row-actions .button { flex: 1; }
.empty { padding: 42px 24px; background: #fff; border: 1px dashed #aebec9; border-radius: 18px; text-align: center; }
.empty>.icon { width: 36px; height: 36px; color: var(--accent); margin-bottom: 18px; }
.empty h3 { font-size: 1.3rem; }
.empty p { color: var(--muted); max-width: 460px; margin: 0 auto 16px; }
.inline-label { min-width: 0; }
.inline-label select { max-width: 330px; }
.planning-toolbar { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.planning-toolbar .inline-label { flex: 1; min-width: 180px; }
.planning-toolbar select { max-width: none; }
.editor-days { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.editor-day-tab { display: flex; flex-direction: column; text-align: left; gap: 5px; min-height: 68px; padding: 12px 20px; border: 1px solid #becbd5; border-radius: 12px; background: white; color: #415665; }
.editor-day-tab strong { font-size: .9375rem; }
.editor-day-tab span { font-size: .8125rem; }
.editor-day-tab.selected { background: #e4edf4; border: 2px solid var(--accent); padding: 11px 19px; color: #17496e; }
.add-day { align-self: center; }
.editor-day-heading { display: grid; grid-template-columns: 220px minmax(0,1fr) auto; gap: 20px; align-items: end; margin-bottom: 24px; }
.day-title { grid-column: 1/-1; }
.day-title h2 { font-size: 1.3rem; margin: 6px 0 0; }
.editor-row { border: 1px solid var(--line); border-radius: 18px; background: #fff; padding: 24px; margin-bottom: 20px; }
.editor-exercise-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.editor-exercise-heading h3 { margin: 0; flex: 1; }
.remove { color: #8b3f38; }
.exercise-select { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 20px; margin-bottom: 24px; }
.exercise-select label { font-size: .875rem; }
.exercise-select label:first-child { grid-column: 1; grid-row: 1; }
.exercise-select input { grid-column: 1; grid-row: 2; }
.exercise-select label:nth-of-type(2) { grid-column: 2; grid-row: 1; }
.exercise-select select { grid-column: 2; grid-row: 2; }
.editor-controls { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; align-items: end; }
.editor-summary { margin: 22px 0; padding: 15px 18px; background: #f0f4f7; border-radius: 10px; color: #425967; font-size: .875rem; }
.editor-row-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.editor-row-actions .button:first-child { margin-right: auto; }
.add-exercise { border: 1px dashed #7c97ad; min-height: 60px; background: #f0f5f8; color: var(--accent); }
.notes-editor { margin-top: 24px; }
.save-bar { padding: 20px; margin-top: 24px; background: #fff; border: 1px solid #aabcc9; border-radius: 14px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.save-bar>span { color: var(--muted); font-size: .875rem; }
.save-bar>div { display: flex; gap: 12px; }
.routine-note { margin-top: 24px; }
.routine-note p { white-space: pre-wrap; color: var(--muted); margin: 0; }
.routine-heading { margin: 28px 0 22px; }
.plan-preview section { margin-bottom: 24px; }
.plan-preview h3 { margin-top: 8px; }
.preview-exercise { border-top: 1px solid var(--line); padding: 16px 0; }
.preview-exercise p { color: var(--muted); margin: 7px 0 0; }
.plan-preview>p { white-space: pre-wrap; }
.library-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.library-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.movement-art { display: flex; align-items: center; justify-content: center; min-height: 125px; background: #eaf0f4; position: relative; }
.movement-art>.icon { width: 52px; height: 52px; color: #547590; }
.movement-art>span:first-child { position: absolute; left: 20px; top: 16px; color: #4f6475; font-size: .875rem; }
.movement-art>.pill { position: absolute; right: 12px; bottom: 12px; background: #fff; }
.movement-1 { background: #eef0e7; }.movement-2 { background: #f4eee7; }.movement-3 { background: #e9eff0; }
.library-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.library-body .eyebrow { color: var(--muted); margin-bottom: 12px; }
.library-body h2 { min-height: 2.55em; margin-bottom: 12px; font-size: 1.3rem; line-height: 1.28; }
.library-body>p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; font-size: .9375rem; color: var(--muted); flex: 1; line-height: 1.55; }
.library-body>.text-link { margin-top: 14px; }
.table-scroll { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: .875rem; }
th,td { padding: 16px 12px; border-bottom: 1px solid var(--line); line-height: 1.6; }
th { color: #536474; font-size: .8125rem; }
.chart-wrap { max-width: 950px; margin: auto; }
.chart-wrap svg { display: block; width: 100%; }
.chart-wrap text { font-size: 12px; font-family: inherit; fill: #526374; }
.history-heading { margin-top: 32px; }
.history-list { display: grid; gap: 16px; }
.history-item { padding: 20px; }
.history-item summary { display: flex; align-items: center; gap: 14px; cursor: pointer; min-height: 48px; list-style: none; }
.history-item summary::-webkit-details-marker { display: none; }
.history-item summary>div { flex: 1; }
.history-item strong { font-size: 1rem; }
.history-item small { display: block; color: var(--muted); font-size: .875rem; margin-top: 7px; line-height: 1.6; }
.history-check { display: inline-flex; justify-content: center; align-items: center; width: 40px; height: 40px; flex: 0 0 auto; background: #e8f1ec; color: #3e6954; border-radius: 12px; }
.history-detail { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); font-size: .9375rem; }
.history-detail blockquote { margin: 0; border-left: 3px solid var(--accent); padding: 12px 18px; background: #f1f5f8; white-space: pre-wrap; }
.session-progress { display: flex; align-items: center; gap: 18px; margin-bottom: 24px; }
.session-progress .progress-track { flex: 1; }
.session-progress>span { font-size: .875rem; color: var(--muted); white-space: nowrap; }
.workout-grid { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 24px; align-items: start; }
.workout-main { padding: 26px; }
.workout-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.session-guide { color: var(--accent); }
.sound-on { background: #dceaf4; color: #204f75; }
.timer-area { display: flex; flex-direction: column; align-items: center; margin: 25px 0; }
.timer-area>.eyebrow { color: var(--muted); font-size: .8125rem; text-align: center; }
.timer-circle { position: relative; width: min(100%,250px); aspect-ratio: 1; margin: 15px 0; }
.timer-circle>svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.timer-circle circle { fill: none; stroke-width: 6px; }
.timer-track { stroke: #e7eef3; }
.timer-ring { stroke: var(--accent); stroke-dasharray: 735; stroke-dashoffset: 0; stroke-linecap: round; }
.resting .timer-ring { stroke: #66805b; }
.timer-circle>div { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.timer-circle strong { font-size: 3.5rem; line-height: 1; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.timer-circle span { font-size: .8125rem; color: var(--muted); margin-top: 12px; }
.timer-hint { color: var(--muted); font-size: .875rem; text-align: center; margin-bottom: 0; }
.timer-actions { display: flex; gap: 12px; }
.set-inputs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.session-field { display: grid; gap: 8px; }
.previous-suggestion { padding: 18px; margin: 0 0 22px; background: #edf5f1; border: 1px solid #d7e8df; border-radius: 14px; font-size: .875rem; }
.previous-suggestion p { margin: 10px 0 14px; color: #35594d; }
.previous-suggestion small { display: block; margin-top: 12px; line-height: 1.6; color: #486858; }
.template-save-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 24px 0; }
.template-save-row>span { color: var(--muted); font-size: .875rem; flex: 1 1 200px; }
.template-list { display: grid; gap: 16px; margin-top: 24px; }
.template-card { padding: 20px; background: #f4f8f7; border: 1px solid #dce7e2; border-radius: 14px; }
.template-card h3 { margin-top: 8px; }.template-card p { color: var(--muted); font-size: .875rem; }
.template-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.template-actions .primary { flex: 1; }
.template-preview { max-height: 38dvh; overflow-y: auto; padding: 16px; background: #f3f7fa; border-radius: 12px; }
.template-preview section+section { border-top: 1px solid #dce6ec; padding-top: 16px; }
.template-preview p { font-size: .875rem; color: #475e6d; }.template-preview p:last-child { margin-bottom: 0; }
#template-block-fields { min-width: 0; border: 1px solid #b5c6be; border-radius: 12px; padding: 14px; }
.template-check { flex-direction: row; align-items: center; gap: 12px; padding: 12px 0; font-weight: 500; }
.template-check input { flex: 0 0 24px; width: 24px; min-height: 24px; height: 24px; accent-color: #176e64; }
.template-check small { display: block; margin-top: 4px; }
.number-stepper { display: flex; border: 1px solid #9aadbD; border-radius: 12px; background: #fff; overflow: hidden; }
.number-stepper>button { width: 44px; flex: 0 0 44px; min-height: 56px; border: 0; background: #edf3f7; font-size: 1.35rem; color: var(--accent); }
.number-stepper input { border: 0; border-radius: 0; padding: .5rem 0; text-align: center; font-size: 1.4rem; min-height: 56px; appearance: textfield; }
.number-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; }
.prescription { font-size: .875rem; color: var(--muted); margin: 18px 0 22px; text-align: center; line-height: 1.6; }
.workout-main .full[type=submit] { min-height: 58px; font-size: 1rem; }
.timer-browser-note { font-size: .8125rem; color: var(--muted); text-align: center; margin: 22px 0 0; }
.previous-record { padding-top: 20px; margin-top: 20px; border-top: 1px solid var(--line); }
.previous-record strong { display: block; font-size: 1.5rem; margin-top: 12px; }
.previous-record>strong>span { color: var(--muted); }
.agenda-item { display: flex; align-items: center; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.agenda-item:last-child { border-bottom: 0; }
.agenda-item>span { flex: 0 0 26px; color: var(--muted); font-size: .875rem; }
.agenda-item strong { font-size: .9375rem; }
.agenda-item small { display: block; color: var(--muted); font-size: .8125rem; margin-top: 6px; }
.agenda-item.current strong { color: var(--accent); }
.working-label { text-align: center; color: #395771; padding: 16px; border-radius: 12px; background: #eaf1f6; font-size: .9375rem; }
.working-label .icon { margin-right: 8px; }
.session-finish { max-width: 700px; margin: 24px auto; text-align: center; }
.finish-icon { display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #e5f0e8; color: #315a3e; border-radius: 50%; margin: 0 auto 24px; }
.finish-icon>.icon { width: 34px; height: 34px; }
.session-finish>.eyebrow { margin-bottom: 18px; }
.session-finish>p { color: var(--muted); }
.summary-card { text-align: left; margin: 28px 0; }
.summary-card>div { padding: 18px 0; border-bottom: 1px solid var(--line); }
.summary-card>div>span { display: block; color: var(--muted); font-size: .875rem; margin-top: 8px; line-height: 1.6; }
.summary-card form { margin-top: 24px; }
.summary-card form>.button { margin-top: 20px; }
dialog { width: min(650px,calc(100% - 32px)); max-height: calc(100vh - 40px); max-height: min(calc(100dvh - 40px), calc(var(--visual-height, 100dvh) - 40px)); padding: 28px; border: 1px solid var(--line); border-radius: 20px; color: var(--ink); overflow: auto; overscroll-behavior: contain; box-shadow: 0 20px 70px #1a33412b; position: fixed; inset: var(--visual-mid, 50%) auto auto 50%; margin: 0; transform: translate(-50%, -50%); }
dialog::backdrop { background: #122a3e99; backdrop-filter: blur(3px); }
.modal-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.modal-header h2 { font-size: 1.4rem; margin-bottom: 0; }
.modal-header .icon-button { flex: 0 0 auto; }
dialog>p { font-size: .9375rem; color: var(--muted); }
dialog iframe,dialog video { display: block; width: 100%; aspect-ratio: 16/9; border: 0; border-radius: 12px; background: #1e2e39; }
dialog video { height: auto; max-height: min(70vh, 620px); object-fit: contain; }
dialog>.text-link { margin-top: 14px; }
.video-placeholder { padding: 32px; display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; background: #eff3f5; border-radius: 12px; }
.video-placeholder>.icon { width: 32px; height: 32px; color: var(--accent); }
.video-placeholder strong { font-size: 1rem; }
.video-placeholder p { color: var(--muted); font-size: .875rem; margin: 0; }
.video-meta { display: flex; align-items: center; gap: 16px; margin: 22px 0; font-size: .875rem; color: var(--muted); }
.video-meta { flex-wrap: wrap; }
.video-source { background: #e3f3ee; color: #176b5c; }
.video-disclaimer { margin: 18px 0 0; padding: 14px 16px; border-left: 3px solid var(--accent); background: #f1f7f6; color: var(--muted); font-size: .875rem; line-height: 1.55; }
.instructions { color: var(--muted); white-space: pre-wrap; font-size: .9375rem; line-height: 1.7; }
.login-layout { min-height: 100vh; min-height: 100dvh; display: grid; grid-template-columns: 1fr 1fr; }
.login-story { padding: 48px 60px; display: flex; flex-direction: column; justify-content: space-between; background: #e4edf4; color: #25445d; }
.login-story>div:nth-child(2) { margin: 70px 0; }
.login-story .eyebrow { margin-bottom: 26px; }
.login-story h1 { color: #1a3c55; font-size: clamp(2.5rem,4.5vw,4.1rem); line-height: 1.15; letter-spacing: -.05em; }
.login-story em { color: #3e718e; font-style: normal; }
.login-story p { color: #415e72; max-width: 440px; font-size: 1rem; }
.login-bottom { display: flex; justify-content: space-between; gap: 20px; color: #4b6478; font-size: .75rem; line-height: 1.6; }
.login-form-wrap { padding: 48px 40px; display: flex; align-items: center; justify-content: center; }
.login-form { width: 100%; max-width: 430px; }
.login-form>.eyebrow { margin-bottom: 18px; }
.login-form h2 { font-size: 2rem; }
.login-form>p { font-size: .9375rem; }
.login-form>form { display: grid; gap: 20px; margin-top: 28px; }
.demo-access { margin-top: 26px; border-top: 1px solid var(--line); padding-top: 24px; }
.demo-access p { color: var(--muted); font-size: .875rem; margin: 14px 0; }
.demo-access>.button { margin-top: 10px; }
.login-signature { color: var(--muted); font-size: .75rem!important; line-height: 1.6; margin: 26px 0 6px; }
.account-intro { color: var(--muted); margin-top: 22px; }
.auth-switch { margin-top: 14px; }
.account-pending { max-width: 680px; }
.account-pending h2 { margin-top: 22px; }
.account-pending p { color: var(--muted); }
.boot { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 30px; text-align: center; }
#toast { position: fixed; bottom: 24px; left: 50%; transform: translate(-50%,20px); opacity: 0; pointer-events: none; max-width: calc(100vw - 32px); width: max-content; padding: 16px 24px; border-radius: 12px; color: #fff; background: #203e53; font-size: .9375rem; line-height: 1.5; z-index: 100; box-shadow: 0 8px 24px #18344833; transition: opacity .15s,transform .15s; }
#toast.visible { opacity: 1; transform: translate(-50%,0); }
@media (max-width:1200px) {
  :root { --sidebar: 215px; }
  .sidebar { padding: 28px 16px 20px; }
  .brand { font-size: 1.15rem; }.brand-light { font-size: .8125rem; }.brand img { width: 36px; height: 36px; }.brand small { font-size: .56rem; }
  main { padding: 28px; }.topbar { padding: 14px 28px; }.page-footer { padding-left: 28px; padding-right: 28px; }
  .dashboard-grid { grid-template-columns: minmax(0,1fr) 255px; gap: 20px; }
  .page-heading { flex-wrap: wrap; }.card { padding: 22px; }
  .exercise-kind { display: none; }.exercise-row { padding: 20px; }.exercise-prescription>div { padding: 10px; }
  .exercise-card-footer { flex-wrap: wrap; }.exercise-card-footer>.button { flex: 1; }
  .editor-controls { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .editor-day-heading { grid-template-columns: 190px minmax(0,1fr); }.editor-day-heading>.remove { justify-self: end; grid-column: 2; }
  .workout-grid { grid-template-columns: minmax(0,1fr) 250px; }.set-inputs { grid-template-columns: 1fr; }
  .theme-label { display: none; }.library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .login-story { padding: 40px; }
}
@media (max-width:1000px) {
  .dashboard-grid,.workout-grid { grid-template-columns: minmax(0,1fr); }
  .right-stack { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .goal-card { grid-column: 1/-1; }.week-heading { flex-wrap: wrap; }
  .student-grid { grid-template-columns: 1fr; }.metrics { gap: 12px; }.metric { padding: 18px; }
  .metric>div { align-items: start; }.metric>div>.icon { display: none; }.metric>strong { font-size: 1.7rem; }
  .topbar { flex-wrap: wrap; }.topbar-right { margin-left: auto; }
  .set-inputs { grid-template-columns: repeat(2,minmax(0,1fr)); }.save-bar { flex-wrap: wrap; }
}
@media (max-width:760px), (pointer:coarse) and (max-width:1000px) {
  :root { --sidebar: 0px; }
  .sidebar { width: 100%; inset: auto 0 0 0; height: calc(var(--nav-height) + env(safe-area-inset-bottom)); padding: 0 8px env(safe-area-inset-bottom); border: 0; border-top: 1px solid #c4cfd7; background: #fff; }
  .app-layout.workout-mode .sidebar { display: none; }
  .sidebar>.brand,.workspace-label,.sidebar-coach,.sidebar>.instagram-link { display: none; }
  .sidebar nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2px; height: 100%; }
  .nav-item { flex-direction: column; justify-content: center; gap: 6px; padding: 12px 2px; border-radius: 0; font-size: .75rem; line-height: 1.2; min-width: 0; }
  .nav-item>.icon { width: 24px; height: 24px; }.nav-item.active { background: #eaf1f7; box-shadow: inset 0 3px var(--accent); }
  .workspace { width: 100%; margin: 0; padding-bottom: calc(var(--nav-height) + env(safe-area-inset-bottom)); }
  .app-layout.workout-mode .workspace { padding-bottom: 0; }
  .topbar { min-height: 78px; padding: 12px 18px; gap: 10px; }
  .mobile-brand { display: flex; align-items: center; gap: 8px; font-size: 1rem; }.mobile-brand>strong>span { font-size: .75rem; }.breadcrumb { display: none; }
  .topbar-right { gap: 6px; }.topbar .user-chip { min-width: 44px; padding: 0; }.topbar .user-chip>span:last-child { display: none; }
  .theme-button { min-width: 48px; min-height: 48px; padding: 8px; font-size: 1rem; }
  .demo-banner { padding: 10px 18px; font-size: .75rem; }
  main { padding: 26px 18px 32px; }.page-heading { gap: 20px; margin-bottom: 26px; }
  .page-heading h1 { font-size: 1.9rem; }.page-heading p { font-size: .9375rem; }.page-heading .eyebrow { font-size: .8125rem; }
  .page-heading>.week-control { width: 100%; justify-content: space-between; }.week-control label { flex: 1; justify-content: center; min-width: 0; }
  .week-heading { gap: 6px; }.week-heading>.muted { font-size: .8125rem; }
  .day-tabs { gap: 8px; grid-template-columns: repeat(auto-fit,minmax(92px,1fr)); }
  .day-tab { padding: 13px 10px; gap: 8px; }.day-tab>span { font-size: .8125rem; }.day-tab>small { font-size: .6875rem; }.day-tab>strong { font-size: 1.4rem; }
  .training-hero { padding: 24px; margin-bottom: 30px; }.training-hero h2 { font-size: 1.8rem; }.training-hero .button { width: 100%; }.hero-helper { font-size: .8125rem; }
  .hero-art { top: 36px; right: -22px; font-size: 4rem; }.section-title { flex-wrap: wrap; gap: 14px; }.section-title h2 { font-size: 1.4rem; }.section-title p { font-size: .875rem; }
  .exercise-row { padding: 20px; }.exercise-card-heading { gap: 12px; }.exercise-card-heading h3 { font-size: 1.25rem; }
  .exercise-prescription { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }.exercise-prescription>div { padding: 14px; }.exercise-prescription dt { font-size: .875rem; }.exercise-prescription dd { font-size: 1.5rem; }.exercise-prescription small { font-size: .8125rem; }
  .exercise-card-footer { display: grid; gap: 14px; }.exercise-card-footer>.button { width: 100%; }.exercise-card-footer>span { font-size: .875rem; }
  .right-stack { display: flex; flex-direction: column; }.dashboard-grid { gap: 24px; }
  .page-footer { padding: 16px 18px 24px; flex-direction: column; align-items: flex-start; gap: 4px; }
  .metrics { grid-template-columns: 1fr; gap: 12px; }.metric { display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; align-items: center; padding: 18px 20px; }.metric>div { margin: 0; font-size: .875rem; }.metric>strong { grid-row: 1/3; grid-column: 2; }.metric>small { margin: 0; font-size: .8125rem; }
  .student-search-label { max-width: none; }.student-grid { gap: 16px; }.student-card { padding: 22px; gap: 20px; }.student-facts { flex-wrap: wrap; gap: 18px; }.student-facts>div { min-width: 110px; }
  .row-actions { flex-direction: column; }.table-person h3 { font-size: 1.2rem; }
  .planning-toolbar { padding: 20px; gap: 18px; }.planning-toolbar>.inline-label,.planning-toolbar>.week-control,.planning-toolbar>.button { width: 100%; }.planning-toolbar>.week-control { justify-content: space-between; }.planning-toolbar>.inline-label { min-width: 0; }
  .editor-days { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }.editor-day-tab { padding: 12px; }.editor-day-tab.selected { padding: 11px; }.editor-days>.button { align-self: stretch; }
  .editor-day-heading { grid-template-columns: 1fr; padding: 20px; gap: 20px; }.day-title { grid-column: 1; }.editor-day-heading>.remove { grid-column: 1; }
  .editor-row { padding: 20px; }.editor-exercise-heading { gap: 8px; flex-wrap: wrap; }.editor-exercise-heading h3 { font-size: 1.125rem; }.editor-exercise-heading>.remove { padding: 10px; font-size: .8125rem; }.editor-exercise-heading>.remove>.icon { display: none; }
  .exercise-select { display: flex; flex-direction: column; gap: 10px; }.exercise-select label:nth-of-type(2) { margin-top: 6px; }
  .editor-controls { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 14px; }.editor-controls>label:nth-child(2) { grid-column: 1/-1; grid-row: 1; }.editor-controls label { font-size: .875rem; }
  .editor-summary { font-size: .875rem; padding: 14px; line-height: 1.7; }.editor-row-actions { gap: 8px; }.editor-row-actions .button { padding: 12px; font-size: .8125rem; flex: 1; }.editor-row-actions .button:first-child { flex-basis: 100%; margin-right: 0; }
  .save-bar { padding: 20px; align-items: stretch; flex-direction: column; }.save-bar>div { flex-direction: column; }.save-bar>span { text-align: center; }.save-bar .button { width: 100%; }
  .routine-heading>.button { width: 100%; }.library-grid { grid-template-columns: 1fr; }.library-body { padding: 24px; }
  .section-title>.inline-label { width: 100%; }.inline-label select { max-width: none; }.history-item { padding: 18px; }.history-item summary { gap: 10px; }.history-check { width: 34px; height: 34px; }.history-item small { font-size: .8125rem; }
  .workout-main { padding: 22px 18px; }.workout-grid { gap: 20px; }.workout-card-top>.pill { font-size: .75rem; }.timer-area { margin: 22px 0; }.timer-circle { width: 220px; }.timer-circle strong { font-size: 3.2rem; }
  .set-inputs { grid-template-columns: 1fr; gap: 18px; }.number-stepper>button { width: 56px; flex-basis: 56px; }.number-stepper input { min-height: 58px; font-size: 1.5rem; }.set-inputs label { font-size: .9375rem; }
  .session-progress { gap: 12px; }.session-progress>span { font-size: .8125rem; }.session-finish h1 { font-size: 1.9rem; }.summary-card { padding: 22px; }
  dialog { padding: 22px 18px; width: calc(100% - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)); max-height: min(calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)), calc(var(--visual-height, 100dvh) - 24px)); }.modal-header { gap: 12px; }.modal-header h2 { font-size: 1.25rem; }.form-grid { grid-template-columns: 1fr; }.video-placeholder { padding: 24px 20px; }
  .login-layout { grid-template-columns: 1fr; }.login-story { padding: 24px; }.login-story>.brand { font-size: 1.4rem; }.login-story .brand-light { font-size: .9375rem; }.login-story .brand small { font-size: .625rem; }.login-story>div:nth-child(2) { margin: 32px 0 0; }.login-story .eyebrow { margin-bottom: 14px; font-size: .75rem; }.login-story h1 { font-size: 2rem; }.login-story p { font-size: .9375rem; margin-bottom: 0; }.login-bottom { display: none; }.login-form-wrap { padding: 32px 24px; }.login-form h2 { font-size: 1.7rem; }
  #toast { bottom: calc(var(--nav-height) + env(safe-area-inset-bottom) + 12px); font-size: .875rem; padding: 14px 18px; }
}
@media (max-width:370px) {
  main { padding-left: 14px; padding-right: 14px; }.topbar { padding-left: 14px; padding-right: 14px; }.mobile-brand>strong>span { display: none; }.day-tab>small { font-size: .625rem; }.exercise-row,.editor-row,.student-card { padding: 16px; }.exercise-prescription>div { padding: 12px; }.week-picker-copy strong { font-size: .8125rem; }
}
html[data-large-text="true"] .sidebar>.brand { font-size: 1.15rem; }
html[data-large-text="true"] .sidebar .brand-light { font-size: .7rem; }
@media (max-width:760px), (pointer:coarse) and (max-width:1000px) {
  /* Keep input text at least 16px, including dates, without disabling pinch zoom. */
  input, select, textarea { font-size: max(16px, 1rem); }
  input[type="date"] { appearance: none; -webkit-appearance: none; display: block; }
  input::-webkit-date-and-time-value { text-align: left; }
  main, .topbar, .page-footer, .demo-banner { padding-left: max(18px, env(safe-area-inset-left, 0px)); padding-right: max(18px, env(safe-area-inset-right, 0px)); }
  .login-story, .login-form-wrap { padding-left: max(24px, env(safe-area-inset-left, 0px)); padding-right: max(24px, env(safe-area-inset-right, 0px)); }
  .login-form-wrap { padding-bottom: max(32px, env(safe-area-inset-bottom, 0px)); }
  .sidebar { padding-left: max(8px, env(safe-area-inset-left, 0px)); padding-right: max(8px, env(safe-area-inset-right, 0px)); }
  html[data-editing="true"] .sidebar { visibility: hidden; pointer-events: none; }
  html[data-editing="true"] #toast { bottom: 12px; }
  .workout-main { scroll-margin-top: 16px; }
  .repetition-target { align-items: stretch; padding: 16px; border-radius: 12px; background: #edf3f7; gap: 10px; }
  .repetition-target .timer-circle { width: 100%; aspect-ratio: auto; margin: 0; }
  .repetition-target .timer-circle>svg { display: none; }
  .repetition-target .timer-circle>div { position: static; flex-direction: row; gap: 10px; flex-wrap: wrap; }
  .repetition-target .timer-circle strong { font-size: 2.4rem; }
  .repetition-target .timer-circle span { margin: 0; }
  .repetition-target .timer-hint { display: none; }
}
@media (pointer:coarse) and (orientation:landscape) and (max-height:500px) {
  :root { --nav-height: 64px; }
  .nav-item { flex-direction: row; gap: 8px; }
  .page-heading { margin-bottom: 20px; }
  .timer-circle { width: 160px; }
  .set-inputs { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition: none!important; scroll-behavior: auto!important; } }

.weekly-summary { margin-bottom: 24px; }
.weekly-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.weekly-summary-grid>div { padding: 16px; border: 1px solid #dce6eb; border-radius: 12px; background: #f8fafb; }
.weekly-summary-grid strong { display: block; color: var(--ink); font-size: 1.45rem; font-variant-numeric: tabular-nums; }
.weekly-summary-grid span { display: block; color: var(--muted); font-size: .78rem; line-height: 1.4; margin-top: 6px; }
.progress-focus { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; border-left: 4px solid #3f8d7d; }
.progress-focus h2 { margin: 6px 0; }
.progress-focus p { margin: 0; color: var(--muted); }
.progress-focus-note { max-width: 230px; color: #32675b; font-size: .875rem; line-height: 1.5; text-align: right; }
.achievement-section { margin: 24px 0; }
.achievement-count { color: var(--muted); font-size: .875rem; }
.achievement-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.achievement-card { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; min-width: 0; padding: 16px; border: 1px solid #dce5e8; border-radius: 14px; background: #f7f9fa; color: #83939b; }
.achievement-card>.icon { width: 26px; height: 26px; margin-top: 2px; }
.achievement-card strong { color: #53636c; font-size: .9375rem; }
.achievement-card p { margin: 5px 0 0; color: #71818a; font-size: .8125rem; line-height: 1.45; }
.achievement-card .pill { grid-column: 2; justify-self: start; }
.achievement-card.earned { border-color: #beddd0; background: #edf7f2; color: #287363; }
.achievement-card.earned strong { color: #194f44; }
.achievement-card.earned p { color: #426b61; }
.reset-login-help { margin: 12px 0; color: var(--muted); font-size: .875rem; text-align: center; }
.reset-help { margin-top: 16px; text-align: center; }
@media (max-width:1000px) {
  .achievement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .weekly-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width:760px), (pointer:coarse) and (max-width:1000px) {
  .weekly-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .progress-focus { align-items: flex-start; flex-direction: column; gap: 12px; }
  .progress-focus-note { max-width: none; text-align: left; }
  .achievement-grid { grid-template-columns: 1fr; }
}

/* Content refresh: navigation colors, geometry and behavior stay unchanged. */
.progress-page { min-width: 0; }
.progress-period { display: flex; gap: 4px; width: fit-content; max-width: 100%; padding: 5px; background: #e7edf3; border-radius: 14px; margin-bottom: 22px; }
.progress-period .button { border: 0; background: transparent; color: #4c6071; padding: 12px 18px; }
.progress-period .button[aria-pressed="true"] { background: #fff; color: #193f53; box-shadow: 0 2px 5px #1a374010; }
.progress-overview { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 32px; border-radius: 22px; background: #16364b; color: #fff; margin-bottom: 24px; position: relative; overflow: hidden; }
.progress-overview::after { content: ''; position: absolute; width: 270px; height: 270px; border: 1px solid #ffffff0b; border-radius: 50%; right: -70px; top: -130px; pointer-events: none; }
.progress-overview .eyebrow { color: #b5e4d3; }
.overview-main { min-width: 0; }
.overview-number { display: flex; align-items: center; gap: 18px; font-size: 4.4rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.1; margin: 18px 0; letter-spacing: -.05em; }
.overview-number>span { font-size: 1.05rem; font-weight: 400; letter-spacing: 0; line-height: 1.6; color: #e0ebef; }
.overview-main>p { color: #c7dbe3; font-size: .875rem; margin: 0; }
.overview-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; flex-shrink: 0; }
.overview-facts>div { display: grid; grid-template-columns: auto 1fr; gap: 12px; padding-left: 26px; border-left: 1px solid #ffffff26; }
.overview-facts .icon { color: #b5e4d3; align-self: center; }
.overview-facts strong { font-size: 2rem; font-variant-numeric: tabular-nums; }
.overview-facts span { grid-column: 1/-1; color: #d6e4ea; font-size: .8125rem; }
.progress-layout { display: grid; grid-template-columns: minmax(0,1fr) 275px; gap: 24px; align-items: start; }
.progress-analysis { padding: 28px; }
.progress-analysis .section-title h2 { margin-top: 8px; font-size: 1.5rem; }
.analysis-icon { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border-radius: 12px; background: #e8f3ef; color: #176e64!important; }
.progress-exercise-label, .progress-mode-label { margin-bottom: 20px; }
.progress-exercise-label select { background-color: #f7f9fb; font-weight: 600; border-color: #99aebc; }
.analysis-measure { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.analysis-measure>span { font-size: .8125rem; color: var(--muted); }
.metric-toggle { display: inline-flex; gap: 4px; background: #edf2f5; padding: 4px; border-radius: 12px; }
.metric-toggle button { min-height: 44px; border: 0; background: transparent; color: #4d6273; padding: 8px 16px; border-radius: 9px; font-size: .875rem; font-weight: 600; }
.metric-toggle button[aria-pressed="true"] { color: #185a4e; background: #fff; box-shadow: 0 2px 5px #1c3d4610; }
.progress-highlights { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.progress-highlights>div { padding: 16px; border: 1px solid #e7edf1; border-radius: 14px; background: #f7f9fb; min-width: 0; }
.progress-highlights>div>span { color: #4e6372; font-size: .8125rem; display: block; line-height: 1.5; }
.progress-highlights strong { display: flex; gap: 5px; flex-wrap: wrap; align-items: baseline; font-size: 1.85rem; font-variant-numeric: tabular-nums; color: #193f53; margin-top: 12px; }
.progress-highlights strong small { font-size: .875rem; font-weight: 500; }
.progress-highlights p { font-size: .75rem; color: #536b79; line-height: 1.5; margin: 8px 0 0; }
.progress-highlights .change-highlight { background: #eaf5ef; border-color: #dbece1; }
.change-highlight strong { color: #21614e; }
.analysis-caption { color: var(--muted); font-size: .8125rem; margin: 20px 0; }
.progress-chart { display: grid; grid-template-columns: 42px minmax(0,1fr); grid-template-rows: 220px auto; gap: 10px; }
.chart-scale { display: flex; flex-direction: column; justify-content: space-between; padding: 18px 0; color: #526a79; font-size: .75rem; font-variant-numeric: tabular-nums; }
.chart-plot { position: relative; min-width: 0; }
.chart-plot>svg { width: 100%; height: 100%; overflow: visible; }
.plot-grid { stroke: #e5ecef; stroke-width: 1; vector-effect: non-scaling-stroke; }
.plot-line { fill: none; stroke: #177566; stroke-width: 3; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.chart-point { position: absolute; transform: translate(-50%, -50%); width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; padding: 0; }
.chart-point>span { display: block; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 3px solid #177566; }
.chart-point:hover>span, .chart-point[aria-pressed="true"]>span { background: #177566; box-shadow: 0 0 0 6px #17756620; }
.chart-dates { grid-column: 2; display: flex; justify-content: space-between; gap: 10px; font-size: .8125rem; color: #506675; }
.chart-help { display: flex; gap: 8px; align-items: center; font-size: .8125rem; color: #556d7b; margin: 22px 0 16px; }
.chart-help .icon { width: 18px; height: 18px; }
.point-detail { border: 1px solid #dfe9ed; border-radius: 16px; padding: 20px; background: #fbfcfd; }
.point-detail-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.point-detail-heading h3 { margin: 7px 0 0; font-size: 1.05rem; }
.point-detail-heading .pill { font-size: .75rem; }
.point-peak { display: flex; align-items: center; gap: 14px; margin: 18px 0; flex-wrap: wrap; }
.point-peak>strong { font-size: 1.75rem; color: #1e6557; font-variant-numeric: tabular-nums; }
.point-peak small { font-size: .875rem; }
.point-peak>span { font-size: .8125rem; color: #526775; }
.record-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.record-chips>span { flex: 1 1 125px; padding: 12px; border: 1px solid #e2e9ed; background: #fff; border-radius: 10px; font-size: .75rem; color: #577080; }
.record-chips strong { display: block; color: #29495c; font-size: .875rem; margin-top: 5px; line-height: 1.6; }
.progress-context { display: flex; align-items: flex-start; gap: 12px; padding-top: 20px; margin-top: 20px; border-top: 1px solid #e7edf1; color: #577080; }
.progress-context p { font-size: .8125rem; margin: 0; }
.consistency-card .section-title { flex-wrap: wrap; gap: 8px; }
.consistency-card h2 { font-size: 1.2rem; margin-top: 8px; }
.consistency-card>.small { margin: 20px 0 0; font-size: .8125rem; }
.activity-bars { display: grid; grid-template-columns: repeat(var(--week-count),minmax(0,1fr)); gap: 6px; margin-top: 28px; }
.activity-week { min-width: 0; text-align: center; }
.activity-week>strong { display: block; color: #4b6574; font-size: .75rem; margin-bottom: 9px; }
.activity-track { height: 100px; border-radius: 5px; background: #eef3f6; position: relative; overflow: hidden; }
.activity-track>span { position: absolute; bottom: 0; left: 0; width: 100%; border-radius: 5px; background: #3a8b78; }
.activity-axis { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; font-size: .75rem; color: #566d7c; }
.progress-empty { text-align: center; padding: 36px 18px; background: #f7fafb; border: 1px dashed #b9ccd5; border-radius: 16px; }
.progress-empty>.icon { width: 36px; height: 36px; color: #4c8477; margin-bottom: 14px; }
.progress-empty h3 { font-size: 1.2rem; }
.progress-empty p { margin: 0; font-size: .875rem; color: #536c79; }
.progress-page .history-heading { margin-top: 36px; flex-wrap: wrap; }
.progress-page .history-heading h2 { margin-top: 8px; }
.progress-page .history-item { border-color: #dce5eb; }
.progress-page .history-item[open] { border-color: #9fbcaf; }
.history-item[open] summary>.icon:last-child { transform: rotate(90deg); }
.history-exercise { padding: 20px 0; border-bottom: 1px solid #e4ebef; }
.history-exercise:first-child { padding-top: 0; }
.history-exercise h3 { font-size: 1rem; }
.history-plan { color: #536a79; font-size: .8125rem; margin: 7px 0 14px; }
.history-sets { display: grid; grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); gap: 8px; }
.history-sets>div { display: grid; gap: 5px; padding: 12px 14px; border-radius: 10px; background: #f1f6f8; }
.history-sets span { font-size: .8125rem; color: #4d6575; }
.history-sets strong { font-size: 1rem; color: #20485b; }
.progress-page .history-detail blockquote { margin-top: 20px; background: #eaf4ef; border-color: #3e8978; border-radius: 0 12px 12px 0; }
.history-detail blockquote>span { display: block; font-size: .8125rem; font-weight: 650; color: #286552; margin-bottom: 6px; }
@media (max-width:1200px) {
  .progress-layout { grid-template-columns: minmax(0,1fr); }
  .overview-facts { gap: 16px; }.overview-facts>div { padding-left: 16px; }
  .progress-overview { gap: 20px; }.progress-highlights>div { padding: 14px; }
  .activity-track { height: 80px; }
}
@media (max-width:760px), (pointer:coarse) and (max-width:1000px) {
  .progress-period { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; }
  .progress-period .button { padding: 12px 6px; font-size: .8125rem; }
  .progress-overview { padding: 24px; border-radius: 18px; flex-direction: column; align-items: stretch; gap: 24px; }
  .overview-number { font-size: 3.6rem; }.overview-number>span { font-size: 1rem; }
  .overview-facts { border-top: 1px solid #ffffff26; padding-top: 22px; }
  .overview-facts>div { border-left: 0; padding-left: 0; gap: 8px; }.overview-facts>div+div { border-left: 1px solid #ffffff26; padding-left: 20px; }
  .overview-facts strong { font-size: 1.6rem; }.overview-facts .icon { width: 20px; height: 20px; }
  .progress-analysis { padding: 20px 16px; }.progress-analysis .section-title { flex-wrap: nowrap; gap: 12px; }
  .progress-analysis .section-title h2 { font-size: 1.35rem; }.analysis-icon { flex-basis: 38px; height: 38px; }
  .progress-highlights { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .progress-highlights .change-highlight { grid-column: 1/-1; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 4px 10px; }
  .change-highlight strong { grid-column: 2; grid-row: 1/3; margin-top: 0; }.change-highlight p { margin: 0; }
  .progress-highlights strong { font-size: 1.7rem; }.progress-highlights>div { padding: 14px; }
  .analysis-measure { gap: 12px; }.metric-toggle { width: 100%; }.metric-toggle button { flex: 1; }
  .progress-chart { grid-template-columns: 32px minmax(0,1fr); gap: 6px; grid-template-rows: 190px auto; }
  .chart-scale { font-size: .6875rem; }.chart-dates { font-size: .75rem; }
  .point-detail { padding: 16px; }.point-detail-heading { flex-wrap: wrap; }
  .point-peak { gap: 7px; }.record-chips>span { flex-basis: 105px; }
  .consistency-card { padding: 22px; }.activity-bars { gap: 5px; }
  .history-sets { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Visual polish: una paleta corta y energética para darle más vida a la app. */
:root {
  --accent: #1f8a78;
  --accent-dark: #146455;
  --ink: #18324b;
  --muted: #5d7180;
  --paper: #f4f7fb;
  --line: #dce6ed;
  --coral: #ef705d;
  --coral-dark: #d95445;
  --sun: #f2bd51;
  --mint: #dff3eb;
}
body { background: var(--paper); }
.app-layout { background: radial-gradient(circle at 88% 3%, #fff4e9 0, #fff4e900 22rem), var(--paper); }
.sidebar { background: linear-gradient(180deg, #fff 0%, #fbfdfc 72%, #eff8f4 100%); border-right-color: #d5e2e8; box-shadow: 8px 0 26px #17384b08; }
.brand img { filter: drop-shadow(0 4px 8px #18324b20); }
.workspace-label { color: #7c6b65; }
.nav-item { color: #597080; transition: background .18s, color .18s, transform .18s; }
.nav-item.active { background: linear-gradient(135deg, #e1f4ed, #e9f1fb); color: #176756; box-shadow: inset 3px 0 var(--coral); }
.nav-item:hover { background: #fff0eb; color: #c95043; transform: translateX(2px); }
.sidebar-coach>.avatar { background: linear-gradient(135deg, #193a55, #287c70); box-shadow: 0 8px 16px #193a5526; }
.instagram-link { color: var(--coral-dark); }
.topbar { background: #ffffffd9; border-bottom-color: #dce7ed; box-shadow: 0 5px 18px #1d405608; backdrop-filter: blur(12px); }
.mobile-brand img { filter: drop-shadow(0 3px 5px #18324b1c); }
.avatar { background: #ffe5dc; color: #bd5142; }
.user-chip:hover { background: #fff0eb; }
.demo-banner { color: #73511e; background: linear-gradient(90deg, #fff4d9, #fffaf0); border-bottom-color: #f3dfad; }
h1, h2, h3 { color: var(--ink); }
.page-heading .eyebrow { color: var(--coral-dark); }
.page-heading h1 { letter-spacing: -.05em; }
.button, .icon-button { border-color: #cad9e2; box-shadow: 0 2px 5px #17384b08; }
.button:hover, .icon-button:hover { background: #fff1ed; border-color: #e6a097; color: #b94b3f; }
.button.primary, .button.dark { background: linear-gradient(135deg, #218b79, #176b62); border-color: #176b62; box-shadow: 0 7px 16px #1f8a7830; }
.button.primary:hover, .button.dark:hover { background: linear-gradient(135deg, #1b796b, #10584f); border-color: #10584f; color: #fff; }
.button.ghost:hover { background: #fff0eb; }
.pill { background: #e5f4ef; color: #216b5b; }
.pill.success { background: #dff3eb; color: #1b6854; }
.pill.neutral { background: #fff0d8; color: #805714; }
input, select, textarea { border-color: #b8cad5; box-shadow: inset 0 1px 2px #18324b08; }
input:focus, select:focus, textarea:focus { border-color: #2c9a87; box-shadow: 0 0 0 4px #2c9a8720; outline: none; }
.card, .exercise-row, .editor-row, .planning-toolbar, .metric { border-color: #dce6ed; box-shadow: 0 8px 24px #18324b0b; }
.card:hover, .student-card:hover, .exercise-row:hover { border-color: #c5d9df; box-shadow: 0 12px 28px #18324b12; }
.week-control { border-color: #d3e0e7; box-shadow: 0 4px 12px #18324b08; }
.day-tab { border-color: #cfdee6; background: linear-gradient(180deg, #fff, #f8fbfd); }
.day-tab:hover { border-color: #e6a097; background: #fff6f2; }
.day-tab.selected { background: linear-gradient(135deg, #1b5167, #1f8a78); border-color: #1b5167; box-shadow: 0 8px 18px #1b516733; }
.training-hero { background: linear-gradient(116deg, #15364f 0%, #1d5664 62%, #288a78 100%); border-color: #1e5260; box-shadow: 0 16px 32px #1b516733; }
.training-hero::after { content: ''; position: absolute; width: 240px; height: 240px; right: -84px; bottom: -138px; border: 32px solid #ef705d33; border-radius: 50%; }
.training-hero .button { background: linear-gradient(135deg, #ffd18a, #f5b55b); border-color: #f5b55b; color: #4f3313; box-shadow: 0 7px 14px #0d2c3d33; }
.training-hero .button:hover { background: #ffe0ad; color: #4f3313; }
.hero-art { color: #ffd48b16; }
.exercise-number { background: #ffe8e1; color: #c05345; }
.exercise-prescription>div { background: #f5f8fb; border-color: #e5edf2; }
.exercise-prescription>div:nth-child(3) { background: #e3f5ee; border-color: #d2ebe1; }
.exercise-prescription dd { color: #1a4255; }
.coach-note { background: linear-gradient(135deg, #e7f6ef, #f4fbf6); border-color: #cfe8da; }
.coach-note>.eyebrow, .coach-note>p { color: #2e6856; }
.coach-person .avatar { background: #cfece0; color: #216452; }
.progress-track { background: #e8eef2; }
.progress-track>span { background: linear-gradient(90deg, #ef705d, #f2bd51, #1f8a78); }
.movement-art { background: linear-gradient(135deg, #e8f5f0, #edf2fb); }
.movement-art>.icon { color: #2c8877; }
.movement-1 { background: linear-gradient(135deg, #e5f5ed, #d8eee8); }
.movement-2 { background: linear-gradient(135deg, #fff0df, #ffe5db); }
.movement-3 { background: linear-gradient(135deg, #eeeafb, #e6eef9); }
.editor-day-tab.selected { border-color: #ef705d; color: #b64e41; background: #fff0eb; box-shadow: inset 0 -3px #ef705d; }
.editor-summary { background: #e9f6f0; color: #2d6858; }
.add-exercise { border-color: #72b8a8; background: #eefaf5; color: #197361; }
.save-bar { border-color: #b9ddd0; background: linear-gradient(90deg, #f7fcfa, #fff); box-shadow: 0 8px 20px #1f8a7810; }
.history-item { border-color: #dce6ed; box-shadow: 0 4px 14px #18324b08; }
.history-item[open] { border-color: #efb0a6; box-shadow: 0 8px 20px #ef705d14; }
.history-check { background: #dff3eb; color: #1d745e; }
.empty { border-color: #e4b6ae; background: #fffaf8; }
.empty>.icon { color: var(--coral); }
.toast, #toast { background: linear-gradient(135deg, #193d56, #20796c); box-shadow: 0 10px 26px #193d5640; }

/* Login: una bienvenida más cálida sin perder la sensación de espacio profesional. */
.login-layout { background: #f5f8fc; }
.login-story { position: relative; overflow: hidden; background: linear-gradient(145deg, #dff2ee 0%, #e5eef9 62%, #fff0df 100%); color: #21465b; }
.login-story::before, .login-story::after { content: ''; position: absolute; border-radius: 50%; pointer-events: none; }
.login-story::before { width: 320px; height: 320px; right: -110px; top: -100px; background: #ef705d2b; }
.login-story::after { width: 230px; height: 230px; left: -100px; bottom: 70px; border: 28px solid #1f8a7820; }
.login-story>* { position: relative; z-index: 1; }
.login-story .eyebrow { color: #d35447; }
.login-story h1 { color: #183c56; }
.login-story em { color: #d85a4b; }
.login-story p { color: #3d6275; }
.login-form-wrap { background: radial-gradient(circle at 75% 18%, #fff2e8 0, #fff2e800 19rem), #f7f9fc; }
.login-form { padding: 30px; border: 1px solid #e0e8ee; border-radius: 24px; background: #ffffffc9; box-shadow: 0 18px 48px #18324b0d; backdrop-filter: blur(12px); }
.login-form>.eyebrow { color: #d35447; }
.login-form h2 { color: #18324b; }
.login-form .button.primary { background: linear-gradient(135deg, #ef705d, #d95445); border-color: #d95445; box-shadow: 0 8px 18px #d9544533; }
.login-form .button.primary:hover { background: linear-gradient(135deg, #e36252, #c94738); }
.login-form .pill { background: #fff0d8; color: #805714; }
.login-form-wrap .text-link, .login-form-wrap .text-button { color: #197361; }

@media (max-width:760px), (pointer:coarse) and (max-width:1000px) {
  .sidebar { background: #fffffff2; box-shadow: 0 -8px 24px #18324b12; backdrop-filter: blur(14px); }
  .nav-item.active { box-shadow: inset 0 3px var(--coral); }
  .login-form { padding: 22px; border-radius: 20px; }
  .training-hero::after { width: 160px; height: 160px; right: -80px; bottom: -100px; border-width: 22px; }
}

/* ETN visual system: sobrio, atlético y con un solo acento protagonista. */
:root {
  --ink: #102a43;
  --muted: #617384;
  --paper: #f6f7f4;
  --line: #dfe5e8;
  --accent: #f45b4f;
  --accent-dark: #d9473d;
  --success: #2d8c78;
  --warning: #f3b955;
}
body { background: var(--paper); }
.app-layout { background: var(--paper); }
.sidebar { background: #fff; border-right-color: #dfe5e8; box-shadow: 6px 0 22px #102a4308; }
.workspace-label { color: #82909a; }
.nav-item { color: #627485; transform: none; }
.nav-item:hover { background: #fff1ef; color: #c84b42; transform: none; }
.nav-item.active { background: #f8f1ed; color: #102a43; box-shadow: inset 3px 0 var(--accent); }
.sidebar-coach>.avatar { background: var(--ink); box-shadow: none; }
.instagram-link { color: var(--accent-dark); }
.topbar { background: #fffffff2; border-bottom-color: #dfe5e8; box-shadow: 0 3px 14px #102a4308; }
.avatar { background: #e9eef1; color: var(--ink); }
.user-chip:hover { background: #f7eae7; }
.demo-banner { color: #6d5626; background: #fbf5e8; border-bottom-color: #eee0bc; }
h1, h2, h3 { color: #102a43; }
.page-heading .eyebrow { color: var(--accent-dark); }
.button, .icon-button { border-color: #cbd6dc; box-shadow: none; }
.button:hover, .icon-button:hover { background: #fff1ef; border-color: #eea29a; color: #c84b42; }
.button.primary, .button.dark { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 7px 14px #f45b4f2b; }
.button.primary:hover, .button.dark:hover { background: var(--accent-dark); border-color: var(--accent-dark); color: #fff; }
.button.ghost:hover { background: #fff1ef; }
.pill { background: #eef2f3; color: #465c6c; }
.pill.success { background: #e2f2ed; color: #216d5d; }
.pill.neutral { background: #fff3d9; color: #795718; }
input, select, textarea { border-color: #b9c8d0; box-shadow: none; }
input:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 4px #f45b4f1c; }
.card, .exercise-row, .editor-row, .planning-toolbar, .metric { border-color: #dfe5e8; box-shadow: 0 5px 16px #102a4308; }
.card:hover, .student-card:hover, .exercise-row:hover { border-color: #d1dade; box-shadow: 0 8px 20px #102a4310; }
.week-control { border-color: #dfe5e8; box-shadow: none; }
.day-tab { border-color: #d5dfe4; background: #fff; }
.day-tab:hover { border-color: #eea29a; background: #fff7f5; }
.day-tab.selected { background: var(--ink); border-color: var(--ink); box-shadow: 0 7px 16px #102a4326; }
.training-hero { background: var(--ink); border-color: var(--ink); box-shadow: 0 14px 28px #102a432b; }
.training-hero::after { width: 260px; height: 260px; right: -108px; bottom: -150px; border: 34px solid #f45b4f33; }
.training-hero .button { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 7px 14px #071b2a40; }
.training-hero .button:hover { background: #ff7064; color: #fff; }
.hero-art { color: #ffffff0d; }
.exercise-number { background: #fff0ed; color: var(--accent-dark); }
.exercise-prescription>div, .exercise-prescription>div:nth-child(3) { background: #f7f9f9; border-color: #e8edef; }
.exercise-prescription dd { color: var(--ink); }
.coach-note { background: #edf5f2; border-color: #d8e9e3; }
.coach-note>.eyebrow, .coach-note>p { color: #2c6658; }
.coach-person .avatar { background: #dceee8; color: #216d5d; }
.progress-track { background: #e8edef; }
.progress-track>span { background: var(--success); }
.movement-art, .movement-1, .movement-2, .movement-3 { background: #eef2f3; }
.movement-art { border-bottom: 3px solid var(--accent); }
.movement-art>.icon { color: var(--ink); }
.movement-art>.pill { background: #fff; color: var(--accent-dark); }
.editor-day-tab.selected { border-color: var(--accent); color: var(--accent-dark); background: #fff1ef; box-shadow: inset 0 -3px var(--accent); }
.editor-summary { background: #edf5f2; color: #2c6658; }
.add-exercise { border-color: #d98f87; background: #fff7f5; color: var(--accent-dark); }
.save-bar { border-color: #dfe5e8; background: #fff; box-shadow: 0 5px 16px #102a4308; }
.history-item { border-color: #dfe5e8; box-shadow: 0 4px 12px #102a4308; }
.history-item[open] { border-color: #efaaa2; box-shadow: 0 7px 18px #f45b4f14; }
.history-check { background: #e2f2ed; color: var(--success); }
.empty { border-color: #e4b2ab; background: #fffafa; }
.empty>.icon { color: var(--accent); }
#toast { background: var(--ink); box-shadow: 0 9px 22px #102a4338; }

/* La pantalla de acceso concentra la identidad: azul noche + coral, sin ruido cromático. */
.login-layout { background: #f6f7f4; }
.login-story { background: var(--ink); color: #fff; }
.login-story::before { width: 360px; height: 360px; right: -150px; top: -125px; background: #f45b4f2e; }
.login-story::after { width: 240px; height: 240px; left: -110px; bottom: 60px; border: 28px solid #ffffff12; }
.login-story .eyebrow { color: #ff8176; }
.login-story h1 { color: #fff; }
.login-story em { color: #ff8176; }
.login-story p { color: #c7d7e0; }
.login-bottom { color: #9db1bd; }
.login-form-wrap { background: #f6f7f4; }
.login-form { background: #fff; border-color: #dfe5e8; box-shadow: 0 15px 36px #102a4310; backdrop-filter: none; }
.login-form>.eyebrow { color: var(--accent-dark); }
.login-form h2 { color: var(--ink); }
.login-form .button.primary { background: var(--accent); border-color: var(--accent); box-shadow: 0 8px 18px #f45b4f2b; }
.login-form .button.primary:hover { background: var(--accent-dark); }
.login-form .pill { background: #fff3d9; color: #795718; }
.login-form-wrap .text-link, .login-form-wrap .text-button { color: var(--accent-dark); }

@media (max-width:760px), (pointer:coarse) and (max-width:1000px) {
  .sidebar { background: #fffffff7; box-shadow: 0 -7px 20px #102a4312; backdrop-filter: blur(12px); }
  .nav-item.active { box-shadow: inset 0 3px var(--accent); }
  .login-form { box-shadow: 0 10px 26px #102a4310; }
}

/* Ajuste de identidad: el acento cálido se reemplaza por azul eléctrico. */
:root { --accent: #2c7be5; --accent-dark: #1d5fae; }

.nav-item:hover { background: #edf4ff; color: #1d5fae; }
.nav-item.active { background: #edf4ff; color: #102a43; box-shadow: inset 3px 0 #2c7be5; }
.instagram-link { color: #1d5fae; }
.user-chip:hover { background: #edf4ff; }
.page-heading .eyebrow { color: #1d5fae; }
.button:hover, .icon-button:hover, .button.ghost:hover { background: #edf4ff; border-color: #a8c8ef; color: #1d5fae; }
.button.primary, .button.dark { background: #2c7be5; border-color: #2c7be5; box-shadow: 0 7px 14px #2c7be52b; }
.button.primary:hover, .button.dark:hover { background: #1d5fae; border-color: #1d5fae; }
input:focus, select:focus, textarea:focus { border-color: #2c7be5; box-shadow: 0 0 0 4px #2c7be51c; }
.day-tab:hover { border-color: #a8c8ef; background: #f5f9ff; }
.training-hero::after { border-color: #2c7be533; }
.training-hero .button { background: #2c7be5; border-color: #2c7be5; }
.training-hero .button:hover { background: #4a91ed; }
.exercise-number { background: #eaf2ff; color: #1d5fae; }
.movement-art { border-bottom-color: #2c7be5; }
.movement-art>.pill { color: #1d5fae; }
.editor-day-tab.selected { border-color: #2c7be5; color: #1d5fae; background: #edf4ff; box-shadow: inset 0 -3px #2c7be5; }
.add-exercise { border-color: #8db8ed; background: #f5f9ff; color: #1d5fae; }
.history-item[open] { border-color: #a8c8ef; box-shadow: 0 7px 18px #2c7be514; }
.empty { border-color: #b6cfef; background: #f9fbff; }
.empty>.icon { color: #2c7be5; }

.login-story::before { background: #2c7be533; }
.login-story .eyebrow, .login-story em { color: #72adff; }
.login-form>.eyebrow { color: #1d5fae; }
.login-form .button.primary { background: #2c7be5; border-color: #2c7be5; box-shadow: 0 8px 18px #2c7be52b; }
.login-form .button.primary:hover { background: #1d5fae; }
.login-form-wrap .text-link, .login-form-wrap .text-button { color: #1d5fae; }

@media (max-width:760px), (pointer:coarse) and (max-width:1000px) {
  .nav-item.active { box-shadow: inset 0 3px #2c7be5; }
}

.back-site { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
@media (max-width: 560px) { .back-site-label { display: none; } .back-site { min-width: 44px; justify-content: center; padding: 0; } }
