/* Workout Passport — adaptive Studio refresh. Integrated in preview.3-completo, activated by body.wp-modern.
   Existing markup, functionality, semantic states and trainer branding remain intact.
   Public PT sites/editor keep their own scoped style and custom theme. */
body.wp-modern {
  /* Colors inherit from the existing account/role theme controller on <html>.
     Redeclaring them here would mask both dark mode and the selected accent. */
  --radius:1rem;
  --wp-font-stack:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --wp-card-radius:20px; --wp-card-shadow:0 3px 16px #162b1f04;
  --wp-surface-border:var(--border);
  margin:0; background:var(--background); color:var(--foreground);
  font-family:var(--wp-font-stack); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
body.wp-modern :is(.lmp-platform,.lmp-embedded-workspace,.gym-theme,.gym-dialog,.lmp-dialog,.shared-client-app) {
  --wp-density-gap:20px; --wp-density-card:24px;
  --wp-surface-border:var(--border); --wp-card-shadow:0 3px 16px #162b1f04;
  font-size:16px; line-height:1.55;
}
body.wp-modern :is(.lmp-platform,.gym-theme,.shared-client-app) { background:var(--background); }
body.wp-modern :is(.lmp-platform,.gym-theme,.lmp-embedded-workspace,.gym-dialog,.lmp-dialog) :is(button,input,select,textarea) {font-family:var(--wp-font-stack);}
body.wp-modern :is(.lmp-platform,.gym-theme,.lmp-embedded-workspace,.gym-dialog,.lmp-dialog) :is(button,a,input,select,textarea):not(.wn-coach-site *):focus-visible {outline:3px solid var(--ring);outline-offset:3px;}

/* Application chrome: the WP logo stays authentic; green becomes an accent. */
body.wp-modern .lmp-platform .lmp-header {
  background:var(--card); color:var(--foreground); border-bottom:1px solid var(--border);
  min-height:82px; padding:16px 32px; box-shadow:none;
}
body.wp-modern .lmp-header .lmp-brand {gap:12px;color:var(--foreground);letter-spacing:-.045em;}
body.wp-modern .lmp-header .lmp-brand strong {font-size:21px;font-weight:780;line-height:1.25;}
body.wp-modern .lmp-header .lmp-brand img {width:43px;height:43px;}
body.wp-modern .lmp-header .lmp-mode {color:var(--muted-foreground);font-size:12px;letter-spacing:0;line-height:1.5;}
body.wp-modern .lmp-header :is(.lmp-button,.lmp-header-button,.lmp-profile-trigger,.lmp-language-trigger) {border-color:var(--border);box-shadow:none;}
body.wp-modern .lmp-header :is(.lmp-button.secondary,.lmp-profile-trigger,.lmp-language-trigger) {background:var(--secondary);color:var(--foreground);}
body.wp-modern .lmp-platform :is(.wp-trainer-nav-link,.wp-trainer-nav-toggle) {min-height:47px;border-radius:10px;font-size:14px;font-weight:610;padding:12px 14px;color:var(--muted-foreground);}
body.wp-modern .lmp-platform :is(.wp-trainer-nav-link,.wp-trainer-nav-toggle):hover {background:var(--accent);color:var(--foreground);}
body.wp-modern .lmp-platform .wp-trainer-nav-link:is(.active,[aria-current="page"]) {background:var(--accent);border-color:var(--border);color:var(--accent-foreground);box-shadow:none;font-weight:750;}
body.wp-modern .wp-trainer-navigation-eyebrow {font-size:10px;letter-spacing:.12em;font-weight:750;color:var(--muted-foreground);margin:18px 14px 8px;}
body.wp-modern .lmp-platform .lmp-nav a {border-radius:10px;min-height:47px;color:var(--muted-foreground);font-weight:600;}
body.wp-modern .lmp-platform .lmp-nav a.active {background:var(--accent);color:var(--accent-foreground);box-shadow:none;font-weight:750;}
body.wp-modern .wp-trainer-nav-link img.wp-visual-icon {width:23px;height:23px;}
body.wp-modern .lmp-context-nav {gap:8px;border-bottom:1px solid var(--border);padding-bottom:17px;margin-bottom:28px;}
body.wp-modern .lmp-context-nav :is(a,button) {border-radius:9px;font-size:14px;}

/* Clearer page rhythm with large titles and restrained surfaces. */
body.wp-modern :is(.lmp-route,.lmp-embedded-workspace,.gym-theme,.shared-client-main)[class] h1:not(.wn-root h1) {
  font-size:clamp(29px,3vw,39px);font-weight:760;line-height:1.15;letter-spacing:-.045em;
}
body.wp-modern :is(.lmp-route,.lmp-embedded-workspace,.gym-theme,.shared-client-main)[class] h2:not(.wn-root h2) {
  font-size:20px;line-height:1.35;letter-spacing:-.025em;font-weight:730;
}
body.wp-modern :is(.lmp-route,.lmp-embedded-workspace,.gym-theme,.shared-client-main)[class] h3:not(.wn-root h3) {
  font-size:17px;line-height:1.4;letter-spacing:-.015em;font-weight:700;
}
body.wp-modern .lmp-page-title {margin-bottom:30px;}
body.wp-modern .page-heading {align-items:flex-start;margin-bottom:28px;gap:24px;}
body.wp-modern :is(.lmp-page-title,.page-heading) p {color:var(--muted-foreground);max-width:65ch;font-size:16px;line-height:1.6;}
body.wp-modern .lmp-platform .lmp-route .lmp-card,
body.wp-modern :is(.lmp-embedded-workspace,.gym-theme) :is(.panel,.plan-card,.stat-card,.pt-client-card,.pt-assignment-card,.session-entry,.exercise-card,.import-session,.share-delivery,.share-new-delivery) {
  border:1px solid var(--border); border-radius:20px;box-shadow:0 3px 16px #162b1f04;
}
body.wp-modern .lmp-platform .lmp-route .lmp-card {padding:24px;gap:18px;margin-block:18px;}
body.wp-modern :is(.lmp-embedded-workspace,.gym-theme) :is(.panel,.plan-card,.pt-client-card) {padding:24px;}
body.wp-modern :is(.lmp-embedded-workspace,.gym-theme) :is(.dashboard-grid,.plan-grid,.progress-grid,.settings-grid,.exercise-grid,.form-stack,.form-grid) {gap:20px;}
body.wp-modern .section-title {gap:14px;margin-bottom:20px;}
body.wp-modern :is(.lmp-muted,.muted) {color:var(--muted-foreground);line-height:1.6;}
body.wp-modern :is(.lmp-card,.panel,.plan-card) :is(hr) {border-color:var(--border);}

/* Actions retain primary/secondary/danger distinctions. */
body.wp-modern .lmp-platform .lmp-button,
body.wp-modern .lmp-dialog .lmp-button,
body.wp-modern :is(.lmp-embedded-workspace,.gym-theme,.gym-dialog) .btn {
  border-radius:11px;min-height:46px;padding:12px 18px;font-size:15px;
  font-weight:680;line-height:1.35;letter-spacing:-.015em;box-shadow:none;
  /* Switch foreground and background together: fading only the background
     produces unreadable intermediate frames when the theme changes. */
  transition:transform .15s,box-shadow .15s;
}
body.wp-modern :is(.lmp-platform,.lmp-dialog) .lmp-button:not(.secondary):not(.danger):not(.ghost) {background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);}
body.wp-modern :is(.lmp-platform,.lmp-dialog) .lmp-button.secondary,
body.wp-modern :is(.lmp-embedded-workspace,.gym-theme,.gym-dialog) .btn.secondary {border-color:var(--border);background:var(--card);color:var(--foreground);}
body.wp-modern :is(.lmp-platform,.lmp-dialog) .lmp-button.danger,
body.wp-modern :is(.lmp-embedded-workspace,.gym-theme,.gym-dialog) .btn.danger {border-color:var(--destructive);background:var(--card);color:var(--destructive);}
body.wp-modern :is(.lmp-embedded-workspace,.gym-theme,.gym-dialog) .text-button {font-size:14px;border-radius:9px;min-height:42px;}
body.wp-modern :is(.lmp-embedded-workspace,.gym-theme,.gym-dialog) .icon-btn {border-radius:11px;min-width:44px;min-height:44px;}
body.wp-modern :is(.lmp-platform,.lmp-dialog,.lmp-embedded-workspace,.gym-theme,.gym-dialog) :is(.lmp-button,.btn):not(:disabled):hover {filter:brightness(.97);}
body.wp-modern :is(.lmp-platform,.lmp-dialog,.lmp-embedded-workspace,.gym-theme,.gym-dialog) :is(.lmp-button,.btn):disabled {opacity:.5;cursor:not-allowed;}

/* Inputs: large, quiet, legible at normal zoom. */
body.wp-modern :is(.lmp-platform,.lmp-dialog) .lmp-field {gap:8px;font-size:14px;font-weight:600;margin-block:17px;}
body.wp-modern :is(.lmp-platform,.lmp-dialog) .lmp-field :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea),
body.wp-modern :is(.lmp-embedded-workspace,.gym-theme,.gym-dialog) .field :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) {
  background:var(--card);color:var(--foreground);border:1px solid var(--input);border-radius:10px;font-size:16px;font-weight:450;min-height:48px;line-height:1.5;
}
body.wp-modern :is(.lmp-field,.field)>span {color:var(--foreground);font-size:14px;line-height:1.5;}
body.wp-modern :is(.lmp-field,.field) textarea {padding:13px 15px;}
body.wp-modern :is(.lmp-field,.field) input[type=checkbox] {accent-color:var(--primary);}

/* PT overview and athlete home keep the same information, with visual hierarchy. */
body.wp-modern .wp-pt-home {gap:24px;}
body.wp-modern .wp-pt-home-heading {padding:4px 0 3px;}
body.wp-modern .wp-pt-home-counters {gap:16px;}
body.wp-modern .wp-pt-home-counter {background:var(--card);border-color:var(--border);border-radius:16px;min-height:112px;padding:20px;gap:16px;}
body.wp-modern .wp-pt-home-counter-value {font-size:32px;line-height:1.15;font-weight:760;letter-spacing:-.05em;}
body.wp-modern .wp-pt-home-counter small {font-size:12px;color:var(--muted-foreground);}
body.wp-modern .wp-pt-home-icon {background:var(--accent);color:var(--accent-foreground);border-radius:12px;}
body.wp-modern .lmp-platform .lmp-route .lmp-card.wp-pt-home-panel {padding:24px;border-radius:20px;gap:17px;}
body.wp-modern .wp-pt-home-grid {gap:20px;}
body.wp-modern .wp-pt-home-row {padding-block:16px;border-color:var(--border);}
body.wp-modern .wp-pt-home-quick {gap:12px;}
body.wp-modern .wp-pt-home-quick>a {font-size:14px;min-height:61px;padding:15px;border-color:var(--border);border-radius:12px;}
body.wp-modern .wp-pt-home-resume {background:var(--accent);border-color:var(--border);border-radius:16px;padding:18px;}
body.wp-modern :is(.lmp-home-primary,.start-card) {background:var(--accent);border:1px solid var(--border);border-radius:20px;padding:30px;color:var(--foreground);}
body.wp-modern .lmp-home-primary h2 {font-size:30px;letter-spacing:-.04em;line-height:1.15;}
body.wp-modern .stat-card {border-radius:16px;padding:22px;}
body.wp-modern :is(.plan-icon,.pt-avatar) {background:var(--accent);border-radius:14px;color:var(--accent-foreground);}
body.wp-modern .plan-card h2 {font-size:21px;letter-spacing:-.025em;}
body.wp-modern .plan-actions {gap:10px;padding-top:8px;}
body.wp-modern .plan-entry {padding:18px;border-radius:15px;border-color:var(--border);}
body.wp-modern .day-panel {border-radius:18px;}
body.wp-modern .day-tab {border-radius:10px;}
body.wp-modern .workout-set {border-radius:11px;border-color:var(--border);}
body.wp-modern .wp-ai-proposal-card {border-radius:16px;box-shadow:none;}
body.wp-modern .wp-ai-settings {background:var(--secondary);border-radius:16px;border-color:var(--border);}
body.wp-modern .settings-shortcuts>.btn {border-radius:15px;background:var(--card);border-color:var(--border);min-height:100px;}
body.wp-modern .toggle-row {padding-block:20px;border-bottom-color:var(--border);}
body.wp-modern .lmp-dialog,body.wp-modern .gym-dialog {border-radius:22px;border:1px solid var(--border);box-shadow:0 24px 85px #10281926;}
body.wp-modern .lmp-dialog::backdrop,body.wp-modern .gym-dialog::backdrop {background:#12281c55;backdrop-filter:blur(3px);}

@media (min-width:1024px) {
  body.wp-modern .lmp-platform .lmp-shell,
  body.wp-modern .lmp-platform[data-trainer-workspace=true] .lmp-shell {width:100%;max-width:1740px;grid-template-columns:226px minmax(0,1fr);padding-inline:0;}
  body.wp-modern .lmp-platform .lmp-main,
  body.wp-modern .lmp-platform[data-trainer-workspace=true] .lmp-main {padding:35px 38px 64px;}
  body.wp-modern .lmp-platform .wp-trainer-navigation {align-self:stretch;background:var(--card);border-right:1px solid var(--border);top:82px;}
  body.wp-modern .wp-trainer-sidebar {padding:22px 13px 30px;max-height:calc(100dvh - 84px);}
  body.wp-modern .lmp-platform .wp-navigation-frame>.lmp-nav {padding:28px 14px;}
  body.wp-modern .lmp-platform:not([data-trainer-workspace=true]) .wp-navigation-frame {background:var(--card);border-right:1px solid var(--border);}
  body.wp-modern .lmp-platform .lmp-nav a {font-size:14px;padding:12px 14px;}
  body.wp-modern .page-content {max-width:1540px;padding:36px 40px 68px;}
  body.wp-modern #lmp-engine-host .page-content {max-width:none;padding:0;}
  body.wp-modern .wp-pt-home-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.wp-modern .plan-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (min-width:1500px) {
  body.wp-modern .lmp-platform .lmp-main {padding-inline:48px;}
  body.wp-modern .lmp-platform .lmp-header {padding-inline:max(32px,calc((100vw - 1676px)/2));}
}
@media (min-width:721px) and (max-width:1023px) {
  /* Trainer navigation uses three full-width rows in responsive-workspace.
     Only the other workspaces retain a sidebar at this breakpoint. */
  body.wp-modern .lmp-platform:not([data-trainer-workspace=true]) .lmp-shell {grid-template-columns:190px minmax(0,1fr);}
  body.wp-modern .lmp-platform .lmp-main {padding:28px 22px 60px;}
  body.wp-modern .lmp-header {padding-inline:22px;}
  body.wp-modern .page-content {padding:26px 24px 100px;}
}
@media (max-width:720px) {
  body.wp-modern .lmp-platform .lmp-header {padding:14px 16px;min-height:76px;gap:10px;}
  body.wp-modern .lmp-header .lmp-brand {gap:9px;}
  body.wp-modern .lmp-header .lmp-brand strong {font-size:18px;}
  body.wp-modern .lmp-header .lmp-brand img {width:37px;height:37px;}
  body.wp-modern .lmp-header .lmp-mode {font-size:11px;}
  body.wp-modern :is(.lmp-platform,.lmp-embedded-workspace,.gym-theme) {--wp-density-gap:16px;--wp-density-card:19px;}
  body.wp-modern .lmp-platform .lmp-main {padding:24px 17px calc(112px + env(safe-area-inset-bottom));}
  body.wp-modern .page-content {padding:24px 17px 110px;}
  body.wp-modern .lmp-platform .lmp-route .lmp-card {padding:20px;gap:16px;margin-block:16px;}
  body.wp-modern :is(.lmp-embedded-workspace,.gym-theme) :is(.panel,.plan-card,.pt-client-card) {padding:20px;}
  body.wp-modern :is(.lmp-route,.lmp-embedded-workspace,.gym-theme,.shared-client-main)[class] h1:not(.wn-root h1) {font-size:29px;}
  body.wp-modern .lmp-platform .lmp-route .lmp-card.wp-pt-home-panel {padding:20px;}
  body.wp-modern .wp-pt-home-counter {min-height:98px;gap:11px;padding:16px;border-radius:15px;}
  body.wp-modern .wp-pt-home-counter-value {font-size:27px;}
  body.wp-modern .wp-pt-home-quick>a {font-size:14px;}
  body.wp-modern .wp-pt-home-grid {gap:16px;}
  body.wp-modern .lmp-context-nav {gap:7px;margin-bottom:22px;padding-bottom:14px;}
  body.wp-modern :is(.lmp-home-primary,.start-card) {padding:24px;}
  body.wp-modern .lmp-home-primary h2 {font-size:27px;}
  body.wp-modern .lmp-platform .wp-navigation-frame {border-top:1px solid var(--border);box-shadow:0 -4px 22px #16392305;background:var(--card);}
  body.wp-modern .lmp-platform .lmp-nav a {border-radius:12px;font-size:11px;min-height:62px;}
  body.wp-modern .lmp-platform .lmp-nav a.active {background:var(--accent);box-shadow:inset 0 3px var(--primary);}
  body.wp-modern .lmp-platform .lmp-nav a img.wp-visual-icon {width:25px;height:25px;}
  body.wp-modern .lmp-page-title,.page-heading {margin-bottom:23px;}
}
@media (max-width:380px) {
  body.wp-modern .lmp-platform .lmp-header {padding-inline:12px;}
  body.wp-modern .lmp-header .lmp-brand strong {font-size:16px;}
  body.wp-modern .lmp-header .lmp-brand img {width:32px;height:32px;}
  body.wp-modern .lmp-platform .lmp-main {padding-inline:12px;}
  body.wp-modern .lmp-platform .lmp-route .lmp-card {padding:17px;}
  body.wp-modern .wp-pt-home-counter {padding:14px;}
}
@media (prefers-reduced-motion:reduce) {
  body.wp-modern :is(.lmp-platform,.gym-theme,.lmp-embedded-workspace) :is(button,a) {transition:none!important;}
}

/* Screenshot QA: sidebar labels wrap only at word boundaries, even in a 226px rail. */
body.wp-modern .lmp-platform :is(.wp-trainer-nav-link,.wp-trainer-nav-toggle) {
  gap:8px;padding-inline:10px;font-size:14px;letter-spacing:-.01em;
}
body.wp-modern .lmp-platform :is(.wp-trainer-nav-link,.wp-trainer-nav-toggle)>span:not(.wp-trainer-nav-chevron) {
  overflow-wrap:normal;word-break:normal;white-space:normal;hyphens:none;
  min-width:0;flex:1 1 auto;line-height:1.4;
}
body.wp-modern .lmp-platform .wp-trainer-nav-chevron {flex:0 0 16px;width:16px;min-width:16px;margin-left:0;}
body.wp-modern .wp-trainer-tree :is(.wp-trainer-nav-link,.wp-trainer-nav-toggle)>:is(img,svg) {width:22px;height:22px;flex:0 0 22px;}
body.wp-modern .lmp-platform .lmp-context-nav [aria-current="page"] {background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)!important;}
body.wp-modern .lmp-platform .lmp-context-nav [aria-current="page"]>span {color:inherit!important;}

/* Screenshot QA: action labels wrap between words, never inside “Elimina”. */
body.wp-modern :is(button,.btn,.lmp-button,.text-button,.wn-button) {
  overflow-wrap:normal;word-break:normal;hyphens:none;
}
body.wp-modern .plan-card .wp-plan-card-actions {
  grid-template-columns:minmax(0,1.45fr) minmax(90px,1fr);gap:8px;
}
body.wp-modern .plan-card .wp-plan-card-actions>.btn {
  padding:10px 8px;font-size:14px;line-height:1.35;gap:6px;
}
body.wp-modern .plan-card .wp-plan-card-actions>.btn>svg {width:17px;height:17px;flex:none;}
