/*
 * Update 114 — one MoveU web product.
 * Explicit module surfaces only: no native app, onboarding, editorial pages,
 * third-party Coach contents or blanket "card" selectors.
 */
html:not([data-moveu-native-app]) body.moveu-web-product {
  --mu-web-product-ink:#102b53;
  --mu-web-product-muted:#647482;
  --mu-web-product-line:#dfe8e9;
  --mu-web-product-canvas:#f7fafb;
  --mu-web-product-soft:#eef7f4;
  --mu-web-product-accent:#28796e;
  --mu-web-product-font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mu-web-product-title:40px;
  --mu-web-product-section:24px;
  --mu-web-product-radius:24px;
  --mu-web-product-inset:24px;
  --mu-web-product-gap:24px;
  --mu-web-product-gutter:32px;
  --mu-web-product-shadow:0 4px 18px rgba(16,43,83,.025);
  background:var(--mu-web-product-canvas)!important;
}

/* A shared page rhythm; the conversation retains a comfortable reading width. */
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main:is(
  .mu-overview-main,.mu-checklist-list-main,.mu-calendar-main,.mu-budget-main,
  .mu-services-main,.mu-services-lock-main,.mu-storefront-main,.mu-coach-shell-main,
  .mu-demo-coach-main,.mu-collab-main,.mu-profile-main,.mu-ws
) {
  box-sizing:border-box;
  width:min(1200px,calc(100% - var(--mu-web-product-gutter) * 2))!important;
  max-width:1200px!important;
  min-width:0;
  margin:0 auto!important;
  padding:40px 0 calc(64px + env(safe-area-inset-bottom))!important;
  font-family:var(--mu-web-product-font);
  color:var(--mu-web-product-ink);
}
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main:is(.mu-coach-shell-main,.mu-demo-coach-main) {
  max-width:1000px!important;
}
/* Workspace renders its footer beside main; keep the same content edges. */
html:not([data-moveu-native-app]) body.moveu-web-product > .mu-app-legal-footer {
  box-sizing:border-box;
  width:min(1200px,calc(100% - var(--mu-web-product-gutter) * 2));
  margin:32px auto 0;
}
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  .mu-cl-title,.mu-ov-welcome h1,.mu-budget-intro h1,.mu-cal-heading h1,
  .mu-sl-intro h1,.mu-sv-hero h1,.mu-sf-intro h1,.mu-coach-hero h1,
  .mu-demo-coach-hero h1,.mu-collab-intro h1,.mu-profile-intro h1,.mu-ws-head h1,
  .mu-ws > h1
) {
  font-family:var(--mu-web-product-font)!important;
  font-size:var(--mu-web-product-title)!important;
  font-weight:700!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  color:var(--mu-web-product-ink)!important;
  text-wrap:balance;
  overflow-wrap:break-word;
}
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  .mu-budget-intro,.mu-cal-heading,.mu-sl-intro,.mu-sf-intro,
  .mu-collab-intro,.mu-profile-intro,.mu-ws-head
) { margin:0 0 32px!important; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  .mu-budget-intro h1,.mu-cal-heading h1,.mu-sl-intro h1,.mu-sf-intro h1,
  .mu-collab-intro h1,.mu-profile-intro h1,.mu-ws-head h1
) { margin:0 0 10px!important; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  .mu-budget-intro p,.mu-cal-heading p,.mu-sl-intro p,.mu-sf-intro p,
  .mu-collab-intro p,.mu-profile-intro p,.mu-ws-head p,.mu-coach-hero__copy>p,
  .mu-sv-hero__copy>p,.mu-demo-coach-hero p
) { max-width:64ch; font-size:16px!important; line-height:1.55!important; color:var(--mu-web-product-muted); }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  .mu-cl-section__head,.mu-budget-section>.mu-section-header h2,
  .mu-cal-section h2,.mu-cal-key-dates>h2,.mu-sl-section-head h2,.mu-sf-section-title h2,
  .mu-services-checks__header h2,.mu-sv-section-title h2,
  .mu-collab-card h2,.mu-profile-card h2,.mu-coach-suggestions__head h2,
  .mu-demo-coach-scenario h2,.mu-demo-coach-continue h2,.mu-ws-toolbar h2
) { font-family:var(--mu-web-product-font)!important; font-size:var(--mu-web-product-section)!important; font-weight:650!important; line-height:1.2!important; letter-spacing:-.025em!important; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  .mu-overview,.mu-checklist-list,.mu-budget,.mu-calendar,.mu-services-lock,
  .mu-services-v8,.mu-sf,.mu-profile,.mu-collab,.mu-coach-shell,.mu-demo-coach
) { min-width:0; max-width:100%; }

/* Consistent top-level surfaces. Nested task rows and calendar cells stay compact. */
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  .mu-ov-card,.mu-cl-progress,.mu-cl-current,.mu-cal-key-dates,.mu-cal-month,
  .mu-summary-card,.mu-budget-plan,.mu-budget-check,.mu-upcoming-card,
  .mu-budget-block--coach,.mu-sf-hero,.mu-sf-banner-card,.mu-sf-item,
  .mu-sl-recommendation-open,.mu-sl-card,.mu-services-check-card,.mu-sv-hero,.mu-sv-card,
  .mu-sv-banner-card,.mu-collab-card,.mu-collab-team-card,.mu-collab-quicklinks,
  .mu-profile-card,.mu-coach-companion,.mu-coach-suggestion,
  .mu-demo-coach-hero,.mu-demo-chat,.mu-demo-coach-continue>div>a,
  .mu-ws-area
) { border-radius:var(--mu-web-product-radius)!important; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  .mu-ov-card,.mu-cal-month,.mu-summary-card,.mu-upcoming-card,
  .mu-sl-card,.mu-sf-item,.mu-sv-card,.mu-collab-card,.mu-profile-card,
  .mu-demo-chat,.mu-ws-area
) { border-color:var(--mu-web-product-line); box-shadow:var(--mu-web-product-shadow); }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  .mu-ov-card,.mu-cal-key-dates,.mu-cal-month,.mu-summary-card,.mu-collab-card,
  .mu-collab-team-card,.mu-profile-card,.mu-coach-companion,.mu-demo-coach-hero,
  .mu-demo-chat,.mu-ws-area
) { padding:var(--mu-web-product-inset); }

/* Overview: readable metrics, real next actions, paired cards of equal width. */
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-ov-status { gap:var(--mu-web-product-gap); margin:28px 0 32px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-ov-sections { gap:var(--mu-web-product-gap); }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-ov-card h3 { font-size:24px; font-weight:650; line-height:1.2; letter-spacing:-.025em; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-ov-card p { font-size:15px; line-height:1.5; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-ov-card__main { gap:16px; }

/* Checklist: current action remains in view under the measured fixed header. */
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-cl-title { margin:0 0 8px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-cl-sections { gap:var(--mu-web-product-gap); }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-cl-progress { padding:var(--mu-web-product-inset); }

/* Calendar keeps its seven columns and local scrolling, including long labels. */
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-cal-key-date-grid { gap:16px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-cal-key-date { border-radius:16px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-cal-key-dates { margin-bottom:24px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-cal-rows { gap:10px; }

/* Budget: summary and category list align without hiding detail or controls. */
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-budget-content { gap:var(--mu-web-product-gap); }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-budget-top-grid { gap:16px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(.mu-budget-plan,.mu-budget-check,.mu-upcoming-card,.mu-budget-block--coach) { padding:var(--mu-web-product-inset); }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-category-list { border-radius:var(--mu-web-product-radius); }

/* Services and store: one catalog rhythm, artwork still belongs to its card. */
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(.mu-sl-grid,.mu-sf-store-grid) { gap:20px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sl-card-open { padding:12px; border-radius:inherit; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sl-card-copy { padding:12px 4px 4px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sl-card-copy>strong { font-size:17px; font-weight:600; line-height:1.35; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sf-item__body { padding:16px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sf-item h3 { font-size:17px; font-weight:600; line-height:1.35; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sf-item__visual { margin:10px 10px 0; border-radius:16px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(.mu-sl-section-head,.mu-sf-section-title) { margin:28px 0 16px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-services-checks__header { margin-bottom:16px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sv-hero { padding:32px; min-height:300px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sv-hero__copy { min-height:236px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sv-hero h1 { max-width:16ch; margin:12px 0 16px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sv-hero__priority { min-height:48px; box-shadow:none!important; }

/* Together, profile and workspace: calmer groups, generous text and controls. */
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(.mu-collab-content,.mu-profile-grid,.mu-ws-hub) { gap:var(--mu-web-product-gap); }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-collab-card header { margin-bottom:20px; gap:12px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-collab-invite p { font-size:15px; line-height:1.5; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-collab-task { min-height:64px; padding:12px; border-radius:14px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-collab-task__copy strong { font-size:14px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-collab-task__copy span { font-size:12px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-ws-area { min-height:180px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-ws-layout { gap:32px; }

/* Coach: consistent surroundings, no typography overrides inside AI Engine. */
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-coach-suggestions__grid { gap:16px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-coach-suggestion { padding:20px!important; min-height:128px!important; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-coach-companion { margin-top:24px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-coach-suggestions { margin-top:32px; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-demo-coach-continue>div { gap:16px; }

/* Primary actions have a quiet, stable hover and an unmistakable focus ring.
   State colors, destructive buttons, circular controls and text links stay local. */
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  .mu-ov-cta,.mu-cal-primary,.mu-collab-button-primary,
  .mu-profile-button-primary,.mu-ws-button.is-primary
) { min-height:48px; border-radius:14px; font-weight:600; transition:background-color .18s ease,box-shadow .18s ease; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  .mu-cal-primary,.mu-collab-button-primary,
  .mu-profile-button-primary,.mu-ws-button.is-primary
) { background:#102b53; color:#fff!important; -webkit-text-fill-color:#fff!important; }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  .mu-cal-primary,.mu-collab-button-primary,
  .mu-profile-button-primary,.mu-ws-button.is-primary
):hover:not(:disabled) { background:#193d69; color:#fff!important; transform:none; box-shadow:0 3px 10px rgba(16,43,83,.1); }
html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
  button,a,input,select,textarea,summary,[tabindex]
):focus-visible { outline:2px solid #28796e!important; outline-offset:4px!important; }

@media (min-width:1024px) {
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-cl-current { top:calc(var(--mu-web-offset,72px) + 24px); }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(.mu-sl-grid,.mu-sf-store-grid) { grid-template-columns:repeat(4,minmax(0,1fr)); }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-cal-key-date-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:1023px) {
  html:not([data-moveu-native-app]) body.moveu-web-product { --mu-web-product-gutter:24px; --mu-web-product-title:36px; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main:is(.mu-app-main,.mu-ws) { padding-top:32px!important; }
}
@media (max-width:767px) {
  html:not([data-moveu-native-app]) body.moveu-web-product {
    --mu-web-product-gutter:20px;
    --mu-web-product-title:32px;
    --mu-web-product-section:22px;
    --mu-web-product-radius:20px;
    --mu-web-product-inset:20px;
    --mu-web-product-gap:16px;
  }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main:is(.mu-app-main,.mu-ws) { padding-top:24px!important; padding-bottom:calc(96px + env(safe-area-inset-bottom))!important; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(.mu-budget-intro,.mu-cal-heading,.mu-sl-intro,.mu-sf-intro,.mu-collab-intro,.mu-profile-intro,.mu-ws-head) { margin-bottom:24px!important; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-ov-card h3 { font-size:21px; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-ov-card p { font-size:14px; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(.mu-sl-grid,.mu-sf-store-grid) { gap:12px; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(.mu-sl-card-open,.mu-sf-item__body) { padding:12px; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(.mu-sl-card-copy>strong,.mu-sf-item h3) { font-size:15px; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sf-item__visual { margin:8px 8px 0; border-radius:12px; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-cal-month { padding:16px 10px; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-cal-key-date-grid { gap:12px; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-coach-suggestions__grid { gap:12px; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-coach-suggestion { padding:16px!important; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sv-hero { min-height:0; padding:24px 20px; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sv-hero__copy { min-height:0; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-sv-hero h1 { max-width:14ch; }
}
@media (max-width:374px) {
  html:not([data-moveu-native-app]) body.moveu-web-product { --mu-web-product-gutter:16px; --mu-web-product-inset:16px; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-demo-coach-hero { grid-template-columns:1fr; }
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main .mu-demo-coach-hero img { max-width:120px; justify-self:center; }
}
@media (prefers-reduced-motion:reduce) {
  html:not([data-moveu-native-app]) body.moveu-web-product #moveu-app-main :is(
    .mu-ov-cta,.mu-cal-primary,.mu-collab-button-primary,
    .mu-profile-button-primary,.mu-ws-button.is-primary
  ) { transition:none; }
}
