/* Workout Passport 3.2.1 — theme integration, not a second theme controller.
   lmp-app-preferences-v1:<role>:<uid> and roleAppearance remain authoritative.
   The existing controller writes the palette and color-scheme to <html>.
   Keep the public PT renderer and its iframe preview under the PT's own palette. */

body.wp-modern {
  --wp-surface-border:var(--border);
  --wp-field-background:var(--card);
  --wp-card-shadow:0 3px 16px #00000008;
}
html.dark body.wp-modern {--wp-card-shadow:0 4px 18px #0000001a;}

/* Legacy controls use the same foreground as their surrounding surface. */
body.wp-modern :is(.lmp-platform,.lmp-dialog,.gym-dialog,.gym-theme,.shared-client-app) {
  color:var(--foreground);
}
body.wp-modern :is(.lmp-platform,.lmp-dialog,.gym-dialog,.gym-theme,.shared-client-app)
:is(input,textarea,select):not(:where(.wn-coach-site *,.wn-premium-home *)):not([type=color]) {
  color:var(--foreground);
  caret-color:var(--foreground);
}
body.wp-modern :is(.lmp-platform,.lmp-dialog,.gym-dialog,.gym-theme,.shared-client-app)
:is(input,textarea):not(:where(.wn-coach-site *,.wn-premium-home *))::placeholder {color:var(--muted-foreground);opacity:1;}
body.wp-modern :is(.lmp-platform,.lmp-dialog,.gym-dialog,.gym-theme,.shared-client-app)
:is(input,select,textarea):not(:where(.wn-coach-site *,.wn-premium-home *)):disabled {
  background:var(--muted);color:var(--muted-foreground);opacity:1;
}
body.wp-modern :is(.lmp-language,.lmp-theme-toggle,.choice-trigger,.text-button,.icon-btn) {
  color:var(--foreground);
}
body.wp-modern .start-card p {color:var(--foreground);}
body.wp-modern .lmp-platform .lmp-context-nav :is(a,button):not([aria-current=page]) {
  color:var(--muted-foreground);
}
body.wp-modern :is(.lmp-json,.lmp-original-return) {
  background:var(--secondary);color:var(--foreground);border-color:var(--border);
}
body.wp-modern .lmp-original-return a {color:var(--foreground);text-decoration:underline;}
body.wp-modern .lmp-toast {color:#fff;background:#183e30;}
body.wp-modern .lmp-toast.error {color:#fff;background:#802d38;}

/* App modules: the public .wn-coach-site has inline, independently selected
   --wn-* tokens. Never apply app foreground/background to its descendants. */
body.wp-modern:not(.wp-public-site) :is(.wn-root:not([data-wn-view=pt]):not(.wn-premium-home),dialog.wn-dialog) {
  --wn-ink:var(--foreground);
  --wn-surface:var(--card);
  --wn-accent:var(--primary);
  --wn-accent-ink:var(--primary-foreground);
  color:var(--foreground);
}
body.wp-modern:not(.wp-public-site) :is(.wn-card,.wn-pt-card,.wn-editor-section,.wn-consent,dialog.wn-dialog):not(:where(.wn-coach-site *,.wn-premium-home *)) {
  background:var(--card);color:var(--foreground);border-color:var(--border);
}
body.wp-modern:not(.wp-public-site) :is(.wn-block-editor,.wn-preview,.wn-extension-nav,.wn-billing-metrics>div):not(:where(.wn-coach-site *,.wn-premium-home *)) {
  background:var(--secondary);color:var(--foreground);border-color:var(--border);
}
body.wp-modern:not(.wp-public-site) :is(.wn-muted,.wn-saved,.wn-heading>p:last-child,.wn-field small,.wn-editor-section>p,.wn-billing-metrics dt,.wn-lead):not(:where(.wn-coach-site *,.wn-premium-home *)) {
  color:var(--muted-foreground);
}
body.wp-modern:not(.wp-public-site) :is(.wn-eyebrow,.wn-extension-nav a):not(:where(.wn-coach-site *,.wn-premium-home *)) {color:var(--foreground);}
body.wp-modern:not(.wp-public-site) :is(.wn-badge,.wn-note,.wn-passport-link):not(:where(.wn-coach-site *,.wn-premium-home *)) {
  background:var(--accent);color:var(--foreground);border-color:var(--primary);
}
body.wp-modern:not(.wp-public-site) .wn-note.error:not(:where(.wn-coach-site *,.wn-premium-home *)) {
  background:color-mix(in srgb,var(--destructive) 9%,var(--card));color:var(--foreground);border-color:var(--destructive);
}
body.wp-modern:not(.wp-public-site) .wn-extension-nav :is(a:hover,[aria-current=page]) {background:var(--accent);color:var(--accent-foreground);}
/* These two !important colors match the existing .wn-button contract only. */
body.wp-modern:not(.wp-public-site) :where(.wn-button:not(.secondary):not(:where(.wn-coach-site *,.wn-premium-home *))) {
  color:var(--primary-foreground)!important;
}
body.wp-modern:not(.wp-public-site) :where(.wn-button.secondary:not(:where(.wn-coach-site *,.wn-premium-home *))) {
  background:var(--card);color:var(--foreground)!important;border-color:var(--border);
}
body.wp-modern:not(.wp-public-site) .wn-field :is(input:not([type=checkbox],[type=range],[type=color]),textarea,select):not(:where(.wn-coach-site *,.wn-premium-home *)) {
  background:var(--wp-field-background);color:var(--foreground);border-color:var(--input);
}
body.wp-modern:not(.wp-public-site) .wn-root:not([data-wn-view=pt]):not(.wn-premium-home) :is(a,button,input,textarea,select,summary):not(:where(.wn-coach-site *,.wn-premium-home *)):focus-visible {
  outline:3px solid var(--ring);outline-offset:3px;
}
body.wp-modern:not(.wp-public-site) .wn-root[data-wn-view=la-mia-vetrina]>.wn-language-row {
  background:var(--card);border-color:var(--border);
}
body.wp-modern:not(.wp-public-site) .wn-pricing-table :is(th,td):not(:where(.wn-premium-home *)) {border-color:var(--border);}
body.wp-modern:not(.wp-public-site) .wn-pricing-table th:not(:where(.wn-premium-home *)) {background:var(--secondary);color:var(--foreground);}
body.wp-modern .wp-trainer-sidebar [data-wp-site-shortcut][aria-current=page] {background:var(--accent);color:var(--accent-foreground);}

/* Visual editor chrome. The preview is a separate document with the PT's
   own theme; no CSS filter/inversion is used on photographs, logos or preview. */
body.wp-modern :is(.wn-studio-workspace,.wn-studio-fullscreen) {
  --wn-ink:var(--foreground);--wn-surface:var(--card);
  --wn-accent:var(--primary);--wn-accent-ink:var(--primary-foreground);
  --studio-ink:var(--foreground);--studio-muted:var(--muted-foreground);
  --studio-line:var(--border);--studio-green:var(--primary);
  background:var(--background);color:var(--foreground);
}
body.wp-modern :is(.wn-studio-toolbar,.wn-studio-sidebar,.wn-studio-tabs,.wn-studio-preview-toolbar,.wn-studio-inspector-group) {
  background:var(--card);color:var(--foreground);border-color:var(--border);
}
body.wp-modern :is(.wn-studio-stage,.wn-studio-devices,.wn-upload-preview) {
  background:var(--secondary);border-color:var(--border);
}
body.wp-modern :is(.wn-studio-mark,.wn-studio-publication,.wn-studio-section-icon,.wn-studio-message,.wn-studio-tip,.wn-studio-public-link) {
  background:var(--accent);color:var(--foreground);border-color:var(--border);
}
body.wp-modern .wn-studio-message.error {background:color-mix(in srgb,var(--destructive) 9%,var(--card));color:var(--foreground);}
body.wp-modern .wn-studio-message.success {background:var(--accent);color:var(--foreground);}
body.wp-modern :is(.wn-studio-saved,.wn-studio-panel-heading p:not(.wn-studio-kicker),.wn-studio-panel-section>p,.wn-studio-small,.wn-studio-kicker,.wn-studio-section-label small,.wn-studio-canvas-hint,.wn-studio-stage-note,.wn-studio-template-caption small,.wn-studio-preview-toolbar>span,.wn-studio-tip p,.wn-upload>small) {
  color:var(--muted-foreground);
}
body.wp-modern .wn-studio-saved[data-dirty] {color:var(--foreground);}
body.wp-modern :is(.wn-studio-panel-heading h2,.wn-studio-inspector-heading h2,.wn-studio-panel-section h3,.wn-studio-panel-label,.wn-studio-template-caption strong,.wn-studio-tip strong,.wn-studio-inspector-content>h3,.wn-studio-inspector-group>summary,.wn-studio-block-inspector>summary,.wn-studio-controls .wn-field,.wn-studio-tab>span>span) {
  color:var(--foreground);
}
body.wp-modern .wn-studio-controls :is(.wn-field>small,.wn-field>div>small) {color:var(--muted-foreground);}
body.wp-modern .wn-studio-title h1 {color:var(--foreground)!important;}
/* Narrow overrides for legacy editor declarations already marked !important. */
body.wp-modern .wn-studio-section-button,
body.wp-modern .wn-studio-templates .wn-studio-template {
  background:var(--card)!important;border-color:var(--border)!important;
}
body.wp-modern .wn-studio-controls :is(input:not([type=checkbox]):not([type=range]):not([type=color]),textarea,select) {
  background:var(--card)!important;border-color:var(--input)!important;color:var(--foreground);
}
body.wp-modern .wn-studio-controls :is(input[type=color],.wn-block-editor:not(.wn-studio-block-inspector)),
body.wp-modern .wn-studio-public-link>input {
  background:var(--card);color:var(--foreground);border-color:var(--input);
}
body.wp-modern .wn-studio-controls input[type=file]::file-selector-button {
  background:var(--secondary);color:var(--foreground);border-color:var(--border);
}
body.wp-modern .wn-studio-tabs .wn-studio-tab {color:var(--muted-foreground)!important;}
body.wp-modern .wn-studio-tabs .wn-studio-tab[aria-pressed=true] {
  background:var(--accent)!important;color:var(--accent-foreground)!important;
}
body.wp-modern .wn-studio-tabs .wn-studio-tab[aria-pressed=true]>span>span {color:inherit;}
body.wp-modern .wn-studio-devices .wn-button {color:var(--muted-foreground)!important;}
body.wp-modern .wn-studio-devices .wn-button[aria-pressed=true] {
  background:var(--card)!important;color:var(--foreground)!important;
}
body.wp-modern .wn-studio-toolbar-actions>.wn-button:last-child {
  background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)!important;
}
body.wp-modern .wn-studio-controls :is(input,textarea,select):focus-visible {outline:3px solid var(--ring);outline-offset:3px;}
body.wp-modern .wn-studio-controls .wn-block-editor>summary {color:var(--foreground);}
body.wp-modern .wn-studio-controls .wn-block-editor:not(.wn-studio-block-inspector) {border-color:var(--border)!important;}
body.wp-modern .wn-upload {border-color:var(--border);}

/* Native form popups follow the resolved root scheme. Public PT documents have
   their own palette; do not recolor a custom public page from an app preference. */
body.wp-public-site .wn-coach-site {color-scheme:normal;}
@media (forced-colors:active) {
  body.wp-modern :is(.wn-studio-publication,.wn-badge,.wn-button,.lmp-button,.btn) {border:1px solid ButtonText;}
}

body.wp-modern :is(.wn-studio-workspace,.wn-studio-preview-toolbar) .wn-button.secondary {background:var(--card);border-color:var(--border);color:var(--foreground)!important;}
body.wp-modern .wn-studio-workspace .wn-button.secondary:hover {background:var(--accent);border-color:var(--border);}

/* Schede: these legacy panels used undefined --lmp-card / --panel tokens,
   falling back to white even when the account theme supplies light text. */
body.wp-modern :is(.wp-ai-general,.wp-quick-sets){background:var(--card);color:var(--foreground);border-color:var(--border)}
body.wp-modern :is(.wp-ai-general,.wp-ai-block-selection,.wp-ai-provider-choice){--lmp-card:var(--card);--lmp-border:var(--border);--lmp-text:var(--foreground);--lmp-muted:var(--muted-foreground)}
body.wp-modern :is(.wp-ai-general,.wp-quick-sets) :is(input,textarea,select){background:var(--background);color:var(--foreground);border-color:var(--border)}
body.wp-modern :is(.wp-ai-general,.wp-quick-sets) :is(.lmp-muted,.muted,small){color:var(--muted-foreground)}
body.wp-modern .delivery-schedule-review p{border-color:var(--border)}
