@import url('/admin.css');
html { min-width: 0; }
.signup-trap { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.security-totals { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 18px 0; }
.security-totals span { padding: 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); font-size: 12px; }
.security-totals strong { display: block; color: var(--lime); font-size: 24px; }
@media(max-width:760px){.security-totals{grid-template-columns:1fr 1fr}}

.billing-card{display:grid;gap:14px;margin:24px 0;padding:22px;border:1px solid #2f6f59;border-radius:18px;background:linear-gradient(145deg,#123b2d,#0a1d17)}.billing-card h2,.billing-card p{margin:0}.billing-offer{display:grid;gap:14px;padding:18px;border:1px solid #3a755f;border-radius:14px;background:linear-gradient(135deg,rgba(88,229,190,.1),rgba(82,174,255,.08))}.billing-offer>div{display:flex;align-items:end;justify-content:space-between;gap:18px}.billing-offer>div span{color:var(--mint);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.billing-offer>div strong{color:var(--lime);font-size:26px;white-space:nowrap}.billing-offer>div small{color:var(--text);font-size:13px}.billing-offer ul{display:grid;gap:7px;margin:0;padding-left:20px}.billing-offer p{color:var(--muted);font-size:13px;line-height:1.55}@media(max-width:520px){.billing-offer>div{align-items:flex-start;flex-direction:column}.billing-offer>div strong{white-space:normal}}
body{font-weight:450}h1{line-height:1.06;letter-spacing:-.04em}h2{line-height:1.2;letter-spacing:-.025em}a{text-underline-offset:4px}main{max-width:1120px}.account-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px max(20px,calc((100% - 1120px)/2));border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:950;font-style:italic;text-decoration:none;white-space:nowrap}.brand span{color:var(--lime)}.brand small{display:block;font-size:10px;letter-spacing:.14em;color:var(--mint);font-style:normal}.account-nav nav{display:flex;gap:20px;flex-wrap:wrap;font-weight:700;font-size:14px}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);font-weight:850}.dashboard-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px}.dashboard-heading h1{font-size:clamp(38px,6vw,64px);margin-bottom:18px}.primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;background:var(--lime);border:1px solid var(--lime);border-radius:12px;color:#071c13;text-decoration:none;font-weight:850;white-space:normal}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.workout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.workout-card{min-width:0;border:1px solid #3c755e;border-radius:20px;padding:24px;background:linear-gradient(145deg,#173e30,#0a1b16)}.workout-card:nth-child(3n+2){border-color:#345e78;background:linear-gradient(145deg,#153343,#0a1b16)}.workout-card:nth-child(3n){border-color:#526d32;background:linear-gradient(145deg,#283c19,#0a1b16)}.workout-card h2{overflow-wrap:anywhere;font-size:26px}.workout-card details{margin-top:22px;color:var(--muted);font-size:14px}section{margin-bottom:36px}.auth-panel{width:min(550px,100%);margin:30px auto;padding:30px;border:1px solid var(--line);border-radius:24px;background:#0b241b}.auth-panel h1{font-size:42px}.auth-panel form,.import-panel form{display:grid;gap:16px}label{display:grid;gap:7px;font-size:14px;font-weight:700}input{width:100%;min-width:0;padding:12px;border-radius:9px;border:1px solid #477461;background:#071710;color:var(--text)}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--lime)}.check{display:flex;align-items:flex-start;gap:10px;font-weight:450}.import-panel{padding:26px;border:1px solid var(--line);border-radius:18px;background:#0a2119}.import-panel form{max-width:530px}.import-panel p{max-width:760px}.local-program{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.local-program strong{overflow-wrap:anywhere}.notice:empty{display:none}.notice{padding:12px 16px;border:1px solid var(--line);border-radius:10px;color:var(--lime);overflow-wrap:anywhere}.history-card{border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:12px}.history-card summary{cursor:pointer;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.history-card summary span{color:var(--muted);font-size:13px}.history-card ul{padding:0;list-style:none}.history-card li{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-top:1px solid var(--line)}.history-card li strong{white-space:nowrap;color:var(--lime)}.empty{padding:24px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);grid-column:1/-1}footer{padding:24px;text-align:center;color:var(--muted);font-size:13px}.table-wrap{overflow:auto}table{width:100%;text-align:left}td,th{padding:10px}button:disabled{opacity:.6;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media(max-width:760px){.account-nav{align-items:flex-start;flex-direction:column;gap:15px}.account-nav nav{gap:15px}.dashboard-heading{align-items:flex-start;flex-direction:column;gap:8px;padding:22px}.workout-grid{grid-template-columns:1fr}.auth-panel{padding:24px}.auth-panel h1{font-size:35px}.history-card li{font-size:14px}.import-panel{padding:20px}.local-program{align-items:flex-start}main{padding-top:28px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Workout-first Pro dashboard; authentication and admin screens keep their layout. */
.pro-dashboard [hidden] { display: none !important; }
.pro-dashboard { min-width: 0; --muted: #c2d5ca; --line: #3b6b5c; }
.account-nav {
  position: relative;
  background: linear-gradient(110deg, #103b2f, #09251f 55%, #122b3a);
  border-bottom-color: #3b7664;
}

.account-nav::before {
  content: ""; position: absolute; inset: 0 0 auto; height: 3px;
  background: linear-gradient(90deg, #54e0b5, #5ab9ff 42%, #c9f36a 72%, #ff9755);
  pointer-events: none;
}
.account-nav nav a { color: #d8eade; text-decoration-color: #70b99e; }
.account-nav nav a:hover { color: #c9f36a; }
.pro-dashboard .workout-card, .pro-dashboard .starter-card {
  --card-accent: #65edc5; --card-rgb: 101, 237, 197;
  --card-label: #b1ffdf; --muted: #e3efdf;
  --card-surface: #205b4b; --card-base: #0d2e25;
}
.pro-dashboard .workout-card:nth-child(4n+2), .pro-dashboard .starter-card:nth-child(2) {
  --card-accent: #76ccff; --card-rgb: 118, 204, 255;
  --card-label: #bdeaff;
  --card-surface: #23546f; --card-base: #112c3d;
}
.pro-dashboard .workout-card:nth-child(4n+3), .pro-dashboard .starter-card:nth-child(3) {
  --card-accent: #d3f779; --card-rgb: 211, 247, 121;
  --card-label: #edffb3;
  --card-surface: #455b28; --card-base: #23321b;
}
.pro-dashboard .workout-card:nth-child(4n) {
  --card-accent: #ffb174; --card-rgb: 255, 177, 116;
  --card-label: #ffddbc;
  --card-surface: #60432b; --card-base: #34251c;
}
.pro-dashboard > .dashboard-heading, .pro-dashboard > #account-library, .pro-dashboard > #history {
  border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; padding: 0;
}
.pro-dashboard > .dashboard-heading {
  padding: 24px 26px; margin-bottom: 0; align-items: center;
  border: 1px solid #477f6e; border-left: 4px solid var(--mint); border-radius: 20px;
  background: radial-gradient(ellipse at 95% 0, rgb(90 185 255 / .24), transparent 65%),
    linear-gradient(115deg, #16483a, #102e2b 62%, #162f3b);
  box-shadow: 0 14px 42px rgb(0 0 0 / .16);
}
.pro-dashboard .dashboard-heading h1 { font-size: clamp(30px, 4vw, 40px); line-height: 1.16; margin-bottom: 12px; }
.pro-dashboard .dashboard-heading h1 span { color: #bff773; }
.dashboard-actions .primary {
  background: linear-gradient(110deg, #ff8950, #ffb268); border-color: #ffb268;
  color: #28170e; box-shadow: 0 6px 22px rgb(255 137 80 / .18);
}
.dashboard-actions .secondary-link { color: #cff5e5; }
.pro-dashboard .dashboard-heading p:last-child { color: var(--muted); margin: 0; }
.pro-dashboard .eyebrow { margin-bottom: 10px; }
.dashboard-actions { display: grid; gap: 14px; flex-shrink: 0; text-align: center; }
.secondary-link { font-weight: 750; }
.library-overview { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 12px; padding: 16px 0; margin-bottom: 20px; }
.library-overview > p:not(.overview-note) {
  padding: 10px 16px; border: 1px solid #4b8871; border-left: 3px solid var(--mint); border-radius: 12px;
  background: linear-gradient(110deg, #184337, #103127);
}
.library-overview > p:nth-child(2) {
  border-color: #417f9e; border-left-color: #76ccff;
  background: linear-gradient(110deg, #1c4055, #142e3b);
}
.library-overview > p:nth-child(1) strong { color: #65edc5; }
.library-overview > p:nth-child(2) strong { color: #76ccff; }
.library-overview p { margin: 0; color: var(--muted); align-self: center; }
.library-overview p > a { display: block; color: inherit; text-decoration: none; }
.library-overview p > a:hover { color: #fff8df; }
.library-overview strong { font-size: 30px; color: var(--text); margin-right: 6px; }
.library-overview .overview-note { text-align: right; font-size: 14px; color: var(--mint); }
.section-heading { display: flex; gap: 20px; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.section-heading h2 { margin-bottom: 0; font-size: 26px; }
.section-heading > a { flex-shrink: 0; font-weight: 700; font-size: 14px; color: #ffbb80; }
.pro-dashboard .section-heading .eyebrow { color: #ffbb80; }
.section-heading > p { font-size: 13px; margin: 0; }
.library-search { display: flex; align-items: flex-end; gap: 20px; margin-bottom: 18px; }
.library-search label { max-width: 380px; flex: 1; }
.library-search p { font-size: 13px; margin-bottom: 12px; }
.pro-dashboard .workout-grid { gap: 16px; }
.pro-dashboard .workout-card {
  display: flex; flex-direction: column; padding: 22px; border-radius: 18px;
  border: 1px solid rgba(var(--card-rgb), .52); border-top: 4px solid var(--card-accent);
  background: radial-gradient(ellipse at 100% 0, rgba(var(--card-rgb), .14), transparent 65%),
    linear-gradient(150deg, var(--card-surface), var(--card-base) 78%);
  box-shadow: 0 12px 30px rgb(0 0 0 / .17);
}
.pro-dashboard .workout-card .eyebrow, .pro-dashboard .starter-card .eyebrow { color: var(--card-label); }
.pro-dashboard .workout-card:hover { box-shadow: 0 0 0 1px rgba(var(--card-rgb), .35), 0 14px 30px rgb(0 0 0 / .18); }
.pro-dashboard .workout-card h3 { font-size: 25px; line-height: 1.17; letter-spacing: -.025em; margin: 0 0 14px; overflow-wrap: anywhere; }
.workout-meta { color: var(--muted); font-size: 14px; margin-bottom: 14px; }
.workout-meta span { display: block; margin-top: 4px; color: var(--card-label); font-weight: 750; }
.exercise-preview { color: var(--muted); font-size: 14px; overflow-wrap: anywhere; margin-bottom: 22px; }
.workout-actions { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px; margin-top: auto; }
.workout-actions .primary, .pro-dashboard .starter-actions .primary {
  background: linear-gradient(110deg, var(--card-accent), rgba(var(--card-rgb), .85));
  border-color: var(--card-accent); color: #102018; box-shadow: 0 5px 18px rgb(0 0 0 / .15);
}
.workout-actions .primary:hover, .pro-dashboard .starter-actions .primary:hover { background: var(--card-accent); }
.workout-actions .secondary-link { color: var(--card-label); }
.workout-actions .secondary-link { font-size: 14px; }
.pro-dashboard .workout-card details { margin-top: 14px; color: var(--muted); }
.pro-dashboard summary { cursor: pointer; }
.pro-dashboard .workout-card summary { min-height: 44px; display: list-item; align-content: center; }
.pro-dashboard .workout-card .remove-details { margin-top: 0; font-size: 12px; color: var(--muted); }
.pro-dashboard .plan-details { border-top: 1px solid rgba(var(--card-rgb), .25); padding-top: 3px; }
.pro-dashboard .plan-details summary::marker { color: var(--card-accent); }
.remove-details form { display: grid; gap: 12px; padding-top: 8px; }
.plan-details ul { padding-left: 0; list-style: none; margin-block: 8px; }
.plan-details li { border-top: 1px solid var(--line); padding: 12px 0; display: grid; gap: 5px; overflow-wrap: anywhere; }
.plan-details li strong { color: var(--text); font-size: 14px; }
.plan-details li span { font-size: 13px; line-height: 1.5; }
.library-empty-state { grid-column: 1/-1; border: 1px solid #6d9460; border-left: 4px solid var(--lime); border-radius: 20px; padding: 28px; background: linear-gradient(120deg, #30452a, #123b30); }
.library-empty-state h3 { font-size: clamp(23px, 3vw, 32px); line-height: 1.2; margin: 0 0 12px; }
.library-empty-state > p:not(.eyebrow) { max-width: 660px; color: var(--muted); }
.starter-panel { border: 1px solid #9d7144; border-left: 4px solid #ffac66; background: linear-gradient(115deg, #3c2f20, #1b2d24); border-radius: 18px; padding: 22px; margin-bottom: 30px; }
.starter-panel > summary { min-height: 44px; font-size: 16px; }
.starter-panel > summary span { color: var(--muted); margin-right: 10px; }
.starter-panel > summary strong { color: #ffd494; white-space: nowrap; }
.starter-panel > p { font-size: 14px; max-width: 760px; margin-top: 16px; }
.starter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pro-dashboard .starter-card {
  border-radius: 14px; border: 1px solid rgba(var(--card-rgb), .55); border-top: 3px solid var(--card-accent);
  background: linear-gradient(145deg, var(--card-surface), var(--card-base));
  padding: 18px; min-width: 0; display: flex; flex-direction: column;
}

.starter-card h3 { margin: 0 0 12px; font-size: 23px; line-height: 1.2; }
.starter-card > p:not(.eyebrow) { font-size: 14px; color: var(--muted); }
.starter-card > .muted { font-size: 12px !important; }
.starter-actions { display: grid; gap: 14px; margin-top: auto; text-align: center; font-size: 14px; font-weight: 700; }
.starter-actions .primary { padding-inline: 10px; font-size: 14px; }
.dashboard-support { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; margin-bottom: 32px; }
.last-session {
  margin-bottom: 0; border: 1px solid #4789a5; border-top: 3px solid #76ccff; border-radius: 18px;
  background: linear-gradient(135deg, #1c4356, #102f35); padding: 24px; min-width: 0;
}
.pro-dashboard .last-session .eyebrow { color: #89d9ff; }
.last-session h2 { font-size: 24px; margin-bottom: 10px; overflow-wrap: anywhere; }
.last-session > .muted { font-size: 14px; }
.session-caption { font-size: 13px; color: var(--muted); }
.last-set-list { padding: 0; list-style: none; margin: 12px 0 20px; }
.last-set-list li { display: flex; gap: 14px; justify-content: space-between; border-top: 1px solid var(--line); padding: 12px 0; font-size: 14px; }
.last-set-list li span { overflow-wrap: anywhere; min-width: 0; }
.last-set-list strong { color: var(--lime); flex-shrink: 0; }
.pro-dashboard .import-panel {
  margin: 0; padding: 24px; min-width: 0; border-color: #4c9275; border-top: 3px solid #65edc5;
  background: linear-gradient(135deg, #204b3b, #123429);
}
.pro-dashboard .import-panel summary { font-size: 20px; line-height: 1.3; font-weight: 750; min-height: 44px; }
.pro-dashboard .import-panel p { font-size: 14px; color: var(--muted); }
.pro-dashboard .import-panel > p { margin-top: 14px; }
.pro-dashboard .local-program { font-size: 14px; flex-wrap: wrap; }
.pro-dashboard .local-program button { flex-shrink: 0; }
.pro-dashboard .history-card { border-color: #548e86; border-left: 3px solid #76ccff; background: linear-gradient(110deg, #153e37, #172f40); }
.pro-dashboard #history > .empty { background: linear-gradient(110deg, #143a30, #132d3b); border-color: #528476; }
.pro-dashboard a:focus-visible, .pro-dashboard button:focus-visible, .pro-dashboard input:focus-visible, .pro-dashboard summary:focus-visible {
  outline: 3px solid #fff8df; outline-offset: 4px;
}
.pro-dashboard .history-card summary { min-height: 44px; align-items: center; }
.history-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 14px; }
.history-actions .primary { min-height: 44px; background: linear-gradient(110deg, #ff8950, #ffb268); border-color: #ffb268; color: #28170e; }
.history-actions span, .history-unavailable { color: #c2d5ca; font-size: 13px; }
.history-unavailable { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid #4b776a; }
.exercise-progress {
  margin: 0 0 22px; padding: 22px; overflow: visible;
  border: 1px solid #4e8c76; border-top: 4px solid #65edc5;
  background: radial-gradient(ellipse at 100% 0, rgb(90 185 255 / .17), transparent 58%), linear-gradient(125deg, #19483b, #122f39);
}
.progress-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.progress-heading h3 { margin: 0 0 7px; font-size: 26px; }
.progress-heading p { margin-bottom: 0; }
.progress-heading .eyebrow { color: #b1ffdf; margin-bottom: 7px; }
.progress-picker { width: min(340px, 100%); color: #e3efdf; }
.progress-picker select {
  width: 100%; min-height: 46px; padding: 10px 38px 10px 12px;
  border: 1px solid #73b9a0; border-radius: 10px; background: #0b241d; color: var(--text); font: inherit;
}
.progress-status { margin: 0; color: #b1ffdf; }
.progress-error { padding: 14px; border: 1px solid var(--danger); border-radius: 10px; background: #351f1b; color: #ffd5c7; }
.progress-comparison { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.progress-set-card, .progress-change-card {
  min-width: 0; padding: 18px; border: 1px solid #4f987d; border-top: 3px solid #65edc5; border-radius: 14px;
  background: linear-gradient(135deg, #205b4a, #12372d);
}
.progress-set-card:nth-child(2) { border-color: #518da9; border-top-color: #76ccff; background: linear-gradient(135deg, #244e66, #173445); }
.progress-change-card { border-color: #a77346; border-top-color: #ffb174; background: linear-gradient(135deg, #63442d, #39281d); }
.progress-set-card .eyebrow, .progress-change-card .eyebrow { margin-bottom: 9px; color: #e9ffbd; }
.progress-set-card:nth-child(2) .eyebrow { color: #bdeaff; }
.progress-change-card .eyebrow { color: #ffddbc; }
.progress-set-card .muted, .progress-change-card .muted { color: #e3efdf; }
.progress-set-value { display: block; margin-bottom: 7px; font-size: clamp(22px, 3vw, 28px); color: var(--text); overflow-wrap: anywhere; }
.progress-set-meta { margin-bottom: 6px; color: #b1ffdf; font-size: 13px; }
.progress-change-value { display: block; margin-bottom: 6px; color: #fff1d0; font-size: 18px; overflow-wrap: anywhere; }
.progress-recent-heading { margin: 22px 0 8px; font-size: 17px; }
.progress-recent { margin: 0; padding: 0; list-style: none; }
.progress-recent li { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 2px; border-top: 1px solid #4b776a; }
.progress-recent li span { min-width: 0; overflow-wrap: anywhere; }
.progress-recent li span > strong, .progress-recent li small { display: block; }
.progress-recent li small { margin-top: 3px; color: #c2d5ca; }
.progress-recent li > strong { flex-shrink: 0; color: #d3f779; }
.progress-method { margin: 14px 0 0; color: #c2d5ca; font-size: 12px; }
.progress-empty { padding: 20px; border: 1px dashed #78a98f; border-radius: 12px; background: #14372d; }
.progress-empty p { margin: 6px 0 0; }
@media (max-width: 900px) {
  .progress-comparison { grid-template-columns: 1fr 1fr; }
  .progress-change-card { grid-column: 1/-1; }
}
@media (max-width: 600px) {
  .exercise-progress { padding: 18px; }
  .progress-heading { align-items: stretch; flex-direction: column; gap: 14px; }
  .progress-picker { width: 100%; }
  .progress-comparison { grid-template-columns: 1fr; }
  .progress-change-card { grid-column: auto; }
  .progress-recent li { align-items: flex-start; flex-wrap: wrap; gap: 7px 14px; }
}
.pro-dashboard .history-card summary strong, .pro-dashboard .history-card li span { overflow-wrap: anywhere; min-width: 0; }
.pro-dashboard .history-card li strong { flex-shrink: 0; }
.pro-dashboard #search-empty button { margin-left: 8px; }
@media (max-width: 900px) {
  .pro-dashboard .workout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .starter-grid { grid-template-columns: 1fr; }
  .pro-dashboard .starter-card { display: grid; grid-template-columns: 1fr auto; column-gap: 24px; }
  .starter-card > p, .starter-card > h3 { grid-column: 1; }
  .starter-actions { grid-column: 2; grid-row: 1 / 5; align-self: center; margin-top: 0; }
}
@media (max-width: 600px) {
  .pro-dashboard > .dashboard-heading { align-items: stretch; gap: 14px; padding: 18px; border-radius: 16px; }
  .pro-dashboard .dashboard-heading .eyebrow, .pro-dashboard .dashboard-heading p:last-child { display: none; }
  .pro-dashboard .dashboard-heading h1 { font-size: 26px; margin: 0; }
  .dashboard-actions { width: 100%; grid-template-columns: 1fr 1fr; align-items: center; gap: 12px; font-size: 14px; }
  .dashboard-actions .primary { padding-inline: 12px; }
  .library-overview { padding-block: 12px; margin-bottom: 18px; }
  .library-overview > p:not(.overview-note) { padding: 8px 10px; font-size: 13px; }
  .library-overview strong { font-size: 22px; }
  .library-overview { grid-template-columns: 1fr 1fr; gap: 12px; }
  .library-overview .overview-note { grid-column: 1/-1; text-align: left; }
  .library-overview .overview-note br { display: none; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 10px; margin-bottom: 14px; }
  .library-search { flex-direction: column; align-items: stretch; gap: 8px; }
  .library-search label { max-width: none; }
  .library-search p { margin-bottom: 4px; }
  .pro-dashboard .workout-grid, .dashboard-support { grid-template-columns: 1fr; }
  .pro-dashboard .workout-card, .library-empty-state, .last-session, .pro-dashboard .import-panel { padding: 18px; }
  .starter-panel { padding: 18px; }
  .starter-panel > summary span { display: block; margin-bottom: 5px; }
  .pro-dashboard .starter-card { display: flex; }
  .starter-actions { width: 100%; }
  .pro-dashboard .history-card li { flex-wrap: wrap; gap: 4px 14px; }
  .pro-dashboard .history-card li span { flex: 1 1 160px; }
}

/* Compact the signed-in dashboard without changing its established colour system. */
.library-overview .overview-note {
  padding: 10px 16px; border: 1px solid #927247; border-left: 3px solid #ffb174; border-radius: 12px;
  background: linear-gradient(110deg, #4a3526, #2a251d); text-align: left; color: #ffe1bd;
}
.library-overview .overview-note::before {
  content: "Ready flow"; display: block; margin-bottom: 3px; color: #ffb174;
  font-size: 12px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase;
}
.pro-dashboard .workout-card:only-child { grid-column: span 2; }
.dashboard-support { grid-template-columns: 1fr; }
.last-set-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.last-set-list li {
  display: grid; gap: 7px; align-content: start; border: 1px solid #49778a; border-radius: 12px;
  padding: 13px; background: #123640;
}
@media (max-width: 600px) {
  .pro-dashboard .workout-card:only-child { grid-column: auto; }
  .last-set-list { grid-template-columns: 1fr; }
  .account-nav nav { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .account-nav nav a {
    display: flex; align-items: center; justify-content: center; min-height: 42px; padding: 8px 10px;
    border: 1px solid #3b6b5c; border-radius: 10px; background: #0c2a22; text-align: center; text-decoration: none;
  }
}

/* Signed-in Pro visual alignment: the working dashboard now matches the public Pro identity. */
body:has(.pro-dashboard) {
  background:
    radial-gradient(circle at 8% 7%, rgb(84 224 181 / .19), transparent 31rem),
    radial-gradient(circle at 93% 22%, rgb(90 185 255 / .16), transparent 34rem),
    radial-gradient(circle at 70% 82%, rgb(175 145 255 / .1), transparent 27rem),
    linear-gradient(145deg, #03120d 0%, #071b15 51%, #12141d 100%);
}

body:has(.pro-dashboard) main { width: min(1240px, calc(100% - 32px)); max-width: none; padding-top: clamp(26px, 4vw, 52px); }
body:has(.pro-dashboard) .account-nav {
  min-height: 78px; padding-block: 14px; background: rgb(4 19 15 / .88);
  border-bottom-color: rgb(84 224 181 / .22); backdrop-filter: blur(16px); box-shadow: 0 14px 46px rgb(0 0 0 / .22);
}
body:has(.pro-dashboard) .account-nav .brand { font-size: 26px; text-shadow: 0 0 28px rgb(84 224 181 / .18); }
body:has(.pro-dashboard) .account-nav nav { gap: 9px; }
body:has(.pro-dashboard) .account-nav nav a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 15px;
  border: 1px solid rgb(247 243 223 / .1); border-radius: 999px; background: rgb(247 243 223 / .035);
  color: #c9d7ce; text-decoration: none; box-shadow: 0 10px 24px rgb(0 0 0 / .14);
}
body:has(.pro-dashboard) .account-nav nav a[href="/account/"] {
  border-color: rgb(255 122 61 / .46); background: linear-gradient(135deg, rgb(255 122 61 / .2), rgb(84 224 181 / .09)); color: #fff6de;
}

.pro-dashboard > .dashboard-heading {
  position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr);
  gap: clamp(30px, 5vw, 64px); min-height: 520px; padding: clamp(30px, 5vw, 54px); overflow: hidden;
  border: 1px solid rgb(90 185 255 / .34); border-left: 1px solid rgb(90 185 255 / .34); border-radius: 30px;
  background:
    radial-gradient(circle at 5% 0, rgb(84 224 181 / .22), transparent 25rem),
    radial-gradient(circle at 98% 7%, rgb(90 185 255 / .21), transparent 28rem),
    radial-gradient(circle at 92% 100%, rgb(175 145 255 / .19), transparent 21rem),
    linear-gradient(145deg, rgb(8 42 32 / .98), rgb(5 23 18 / .98) 54%, rgb(10 20 30 / .98));
  box-shadow: 0 34px 100px rgb(0 0 0 / .38), inset 0 1px 0 rgb(255 255 255 / .04);
}
.pro-dashboard > .dashboard-heading::before {
  position: absolute; z-index: -1; inset: 0; content: ""; opacity: .31;
  background-image: linear-gradient(rgb(84 224 181 / .08) 1px, transparent 1px), linear-gradient(90deg, rgb(84 224 181 / .08) 1px, transparent 1px);
  background-size: 52px 52px; mask-image: linear-gradient(90deg, black, transparent 56%);
}
.dashboard-copy { align-self: center; min-width: 0; }
.pro-dashboard .dashboard-copy > .eyebrow {
  display: inline-flex; align-items: center; margin-bottom: 22px; padding: 7px 11px;
  border: 1px solid rgb(84 224 181 / .28); border-radius: 999px; background: rgb(3 20 15 / .62); color: #7af0cb;
}
.pro-dashboard .dashboard-heading h1 { max-width: 670px; margin: 0; font-size: clamp(48px, 6.2vw, 74px); line-height: .94; letter-spacing: -.055em; }
.pro-dashboard .dashboard-heading h1 span {
  background: linear-gradient(92deg, #54e0b5 2%, #5ab9ff 48%, #af91ff 72%, #c9f36a);
  color: transparent; background-clip: text; -webkit-background-clip: text;
}
.pro-dashboard .dashboard-copy > p:not(.eyebrow) { max-width: 620px; margin: 22px 0 0; color: #d2ddd4; font-size: 17px; font-weight: 600; }
.pro-dashboard .dashboard-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 26px; text-align: left; }
.pro-dashboard .dashboard-actions .primary { min-width: 170px; }
.pro-dashboard .dashboard-actions .secondary-link {
  display: inline-flex; min-height: 48px; align-items: center; padding: 10px 16px;
  border: 1px solid rgb(90 185 255 / .32); border-radius: 12px; background: rgb(90 185 255 / .07); text-decoration: none;
}

.dashboard-console {
  position: relative; align-self: center; min-width: 0; padding: 15px; overflow: hidden;
  border: 1px solid rgb(90 185 255 / .42); border-radius: 26px; background: linear-gradient(160deg, rgb(5 29 25 / .97), rgb(7 18 29 / .99));
  box-shadow: 0 28px 76px rgb(0 0 0 / .4), 0 0 54px rgb(90 185 255 / .08), inset 0 1px 0 rgb(255 255 255 / .05);
}
.dashboard-console::after { position: absolute; width: 230px; height: 230px; right: -96px; bottom: -110px; content: ""; border-radius: 50%; background: radial-gradient(circle, rgb(175 145 255 / .3), transparent 68%); pointer-events: none; }
.dashboard-console-topline { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: 2px 2px 14px; color: #c3d3ca; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.dashboard-console-topline > b { justify-self: end; padding: 5px 8px; border: 1px solid rgb(201 243 106 / .26); border-radius: 999px; color: #d5fb7c; background: rgb(201 243 106 / .08); }
.console-dots { display: flex; gap: 6px; }
.console-dots i { width: 9px; height: 9px; border-radius: 50%; background: #54e0b5; box-shadow: 0 0 13px rgb(84 224 181 / .38); }
.console-dots i:nth-child(2) { background: #5ab9ff; }
.console-dots i:nth-child(3) { background: #c9f36a; }
.dashboard-next { position: relative; z-index: 1; padding: 22px; border: 1px solid rgb(84 224 181 / .26); border-radius: 18px; background: radial-gradient(circle at 100% 0, rgb(84 224 181 / .18), transparent 13rem), linear-gradient(145deg, rgb(13 66 51 / .88), rgb(6 28 23 / .95)); }
.dashboard-next .eyebrow { margin-bottom: 10px; color: #7af0cb; }
.dashboard-next h2 { margin: 0 0 8px; font-size: clamp(28px, 3.5vw, 42px); line-height: 1; overflow-wrap: anywhere; }
.dashboard-next > p:not(.eyebrow) { margin: 0 0 20px; color: #d6e2d9; font-size: 14px; }
.dashboard-next .primary { width: 100%; background: linear-gradient(110deg, #ff7142, #ff9b5e); border-color: #ff9b5e; color: #27150c; box-shadow: 0 12px 28px rgb(255 113 66 / .24); }
.dashboard-cloud-status { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 10px; }
.dashboard-cloud-status p, .dashboard-cloud-status > a { display: grid; gap: 3px; margin: 0; padding: 12px; border: 1px solid rgb(255 255 255 / .08); border-radius: 12px; background: rgb(2 16 13 / .56); }
.dashboard-cloud-status > a { color: inherit; text-decoration: none; }
.dashboard-cloud-status > a:hover { border-color: rgb(122 240 203 / .4); background: rgb(12 48 38 / .72); }
.dashboard-cloud-status span { color: #aabcae; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.dashboard-cloud-status strong { color: #7af0cb; font-size: 14px; }

.pro-dashboard .library-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 14px 0 24px; padding: 0; }
.pro-dashboard .library-overview > p { min-height: 72px; padding: 13px 16px; border-radius: 13px; background: linear-gradient(145deg, #103b30, #0a261e); }
.pro-dashboard .library-overview strong { display: block; margin: 0; font-size: 26px; }
.pro-dashboard .library-overview .overview-note { display: grid; align-content: center; gap: 3px; border-color: #725f91; border-left-color: #af91ff; background: linear-gradient(135deg, #292443, #172633); }
.pro-dashboard .library-overview .overview-note::before { content: "Cloud library"; color: #cbbcff; }
.pro-dashboard .library-overview .overview-note strong { color: #d9ccff; font-size: 15px; }
.pro-dashboard .library-overview .overview-note span { color: #c2d5ca; font-size: 12px; }

.pro-dashboard > #account-library, .pro-dashboard > #history {
  margin-bottom: 26px; padding: clamp(22px, 4vw, 34px); overflow: hidden;
  border: 1px solid rgb(84 224 181 / .24); border-radius: 24px;
  background: radial-gradient(circle at 100% 0, rgb(90 185 255 / .11), transparent 23rem), linear-gradient(145deg, rgb(13 43 35 / .96), rgb(7 25 20 / .97));
  box-shadow: 0 22px 70px rgb(0 0 0 / .2);
}
.pro-dashboard > #history { border-color: rgb(175 145 255 / .25); background: radial-gradient(circle at 100% 0, rgb(175 145 255 / .12), transparent 23rem), linear-gradient(145deg, rgb(12 38 32 / .96), rgb(10 22 31 / .97)); }
.pro-dashboard .section-heading h2 { font-size: clamp(28px, 3.6vw, 42px); line-height: 1; }
.pro-dashboard .section-heading > a { display: inline-flex; min-height: 44px; align-items: center; padding: 9px 13px; border: 1px solid rgb(255 177 116 / .28); border-radius: 999px; background: rgb(255 177 116 / .07); text-decoration: none; }
.cloud-limit-status {
  display: grid; flex-shrink: 0; gap: 2px; min-width: 210px; padding: 10px 14px;
  border: 1px solid rgb(84 224 181 / .34); border-radius: 13px; background: rgb(84 224 181 / .08);
}
.cloud-limit-status strong { color: #7af0cb; font-size: 18px; }
.cloud-limit-status span { color: #b9ccbf; font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.cloud-limit-note {
  margin: -7px 0 18px; padding: 10px 13px; border-left: 3px solid #ffb174; border-radius: 0 9px 9px 0;
  background: rgb(255 177 116 / .07); color: #d5dfd7; font-size: 12px;
}

.pro-dashboard .workout-card:only-child {
  grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .38fr); column-gap: 34px; align-items: center;
  min-height: 320px; padding: clamp(24px, 4vw, 38px); border-radius: 22px;
}
.pro-dashboard .workout-card:only-child > .eyebrow, .pro-dashboard .workout-card:only-child > h3, .pro-dashboard .workout-card:only-child > .workout-meta, .pro-dashboard .workout-card:only-child > .exercise-preview { grid-column: 1; }
.pro-dashboard .workout-card:only-child > h3 { font-size: clamp(30px, 4vw, 46px); margin-bottom: 12px; }
.pro-dashboard .workout-card:only-child > .exercise-preview { margin-bottom: 0; font-size: 15px; }
.pro-dashboard .workout-card:only-child > .workout-actions { grid-column: 2; grid-row: 1 / 5; display: grid; align-self: center; }
.pro-dashboard .workout-card:only-child > .workout-actions .primary { min-height: 62px; font-size: 17px; }
.pro-dashboard .workout-card:only-child > details { grid-column: 1 / -1; width: 100%; }

.pro-dashboard .starter-panel { border-radius: 20px; background: radial-gradient(circle at 100% 0, rgb(255 177 116 / .16), transparent 20rem), linear-gradient(135deg, #382c20, #142a22); box-shadow: 0 18px 54px rgb(0 0 0 / .18); }
.pro-dashboard .last-session { padding: clamp(22px, 4vw, 32px); border-radius: 22px; background: radial-gradient(circle at 100% 0, rgb(90 185 255 / .18), transparent 20rem), linear-gradient(135deg, #17465a, #0c2a30); }
.pro-dashboard .last-session h2 { font-size: clamp(28px, 3.5vw, 40px); }
.pro-dashboard .last-set-list li { min-height: 95px; border-color: rgb(90 185 255 / .28); background: linear-gradient(145deg, #143d49, #0e2c35); }

@media (max-width: 900px) {
  .pro-dashboard > .dashboard-heading { grid-template-columns: 1fr; }
  .pro-dashboard .dashboard-console { width: min(100%, 650px); }
  .pro-dashboard .workout-card:only-child { grid-template-columns: 1fr; }
  .pro-dashboard .workout-card:only-child > .workout-actions { grid-column: 1; grid-row: auto; margin-top: 20px; }
}

@media (max-width: 600px) {
  body:has(.pro-dashboard) main { width: min(100% - 18px, 1240px); padding-top: 14px; }
  body:has(.pro-dashboard) .account-nav { align-items: stretch; padding: 14px 10px; }
  body:has(.pro-dashboard) .account-nav nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body:has(.pro-dashboard) .account-nav nav a { border-radius: 11px; }
  .pro-dashboard > .dashboard-heading { min-height: 0; padding: 24px 20px; border-radius: 22px; }
  .pro-dashboard .dashboard-heading .eyebrow { display: inline-flex; }
  .pro-dashboard .dashboard-heading h1 { font-size: clamp(40px, 13vw, 58px); }
  .pro-dashboard .dashboard-copy > p:not(.eyebrow) { display: block; font-size: 15px; }
  .pro-dashboard .dashboard-actions { display: grid; grid-template-columns: 1fr; }
  .pro-dashboard .dashboard-actions .primary, .pro-dashboard .dashboard-actions .secondary-link { width: 100%; }
  .dashboard-console { padding: 10px; border-radius: 20px; }
  .dashboard-console-topline { grid-template-columns: 1fr auto; }
  .dashboard-console-topline > strong { display: none; }
  .dashboard-next { padding: 18px; }
  .dashboard-cloud-status, .pro-dashboard .library-overview { grid-template-columns: 1fr; }
  .pro-dashboard .library-overview .overview-note { grid-column: auto; }
  .pro-dashboard > #account-library, .pro-dashboard > #history { padding: 20px; border-radius: 20px; }
  .pro-dashboard .workout-card:only-child { min-height: 0; padding: 20px; }
  .pro-dashboard .workout-card:only-child > h3 { font-size: 30px; }
  .pro-dashboard .workout-card:only-child > .workout-actions { grid-template-columns: 1fr; }
}

/* Keep every way to add a workout together, directly above the cloud library. */
.library-add {
  margin: 0 0 24px; padding: 20px; border: 1px solid rgb(90 185 255 / .23); border-radius: 18px;
  background: linear-gradient(145deg, rgb(5 29 24 / .88), rgb(8 24 31 / .9));
}
.library-add-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 14px; }
.library-add-heading h3 { margin: 0; font-size: clamp(21px, 3vw, 28px); }
.library-add-heading > p { max-width: 440px; margin: 0; color: #c2d5ca; font-size: 13px; text-align: right; }
.library-add-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.library-add-card {
  position: relative; display: grid; align-content: start; gap: 5px; min-width: 0; min-height: 128px; padding: 18px 44px 18px 18px;
  border: 1px solid rgb(84 224 181 / .34); border-radius: 15px; background: linear-gradient(145deg, #17473a, #0c2c24);
  color: #f7f3df; font: inherit; text-align: left; text-decoration: none; box-shadow: 0 10px 24px rgb(0 0 0 / .13); cursor: pointer;
}
.library-add-card::after { position: absolute; right: 18px; top: 50%; content: "→"; color: #7af0cb; font-size: 23px; transform: translateY(-50%); }
.library-add-card span { color: #87f4d3; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.library-add-card strong { font-size: 19px; line-height: 1.18; overflow-wrap: anywhere; }
.library-add-card small { color: #c8d9ce; font-size: 12px; line-height: 1.45; }
.library-add-card:hover { border-color: #7af0cb; background: linear-gradient(145deg, #1d5848, #0e342a); transform: translateY(-1px); }
.library-add-starter { border-color: rgb(255 177 116 / .38); background: linear-gradient(145deg, #4b3525, #29271d); }
.library-add-starter span, .library-add-starter::after { color: #ffbd85; }
.library-add-starter:hover { border-color: #ffbd85; background: linear-gradient(145deg, #5c3e29, #322b20); }
.library-add-timer { border-color: rgb(90 185 255 / .38); background: linear-gradient(145deg, #163f55, #102b39); }
.library-add-timer span, .library-add-timer::after { color: #8ed5ff; }
.library-add-timer:hover { border-color: #8ed5ff; background: linear-gradient(145deg, #1a4b65, #123449); }
.library-add-card[aria-expanded="true"] { box-shadow: 0 0 0 2px currentColor, 0 14px 32px rgb(0 0 0 / .2); }
.library-add-card[aria-expanded="true"]::after { content: "×"; }
.library-picker-panel {
  position: relative; margin: 14px 0 0; padding: 54px 18px 18px; border: 1px solid rgb(255 177 116 / .34);
  border-radius: 16px; background: linear-gradient(130deg, rgb(68 47 31 / .88), rgb(16 43 34 / .9));
}
.library-picker-close {
  position: absolute; top: 12px; right: 14px; min-height: 34px; padding: 6px 11px; border: 1px solid rgb(247 243 223 / .2);
  border-radius: 9px; background: rgb(3 20 15 / .6); color: #e8f2eb; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer;
}
.library-timer-picker { border-color: rgb(90 185 255 / .34); background: linear-gradient(135deg, rgb(12 46 53 / .95), rgb(8 28 25 / .97)); }
.timer-picker-layout { display: grid; grid-template-columns: minmax(210px, .38fr) minmax(0, 1fr); gap: 22px; align-items: center; }
.timer-picker-copy h4 { max-width: 260px; margin: 0 0 9px; font-size: clamp(26px, 3.5vw, 38px); line-height: .98; }
.timer-picker-copy > p:last-child { margin: 0; color: #c2d5ca; font-size: 13px; }
.timer-picker-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.timer-picker-grid a {
  display: grid; gap: 4px; min-width: 0; min-height: 74px; align-content: center; padding: 12px;
  border: 1px solid #6d8e7f; border-left: 4px solid #54e0b5; border-radius: 11px; background: #09251d; color: #f7f3df; text-decoration: none;
}
.timer-picker-grid a:nth-child(2) { border-left-color: #5ab9ff; }
.timer-picker-grid a:nth-child(3) { border-left-color: #af91ff; }
.timer-picker-grid a:nth-child(4) { border-left-color: #c9f36a; }
.timer-picker-grid a:nth-child(5) { border-left-color: #54e0b5; }
.timer-picker-grid a:nth-child(6) { border-left-color: #f27aa5; }
.timer-picker-grid a:hover { border-color: #8ed5ff; background: #11382f; }
.timer-picker-grid strong { font-size: 15px; }
.timer-picker-grid span { color: #d1ded5; font-size: 11px; }

@media (max-width: 760px) {
  .library-add { padding: 16px; }
  .library-add-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .library-add-heading > p { text-align: left; }
  .library-add-grid { grid-template-columns: 1fr; }
  .library-add-card { min-height: 108px; }
  .library-picker-panel { padding: 52px 14px 14px; }
  .timer-picker-layout { grid-template-columns: 1fr; }
  .timer-picker-copy h4 { max-width: none; }
  .timer-picker-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 430px) {
  .timer-picker-grid { grid-template-columns: 1fr; }
}

/* Training history is a scoreboard first and an archive second. */
.pro-dashboard > #history {
  position: relative; padding: clamp(24px, 4vw, 38px);
  background:
    radial-gradient(circle at 5% 0, rgb(84 224 181 / .17), transparent 24rem),
    radial-gradient(circle at 94% 8%, rgb(175 145 255 / .2), transparent 25rem),
    linear-gradient(145deg, rgb(8 36 29 / .98), rgb(8 20 30 / .98));
}
.pro-dashboard > #history::before {
  position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .2;
  background-image: linear-gradient(rgb(90 185 255 / .08) 1px, transparent 1px), linear-gradient(90deg, rgb(90 185 255 / .08) 1px, transparent 1px);
  background-size: 44px 44px; mask-image: linear-gradient(130deg, black, transparent 58%);
}
.history-heading, .history-spotlight, .exercise-progress, .history-list-heading, .history-card, #history > .empty { position: relative; z-index: 1; }
.history-heading { padding-bottom: 20px; border-bottom: 1px solid rgb(175 145 255 / .22); }
.history-heading .eyebrow { color: #ffb174; }
.history-count {
  display: flex; align-items: center; gap: 9px; margin: 0; padding: 9px 14px;
  border: 1px solid rgb(201 243 106 / .26); border-radius: 999px; background: rgb(201 243 106 / .08); color: #d8e3d9; text-decoration: none;
}
.history-count:hover { border-color: rgb(201 243 106 / .58); background: rgb(201 243 106 / .14); color: #fff8df; }
.history-count strong { color: #d5fb7c; font-size: 28px; line-height: 1; }
.history-count span { font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }

.history-spotlight {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr); gap: 14px; margin: 18px 0 14px; padding: 14px;
  border: 1px solid rgb(255 177 116 / .3); border-radius: 20px;
  background:
    radial-gradient(circle at 0 0, rgb(255 137 80 / .18), transparent 20rem),
    linear-gradient(120deg, rgb(55 42 26 / .95), rgb(10 42 36 / .96) 54%, rgb(12 31 44 / .98));
  box-shadow: 0 18px 44px rgb(0 0 0 / .2), inset 0 1px 0 rgb(255 255 255 / .05);
}
.history-spotlight-copy { display: grid; align-content: center; min-width: 0; padding: 10px 12px; }
.history-spotlight-copy .eyebrow { margin: 0 0 5px; color: #ffb174; }
.history-spotlight-copy h3 { margin: 0 0 5px; color: #fff8df; font-size: clamp(25px, 3vw, 36px); line-height: 1.05; letter-spacing: -.035em; overflow-wrap: anywhere; }
.history-spotlight-date { margin: 0; color: #bfe7d7; font-size: 13px; }
.history-spotlight-actions { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; margin-top: 17px; }
.history-spotlight-actions .primary { min-height: 42px; padding: 9px 16px; background: linear-gradient(110deg, #ff8950, #ffb268); border-color: #ffb268; color: #28170e; box-shadow: 0 10px 24px rgb(255 137 80 / .2); }
.history-spotlight-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.history-spotlight-stats article {
  display: grid; align-content: center; min-width: 0; min-height: 126px; padding: 14px; overflow: hidden;
  border: 1px solid rgb(255 255 255 / .12); border-radius: 15px;
  background: linear-gradient(145deg, rgb(19 77 61 / .94), rgb(8 38 33 / .98));
}
.history-spotlight-stats article.blue { border-color: rgb(90 185 255 / .32); background: linear-gradient(145deg, #174b62, #0b2e3e); }
.history-spotlight-stats article.orange { border-color: rgb(255 177 116 / .34); background: linear-gradient(145deg, #59402c, #31251d); }
.history-spotlight-stats strong { color: #d5fb7c; font-size: clamp(34px, 4vw, 50px); line-height: .9; letter-spacing: -.05em; }
.history-spotlight-stats article.blue strong { color: #91dfff; }
.history-spotlight-stats article.orange strong { color: #ffb174; }
.history-spotlight-stats span { margin-top: 9px; color: #e5f1e7; font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }

.exercise-progress {
  margin: 0 0 28px; padding: 0; border: 0; border-radius: 20px; background: none; box-shadow: none;
}
.progress-heading {
  align-items: center; margin: 0 0 12px; padding: 20px 22px;
  border: 1px solid rgb(90 185 255 / .26); border-radius: 18px;
  background: linear-gradient(120deg, rgb(11 49 39 / .88), rgb(14 31 44 / .9));
}
.progress-heading h3 { margin: 0 0 6px; font-size: clamp(28px, 3.5vw, 40px); letter-spacing: -.035em; }
.progress-heading .eyebrow { margin-bottom: 5px; color: #7af0cb; }
.progress-heading .muted { color: #cfddd3; }
.progress-picker { width: min(360px, 100%); color: #bdeaff; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.progress-picker select {
  margin-top: 7px; min-height: 50px; border-color: rgb(90 185 255 / .58); border-radius: 12px;
  background: #061d1a; color: #f7f3df; font-weight: 800; letter-spacing: 0; text-transform: none;
}
.progress-stage { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(270px, .75fr); gap: 12px; }
.progress-side { display: grid; gap: 12px; }
.progress-stage .progress-set-card, .progress-stage .progress-change-card, .progress-next-card {
  min-width: 0; margin: 0; padding: 20px; border: 1px solid rgb(255 255 255 / .1); border-radius: 17px;
}
.progress-latest-card {
  position: relative; isolation: isolate; display: grid; align-content: center; min-height: 280px; overflow: hidden;
  border-color: rgb(84 224 181 / .52) !important;
  background:
    radial-gradient(circle at 88% 16%, rgb(201 243 106 / .23), transparent 12rem),
    linear-gradient(145deg, #17634d, #0a3128 58%, #0a2222) !important;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .06), 0 18px 45px rgb(0 0 0 / .18);
}
.progress-latest-card::after {
  position: absolute; z-index: -1; width: 220px; height: 220px; right: -75px; bottom: -105px; content: "";
  border: 24px solid rgb(201 243 106 / .09); border-radius: 50%; box-shadow: 0 0 0 22px rgb(90 185 255 / .045);
}
.progress-latest-card .eyebrow { color: #a6f8df; }
.progress-latest-card .progress-set-value { margin: 10px 0 14px; color: #e1ff81; font-size: clamp(42px, 6vw, 68px); line-height: .95; letter-spacing: -.05em; }
.progress-latest-card .progress-set-meta { color: #91dfff; font-weight: 800; }
.progress-latest-card .muted { color: #eff7ef; font-size: 15px; }
.progress-previous-card {
  min-height: 128px; border-color: rgb(90 185 255 / .38) !important;
  background: linear-gradient(135deg, #17465d, #102f40) !important;
}
.progress-previous-card .eyebrow { color: #a9e2ff !important; }
.progress-change-card {
  min-height: 128px; border-color: rgb(255 177 116 / .42) !important;
  background: linear-gradient(135deg, #5a3a27, #2f271f) !important;
}
.progress-next-card {
  display: grid; align-content: center; min-height: 100%; border-color: rgb(175 145 255 / .44);
  background: radial-gradient(circle at 100% 0, rgb(175 145 255 / .2), transparent 12rem), linear-gradient(145deg, #292748, #142b35);
}
.progress-next-card .eyebrow { color: #d3c5ff; }
.progress-next-card .progress-change-value { margin: 8px 0 10px; color: #d5fb7c; font-size: clamp(25px, 3vw, 36px); }
.progress-next-card .muted { color: #dae5de; }
.progress-baseline-facts { display: grid; gap: 7px; margin-top: 17px; }
.progress-baseline-facts span {
  padding: 8px 10px; border: 1px solid rgb(175 145 255 / .23); border-radius: 10px;
  background: rgb(5 23 28 / .45); color: #f0ecff; font-size: 11px; font-weight: 750;
}
.progress-recent-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 24px 2px 10px; }
.progress-recent-heading { margin: 0; font-size: 18px; }
.progress-recent-count { padding: 5px 9px; border: 1px solid rgb(90 185 255 / .24); border-radius: 999px; color: #9adfff; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.progress-recent { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.progress-recent li {
  display: grid; align-content: start; justify-content: stretch; gap: 10px; min-width: 0; padding: 14px;
  border: 1px solid rgb(90 185 255 / .2); border-radius: 12px; background: rgb(5 27 25 / .7);
}
.progress-recent li span > strong { color: #f7f3df; }
.progress-recent li small { color: #abc3b5; line-height: 1.35; }
.progress-recent .progress-recent-result { color: #d5fb7c; font-size: 16px; }
.progress-method { margin-top: 12px; padding-left: 2px; color: #94ad9f; }

.history-list-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 30px 2px 12px; }
.history-list-heading h3 { margin: 0; font-size: clamp(24px, 3vw, 32px); }
.history-list-heading .eyebrow { margin-bottom: 4px; color: #ffb174; }
.history-list-heading > p { max-width: 330px; margin: 0; color: #b9ccbf; font-size: 12px; text-align: right; }
.pro-dashboard .history-card {
  padding: 0; overflow: hidden; border: 1px solid rgb(90 185 255 / .3); border-left: 1px solid rgb(90 185 255 / .3); border-radius: 16px;
  background: linear-gradient(115deg, rgb(13 51 42 / .96), rgb(12 30 44 / .97)); box-shadow: 0 14px 34px rgb(0 0 0 / .16);
}
.pro-dashboard .history-card + .history-card { margin-top: 10px; }
.pro-dashboard .history-card[open] { border-color: rgb(201 243 106 / .44); box-shadow: 0 18px 42px rgb(0 0 0 / .22); }
.pro-dashboard .history-card summary {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 14px; min-height: 74px; padding: 13px 16px; list-style: none;
}
.pro-dashboard .history-card summary::-webkit-details-marker { display: none; }
.pro-dashboard .history-card summary::after {
  display: grid; width: 32px; height: 32px; place-items: center; content: "+"; border: 1px solid rgb(90 185 255 / .34); border-radius: 50%; color: #9adfff; font-size: 20px;
}
.pro-dashboard .history-card[open] summary::after { content: "−"; color: #e1ff81; }
.history-session-index {
  display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgb(84 224 181 / .38); border-radius: 13px;
  background: linear-gradient(145deg, rgb(84 224 181 / .2), rgb(90 185 255 / .12)); color: #7af0cb; font-size: 13px; font-weight: 900;
}
.history-summary-copy { display: grid; gap: 4px; min-width: 0; }
.pro-dashboard .history-card .history-summary-copy > strong { color: #fff8df; font-size: 17px; line-height: 1.15; }
.history-summary-copy small { color: #b9ccbf; font-size: 12px; }
.history-set-count { padding: 6px 10px; border: 1px solid rgb(201 243 106 / .23); border-radius: 999px; background: rgb(201 243 106 / .07); color: #d5fb7c !important; font-size: 10px !important; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.history-card-body { padding: 0 16px 16px; }
.history-session-timing {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; padding: 10px;
  border: 1px solid rgb(255 177 116 / .2); border-radius: 12px; background: linear-gradient(110deg, rgb(61 41 27 / .55), rgb(9 36 35 / .72));
}
.history-session-timing p { display: grid; gap: 2px; margin: 0; }
.history-session-timing strong { color: #ffb174; font-size: 18px; }
.history-session-timing span { color: #b9ccbf; font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.pro-dashboard .history-card ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; }
.pro-dashboard .history-card li {
  display: grid; align-content: start; justify-content: stretch; gap: 5px; min-width: 0; padding: 12px;
  border: 1px solid rgb(84 224 181 / .18); border-radius: 11px; background: rgb(3 22 18 / .57);
}
.history-set-kicker { color: #ffb174; font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.history-exercise-name { color: #f7f3df; font-size: 13px; font-weight: 750; line-height: 1.3; }
.pro-dashboard .history-card li > strong { margin-top: 4px; color: #d5fb7c; font-size: 15px; }
.history-actions { padding-top: 14px; border-top: 1px solid rgb(90 185 255 / .17); }
.history-actions .primary { box-shadow: 0 10px 24px rgb(255 137 80 / .18); }

@media (max-width: 900px) {
  .history-spotlight { grid-template-columns: 1fr; }
  .history-spotlight-stats article { min-height: 104px; }
  .progress-stage { grid-template-columns: 1fr; }
  .progress-side { grid-template-columns: 1fr 1fr; }
  .progress-next-card { min-height: 150px; }
  .progress-recent, .pro-dashboard .history-card ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .history-heading { align-items: center; flex-direction: row; }
  .history-count { flex-shrink: 0; padding: 8px 10px; }
  .history-count strong { font-size: 23px; }
  .history-count span { max-width: 62px; font-size: 9px; }
  .history-spotlight { padding: 10px; }
  .history-spotlight-copy { padding: 8px; }
  .history-spotlight-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .history-spotlight-stats article { min-height: 88px; padding: 10px; }
  .history-spotlight-stats strong { font-size: 32px; }
  .history-spotlight-stats span { font-size: 8px; }
  .progress-heading { align-items: stretch; padding: 17px; }
  .progress-stage, .progress-side, .progress-recent, .pro-dashboard .history-card ul { grid-template-columns: 1fr; }
  .progress-latest-card { min-height: 220px; padding: 20px !important; }
  .progress-latest-card .progress-set-value { font-size: clamp(44px, 15vw, 62px); }
  .progress-next-card, .progress-previous-card, .progress-change-card { min-height: 0; }
  .history-list-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
  .history-list-heading > p { text-align: left; }
  .pro-dashboard .history-card summary { grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; padding: 11px; }
  .history-session-index { width: 38px; height: 38px; }
  .history-set-count { grid-column: 2; justify-self: start; }
  .pro-dashboard .history-card summary::after { grid-column: 3; grid-row: 1 / 3; }
  .history-card-body { padding: 0 11px 11px; }
  .history-session-timing { grid-template-columns: 1fr; }
}

/* Keep each workout round together so the history reads across, never diagonally. */
.last-session-heading {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px;
}
.last-session-heading h2 { margin: 0 0 8px; }
.last-session-heading .muted { margin: 0; }
.last-session-heading .history-set-count { flex-shrink: 0; margin-top: 2px; }
.history-rounds { display: grid; gap: 10px; }
.history-round {
  display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 12px; align-items: stretch; min-width: 0;
}
.history-round h4 {
  display: grid; place-items: center; min-height: 78px; margin: 0; padding: 10px 6px;
  border: 1px solid rgb(255 177 116 / .36); border-radius: 11px; background: rgb(73 43 28 / .52);
  color: #ffb174; font-size: 12px; letter-spacing: .06em; text-align: center; text-transform: uppercase;
}
.last-session .history-round ul,
.pro-dashboard .history-card .history-round ul {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; min-width: 0; margin: 0; padding: 0; list-style: none;
}
.last-session .history-round li,
.pro-dashboard .history-card .history-round li {
  display: grid; align-content: center; justify-content: stretch; gap: 7px; min-width: 0; min-height: 78px; padding: 12px 14px;
  border: 1px solid rgb(90 185 255 / .24); border-radius: 11px; background: rgb(3 24 27 / .54);
}
.last-session .history-round li > strong,
.pro-dashboard .history-card .history-round li > strong { margin: 0; color: #d5fb7c; font-size: 15px; }
.history-set-timing {
  margin: 1px 0 0; color: #ffb174; font-size: 10px; font-weight: 850; letter-spacing: .025em;
}
.last-session .history-round .history-exercise-name { color: #f7f3df; }
.last-session > .history-actions { margin-top: 18px; }
.history-card-body > .history-rounds { padding-top: 2px; }

@media (max-width: 700px) {
  .cloud-limit-status { width: 100%; min-width: 0; }
  .last-session-heading { align-items: stretch; flex-direction: column; gap: 12px; }
  .last-session-heading .history-set-count { align-self: flex-start; }
  .history-round { grid-template-columns: 1fr; gap: 7px; }
  .history-round h4 { min-height: 36px; place-items: center start; padding: 8px 11px; }
  .last-session .history-round ul,
  .pro-dashboard .history-card .history-round ul { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 460px) {
  .last-session .history-round ul,
  .pro-dashboard .history-card .history-round ul { grid-template-columns: 1fr; }
}
