/* Shared panel geometry. Tailwind viewport utilities on the explorer own the
   size tokens; the established map, chat and dialogs keep their existing UI. */
.mmm-public-territory-page > .mmm-public-territory-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
}
.mmm-public-territory-page > .mmm-public-territory-header.is-private-market-map {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
}
.mmm-workspace-slot { display: block; min-width: 0; }
.mmm-workspace-selector { position: relative; min-width: 0; color: #0f1115; }
.mmm-workspace-selector > summary {
  display: flex; align-items: center; gap: .5rem; min-height: 2.5rem; height: 2.5rem;
  padding: .25rem .65rem; border: 1px solid #ded8cd; border-radius: .75rem;
  background: #fff; cursor: pointer; list-style: none; box-shadow: 0 1px 2px rgba(15, 17, 21, .04);
  transition: border-color .15s, background .15s;
}
.mmm-workspace-selector > summary::-webkit-details-marker { display: none; }
.mmm-workspace-selector > summary:hover, .mmm-workspace-selector[open] > summary { background: #f4f0e8; border-color: #bfb6a6; }
.mmm-workspace-selector :is(summary, button):focus-visible { outline: 3px solid #146ee866; outline-offset: 2px; }
.mmm-workspace-selector-label { display: grid; gap: .06rem; min-width: 0; flex: 1; line-height: 1.1; }
.mmm-workspace-selector-label small { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .5rem; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; color: #78716c; }
.mmm-workspace-selector-label strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 9.5rem; font-size: .74rem; font-weight: 800; color: #0f1115; }
.mmm-workspace-chevron { font-size: .55rem; color: #78716c; transition: transform .15s; }
.mmm-workspace-selector[open] .mmm-workspace-chevron { transform: rotate(180deg); }
.mmm-workspace-dropdown {
  position: absolute; z-index: 110; top: calc(100% + .5rem); left: 0; width: min(20rem, 88vw);
  display: grid; grid-template-columns: minmax(0, 1fr); gap: .25rem; padding: .65rem; background: #faf8f4; border: 1px solid #ded8cd;
  border-radius: 1rem; box-shadow: 0 18px 48px rgba(15, 17, 21, .16); box-sizing: border-box;
}
.mmm-workspace-dropdown-heading { padding: .3rem .55rem; margin: 0; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .58rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: #78716c; }
.mmm-workspace-dropdown form { margin: 0; }
.mmm-workspace-selector :is(.mmm-workspace-domain-option, .mmm-workspace-action) {
  display: flex; align-items: center; gap: .55rem; width: 100%; min-width: 0; box-sizing: border-box; min-height: 2.35rem; padding: .45rem .55rem;
  border: 0; border-radius: .55rem; background: transparent; color: #0f1115; font-size: .74rem; font-weight: 700;
  text-align: left; cursor: pointer;
}
.mmm-workspace-selector button:hover, .mmm-workspace-selector a:hover { background: #ede7dc; }
.mmm-workspace-selector [aria-current="true"], .mmm-workspace-selector [aria-current="page"] { background: #0f1115; color: #fff; }
.mmm-workspace-domain-option span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mmm-workspace-empty, .mmm-workspace-error { padding: .25rem .6rem; font-size: .74rem; color: #78716c; }
.mmm-workspace-error { color: #a52932; }

/* Unified Territory Command Bar (Active Switcher + Omni-Search + 1..N Instantiation & Monetization) */
.mmm-territory-command-bar {
  display: flex; align-items: center; justify-content: center;
  min-width: 0; flex: 0 1 auto; margin: 0 auto;
}
.mmm-territory-command-bar__shell {
  display: inline-flex; align-items: center; gap: .36rem; width: auto;
  min-height: 2.5rem; padding: .2rem .24rem;
  border: 1px solid #ded8cd; border-radius: .85rem;
  background: #f2ede3; box-shadow: inset 0 1px 2px rgba(15, 17, 21, .04);
}
.mmm-active-territory-trigger {
  display: inline-flex; align-items: center; gap: .38rem; height: 2.08rem; padding: 0 .64rem;
  border: 1px solid #0f1115; border-radius: .65rem; background: #0f1115; color: #fff;
  font-size: .72rem; font-weight: 800; white-space: nowrap; cursor: pointer; flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(15, 17, 21, .14); transition: background .15s, transform .15s;
}
.mmm-active-territory-trigger:hover { background: #1c1917; transform: translateY(-1px); }
.mmm-active-territory-trigger__dot {
  width: .42rem; height: .42rem; border-radius: 50%; background: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, .24); flex-shrink: 0;
}
.mmm-active-territory-trigger__slot {
  display: inline-grid; place-items: center; min-width: 1.25rem; height: 1.18rem; padding: 0 .25rem;
  border-radius: .34rem; background: rgba(255, 255, 255, .14); color: #fff;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .58rem; font-weight: 800;
}
.mmm-active-territory-trigger__name {
  max-width: 9.5rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-weight: 800; letter-spacing: -.015em;
}
.mmm-active-territory-trigger__sep { color: rgba(255, 255, 255, .32); font-size: .65rem; }
.mmm-active-territory-trigger__value {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: .65rem; font-weight: 800; color: #93c5fd;
}
.mmm-active-territory-trigger__count {
  padding: .1rem .38rem; border-radius: 999px; background: rgba(255, 255, 255, .12); color: #e7e5e4;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .56rem; font-weight: 750;
}
.mmm-active-territory-trigger__caret { font-size: .56rem; color: #a8a29e; margin-left: .08rem; }
.mmm-territory-command-bar__divider {
  width: 1px; height: 1.35rem; background: #d6cfc2; flex-shrink: 0;
}
.mmm-territory-overview-pill {
  display: inline-flex; align-items: center; gap: .3rem; height: 2.08rem; padding: 0 .56rem;
  border: 1px solid #d6cfc2; border-radius: .65rem; background: #fff; color: #292524;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: .62rem; font-weight: 800; white-space: nowrap; cursor: pointer; flex-shrink: 0;
  transition: background .15s, border-color .15s, color .15s;
}
.mmm-territory-overview-pill:hover, .mmm-territory-overview-pill[aria-pressed="true"] {
  border-color: #146ee8; background: #eff6ff; color: #1d4ed8;
}
.mmm-instantiate-territory-pill {
  display: inline-flex; align-items: center; gap: .32rem; height: 2.08rem; padding: 0 .62rem;
  border: 1px solid #d97706; border-radius: .65rem;
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%); color: #78350f;
  font-size: .68rem; font-weight: 800; white-space: nowrap; cursor: pointer; flex-shrink: 0;
  box-shadow: 0 1px 2px rgba(217, 119, 6, .12); transition: transform .15s, border-color .15s, background .15s;
}
.mmm-instantiate-territory-pill:hover {
  border-color: #b45309; background: #fde68a; transform: translateY(-1px);
}
.mmm-instantiate-territory-pill__cost {
  padding: .1rem .34rem; border-radius: .35rem; background: rgba(217, 119, 6, .16); color: #92400e;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .56rem; font-weight: 800;
}

/* Unified Search Input & Portfolio Popover (⌘K) */
.mmm-map-omnisearch__form {
  display: flex; align-items: center; gap: .42rem; height: 2.08rem; padding: 0 .58rem;
  flex: 1 1 auto; min-width: 11rem;
  border: 1px solid #ded8cd; border-radius: .65rem; background: #fff;
  box-shadow: inset 0 1px 2px rgba(15, 17, 21, .03); transition: border-color .15s, box-shadow .15s;
}
.mmm-map-omnisearch__form:focus-within {
  border-color: #146ee8; box-shadow: 0 0 0 3px rgba(20, 110, 232, .14);
}
.mmm-map-omnisearch__icon { font-size: .7rem; color: #78716c; flex-shrink: 0; }
.mmm-map-omnisearch__input {
  width: 100%; min-width: 0; border: 0; padding: 0; background: transparent;
  color: #0f1115; font-size: .73rem; font-weight: 650; outline: none;
}
.mmm-map-omnisearch__input::placeholder { color: #78716c; font-weight: 550; }
.mmm-map-omnisearch__kbd {
  display: inline-flex; align-items: center; justify-content: center; height: 1.28rem; padding: 0 .34rem;
  border: 1px solid #ded8cd; border-radius: .32rem; background: #f4f0e8; color: #57534e;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .55rem; font-weight: 800; flex-shrink: 0;
}
.mmm-map-omnisearch__dropdown {
  position: absolute; z-index: 120; top: calc(100% + .45rem); left: 0;
  width: 24rem;
  display: grid; gap: .45rem; padding: .65rem; border: 1px solid #ded8cd; border-radius: .95rem;
  background: #faf8f4; box-shadow: 0 22px 54px rgba(15, 17, 21, .2);
}
.mmm-map-omnisearch__dropdown--switcher { width: 23rem; left: 0; right: auto; }
.mmm-map-omnisearch__dropdown--instantiate { width: 27rem; right: 0; left: auto; }
.mmm-map-omnisearch__form--popover { width: 100%; height: 2.3rem; margin: .15rem 0; }
.mmm-map-omnisearch__dropdown[hidden], .mmm-map-omnisearch__item[hidden] { display: none !important; }
.mmm-map-omnisearch__section { display: grid; gap: .24rem; }
.mmm-map-omnisearch__portfolio-list {
  display: grid; gap: .2rem; max-height: 13.5rem; overflow-y: auto;
}
.mmm-map-omnisearch__header-row {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .15rem .4rem;
}
.mmm-map-omnisearch__heading {
  margin: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: .56rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: #57534e;
}
.mmm-map-omnisearch__inline-action {
  border: 1px solid #d6cfc2; border-radius: 999px; background: #fff; color: #0f1115;
  padding: .14rem .5rem; font-size: .6rem; font-weight: 800; cursor: pointer;
}
.mmm-map-omnisearch__inline-action--gold {
  border-color: #d97706; background: #fffbeb; color: #92400e;
}
.mmm-map-omnisearch__item {
  display: grid; grid-template-columns: 1.75rem minmax(0, 1fr) auto; align-items: center; gap: .55rem;
  width: 100%; padding: .44rem .52rem; border: 1px solid transparent; border-radius: .6rem; background: transparent;
  color: #0f1115; text-align: left; cursor: pointer; transition: background .12s, border-color .12s;
}
.mmm-map-omnisearch__item:hover { background: #ede7dc; border-color: #ded8cd; }
.mmm-map-omnisearch__item[aria-current="true"] {
  background: #fff; border-color: #0f1115; box-shadow: 0 2px 6px rgba(15, 17, 21, .06);
}
.mmm-map-omnisearch__badge {
  display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: .45rem;
  border: 1px solid #ded8cd; background: #fff; color: #0f1115;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .62rem; font-weight: 800;
}
.mmm-map-omnisearch__item[aria-current="true"] .mmm-map-omnisearch__badge {
  background: #0f1115; border-color: #0f1115; color: #fff;
}
.mmm-map-omnisearch__badge--plus {
  border-style: dashed; border-color: #d97706; background: #fffbeb; color: #b45309; font-size: .78rem;
}
.mmm-map-omnisearch__item-copy { display: grid; gap: .08rem; min-width: 0; }
.mmm-map-omnisearch__item-copy strong { font-size: .74rem; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mmm-map-omnisearch__item-copy small { font-size: .62rem; color: #57534e; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mmm-map-omnisearch__metric-group { display: inline-flex; align-items: center; gap: .35rem; }
.mmm-map-omnisearch__metric {
  padding: .16rem .42rem; border-radius: .38rem; background: #f2ede3; color: #0f1115;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .6rem; font-weight: 800;
}
.mmm-map-omnisearch__active-pill {
  padding: .16rem .44rem; border-radius: 999px; background: #f4f0e8; color: #57534e;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .58rem; font-weight: 800;
}
.mmm-map-omnisearch__item[aria-current="true"] .mmm-map-omnisearch__active-pill {
  background: #ecfdf5; color: #047857;
}
.mmm-map-omnisearch__credit-pill {
  padding: .2rem .48rem; border-radius: .42rem; border: 1px solid #f59e0b; background: #fffbeb; color: #92400e;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .58rem; font-weight: 800; white-space: nowrap;
}
.mmm-source-quote, .mmm-cro-workflow { margin: 1.2rem 0; padding: 1.15rem; border: 1px solid #d9e3ef; border-radius: .9rem; background: #f8fbff; }
.mmm-source-quote > div { display: grid; gap: .35rem; }
.mmm-source-quote strong { font-size: 1.2rem; color: #173b63; }
.mmm-source-quote p { font-size: .8rem; color: #546e85; line-height: 1.5; }
.mmm-cro-workflow > header { display: flex; justify-content: space-between; align-items: center; gap: .8rem; }
.mmm-cro-eyebrow { display: block; font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: #69809a; }
.mmm-cro-workflow h3 { margin: .3rem 0 .8rem; font-size: 1rem; color: #173b63; }
.mmm-cro-progress { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; padding: .8rem; border-radius: .55rem; background: #eaf3ff; color: #146ee8; font-size: .8rem; }
.mmm-cro-blockers { display: grid; gap: .4rem; padding: .7rem 0 .7rem 1.2rem; color: #546e85; font-size: .8rem; line-height: 1.5; }
.mmm-cro-variant-tabs { display: flex; gap: .4rem; padding: .7rem 0; }
.mmm-cro-variant-tabs button { padding: .5rem .8rem; border: 1px solid #d9e3ef; border-radius: .5rem; font-size: .8rem; color: #173b63; background: #fff; cursor: pointer; }
.mmm-cro-variant-tabs button[aria-pressed=true] { color: #fff; background: #146ee8; border-color: #146ee8; }
.mmm-cro-preview-frame { width: 100%; height: 28rem; background: #fff; border: 1px solid #d9e3ef; border-radius: .6rem; }
.mmm-cro-full-preview { display: inline-flex; padding: .6rem 0; font-size: .8rem; color: #146ee8; }
.mmm-cro-new-preparation { margin-top: 1rem; font-size: .85rem; }
.mmm-cro-new-preparation summary { cursor: pointer; color: #173b63; font-weight: 700; padding: .45rem 0; }
.mmm-cro-new-preparation form { display: grid; gap: .55rem; padding-top: .6rem; }
.mmm-cro-new-preparation :is(textarea, select) { width: 100%; border: 1px solid #b7cde5; border-radius: .6rem; padding: .65rem; background: #fff; color: #173b63; font: inherit; }
@media (max-width: 700px) {
  .mmm-public-territory-page > .mmm-public-territory-header { gap: .4rem; padding: .35rem .5rem; }
  .mmm-workspace-selector > summary { gap: .35rem; min-height: 38px; padding: .3rem .45rem; }
  .mmm-workspace-selector > summary > .fa-globe { display: none; }
  .mmm-workspace-selector-label strong { font-size: .65rem; }
}
@media (min-width: 1100px) {
  .mmm-public-territory-page:has([data-controller~="territory-panel-layout"]) {
    --mmm-public-header-height: var(--mmm-header-size, 4rem);
  }
  .mmm-public-territory-page > .mmm-public-territory-header {
    height: var(--mmm-public-header-height);
    min-height: var(--mmm-public-header-height);
  }
  .mmm-public-territory-page > .mmm-public-territory-header.is-private-market-map {
    justify-content: space-between;
  }
  [data-controller~="territory-panel-layout"] {
    --mmm-plan-top: 3rem;
    --mmm-activity-top: var(--mmm-plan-occupied, calc(var(--mmm-plan-top) + var(--mmm-plan-height) + var(--mmm-panel-gap)));
  }
  #public-territory-agent.mmm-public-territory-agent-workspace {
    left: var(--mmm-panel-gap);
    bottom: var(--mmm-panel-gap);
    width: var(--mmm-agent-width);
    height: min(32rem, var(--mmm-chat-height));
    min-width: 16rem;
    max-width: min(26rem, 30vw);
    min-height: 15rem;
    max-height: calc(100% - 5rem);
    padding: .7rem;
    border-radius: 1rem;
    overscroll-behavior: contain;
  }
  #public-territory-agent .mmm-public-territory-agent-message p,
  #public-territory-agent .mmm-agent-rich-text { font-size: .78rem; line-height: 1.5; }
  #public-territory-agent .mmm-agent-inline-image img { max-height: min(10rem, 19dvh); }
  #public-territory-agent .mmm-agent-product-photo { height: 7rem; }
  #public-territory-agent .mmm-agent-product-card > div { padding: .55rem; }
  #public-territory-agent .mmm-agent-product-card h3 { font-size: .73rem; }
  #public-territory-agent .mmm-public-territory-agent-form { padding: .5rem .5rem .35rem; }
  #public-territory-agent .mmm-public-territory-agent-form textarea { min-height: 2.25rem; font-size: .8rem; }
  #public-territory-route .mmm-public-territory-deployment {
    top: var(--mmm-plan-top);
    right: var(--mmm-panel-gap);
    width: var(--mmm-side-width);
    min-height: 12rem;
    max-height: min(var(--mmm-plan-height), calc(100% - 6rem));
    overflow: auto;
    --mmm-public-territory-deployment-padding: .6rem;
    padding: var(--mmm-public-territory-deployment-padding);
    border-radius: 1rem;
    overscroll-behavior: contain;
  }
  #public-territory-deployment-compact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: .65rem .5rem; padding: .65rem .45rem .35rem; }
  #public-territory-deployment-compact > :is(div,section,button) { min-width: 0; }
  #public-territory-deployment-compact > div:first-child,
  #public-territory-deployment-compact > section[aria-label="Included services"],
  #public-territory-deployment-compact > button { grid-column: 1 / -1; }
  #public-territory-deployment-compact > section:not([aria-label="Included services"]) { padding-left: .5rem; }
  #public-territory-deployment-compact > button { min-height: 2.25rem; gap: .5rem; padding: .45rem; font-size: .72rem; }
  #public-territory-route .mmm-public-territory-commerce-potential-badge { gap: .3rem; min-height: 2.25rem; margin-bottom: .2rem; padding: .4rem 3rem .4rem .6rem; }
  #public-territory-route .mmm-public-territory-commerce-potential-badge-label { font-size: .46rem; }
  #public-territory-route .mmm-public-territory-commerce-potential-badge strong { font-size: 1rem; }
  #public-territory-route .mmm-public-territory-commerce-potential-badge strong em { display: none; }
  #public-territory-route .mmm-territory-activity {
    right: var(--mmm-panel-gap);
    top: var(--mmm-activity-top);
    bottom: auto;
    width: var(--mmm-side-width);
    height: var(--mmm-activity-height);
    min-height: 9rem;
    max-height: calc(100% - var(--mmm-activity-top) - var(--mmm-panel-gap));
    border-radius: 1rem;
  }
  .mmm-territory-activity-heading { padding: .45rem .65rem; }
  .mmm-territory-activity-heading h2 { font-size: .9rem; }
  .mmm-territory-activity-body { padding: .35rem .45rem; }
  .mmm-operator-entry { grid-template-columns: 3.6rem minmax(0,1fr) .55rem; gap: .4rem; padding: .5rem .35rem; }
  .mmm-operator-entry strong { font-size: .76rem; }
  .mmm-operator-address { font-size: .72rem; margin: .15rem 0 .25rem; }
  .mmm-operator-time time { font-size: .75rem; }
  .mmm-operator-time small, .mmm-operator-person { font-size: .65rem; }
  .mmm-operator-date { padding: .4rem .4rem .3rem; font-size: .6rem; }
  [data-controller~="territory-panel-layout"] .mmm-people-panel {
    left: max(var(--mmm-agent-occupied, calc(var(--mmm-agent-width) + var(--mmm-panel-gap) * 2)), calc(50% - 29.5rem));
    right: calc(var(--mmm-side-width) + var(--mmm-panel-gap) * 2);
    bottom: var(--mmm-panel-gap);
    width: auto;
    max-width: 59rem;
    transform: none;
    display: grid;
    grid-template-columns: minmax(9.5rem, .95fr) minmax(0, 3.5fr);
    align-items: center;
    gap: .6rem .7rem;
    padding: .65rem .8rem;
    border-radius: 1rem;
  }
  .mmm-people-heading { grid-column: 1; grid-row: 1; align-items: center; gap: .4rem; padding-right: .65rem; border-right: 1px solid #e2eaf2; }
  .mmm-people-heading > div { display: block; min-width: 0; }
  .mmm-people-heading h2 { font-size: .82rem; line-height: 1.3; }
  .mmm-people-heading p { margin-top: .2rem; font-size: .65rem; }
  .mmm-people-expand { width: 1.75rem; height: 1.75rem; }
  .mmm-people-metrics { grid-column: 1 / -1; grid-row: 2; grid-template-columns: 1.3fr .95fr 1.65fr 1fr; gap: .65rem; margin: 0; padding-top: .55rem; border-top: 1px solid #e2eaf2; }
  .mmm-people-metrics > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: .12rem .35rem; padding-left: .65rem; }
  .mmm-people-metrics dd { font-size: 1rem; line-height: 1.2; }
  .mmm-people-metrics dt { margin: 0; font-size: .62rem; line-height: 1.3; }
  .mmm-people-metrics small { margin: 0; font-size: .55rem; }
  .mmm-people-row { grid-column: 2; grid-row: 1; min-width: 0; gap: .6rem; padding-top: 0; border-top: 0; }
  .mmm-people-preview-list { gap: .5rem; }
  .mmm-people-person { flex: 1 1 6.1rem; min-width: 0; gap: .38rem; }
  .mmm-people-person img { width: 2.15rem; height: 2.15rem; }
  .mmm-people-person strong { font-size: .68rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mmm-people-person small { max-width: 7.2rem; font-size: .56rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mmm-people-primary { min-height: 2.2rem; padding: .4rem .6rem; font-size: .65rem; }
  .mmm-public-territory-store-menu-actions {
    max-width: calc(100% - var(--mmm-agent-width) - var(--mmm-side-width) - var(--mmm-panel-gap) * 4);
  }
  .mmm-public-territory-store-menu-action { font-size: clamp(.55rem, .7vw, .64rem); }
  .is-territory-network .mmm-territory-network-dock {
    left:var(--mmm-panel-gap); right:auto; top:8rem; bottom:auto;
    transform:none; width:clamp(15rem,19vw,18rem); max-height:calc(100% - 10rem);
    display:flex; flex-direction:column; align-items:stretch; gap:.7rem;
    padding:.8rem; overflow:auto;
  }
  .is-territory-network .mmm-territory-network-dock h2 { font-size:.82rem; line-height:1.3; }
  .is-territory-network .mmm-territory-network-chips { order:1; flex-direction:column; overflow:auto; max-height:45dvh; }
  .is-territory-network .mmm-territory-network-chip { padding:.55rem .6rem; }
  .is-territory-network .mmm-territory-network-legend { order:2; display:flex; flex-wrap:wrap; gap:.5rem .7rem; padding:.6rem 0 0; border-left:0; border-top:1px solid #e0e9f4; font-size:.62rem; }
  .is-territory-network .mmm-territory-network-primary { order:3; width:100%; min-width:0; }
  .is-territory-network .mmm-territory-network-status { order:4; }
}
@media (min-width: 1100px) and (max-width: 1535px) {
  /* In selection mode the Store tools get their own row below map controls. */
  .is-territory-network .mmm-public-territory-store-menu-actions { top: 3.8rem; bottom: auto; }
  .mmm-public-territory-store-menu-action { flex-direction: column; gap: .2rem; padding: .35rem .3rem; font-size: .62rem; }
  .mmm-public-territory-store-menu-action-icon { width: 1.4rem; height: 1.4rem; font-size: .8rem; }
}

/* Store offers remain within the existing map dialog. */
.mmm-store-tools.is-offers { width:min(96rem,calc(100vw - 2rem)); padding:1.25rem; }
.mmm-store-tools.is-merchant-store { width:min(90rem,calc(100vw - 2rem)); padding:1.25rem; }
.merchant-store-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; }
.merchant-store-toolbar h3 { margin:0; font-size:1.1rem; font-weight:800; }
.merchant-store-toolbar span { display:block; margin-top:.3rem; font-size:.78rem; color:#526b7c; }
.merchant-store-toolbar nav { display:flex; flex-wrap:wrap; gap:.4rem; }
.merchant-store-toolbar nav button { border:1px solid #d7e3ed; border-radius:.6rem; background:#f5f8fc; padding:.6rem .85rem; color:#183b5d; font:inherit; font-size:.8rem; font-weight:700; cursor:pointer; }
.merchant-store-preview { display:block; width:100%; height:min(70dvh,52rem); border:1px solid #dde6ed; border-radius:.8rem; background:white; }
.merchant-store-open { display:inline-flex; margin:.8rem 0 0; color:#104c99; font-size:.8rem; font-weight:700; }
.merchant-store-products { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr)); gap:1rem; }
.merchant-store-product { display:grid; grid-template-columns:minmax(7rem,12rem) minmax(0,1fr); gap:1.5rem; align-items:center; padding:1.3rem; border:1px solid #dce7ef; border-radius:.9rem; background:#fff; }
.merchant-store-product img { width:100%; height:15rem; object-fit:contain; }
.merchant-store-product h4 { margin:0; font-size:1.2rem; font-weight:800; }
.mmm-store-tools .merchant-store-price { margin:.6rem 0; font-weight:800; font-size:1.1rem; }
.merchant-store-variant { margin:.8rem 0 0; font-size:.8rem; }
.merchant-store-variant div { display:flex; justify-content:space-between; gap:1rem; padding:.35rem 0; }
.merchant-store-variant dt { color:#526b7c; }
.merchant-store-variant dd { margin:0; text-align:right; font-weight:600; }
.mmm-store-tools .merchant-store-progress { margin:1rem 0 0; font-size:.8rem; color:#526b7c; }
.merchant-store-options h4 { font-size:1.1rem; font-weight:800; }
@media(max-width:600px) { .merchant-store-product { grid-template-columns:1fr; gap:1rem; }.merchant-store-product img { height:12rem; } }
.mmm-offers { padding-top:1rem; }
.mmm-offers [hidden] { display:none !important; }
.mmm-offers-result { display:grid; grid-template-columns:minmax(0,1fr) minmax(16rem,19rem); align-items:start; gap:1.25rem; }
.mmm-offers-store-page { min-width:0; overflow:hidden; border:1px solid #d8e3ee; border-radius:.8rem; background:white; }
.mmm-offers-page-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem .9rem; border-bottom:1px solid #d8e3ee; }
.mmm-offers-page-toolbar div { display:grid; gap:.15rem; color:#18344f; }
.mmm-offers-page-toolbar strong { font-size:.8rem; }
.mmm-offers-page-toolbar span,.mmm-offers-full-store { font-size:.68rem; color:#56718a; }
.mmm-offers-full-store { flex:none; font-weight:700; text-decoration:none; }
.mmm-store-tools .mmm-offers-page-toolbar button.mmm-offers-full-store { min-width:0; min-height:2rem; padding:.35rem .6rem; border-radius:.4rem; font-size:.68rem; line-height:1.2; }
.mmm-offers-store-frame { display:block; width:100%; height:max(32rem,calc(100dvh - 17rem)); border:0; background:white; }
.mmm-offers-store-page > footer { padding:.5rem .8rem; border-top:1px solid #d8e3ee; font-size:.62rem; color:#60798f; }
.mmm-offers-page-unavailable { display:grid; place-content:center; min-height:30rem; padding:2rem; }
.mmm-offers-agent-request { margin-top:1rem; border:1px solid #d8e3ee; border-radius:.6rem; padding:.7rem; }
.mmm-offers-agent-request > summary { cursor:pointer; font-size:.78rem; font-weight:700; color:#285878; }
.mmm-offers-agent-request .mmm-offers-refine { margin-top:.8rem; }
.mmm-offers-customer-preview { position:relative; overflow:hidden; border:1px solid #d8e3ee; border-radius:1rem; background:#f5f8fb; box-shadow:0 .5rem 1.5rem #1636530b; }
.mmm-offers-brand { display:flex; align-items:center; gap:.55rem; padding:.75rem 1rem; background:white; color:#1a3149; font-size:.8rem; }
.mmm-offers-brand img { width:2rem; height:2rem; object-fit:contain; }
.mmm-offers-product-image { display:block; width:100%; height:12rem; object-fit:contain; padding:1rem; background:#eaf0f6; }
.mmm-offers-proposition { padding:1.25rem; }
.mmm-store-tools .mmm-offers-promotion-value { margin:0; font-size:clamp(2.8rem,5vw,4.5rem); line-height:1; font-weight:850; letter-spacing:-.055em; color:#0b573f; }
.mmm-store-tools .mmm-offers-promotion-audience { margin:.65rem 0 1rem; font-size:.82rem; font-weight:700; color:#32644f; }
.mmm-offers-price { display:flex; align-items:baseline; gap:.55rem; margin:.5rem 0 1rem; color:#547068; }
.mmm-offers-price strong { font-size:1.8rem; color:#0b573f; }
.mmm-offers-price span { font-size:.65rem; }
.mmm-store-tools .mmm-offers-code { display:flex; align-items:center; gap:.6rem; padding:.75rem; background:#e8f5ef; border:1px dashed #93c3ad; border-radius:.6rem; font-size:.8rem; color:#174d3b; }
.mmm-offers-code strong { letter-spacing:.08em; }
.mmm-store-tools .mmm-offers-promotion-terms { margin:1rem 0; font-size:.68rem; line-height:1.55; color:#496779; }
.mmm-store-tools .mmm-offers-promotion-terms p { font-size:inherit; margin:.35rem 0; }
.mmm-offers-economics { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.6rem 1rem; margin:1rem 0; font-size:.76rem; }
.mmm-offers-economics dd { margin:0; font-weight:700; color:#173f67; }
.mmm-offers-proposition h3 { margin:.3rem 0 .7rem; font-size:clamp(1.4rem,2.5vw,2rem); line-height:1.13; letter-spacing:-.035em; color:#102b49; }
.mmm-store-tools .mmm-offers-hook { margin:0 0 .5rem; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:#32647a; }
.mmm-store-tools .mmm-offers-benefit { margin:0 0 1rem; font-size:.88rem; line-height:1.6; color:#3a5269; }
.mmm-store-tools .mmm-offers-product { margin:0 0 1rem; font-size:.75rem; font-weight:600; color:#476077; }
.mmm-offers-preview-cta { display:flex; justify-content:center; align-items:center; gap:.75rem; border-radius:.6rem; padding:.8rem 1rem; background:#143f64; color:white; font-size:.85rem; font-weight:750; }
.mmm-store-tools .mmm-offers-terms { margin:.8rem 0 0; font-size:.67rem; line-height:1.5; color:#61768a; }
.mmm-offers-preview-caption { display:block; padding:.55rem 1rem; border-top:1px solid #dce5ee; background:white; font-size:.62rem; color:#63798d; }
.mmm-offers-result-heading { display:flex; justify-content:space-between; align-items:center; gap:.75rem; margin:.15rem 0 1rem; }
.mmm-offers-result-heading small { color:#6b7e90; font-size:.7rem; }
.mmm-offers-saved-badge { color:#1c6849; background:#e8f6ee; border-radius:2rem; padding:.3rem .65rem; font-size:.7rem; font-weight:750; }
.mmm-offers-rationale { margin:.65rem 0; border-bottom:1px solid #e3eaf1; padding-bottom:.7rem; font-size:.8rem; color:#425d74; }
.mmm-offers-rationale summary,.mmm-offers-progress summary { cursor:pointer; font-weight:700; color:#285878; }
.mmm-offers-history { margin-top:1rem; font-size:.75rem; }
.mmm-offers-history summary { padding:.5rem 0; cursor:pointer; color:#285878; }
.mmm-offers-history > details { margin:.5rem 0; }
.mmm-store-tools .mmm-offers-rationale p { margin:.65rem 0; font-size:.78rem; }
.mmm-offers-rationale ul { padding-left:1.1rem; line-height:1.6; }
.mmm-offers-refine { display:grid; gap:.6rem; margin-top:1.2rem; }
.mmm-offers-refine label { font-size:.84rem; font-weight:750; }
.mmm-offers-refine textarea { width:100%; resize:vertical; border:1px solid #c5d5e4; border-radius:.7rem; background:#fbfdff; padding:.75rem; font:inherit; font-size:.8rem; color:#1d3a54; }
.mmm-offers-primary,.mmm-offers-secondary { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:2.7rem; padding:.65rem 1rem; border:1px solid #b9cde0; border-radius:.65rem; font:inherit; font-size:.78rem; font-weight:750; cursor:pointer; }
.mmm-offers-primary { border-color:#173f67; color:white; background:#173f67; }
.mmm-offers-primary:hover { background:#20547f; }
.mmm-offers-secondary { color:#285878; background:#f5f9fd; }
.mmm-offers-primary:disabled,.mmm-offers-secondary:disabled { cursor:wait; opacity:.65; }
[data-offers-new-result][hidden] { display:none !important; }
.mmm-offers-recommend { margin-top:1rem; }
.mmm-offers-empty { display:flex; align-items:center; flex-direction:column; text-align:center; padding:2rem 1rem 1rem; }
.mmm-offers-empty h3 { margin:.8rem 0 0; font-size:1.4rem; letter-spacing:-.02em; }
.mmm-store-tools .mmm-offers-empty > p { max-width:27rem; margin:.75rem 0 1rem; font-size:.85rem; color:#587087; }
.mmm-offers-empty + .mmm-offers-recommend { text-align:center; margin:0 0 1.5rem; }
.mmm-offers-agent-mark { display:grid; place-items:center; width:3rem; height:3rem; border:1px solid #caddeb; border-radius:1rem; background:#edf5fb; color:#285878; }
.mmm-offers-progress { margin-top:1.1rem; font-size:.75rem; }
.mmm-store-tools .mmm-offers-progress > p { display:flex; gap:.5rem; align-items:center; margin:.5rem 0; color:#3e5d75; }
.mmm-offers-progress ol { list-style:none; padding:0; margin:.5rem 0; }
.mmm-offers-progress li { display:flex; justify-content:space-between; gap:1rem; padding:.35rem 0; color:#536f84; }
.mmm-offers-progress li span { color:#73879a; font-size:.65rem; }
.mmm-offers-run-actions { display:flex; gap:.5rem; margin:.75rem 0; }
.mmm-store-tools .mmm-offers-error,.mmm-offers-connection-status { margin:.75rem 0; padding:.7rem .85rem; border-radius:.6rem; background:#fff4eb; color:#86542b; font-size:.78rem; }
.mmm-store-tools .mmm-offers-notice { font-size:.75rem; padding:.65rem; border-radius:.5rem; background:#fff7e8; color:#795d34; }
.mmm-offers-saved { display:flex; gap:.4rem; overflow-x:auto; margin-bottom:1rem; padding-bottom:.3rem; }
.mmm-offers-saved a { flex:none; max-width:17rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:.5rem .7rem; border:1px solid #d2e0eb; border-radius:2rem; font-size:.7rem; text-decoration:none; color:#315d7c; }
.mmm-offers-saved a[aria-current=true] { background:#173f67; border-color:#173f67; color:white; }
.mmm-offers-spinner { animation:offers-spin 1s linear infinite; }
@keyframes offers-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .mmm-offers-spinner { animation:none; } }
@media (max-width:720px) { .mmm-offers-result { grid-template-columns:minmax(0,1fr); gap:1rem; } .mmm-store-tools.is-offers { padding:1rem; } .mmm-offers-product-image { height:10rem; } }

/* Option 3: Architectural Ledger & Omnichannel Silo Studio Modal */
dialog.mm-credit-studio-dialog {
  width: min(64rem, calc(100vw - 2rem));
  max-width: none;
  max-height: calc(100dvh - 2rem);
  min-height: 0;
  margin: auto;
  overflow: auto;
  border: 1.5px solid #e6e1d6;
  border-radius: 1.5rem;
  background-color: #faf8f4;
  padding: 0;
  color: #0f172a;
  box-shadow:
    0 36px 96px -20px rgba(15, 23, 42, 0.38),
    0 12px 32px -12px rgba(15, 23, 42, 0.16),
    0 0 0 1px rgba(255, 255, 255, 0.72) inset;
  transform: none;
}

dialog.mm-credit-studio-dialog:modal {
  overscroll-behavior: contain;
}

dialog.mm-credit-studio-dialog::backdrop {
  overflow: hidden;
  overscroll-behavior: contain;
  background: rgba(15, 23, 42, 0.56);
  backdrop-filter: blur(4px);
}

.mm-credit-studio__surface {
  position: relative;
  overflow: hidden;
  border-radius: inherit;
  background-color: #faf8f4;
  background-image:
    linear-gradient(to right, rgba(230, 225, 214, 0.42) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(230, 225, 214, 0.42) 1px, transparent 1px);
  background-size: 56px 56px;
  padding: 1.75rem 2rem 1.85rem;
  font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  color: #0f172a;
}

.mm-credit-studio__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.mm-credit-studio__title-group h2 {
  margin: 0;
  font-family: "Plus Jakarta Sans", "Sora", sans-serif;
  font-size: clamp(1.55rem, 2.2vw, 1.9rem);
  font-weight: 850;
  letter-spacing: -0.035em;
  line-height: 1.15;
  color: #0f172a;
}

.mm-credit-studio__title-group h2:focus {
  outline: none;
}

.mm-credit-studio__subtitle {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0.32rem 0 0;
  font-size: 0.85rem;
  font-weight: 550;
  color: #475569;
}

.mm-credit-studio__subtitle strong {
  font-weight: 800;
  color: #0f172a;
}

.mm-credit-studio__dot {
  color: #94a3b8;
}

.mm-credit-studio__close {
  position: static;
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  flex: 0 0 2.35rem;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 0.65rem;
  background: transparent;
  color: #334155;
  font-size: 1.15rem;
  cursor: pointer;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.mm-credit-studio__close:hover {
  border-color: #e6e1d6;
  background: #f3efe6;
  color: #0f172a;
}

/* Top Dual Readout Bar */
.mm-credit-studio__readout-bar {
  display: grid;
  grid-template-columns: minmax(11rem, 0.27fr) minmax(0, 0.73fr);
  gap: 0.9rem;
  margin-top: 1.25rem;
}

.mm-credit-studio__readout-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 0.95rem;
  padding: 1rem 1.25rem;
}

.mm-credit-studio__readout-box.is-primary {
  background: #0f172a;
  color: #ffffff;
  box-shadow: 0 10px 24px -8px rgba(15, 23, 42, 0.35);
}

.mm-credit-studio__readout-box.is-primary .mm-credit-studio__eyebrow {
  color: #cbd5e1;
}

.mm-credit-studio__readout-box.is-primary .mm-credit-studio__readout-value {
  color: #ffffff;
}

.mm-credit-studio__readout-box.is-secondary {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  border: 1px solid #dfd9cc;
  background: rgba(255, 255, 255, 0.86);
}

.mm-credit-studio__readout-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.mm-credit-studio__eyebrow {
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #475569;
}

.mm-credit-studio__readout-value {
  display: block;
  margin-top: 0.22rem;
  font-family: "Plus Jakarta Sans", "Sora", sans-serif;
  font-size: clamp(1.35rem, 1.82vw, 1.66rem);
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.035em;
  line-height: 1.08;
  text-transform: uppercase;
  white-space: nowrap;
  color: #0f172a;
}

.mm-credit-studio__rate-pill {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  border: 1px solid #e6e1d6;
  border-radius: 999px;
  background: #f3efe6;
  padding: 0.4rem 0.72rem;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.68rem;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
}

/* Main 2-Column Layout */
.mm-credit-studio__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.62fr) minmax(19.5rem, 1fr);
  gap: 1.35rem;
  align-items: start;
  margin-top: 1.35rem;
}

.mm-credit-studio__left,
.mm-credit-studio__right {
  min-width: 0;
  padding: 0;
  border: 0;
}

/* Range Slider & Preset Stops */
.mm-credit-studio__slider-section {
  padding-top: 0.35rem;
}

.mm-credit-studio__slider-track-area {
  position: relative;
  padding-top: 1.85rem;
}

.mm-credit-studio__thumb-pill {
  position: absolute;
  top: 0;
  left: clamp(1.5rem, var(--slider-progress, 24.6231%), calc(100% - 1.5rem));
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.48rem;
  background: #0f172a;
  padding: 0.22rem 0.55rem;
  color: #ffffff;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.1;
  pointer-events: none;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2);
}

.mm-credit-studio__thumb-pill::after {
  position: absolute;
  bottom: -0.24rem;
  left: 50%;
  transform: translateX(-50%);
  border-width: 0.26rem 0.26rem 0;
  border-style: solid;
  border-color: #0f172a transparent transparent;
  content: "";
}

.mm-credit-studio__range {
  --slider-track-size: 0.42rem;
  --slider-thumb-size: 1.35rem;
  --slider-track-radius: 999px;
  --slider-thumb-radius: 50%;
  --slider-track-color: #dfd9cc;
  --slider-fill-color: #2563eb;
  --slider-thumb-color: #ffffff;
  --slider-direction: to right;
  --attr-min: attr(min type(<number>), 200);
  --attr-max: attr(max type(<number>), 40000);
  --control-value: attr(value type(<number>), 10000);
  --slider-progress: calc(
    progress(var(--control-value), var(--attr-min), var(--attr-max)) * 100%
  );

  appearance: none;
  inline-size: 100%;
  block-size: 1.85rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}

.mm-credit-studio__range:dir(rtl) {
  --slider-direction: to left;
}

@supports not (opacity: progress(1, 0, 100)) {
  .mm-credit-studio__range {
    --slider-progress: calc(
      (var(--control-value) - var(--attr-min)) /
      (var(--attr-max) - var(--attr-min)) * 100%
    );
  }
}

.mm-credit-studio__range::-webkit-slider-runnable-track {
  block-size: var(--slider-track-size);
  border: 0;
  border-radius: var(--slider-track-radius);
  background: linear-gradient(
    var(--slider-direction),
    var(--slider-fill-color) var(--slider-progress),
    var(--slider-track-color) var(--slider-progress)
  );
}

.mm-credit-studio__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  inline-size: var(--slider-thumb-size);
  block-size: var(--slider-thumb-size);
  margin-block-start: calc(
    (var(--slider-track-size) - var(--slider-thumb-size)) / 2
  );
  border: 3px solid var(--slider-fill-color);
  border-radius: var(--slider-thumb-radius);
  background: var(--slider-thumb-color);
  box-shadow: 0 3px 10px rgba(37, 99, 235, 0.32);
}

.mm-credit-studio__range::-moz-range-track {
  block-size: var(--slider-track-size);
  border: 0;
  border-radius: var(--slider-track-radius);
  background: var(--slider-track-color);
}

.mm-credit-studio__range::-moz-range-progress {
  block-size: var(--slider-track-size);
  border-radius: var(--slider-track-radius);
  background: var(--slider-fill-color);
}

.mm-credit-studio__range::-moz-range-thumb {
  inline-size: var(--slider-thumb-size);
  block-size: var(--slider-thumb-size);
  border: 3px solid var(--slider-fill-color);
  border-radius: var(--slider-thumb-radius);
  background: var(--slider-thumb-color);
  box-shadow: 0 3px 10px rgba(37, 99, 235, 0.32);
}

.mm-credit-studio__range:focus-visible {
  outline: 2px solid var(--slider-fill-color);
  outline-offset: 4px;
}

.mm-credit-studio__stops {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin-top: 0.65rem;
}

.mm-credit-studio__stop {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  border: 1px solid #d6cfc0;
  border-radius: 999px;
  background: #f5f2ea;
  padding: 0.42rem 0.65rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: #1e293b;
  cursor: pointer;
  white-space: nowrap;
  transition: all 140ms ease;
}

.mm-credit-studio__stop:hover {
  border-color: #94a3b8;
  background: #ffffff;
}

.mm-credit-studio__stop.is-active {
  border: 1.5px solid #3b82f6;
  background: #dbeafe;
  color: #0f172a;
  font-weight: 800;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.14);
}

.mm-credit-studio__stop:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}

/* 2x3 Service Matrix Grid */
.mm-credit-studio__matrix-section {
  margin-top: 1.25rem;
}

.mm-credit-studio__matrix-header {
  margin-bottom: 0.55rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1e293b;
}

.mm-credit-studio__matrix-header strong {
  font-weight: 900;
  color: #0f172a;
}

.mm-credit-studio__matrix {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid #dfd9cc;
  border-radius: 0.95rem;
  background: rgba(255, 255, 255, 0.82);
  overflow: hidden;
}

.mm-credit-studio__matrix-cell {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  padding: 0.68rem 0.82rem;
  border-right: 1px solid #e6e1d6;
  border-bottom: 1px solid #e6e1d6;
  min-width: 0;
}

.mm-credit-studio__matrix-cell:nth-child(3n) {
  border-right: 0;
}

.mm-credit-studio__matrix-cell:nth-child(n+7) {
  border-bottom: 0;
}

.mm-credit-studio__matrix-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
}

.mm-credit-studio__matrix-icon {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  place-items: center;
  border-radius: 0.55rem;
  font-size: 0.85rem;
}

.mm-credit-studio__matrix-rate {
  display: inline-flex;
  align-items: center;
  padding: 0.18rem 0.46rem;
  border-radius: 999px;
  border: 1px solid #e4decb;
  background: #f7f4ec;
  font-size: 0.65rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  white-space: nowrap;
  color: #475569;
}

.mm-credit-studio__matrix-icon.is-blue {
  background: #dbeafe;
  color: #1d4ed8;
}

.mm-credit-studio__matrix-icon.is-emerald {
  background: #d1fae5;
  color: #047857;
}

.mm-credit-studio__matrix-icon.is-amber {
  background: #fef3c7;
  color: #b45309;
}

.mm-credit-studio__matrix-title {
  margin: 0.2rem 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #0f172a;
}

.mm-credit-studio__matrix-meta {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  line-height: 1.35;
  white-space: nowrap;
  color: #1d4ed8;
}

.mm-credit-studio__matrix-meta span {
  font-weight: 800;
  color: #1e40af;
}

.mm-credit-studio__matrix-sub {
  display: block;
  margin-top: -0.1rem;
  font-size: 0.61rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #64748b;
}

/* Right Column: Settlement & Auto-Funding */
.mm-credit-studio__right {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.mm-credit-studio__settlement-card {
  overflow: hidden;
  border: 1px solid #dfd9cc;
  border-radius: 0.95rem;
  background: #ffffff;
}

.mm-credit-studio__settlement-body {
  padding: 1.05rem 1.15rem 0.95rem;
}

.mm-credit-studio__settlement-eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #334155;
}

.mm-credit-studio__settlement-eyebrow .mm-step-upsell__credit-total {
  display: inline;
  margin: 0;
  font-size: inherit;
  font-weight: 850;
  letter-spacing: inherit;
  color: #0f172a;
}

.mm-credit-studio__settlement-price {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  margin-top: 0.45rem;
  border-top: 0;
  padding-top: 0;
}

.mm-credit-studio__settlement-price strong {
  font-family: "Plus Jakarta Sans", "Sora", sans-serif;
  font-size: 1.9rem;
  font-weight: 850;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: #0f172a;
}

.mm-credit-studio__settlement-price span {
  font-size: 1.05rem;
  font-weight: 750;
  color: #0f172a;
}

.mm-credit-studio__emerald-guarantee {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0;
  border-top: 1px solid #a7f3d0;
  background: #bbf7d0;
  padding: 0.68rem 1.15rem;
  color: #064e3b;
  font-size: 0.74rem;
  line-height: 1.35;
}

.mm-credit-studio__emerald-guarantee i {
  margin-top: 0.15rem;
  color: #047857;
  font-size: 0.78rem;
}

.mm-credit-studio__emerald-guarantee strong {
  display: block;
  font-weight: 800;
  color: #064e3b;
}

.mm-credit-studio__emerald-guarantee small {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.68rem;
  font-weight: 600;
  color: #065f46;
}

/* Auto-Funding Card */
.mm-credit-studio__autofund-card {
  border: 1px solid #dfd9cc;
  border-radius: 0.95rem;
  background: rgba(255, 255, 255, 0.86);
  padding: 0.95rem 1.15rem;
}

.mm-credit-studio__autofund-eyebrow {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1e293b;
}

.mm-credit-studio__switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.45rem;
  cursor: pointer;
}

.mm-credit-studio__switch-label {
  min-width: 0;
}

.mm-credit-studio__switch-label strong {
  display: block;
  font-size: 0.84rem;
  font-weight: 700;
  color: #0f172a;
}

.mm-credit-studio__switch-label small {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.68rem;
  line-height: 1.35;
  color: #64748b;
}

input[type="checkbox"][switch].mm-credit-studio__switch {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 2.55rem;
  height: 1.45rem;
  flex: 0 0 2.55rem;
  margin: 0;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #cbd5e1;
  accent-color: #0f172a;
  cursor: pointer;
  transition: background-color 150ms ease, border-color 150ms ease;
}

input[type="checkbox"][switch].mm-credit-studio__switch::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.25);
  transition: transform 150ms ease;
  content: "";
}

input[type="checkbox"][switch].mm-credit-studio__switch:checked {
  border-color: #2563eb;
  background: #2563eb;
}

input[type="checkbox"][switch].mm-credit-studio__switch:checked::after {
  transform: translateX(1.08rem);
}

input[type="checkbox"][switch].mm-credit-studio__switch:focus-visible {
  outline: 3px solid #43a1ff;
  outline-offset: 3px;
}

.mm-credit-studio__stripe-portal {
  margin-top: 0.75rem;
}

.mm-credit-studio__stripe-btn {
  display: inline-flex;
  width: 100%;
  min-height: 2.35rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #d6cfc0;
  border-radius: 999px;
  background: #faf8f4;
  padding: 0.45rem 0.9rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: #0f172a;
  cursor: pointer;
  transition: all 140ms ease;
}

.mm-credit-studio__stripe-btn:hover {
  border-color: #94a3b8;
  background: #ffffff;
}

.mm-credit-studio__confirm {
  min-height: 3.1rem;
  margin-top: 0.15rem;
  border-radius: 0.75rem;
  background: #0f172a;
  color: #ffffff;
  font-family: "Plus Jakarta Sans", "Sora", sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  box-shadow: 0 10px 22px -6px rgba(15, 23, 42, 0.35);
}

.mm-credit-studio__confirm::after {
  content: " \2192";
}

.mm-credit-studio__confirm:hover {
  background: #1e293b;
}

.mm-credit-studio__stripe-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  min-height: 1.5rem;
  margin-top: -0.22rem;
  margin-bottom: -0.28rem;
  padding: 0.15rem 0.4rem;
  color: #475569;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.7rem;
  font-weight: 650;
  letter-spacing: 0.01em;
}

.mm-credit-studio__stripe-trust i {
  color: #059669;
  font-size: 0.68rem;
}

.mm-credit-studio__stripe-trust img.mm-credit-studio__stripe-logo {
  width: auto;
  height: 1.08rem;
  margin-left: 0.06rem;
  transform: translateY(0.04rem);
  filter: none;
  opacity: 1;
}

.mm-credit-studio__pause {
  min-height: 2rem;
  margin-top: -0.2rem;
  color: #334155;
  font-size: 0.78rem;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mm-credit-studio__pause:hover {
  color: #0f172a;
}

@media (max-width: 900px) {
  dialog.mm-credit-studio-dialog {
    width: calc(100vw - 1rem);
    max-height: calc(100dvh - 1rem);
  }

  .mm-credit-studio__surface {
    padding: 1.25rem;
  }

  .mm-credit-studio__readout-bar {
    grid-template-columns: minmax(0, 1fr);
  }

  .mm-credit-studio__readout-box.is-secondary {
    flex-direction: column;
    align-items: flex-start;
  }

  .mm-credit-studio__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .mm-credit-studio__stops {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mm-credit-studio__matrix {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mm-credit-studio__matrix-cell {
    border-right: 1px solid #e6e1d6 !important;
    border-bottom: 1px solid #e6e1d6 !important;
  }
}
