:root{
  color-scheme:light;
  --bg:#f4f7fb;
  --card:#fff;
  --text:#172033;
  --muted:#64748b;
  --blue:#2563eb;
  --blue-dark:#1d4ed8;
  --green:#15803d;
  --green-bg:#effaf3;
  --green-border:#a7dfba;
  --red:#dc2626;
  --red-bg:#fff1f1;
  --red-text:#991b1b;
  --border:#dce4ee;
  --soft:#f1f5f9;
  --yellow-bg:#fffbeb;
  --yellow-border:#f4d58a;
  --yellow-pill:#fff7ed;
  --yellow-text:#7c2d12;
  --primary:var(--blue);
  --surface-muted:#f8fafc;
  --radius-card:18px;
  --radius-control:12px;
  --shadow-card:0 3px 12px rgba(15,23,42,.045);
  --shadow-float:0 14px 36px rgba(15,23,42,.14);
}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.45}main,.top{max-width:920px;margin:auto}.top{position:sticky;top:0;z-index:20;background:rgba(248,250,252,.96);backdrop-filter:saturate(180%) blur(8px);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--border)}.top-title{display:flex;align-items:center;gap:12px;min-width:0}.top-title>div{min-width:0}.top h1,h1{font-size:22px;margin:0}.top p{margin:3px 0 0;color:var(--muted);font-size:13px}h2{font-size:20px;margin:0 0 10px}h3{font-size:16px;margin:18px 0 8px}a{color:var(--blue);text-decoration:none;font-weight:600}a:hover{text-decoration:underline}.hamburger{display:none;border:0;background:#e2e8f0;border-radius:12px;padding:10px;font-weight:900}.main-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.nav-group{position:relative}.nav-group summary{list-style:none;cursor:pointer;color:var(--blue);font-weight:400;padding:6px 8px}.nav-group summary::-webkit-details-marker{display:none}.nav-menu{position:absolute;right:0;top:36px;min-width:190px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px rgba(15,23,42,.12);padding:8px;display:grid;gap:4px}.nav-menu a{padding:8px 10px;border-radius:10px;font-weight:400}.nav-menu a:hover{background:var(--soft);text-decoration:none}.home-icon{display:none}.home-link{padding:6px 8px;border-radius:10px}.main-nav a.active,.main-nav .nav-group.has-active>summary{font-weight:600;background:rgba(37,99,235,.1);color:var(--blue)}.trainer-menu-link{background:#f59e0b!important;color:#111827!important;border-radius:10px;font-weight:700!important}.trainer-menu-stop{background:#fee2e2!important;color:#991b1b!important;border-radius:10px;font-weight:700!important}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:14px;margin:12px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.card-lite{border:1px dashed var(--border);border-radius:14px;padding:12px;margin:12px 0;background:#fbfdff}.card-lite summary,.settings-editor summary{cursor:pointer;color:var(--blue);font-weight:700}.hero{background:linear-gradient(135deg,#fff,#eff6ff)}label{display:block;font-weight:600;font-size:13px;color:var(--muted);margin-top:8px}input,select,textarea{width:100%;display:block;margin-top:4px;border:1px solid var(--border);border-radius:12px;padding:11px;font-size:16px;background:#fff;color:var(--text)}textarea{min-height:88px;resize:vertical}input[type="checkbox"]{width:auto;display:inline;margin-right:6px;vertical-align:middle}.primary,.secondary,.ghost,button{border:0;border-radius:14px;padding:12px 14px;font-weight:800;font-size:15px;margin-top:10px;cursor:pointer}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue-dark)}.secondary{background:#e2e8f0;color:#0f172a}.ghost{background:transparent;color:#64748b}.danger{color:var(--red)}.button-link{display:inline-block}.toast{margin:12px;padding:12px;border-radius:14px;font-weight:700}.ok{background:#dcfce7;color:#166534}.err{background:var(--red-bg);color:var(--red-text)}.muted{color:var(--muted)}code,pre{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:2px 6px}pre{padding:12px;overflow:auto}
.header-avatar,.top .header-avatar,.top-title .header-avatar,.top img.header-avatar{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;max-height:44px!important;border-radius:50%!important;object-fit:cover!important;flex:0 0 44px!important;display:block!important}.avatar{width:72px!important;height:72px!important;border-radius:50%;object-fit:cover;display:inline-block}.avatar-small{width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;max-height:32px!important;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:8px;display:inline-block}.avatar-fallback{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#dbeafe;color:#1e3a8a;font-weight:800;letter-spacing:.03em;text-align:center}.header-avatar.avatar-fallback{width:44px!important;height:44px!important}.avatar.avatar-fallback{width:72px!important;height:72px!important}.avatar-small.avatar-fallback{width:32px!important;height:32px!important;font-size:13px!important}
body.trainer-mode-active{background:#fff7ed}.trainer-banner{max-width:920px;margin:8px auto 0;background:#fffbeb;border:1px solid #f59e0b;color:#7c2d12;border-radius:14px;padding:10px 14px;font-weight:800;display:flex;justify-content:space-between;gap:12px;align-items:center}.trainer-banner a{color:#7c2d12;text-decoration:underline}.trainer-user-list,.trainer-user-list-315a{display:grid;gap:8px;width:100%}.trainer-user-list form,.trainer-user-list-315a form{margin:0;width:100%}.trainer-user-card,.trainer-user-row-315a{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;background:#f8fafc;border:1px solid var(--border);border-radius:14px;padding:10px 12px;margin:0;color:var(--text)}.trainer-user-card:hover,.trainer-user-row-315a:hover{background:#eff6ff}.trainer-user-name-315a{font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trainer-user-username-315a{color:var(--muted);font-weight:700;text-align:right;white-space:nowrap}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-card{background:#f8fafc;border:1px solid var(--border);border-radius:16px;padding:14px}.stat-card strong{display:block;font-size:32px;line-height:1.1}.stat-label{display:block;color:var(--muted);font-weight:800;font-size:13px}.sequence-start-list{display:grid;gap:8px}.sequence-start-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;padding:12px;border:1px solid var(--border);border-radius:14px;background:#f8fafc;color:var(--text);font-weight:400}.sequence-start-row:hover{background:#eff6ff;text-decoration:none}.sequence-start-title{font-weight:500}.sequence-start-meta{color:var(--muted);font-weight:400;white-space:nowrap}.sequence-start-icon{color:var(--blue);font-weight:600}.hist-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:8px 0}.history-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.icon-actions{display:flex;gap:10px;align-items:center}.icon-actions form{margin:0;display:flex;align-items:center}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#e2e8f0;border:0;margin:0}.workout-history .month-group{border-top:1px solid var(--border);padding:10px 0}.month-group summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:400;color:var(--text);padding:8px 0}.workout-history .month-group summary::before,.month-group summary::before{content:'▸';display:inline-block;margin-right:8px;color:var(--muted);font-weight:400}.workout-history .month-group[open] summary::before,.month-group[open] summary::before{content:'▾'}.month-title,.month-count,.history-date,.hist-main,.history-details{font-weight:400!important}.month-count{font-size:13px;color:var(--muted);font-weight:400;background:var(--soft);border-radius:999px;padding:4px 8px;white-space:nowrap}.history-date{color:var(--text)}
.item.done-card{background:var(--green-bg);border-color:var(--green-border)}.item-head{display:flex;gap:12px;align-items:flex-start}.badge{background:var(--blue);color:#fff;border-radius:999px;padding:5px 10px;font-weight:700;white-space:nowrap}.set{display:grid;grid-template-columns:34px 1fr 1fr;gap:8px;align-items:end;background:var(--soft);border-radius:14px;padding:8px;margin:7px 0}.done-btn{width:100%;margin-top:12px;border:0;border-radius:14px;padding:14px 16px;font-weight:900;font-size:16px;background:var(--green);color:#fff}.done-btn.is-done{background:#64748b}.comment{background:#eff6ff;border-left:4px solid #bfdbfe;padding:8px;border-radius:10px;margin-top:10px}.catalog-comment{background:#f8fafc;border-left-color:#cbd5e1;color:#334155}.library-img{max-width:220px;max-height:160px;border-radius:14px;object-fit:contain}.workout-img{display:block;width:100%;max-width:360px;max-height:240px;object-fit:contain;border-radius:16px;background:var(--soft);margin:10px auto}.settings{display:flex;flex-wrap:wrap;gap:8px;background:var(--yellow-bg);border:1px solid var(--yellow-border);border-radius:14px;padding:10px;margin:10px 0}.settings span{display:inline-flex;align-items:center;border:1px solid #f59e0b;background:var(--yellow-pill);color:var(--yellow-text);border-radius:999px;padding:6px 10px;font-size:14px;font-weight:800}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:10px}.config-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.workout-meta,.time-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.default-sets-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}.default-set-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:8px;align-items:end;background:#f8fafc;border:1px solid var(--border);border-radius:14px;padding:8px}.weight-unit{display:flex;gap:8px;align-items:end}.weight-unit input{flex:1}.unit-pill{display:inline-flex;align-items:center;margin-bottom:1px;padding:11px 12px;background:var(--soft);border:1px solid var(--border);border-radius:12px;color:var(--muted);font-weight:800}.training-actions{display:flex;gap:8px;position:sticky;bottom:12px;z-index:10;margin:12px}.training-actions .draft-btn{flex:1}.floating-add-btn{width:54px;border-radius:16px;background:#e0ecff;color:var(--blue);font-size:24px}.finish-section{margin:12px 12px 90px}.add-exercise-panel{display:none;position:fixed;left:12px;right:12px;bottom:84px;z-index:30;background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:0 18px 40px rgba(15,23,42,.18)}.add-exercise-panel.open{display:block}.note-actions{display:block}.mobile-note{display:block}.desktop-note{display:block}.note-toggle.has-note{background:#dbeafe;color:#1d4ed8}.add-set-btn{background:transparent;color:var(--blue);padding:6px 0;margin:4px 0 0;font-weight:700}.new-set{border:1px dashed var(--border)}
.sortable-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:8px}.sortable-item{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;background:var(--soft);border:1px solid var(--border);border-radius:14px;padding:10px;cursor:grab}.sortable-item.dragging{opacity:.45}.drag-handle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#e2e8f0;font-weight:900}.sort-title{font-weight:800}.sort-type{font-size:13px;color:var(--muted)}.sequence-panel>summary.sequence-summary{cursor:pointer;font-size:18px;font-weight:700;list-style:none}.sequence-panel>summary.sequence-summary::-webkit-details-marker{display:none}.sequence-panel>summary.sequence-summary::before{content:'▸';display:inline-block;margin-right:8px;color:var(--muted)}.sequence-panel[open]>summary.sequence-summary::before{content:'▾'}.sequence-inner{margin-top:12px}.sequence-item-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--border);padding:10px 0}.sequence-item-panel{border-top:1px solid var(--border);padding:12px 0}.sequence-item-title-with-image{display:flex;align-items:center;gap:10px}.sequence-exercise-thumb{width:54px;height:54px;object-fit:cover;border-radius:10px;background:var(--soft);flex:0 0 auto}.readonly-grid{display:grid;gap:10px}.readonly-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:8px}.workout-view-head{align-items:flex-start}.workout-view-title{flex:1;min-width:0}.exercise-thumb{max-width:100px;max-height:100px;border-radius:10px;object-fit:contain;background:var(--soft);margin-left:auto}
.catalog-main-grid{display:grid;grid-template-columns:minmax(140px,1fr) 4fr;gap:16px;align-items:start}.catalog-image-col{min-width:0}.catalog-image-col .library-img{width:100%;max-width:180px;max-height:150px;object-fit:contain}.catalog-settings-col textarea{min-height:70px}.catalog-settings-full{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.filter-form button{display:none}.inline-form{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:end}.inactive{opacity:.72}.totp-qr{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;margin:12px 0;min-width:220px;min-height:220px}
@media(max-width:720px){.main-nav{display:none;flex-direction:column;align-items:stretch}.nav-group{position:static}.nav-menu{position:static;box-shadow:none;border:0;background:transparent;padding:2px 0 6px 14px}.home-icon{display:inline}.home-text{display:inline}.home-link{display:block;padding:8px 10px}.set{grid-template-columns:30px 1fr 1fr}.check-grid,.config-grid,.workout-meta,.default-set-row,.stats-grid,.time-grid,.inline-form{grid-template-columns:1fr}.sequence-start-row{grid-template-columns:auto 1fr}.sequence-start-meta{grid-column:2}.catalog-main-grid{grid-template-columns:1fr}.catalog-image-col .library-img{max-width:150px}.sequence-exercise-thumb{width:46px;height:46px}.sortable-item{grid-template-columns:38px 1fr}.sort-type{grid-column:2}.hist-row,.sequence-item-actions,.readonly-row{display:block}.workout-img{max-width:100%;max-height:220px}.note-actions{display:grid;grid-template-columns:1fr 54px;gap:8px;align-items:end}.mobile-note{display:none}.mobile-note.open{display:block}.desktop-note{display:none}.finish-section .primary{width:100%}.trainer-banner{margin:8px 12px;display:block}}
@media(max-width:520px){.trainer-user-card,.trainer-user-row-315a{grid-template-columns:auto 1fr}.trainer-user-username-315a{grid-column:2;text-align:left;font-size:13px}.exercise-thumb{max-width:78px;max-height:78px}}
@media(min-width:721px){.note-toggle{display:none!important}.mobile-note{display:block!important}.main-nav a,.main-nav summary{font-weight:400!important}.main-nav a.active{font-weight:600!important}}

/* v3.1.6c UI corrections */
.stat-card:first-child::after {
  content: "Tage";
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 400;
  margin-top: 2px;
}
.workout-history .month-group summary,
.month-group summary {
  display: grid !important;
  grid-template-columns: auto 1fr auto;
  justify-content: initial !important;
  align-items: center;
  gap: 8px;
  text-align: left;
  font-weight: 600 !important;
}
.workout-history .month-group summary::before,
.month-group summary::before {
  margin-right: 0 !important;
  font-weight: 600 !important;
}
.workout-history .month-title,
.month-title {
  text-align: left !important;
  justify-self: start;
  font-weight: 600 !important;
}
.workout-history .month-count,
.month-count {
  justify-self: end;
  text-align: right;
  font-weight: 400 !important;
}

/* Shared responsive visual system */
html{scrollbar-gutter:stable}
body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55}
main{width:min(100%,960px);padding:18px 16px 40px}
.top{max-width:960px;padding:12px 16px;background:rgba(255,255,255,.94);border:0;border-bottom:1px solid rgba(220,228,238,.9);box-shadow:0 3px 14px rgba(15,23,42,.035)}
.top-title{gap:12px}
.top h1,h1{font-size:clamp(1.16rem,2.4vw,1.4rem);font-weight:750;line-height:1.2;letter-spacing:-.025em}
.top p{font-size:.78rem;line-height:1.35}
h2{font-size:1.2rem;font-weight:750;line-height:1.3;letter-spacing:-.015em;margin:0 0 12px}
h3{font-size:1rem;font-weight:750;line-height:1.35;margin:20px 0 10px}
p{margin-top:.65em;margin-bottom:.65em}
a{color:var(--blue);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
main>section>h2:first-child,main>section>details>summary{color:var(--text)}
.card{margin:0 0 16px;padding:20px;border-color:var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.card,main>section,.item-head,.catalog-settings-col,.catalog-image-col{min-width:0}
img,svg,video,canvas{max-width:100%}
.card-lite{border-color:var(--border);border-radius:var(--radius-control);background:var(--surface-muted)}
.hero{background:linear-gradient(135deg,#fff 0%,#f2f7ff 100%);border-color:#dbe7f7}
.stats-grid{gap:12px}
.stat-card{background:var(--surface-muted);border-color:var(--border);border-radius:15px;padding:16px}
.stat-card strong{font-size:clamp(1.75rem,5vw,2rem);letter-spacing:-.04em}
.sequence-start-row,.trainer-user-card,.trainer-user-row-315a,.sortable-item{min-width:0;border-color:var(--border);border-radius:14px;background:var(--surface-muted);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}
.sequence-start-row:hover,.trainer-user-card:hover,.trainer-user-row-315a:hover{border-color:#bfd3f4;background:#f4f8ff;box-shadow:0 3px 10px rgba(37,99,235,.06)}
.sequence-start-title,.trainer-user-name-315a,.hist-main{min-width:0;overflow-wrap:anywhere}
.sequence-start-meta,.trainer-user-username-315a{white-space:normal}
.badge{background:#eaf1ff;color:#1d4ed8;font-size:.78rem;padding:6px 10px}
.item-head>div:not(.badge){min-width:0}
.item-head p{color:var(--muted);font-size:.88rem;margin:4px 0 0}
.item.done-card{background:var(--green-bg);border-color:var(--green-border)}
.set,.default-set-row{background:var(--surface-muted);border:1px solid var(--border);border-radius:13px;padding:10px}
.hist-row{align-items:center;min-width:0;gap:12px;border-color:var(--border);padding:12px 0}
.hist-row:first-child{border-top:0}
.hist-row>form,.hist-row>div{min-width:0}
.hist-row a{overflow-wrap:anywhere}
.history-head{min-width:0}
.history-details{overflow-wrap:anywhere}
.month-count,.unit-pill{background:var(--soft);border-color:var(--border)}
.icon-actions{flex:0 0 auto;gap:8px}
.icon-btn{width:44px;height:44px;border-radius:13px;background:#edf2f8;color:#334155}
.icon-btn:hover{background:#e1eaf5}
.done-btn{min-height:48px;background:var(--green);border-radius:13px}
.done-btn.is-done{background:#64748b}
.settings{border-radius:14px}
.settings span{border-color:var(--yellow-border)}
.comment{border-radius:12px}
.user-admin-card{border-color:var(--border)}
.user-admin-card>summary,.sequence-panel>summary.sequence-summary,.catalog-settings-full>summary,.card details>summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer}
.user-admin-card>summary,.card details>summary{padding:8px 10px;border-radius:10px;background:var(--surface-muted);overflow-wrap:anywhere}
.group-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.group-admin-grid label,.check-grid label{display:flex;align-items:flex-start;gap:8px;min-width:0;min-height:44px;margin:0;padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--surface-muted);color:var(--text);font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}
input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--blue)}
label{font-size:.82rem;font-weight:650;color:#526176}
input,select,textarea{min-height:46px;margin-top:6px;padding:11px 12px;border-color:#cbd5e1;border-radius:var(--radius-control);font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}
textarea{min-height:96px}
input[type=file]{min-height:48px;padding:8px}
input:disabled,select:disabled,textarea:disabled{background:#f1f5f9;color:#64748b}
.primary,.secondary,.ghost,button{max-width:100%;min-height:44px;margin-top:10px;border-radius:12px;font-family:inherit;white-space:normal;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease}
.primary{background:var(--blue)}
.primary:hover{background:var(--blue-dark)}
.secondary{background:#eaf0f7;color:#243247}
.secondary:hover{background:#dfe8f2}
.ghost{color:#536176}
.ghost:hover{background:#f1f5f9}
.button-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px}
.toast{margin:0 0 16px;border-radius:14px;padding:14px 16px}
.ok{background:var(--green-bg);color:#166534;border:1px solid var(--green-border)}
.err{background:var(--red-bg);color:var(--red-text);border:1px solid #fecaca}
.muted{color:var(--muted)}
.trainer-banner{max-width:960px}
.sortable-list{gap:10px}
.sortable-item{grid-template-columns:44px minmax(0,1fr) auto;padding:10px}
.drag-handle{width:40px;height:40px}
.workout-view-title{overflow-wrap:anywhere}
.workout-img{max-width:min(100%,400px)}
.catalog-main-grid{grid-template-columns:minmax(140px, .8fr) minmax(0,3fr);gap:20px}
.catalog-settings-full{border-color:var(--border)}
.inline-form{grid-template-columns:repeat(3,minmax(0,1fr))}
.totp-qr{max-width:100%}
.training-actions{left:50%;width:min(928px,calc(100% - 32px));transform:translateX(-50%);margin:0;padding:8px;border:1px solid rgba(220,228,238,.92);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:var(--shadow-float);backdrop-filter:blur(10px)}
.training-actions button{margin-top:0}
.finish-section{margin:0 0 90px}
.add-exercise-panel{border-radius:var(--radius-card);box-shadow:var(--shadow-float)}
.focus-visible, :focus-visible{outline:3px solid rgba(37,99,235,.42);outline-offset:2px}
button:disabled{cursor:wait;opacity:.65}
@media(max-width:720px){
  main{padding:14px 12px 32px}
  .top{gap:8px;padding:10px 12px}
  .top-title{gap:9px}
  .top-title>div{overflow-wrap:anywhere}
  .top .header-avatar,.top-title .header-avatar,.top img.header-avatar{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important;flex-basis:40px!important}
  .hamburger{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border-radius:13px;background:#edf2f8}
  .main-nav{gap:4px}
  .main-nav>a,.main-nav .nav-group>summary{display:flex;align-items:center;min-height:44px;padding:9px 12px;border-radius:10px}
  .nav-group summary{font-weight:700!important}
  .nav-menu{gap:3px;padding:3px 0 6px 12px}
  .nav-menu a{display:flex;align-items:center;min-height:44px;padding:9px 12px}
  .card{padding:16px;border-radius:16px;margin-bottom:12px}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-grid .stat-card:last-child:nth-child(odd){grid-column:1/-1}
  .set{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);gap:6px;padding:8px}
  .hist-row{display:flex;align-items:center}
  .hist-row>.hist-main,.hist-row>a:first-child{flex:1;min-width:0}
  .history-head,.history-heading{flex-wrap:wrap}
  .history-back-link{min-height:44px;display:inline-flex;align-items:center}
  .readonly-row{display:flex;align-items:flex-start}
  .readonly-row>span:last-child{text-align:right;overflow-wrap:anywhere}
  .group-admin-grid,.check-grid{grid-template-columns:1fr}
  .config-grid,.workout-meta,.time-grid,.inline-form,.default-set-row{grid-template-columns:1fr}
  .catalog-main-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .catalog-image-col .library-img{max-width:min(180px,100%)}
  .sortable-item{grid-template-columns:42px minmax(0,1fr) auto}
  .sort-type{grid-column:auto}
  .sequence-start-row{grid-template-columns:auto minmax(0,1fr) auto}
  .sequence-start-meta{grid-column:auto;text-align:right}
  .trainer-banner{margin:8px 12px;padding:12px}
  .training-actions{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 24px)}
  .finish-section{margin-bottom:100px}
  .note-actions{grid-template-columns:minmax(0,1fr) 52px}
}
@media(max-width:520px){
  .stats-grid{grid-template-columns:1fr}
  .stats-grid .stat-card:last-child:nth-child(odd){grid-column:auto}
  .sequence-start-row{grid-template-columns:auto minmax(0,1fr);gap:8px}
  .sequence-start-meta{grid-column:2;text-align:left;font-size:.82rem}
  .item-head{gap:9px}
  .item-head .badge{max-width:40%;white-space:normal}
  .exercise-thumb{max-width:68px;max-height:68px}
  .hist-row{gap:8px}
  .icon-actions{gap:5px}
  .icon-btn{width:42px;height:42px}
  .history-back-link{white-space:normal}
  .weight-unit{gap:6px}
  .unit-pill{padding:10px}
  .workout-meta,.time-grid{gap:4px}
  .add-exercise-panel{left:10px;right:10px;bottom:76px;max-height:calc(100dvh - 100px);overflow:auto}
}

/* Mobile-first training entry details */
.workout-field{min-width:0;margin-top:8px}
.workout-field>label{margin-top:0}
.last-value-hint{display:block;margin-top:4px;color:#8a4b08;font-size:13px;font-weight:650;line-height:1.35}
.settings{gap:5px;padding:7px 8px;margin:8px 0;border-radius:12px}
.settings span{padding:5px 8px;font-size:13px;line-height:1.25}
.item .settings span{font-weight:500;letter-spacing:0}
.workout-set{grid-template-columns:30px minmax(0,1fr) minmax(0,1fr);align-items:start}
.workout-set .workout-field{margin-top:0}
.workout-set .weight-unit{gap:5px}
.workout-set .weight-unit input{min-width:0}
.workout-set .unit-pill{padding:10px 8px;font-size:13px}
.set-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.set-actions button{flex:1 1 0;min-width:0;min-height:38px;margin-top:0;padding:6px 8px;border:1px solid var(--border);border-radius:9px;background:#fff;font-size:.86rem;font-weight:500;text-align:center;white-space:nowrap}
.set-actions .remove-last-set-btn{color:var(--red)}
.set-actions .add-set-btn{color:var(--blue)}
.set-actions[hidden],.set-actions button[hidden]{display:none}
.done-checkbox{display:none!important}
.item.is-locked input:read-only,.item.is-locked textarea:read-only{background:#f1f5f9;color:#64748b}
.item.is-locked .done-btn{cursor:pointer}
.note-actions .note-toggle{display:inline-flex;align-items:center;justify-content:center;width:52px;min-width:52px;height:46px;margin-top:0;padding:0}
.note-icon{display:block;width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:720px){
  .settings{gap:5px;padding:6px 7px;margin:6px 0}
  .settings span{padding:5px 7px;font-size:12px}
  .workout-set{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr);gap:6px;padding:8px}
  .set-actions{gap:6px}
  .set-actions button{padding:5px 4px;font-size:.8rem}
  .workout-img{margin:6px auto 10px;max-height:190px}
  .last-value-hint{font-size:12px}
}
@media(max-width:340px){
  .set-actions button{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Leaner app finish: lighter typography, sharper controls, clearer actions. */
:root{
  --radius-card:15px;
  --radius-control:9px;
  --shadow-card:0 1px 8px rgba(15,23,42,.035);
}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:-.008em;
}
b,strong{font-weight:650}
.top h1,h1{font-weight:650;letter-spacing:-.035em}
h2{font-weight:650;letter-spacing:-.025em}
h3{font-weight:620;letter-spacing:-.018em}
.top p{font-weight:450}
label{font-weight:550;color:#5d6b7e}
.stat-card strong{font-weight:650}
.stat-label{font-weight:600}
.badge{font-weight:600;border-radius:8px}
.sequence-start-icon,.sort-title,.trainer-user-name-315a{font-weight:650}
.sequence-panel>summary.sequence-summary{font-weight:600}
.nav-group summary{font-weight:500}
.nav-menu a,.main-nav a{font-weight:500}
.main-nav .nav-group.has-active>summary,.main-nav a.active{font-weight:600}
.primary,.secondary,.ghost,button{
  padding:11px 15px;
  border-radius:9px;
  font-weight:600;
  letter-spacing:0;
  box-shadow:none;
}
.primary:hover,.secondary:hover,.ghost:hover,button:hover{transform:translateY(-1px)}
.primary:active,.secondary:active,.ghost:active,button:active{transform:translateY(0)}
.button-link{border-radius:9px;font-weight:600}
.secondary{background:#edf1f6}
.secondary:hover{background:#e3e9f1}
.ghost:hover{background:#f1f4f8}
input,select,textarea{border-radius:9px;font-weight:450}
.icon-btn{border-radius:9px}
.card{border-radius:var(--radius-card)}
.card details>summary,.user-admin-card>summary{font-weight:600}
.history-month-tile{border-radius:14px}
.history-calendar-day{border-radius:9px}
.history-month-nav a,.history-back-link{border-radius:9px;font-weight:550}

/* Single-action forms get a full-width action; paired actions keep their layout. */
.card form:not(.inline-form):not(.filter-form)>button:only-of-type,
.card>button:only-of-type{width:100%}
.card p>a.button-link:only-of-type{width:100%}
.icon-actions form>button:only-of-type{width:44px;flex:0 0 44px}
.done-btn{font-weight:650;border-radius:9px}
.training-actions{border-radius:12px}
.floating-add-btn{border-radius:10px}
.add-exercise-panel{border-radius:15px}
@media(max-width:720px){
  .nav-group summary{font-weight:550!important}
  .main-nav>a,.main-nav .nav-group>summary,.nav-menu a{border-radius:9px}
  .history-month-nav a{font-weight:550}
}

/* Keep the training action dock centered inside the visible device area. */
.training-actions{
  position:fixed;
  z-index:40;
  left:50%;
  right:auto;
  --training-action-gutter:max(16px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));
  width:min(928px,calc(100vw - var(--training-action-gutter) - var(--training-action-gutter)));
  margin:0;
  transform:translateX(-50%);
}
#trainingForm{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
.finish-section{margin-bottom:0}
@media(max-width:720px){
  .training-actions{
    bottom:max(8px,env(safe-area-inset-bottom,0px));
    --training-action-gutter:max(12px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));
  }
}

/* Shared navigation: panels never take space from the page or the header. */
.top{display:flex;flex-wrap:nowrap;z-index:101;--header-height:76px}
.top-title{flex:1;min-width:0}
.top-title h1,.top-title p{overflow-wrap:anywhere}
.top .main-nav{flex:0 0 auto;flex-wrap:nowrap}
.profile-nav{position:relative;flex:0 0 auto}
.top .profile-toggle,.top .hamburger{margin:0;flex-shrink:0;transform:none}
.top .profile-toggle{display:flex;align-items:center;justify-content:center;padding:2px;background:transparent;border-radius:50%;width:48px;height:48px}
.profile-toggle[aria-expanded="true"]{box-shadow:0 0 0 2px var(--blue)}
.profile-menu{position:absolute;right:0;top:calc(100% + 10px);width:250px;max-width:calc(100vw - 24px);display:grid;gap:4px;padding:8px;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-float)}
.profile-menu,.top .nav-menu{max-height:calc(100vh - var(--header-height) - 24px);max-height:calc(100dvh - var(--header-height) - 24px);overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere}
.profile-menu a{display:flex;align-items:center;min-height:44px;padding:9px 12px;border-radius:9px;font-weight:500}
.profile-menu a:hover{background:var(--soft);text-decoration:none}
.profile-menu a.active{background:rgba(37,99,235,.1);color:var(--blue);font-weight:600}
.profile-toggle.has-active{outline:2px solid rgba(37,99,235,.3);outline-offset:2px}
.profile-toggle:focus-visible{outline:3px solid var(--blue)}
.profile-menu[hidden],.nav-backdrop[hidden]{display:none}
.nav-backdrop{position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.42);touch-action:none}
html.nav-overlay-open{overflow:hidden}
@media(max-width:720px){
  .top{display:flex}
  .top .hamburger{display:flex;order:2}
  .top .profile-nav{order:3}
  .top .main-nav{position:absolute;top:100%;left:0;right:0;display:none;margin:0;padding:12px;max-height:calc(100vh - var(--header-height) - 12px);max-height:calc(100dvh - var(--header-height) - 12px);overflow-y:auto;overscroll-behavior:contain;background:var(--card);border:1px solid var(--border);border-radius:0 0 14px 14px;box-shadow:var(--shadow-float)}
  .top .main-nav.open{display:flex}
  .top .main-nav .nav-menu{max-height:none;overflow:visible}
  .top .profile-toggle{width:44px;height:44px}
}
