
:root {
  --brand-ink: #0b1728;
  --brand-ink-soft: #16304a;
  --brand-cyan: #19c2d4;
  --brand-teal: #30d4c6;
  --brand-lime: #d6f65b;
  --brand-surface: #ffffff;
  --brand-surface-alt: #f4f7fa;
  --brand-border: #d9e4ec;
  --brand-text: #172334;
  --brand-muted: #5d7187;
  --commerce-surface: #ffffff;
  --commerce-surface-soft: #f7fbff;
  --commerce-surface-tint: #eef9f6;
  --commerce-border: #d7e6ee;
  --commerce-border-strong: #c8e6e8;
  --commerce-focus: #11859a;
  --commerce-radius: 8px;
  --commerce-card-radius: var(--commerce-radius);
  --commerce-image-radius: 6px;
  --commerce-grid-gap: 0.85rem;
  --commerce-image-bg: #eaf3f8;
  --commerce-sticky-cta-height: 4.75rem;
  --commerce-touch-target: 2.75rem;
  --commerce-price-size: 1.45rem;
  --commerce-trust-muted: #526a78;
  --commerce-sale-accent: #a85200;
  --commerce-stock-ok: #176c48;
  --commerce-stock-low: #8a4f00;
  --commerce-stock-out: #9d2020;
  --commerce-summary-sidebar-width: 21rem;
  --commerce-card-shadow: 0 10px 24px rgba(37, 59, 67, 0.07);
  --commerce-lift-shadow: 0 14px 30px rgba(37, 59, 67, 0.08);
  --commerce-drawer-width: 24rem;
}

/* Public shop catalogue --------------------------------------------------- */
.commerce-shop[data-commerce-shop] {
  --shop-canvas: var(--site-color-canvas, #f5f5f2);
  --shop-surface: var(--site-color-surface, #ffffff);
  --shop-ink: var(--site-color-text, #111318);
  --shop-muted: var(--site-color-text-muted, #666b73);
  --shop-line: var(--site-color-border, #d9dadd);
  --shop-accent: var(--site-color-brand-primary, #111318);
  --shop-on-accent: var(--site-button-fg, #ffffff);
  padding-bottom: 5rem;
  color: var(--shop-ink);
}
.commerce-shop[data-commerce-shop] .commerce-shop-products {
  width: min(100%, 96rem);
  gap: clamp(1.5rem, 3vw, 3rem);
  padding: clamp(1rem, 3vw, 2.5rem);
  border: 0;
  background: transparent;
  color: var(--shop-ink);
}
.commerce-shop[data-commerce-shop] .commerce-shop-products-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.25rem;
  padding-bottom: clamp(1.25rem, 2vw, 2rem);
  border-bottom: 1px solid var(--shop-line);
}
.commerce-shop[data-commerce-shop] .commerce-shop-products-head > div {
  display: grid;
  gap: 0.45rem;
  max-width: 42rem;
}
.commerce-shop[data-commerce-shop] .commerce-shop-products-head h1 {
  margin: 0;
  color: var(--shop-ink);
  font-family: var(--site-font-heading, inherit);
  font-size: clamp(2.35rem, 5vw, 5rem);
  font-weight: 650;
  letter-spacing: -0.055em;
  line-height: 0.96;
}
.commerce-shop[data-commerce-shop] .commerce-shop-products-head p {
  color: var(--shop-muted);
  font-size: clamp(0.98rem, 1.2vw, 1.12rem);
}
.commerce-shop[data-commerce-shop] .commerce-shop-eyebrow {
  color: var(--shop-ink);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.commerce-filter-open,
.commerce-filter-close,
.commerce-filter-backdrop {
  display: none;
}
.commerce-shop-catalogue {
  display: grid;
  grid-template-columns: minmax(13rem, 15rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 3.5rem);
  align-items: start;
  min-width: 0;
}
.commerce-shop-filters {
  position: sticky;
  top: 1.25rem;
  display: grid;
  gap: 1.75rem;
  min-width: 0;
}
.commerce-shop-filters > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.commerce-shop-filters > header h2 {
  margin: 0;
  color: var(--shop-ink);
  font-size: 1rem;
}
.commerce-shop-search {
  display: grid;
  gap: 0.5rem;
  color: var(--shop-ink);
  font-size: 0.82rem;
  font-weight: 750;
}
.commerce-shop-search-control {
  position: relative;
  display: block;
}
.commerce-shop-search-control input {
  width: 100%;
  min-height: 2.9rem;
  padding: 0.65rem 2.4rem 0.65rem 0.8rem;
  border: 1px solid var(--shop-line);
  border-radius: var(--site-radius-button, 0.35rem);
  background: var(--shop-surface);
  color: var(--shop-ink);
  font: inherit;
}
.commerce-shop-search-control button {
  position: absolute;
  top: 50%;
  right: 0.45rem;
  display: grid;
  width: 2rem;
  min-width: 2rem;
  min-height: 2rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--shop-muted);
  font-size: 1.2rem;
  transform: translateY(-50%);
  place-items: center;
}
.commerce-shop-search-control button[hidden] {
  display: none;
}
.commerce-filter-group {
  display: grid;
  gap: 0.15rem;
  padding-top: 1rem;
  border-top: 1px solid var(--shop-line);
}
.commerce-filter-group h3 {
  margin: 0 0 0.45rem;
  color: var(--shop-ink);
  font-size: 0.82rem;
  letter-spacing: 0.025em;
}
.commerce-filter-group a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 2.35rem;
  padding: 0.3rem 0;
  color: var(--shop-muted);
  text-decoration: none;
}
.commerce-filter-group a:hover,
.commerce-filter-group a:focus-visible,
.commerce-filter-group a.is-current {
  color: var(--shop-ink);
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}
.commerce-filter-group a small {
  color: inherit;
  font-variant-numeric: tabular-nums;
}
.commerce-shop-results {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}
.commerce-shop-results-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 2.9rem;
}
.commerce-shop-results-head p {
  margin: 0;
  color: var(--shop-muted);
}
.commerce-shop-results-head p strong {
  color: var(--shop-ink);
  font-variant-numeric: tabular-nums;
}
.commerce-shop-sort {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--shop-muted);
  font-size: 0.86rem;
}
.commerce-shop-sort select {
  min-height: 2.7rem;
  padding: 0.5rem 2.1rem 0.5rem 0.7rem;
  border: 1px solid var(--shop-line);
  border-radius: var(--site-radius-button, 0.35rem);
  background: var(--shop-surface);
  color: var(--shop-ink);
}
.commerce-shop[data-commerce-shop] .commerce-module-strip {
  margin: 0;
}
.commerce-shop[data-commerce-shop] .commerce-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 2rem) clamp(0.75rem, 1.5vw, 1.35rem);
}
.commerce-shop[data-commerce-shop] .commerce-product-card {
  display: grid;
  gap: 0.65rem;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.commerce-shop[data-commerce-shop] .commerce-product-card:hover {
  border-color: transparent;
}
.commerce-shop[data-commerce-shop] .commerce-product-card a {
  gap: 0.45rem;
  color: var(--shop-ink);
}
.commerce-shop[data-commerce-shop] .commerce-product-card img.commerce-product-image,
.commerce-shop[data-commerce-shop] .commerce-product-card span.commerce-product-image {
  aspect-ratio: 4 / 5;
  border: 0;
  border-radius: var(--commerce-image-radius, 0.35rem);
  background: color-mix(in srgb, var(--shop-surface) 82%, var(--shop-line) 18%);
  transition: transform 180ms ease;
}
.commerce-shop[data-commerce-shop] .commerce-product-card:hover img.commerce-product-image {
  transform: scale(1.012);
}
.commerce-shop[data-commerce-shop] .commerce-product-card strong {
  color: var(--shop-ink);
  font-size: 0.98rem;
  line-height: 1.3;
}
.commerce-shop[data-commerce-shop] .commerce-product-summary {
  color: var(--shop-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}
.commerce-shop[data-commerce-shop] .commerce-product-price {
  color: var(--shop-ink);
  font-size: 0.94rem;
  font-weight: 750;
}
.commerce-shop[data-commerce-shop] .commerce-product-card form {
  margin-top: auto;
}
.commerce-shop[data-commerce-shop] .commerce-product-card form button {
  width: 100%;
  min-height: 2.75rem;
  border: 1px solid var(--shop-accent);
  border-radius: var(--site-radius-button, 0.35rem);
  background: var(--shop-accent);
  color: var(--shop-on-accent);
}
.commerce-shop[data-shop-layout="editorial_catalogue"] .commerce-product-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.commerce-shop[data-shop-layout="editorial_catalogue"] .commerce-product-card:nth-child(6n + 1) {
  grid-column: 1 / -1;
}
.commerce-shop[data-shop-layout="editorial_catalogue"] .commerce-product-card:nth-child(6n + 1) img.commerce-product-image,
.commerce-shop[data-shop-layout="editorial_catalogue"] .commerce-product-card:nth-child(6n + 1) span.commerce-product-image {
  aspect-ratio: 16 / 9;
}
.commerce-shop[data-shop-layout="compact_catalogue"] .commerce-product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.1rem 0.8rem;
}
.commerce-shop[data-shop-layout="compact_catalogue"] .commerce-product-summary {
  display: none;
}
.commerce-shop[data-shop-layout="compact_catalogue"] .commerce-product-card form button {
  min-height: 2.45rem;
  font-size: 0.86rem;
}
.commerce-shop-no-results {
  display: grid;
  gap: 0.4rem;
  min-height: 14rem;
  padding: 2rem;
  border: 1px dashed var(--shop-line);
  color: var(--shop-muted);
  place-content: center;
  text-align: center;
}
.commerce-shop-no-results[hidden] {
  display: none;
}
.commerce-shop-no-results strong {
  color: var(--shop-ink);
  font-size: 1.2rem;
}
.commerce-shop-no-results button {
  justify-self: center;
  margin-top: 0.5rem;
}
.cart-drawer.commerce-floating-cart {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 90;
  display: block;
  width: auto;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.commerce-floating-cart-button {
  position: relative;
  display: grid;
  width: 3.75rem;
  min-width: 3.75rem;
  height: 3.75rem;
  min-height: 3.75rem;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--shop-accent, #111318) 78%, #ffffff 22%);
  border-radius: 50%;
  background: var(--shop-accent, #111318);
  color: var(--shop-on-accent, #ffffff);
  box-shadow: 0 0.8rem 2rem rgb(0 0 0 / 0.2);
  place-items: center;
}
.commerce-floating-cart-button svg {
  width: 1.35rem;
  height: 1.35rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}
.commerce-floating-cart-count {
  position: absolute;
  top: -0.3rem;
  right: -0.3rem;
  display: grid;
  min-width: 1.45rem;
  height: 1.45rem;
  padding: 0 0.25rem;
  border: 2px solid var(--shop-surface, #ffffff);
  border-radius: 999px;
  background: var(--shop-surface, #ffffff);
  color: var(--shop-ink, #111318);
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1;
  place-items: center;
}
.commerce-floating-cart-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 0.75rem);
  display: grid;
  gap: 0.9rem;
  width: min(22rem, calc(100vw - 2rem));
  max-height: min(31rem, calc(100svh - 6.5rem));
  padding: 1rem;
  overflow: auto;
  border: 1px solid var(--shop-line, #d9dadd);
  border-radius: var(--site-radius-card, 0.65rem);
  background: var(--shop-surface, #ffffff);
  color: var(--shop-ink, #111318);
  box-shadow: 0 1.25rem 3.5rem rgb(0 0 0 / 0.22);
}
.commerce-floating-cart-panel[hidden] {
  display: none;
}
.commerce-floating-cart-panel .commerce-floating-cart-summary {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.75rem;
}
.commerce-floating-cart-panel .commerce-floating-cart-summary > div {
  display: grid;
  gap: 0.15rem;
}
.commerce-floating-cart-panel .commerce-floating-cart-summary button {
  display: grid;
  width: 2.35rem;
  min-width: 2.35rem;
  min-height: 2.35rem;
  padding: 0;
  border: 1px solid var(--shop-line, #d9dadd);
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font-size: 1.25rem;
  place-items: center;
}
.commerce-floating-cart-total {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--shop-line, #d9dadd);
}
.commerce-floating-cart-panel .button {
  width: 100%;
}
.commerce-shop[data-commerce-shop] :where(input, select, button, a):focus-visible,
.commerce-floating-cart :where(button, a):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--commerce-focus, #1976d2) 72%, #ffffff 28%);
  outline-offset: 3px;
}
@media (max-width: 70rem) {
  .commerce-shop[data-shop-layout="compact_catalogue"] .commerce-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 56.25rem) {
  body.commerce-filters-open {
    overflow: hidden;
  }
  .commerce-shop[data-commerce-shop] .commerce-shop-products-head {
    align-items: start;
  }
  .commerce-filter-open {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.8rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid var(--shop-line);
    border-radius: var(--site-radius-button, 0.35rem);
    background: var(--shop-surface);
    color: var(--shop-ink);
    white-space: nowrap;
  }
  .commerce-filter-close {
    display: grid;
    width: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    border: 1px solid var(--shop-line);
    border-radius: 50%;
    background: transparent;
    color: var(--shop-ink);
    font-size: 1.4rem;
    place-items: center;
  }
  .commerce-shop-catalogue {
    grid-template-columns: minmax(0, 1fr);
  }
  .commerce-shop-filters {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 101;
    align-content: start;
    width: min(24rem, calc(100vw - 2.5rem));
    padding: max(1.25rem, env(safe-area-inset-top)) 1.25rem max(1.25rem, env(safe-area-inset-bottom));
    overflow: auto;
    background: var(--shop-surface);
    box-shadow: 1.25rem 0 3.5rem rgb(0 0 0 / 0.2);
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-105%);
    transition: transform 180ms ease;
  }
  .commerce-shop-filters[data-open="true"] {
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }
  .commerce-filter-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgb(10 12 16 / 0.52);
  }
  .commerce-filter-backdrop[hidden] {
    display: none;
  }
  .commerce-shop[data-commerce-shop] .commerce-product-grid,
  .commerce-shop[data-shop-layout="compact_catalogue"] .commerce-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 37.5rem) {
  .commerce-shop[data-commerce-shop] .commerce-shop-products {
    padding: 0.75rem;
  }
  .commerce-shop[data-commerce-shop] .commerce-shop-products-head {
    display: grid;
  }
  .commerce-shop[data-commerce-shop] .commerce-shop-products-head h1 {
    font-size: clamp(2.3rem, 14vw, 4rem);
  }
  .commerce-filter-open {
    justify-content: center;
    width: 100%;
  }
  .commerce-shop-results-head {
    align-items: start;
    flex-direction: column;
  }
  .commerce-shop-sort {
    justify-content: space-between;
    width: 100%;
  }
  .commerce-shop-sort select {
    max-width: 12rem;
  }
  .commerce-shop[data-commerce-shop] .commerce-product-grid,
  .commerce-shop[data-shop-layout="editorial_catalogue"] .commerce-product-grid,
  .commerce-shop[data-shop-layout="compact_catalogue"] .commerce-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem 0.55rem;
  }
  .commerce-shop[data-shop-layout="editorial_catalogue"] .commerce-product-card:nth-child(6n + 1) {
    grid-column: auto;
  }
  .commerce-shop[data-shop-layout="editorial_catalogue"] .commerce-product-card:nth-child(6n + 1) img.commerce-product-image,
  .commerce-shop[data-shop-layout="editorial_catalogue"] .commerce-product-card:nth-child(6n + 1) span.commerce-product-image {
    aspect-ratio: 4 / 5;
  }
  .commerce-shop[data-commerce-shop] .commerce-product-summary {
    display: none;
  }
  .commerce-shop[data-commerce-shop] .commerce-product-card strong,
  .commerce-shop[data-commerce-shop] .commerce-product-price {
    font-size: 0.88rem;
  }
  .commerce-shop[data-commerce-shop] .commerce-product-card form button {
    min-height: 2.55rem;
    padding-inline: 0.55rem;
    font-size: 0.82rem;
  }
  .commerce-floating-cart-button {
    width: 3.4rem;
    min-width: 3.4rem;
    height: 3.4rem;
    min-height: 3.4rem;
  }
}
@media (max-width: 23rem) {
  .commerce-shop[data-commerce-shop] .commerce-product-grid,
  .commerce-shop[data-shop-layout="editorial_catalogue"] .commerce-product-grid,
  .commerce-shop[data-shop-layout="compact_catalogue"] .commerce-product-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (prefers-reduced-motion: reduce) {
  .commerce-shop-filters,
  .commerce-shop[data-commerce-shop] .commerce-product-card img.commerce-product-image {
    transition: none;
  }
}
* { box-sizing: border-box; }
body {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  background:
    radial-gradient(circle at top right, rgba(25, 194, 212, 0.18), transparent 32%),
    linear-gradient(180deg, #eef4f7 0%, #f8fbfc 100%);
  color: var(--brand-text);
  margin: 0;
}
a { color: #0d5f91; text-decoration: none; }
a:hover { text-decoration: underline; }
header {
  background:
    linear-gradient(135deg, rgba(25, 194, 212, 0.2), transparent 34%),
    linear-gradient(135deg, var(--brand-ink) 0%, var(--brand-ink-soft) 100%);
  color: #fff;
  padding: 1.1rem 1.5rem 1.45rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 16px 42px rgba(11, 23, 40, 0.22);
}
main { max-width: 1040px; margin: 2rem auto 3rem; padding: 0 1rem; }
main.narrow { max-width: 760px; }
body.canvas-editor-route main.canvas-editor-main {
  max-width: none;
  width: calc(100vw - 2rem);
  margin: 1.5rem auto 3rem;
}
.card {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--brand-border);
  border-radius: 18px;
  padding: 1.35rem;
  margin-bottom: 1rem;
  box-shadow: 0 14px 36px rgba(22, 48, 74, 0.08);
}
.settings-section-divider {
  border: 0;
  border-top: 1px solid var(--brand-border);
  height: 0;
  margin: 1.35rem 0 1rem;
}
.admin-billing-banner {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  border-color: #b8e6df;
  background: linear-gradient(135deg, #f4fffc 0%, #eef7ff 100%);
}
.admin-billing-banner-action {
  border-color: #f3c26b;
  background: linear-gradient(135deg, #fff8ea 0%, #f4fbff 100%);
}
.admin-billing-overview h1 { margin-top: 0.45rem; }
.platform-billing-element { margin-bottom: 1rem; }
.checkbox-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--brand-border);
  border-radius: 12px;
  background: #fff;
}
.checkbox-card input { width: auto; margin-top: 0.25rem; }
.document-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem;
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  background: #fff;
  font-weight: 600;
  line-height: 1.35;
}
.document-checkbox-row input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  min-width: 1.15rem;
  margin: 0.1rem 0 0;
  padding: 0;
}
.document-checkbox-row span { display: block; }
.document-checkbox-row.is-disabled {
  opacity: 0.62;
}
.access-control-permissions {
  display: grid;
  gap: 0.85rem;
  margin: 1.1rem 0;
}
.access-control-package {
  border: 1px solid var(--shell-border, #dbe3ee);
  border-radius: 8px;
  padding: 0.9rem;
  background: color-mix(in srgb, var(--shell-panel, #f6f8fb) 84%, #fff 16%);
}
.access-control-package h3 {
  margin: 0 0 0.65rem;
  font-size: 1rem;
}
.access-control-permission-list {
  display: grid;
  gap: 0.5rem;
}
.access-control-permission-choice {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 0;
  line-height: 1.35;
}
.access-control-permission-choice input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  margin: 0.15rem 0 0;
  flex: 0 0 1rem;
}
.document-template-helper {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 20rem);
  gap: 1rem;
  align-items: start;
}
.document-merge-tags {
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  padding: 0.9rem;
  background: var(--brand-surface-alt);
}
.document-merge-tags h3 {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
}
.document-merge-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.document-merge-tag {
  display: inline-flex;
  padding: 0.22rem 0.42rem;
  border: 1px solid var(--brand-border);
  border-radius: 6px;
  background: #fff;
  color: var(--brand-ink-soft);
  font-size: 0.82rem;
}
.document-packet-template-builder,
.document-packet-item-list,
.document-packet-checklist {
  width: 100%;
}
.document-packet-progress {
  font-weight: 700;
}
.document-packet-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 0.9rem 0;
  border-bottom: 1px solid var(--brand-border);
}
.document-packet-item:last-child { border-bottom: 0; }
.document-upload-row td {
  vertical-align: middle;
}
.status-chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid var(--brand-border);
  border-radius: 999px;
  background: var(--brand-surface-alt);
  font-size: 0.84rem;
  font-weight: 700;
}
@media (max-width: 720px) {
  .document-template-helper,
  .document-packet-item {
    grid-template-columns: 1fr;
  }
}
.grid { display: grid; gap: 1rem; }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
label { display: block; font-weight: 600; margin-bottom: 0.35rem; }
input, textarea, select {
  width: 100%;
  padding: 0.72rem 0.8rem;
  border-radius: 10px;
  border: 1px solid #c6d6e1;
  background: #fff;
  color: var(--brand-text);
}
textarea { min-height: 10rem; }
button, .button {
  background: linear-gradient(135deg, #1189c6 0%, #0f5e8f 100%);
  color: #fff;
  border: 0;
  border-radius: 10px;
  padding: 0.75rem 1.05rem;
  cursor: pointer;
  display: inline-block;
  font-weight: 600;
  box-shadow: 0 10px 24px rgba(15, 94, 143, 0.22);
}
.button.secondary, button.secondary {
  background: linear-gradient(135deg, #415265 0%, #2b3947 100%);
  box-shadow: none;
}
.button.linklike { background: transparent; color: #0d5f91; padding: 0; box-shadow: none; }
table { width: 100%; border-collapse: collapse; }
th, td {
  text-align: left;
  padding: 0.8rem 0.75rem;
  border-bottom: 1px solid #e5edf3;
  vertical-align: top;
}
th { color: var(--brand-muted); font-size: 0.92rem; }
.table-scroll {
  width: 100%;
  overflow-x: auto;
}
.operator-audit-table {
  table-layout: fixed;
  min-width: 92rem;
}
.operator-audit-table th,
.operator-audit-table td {
  overflow-wrap: anywhere;
  word-break: normal;
}
.operator-audit-table .audit-seq { width: 4.5rem; }
.operator-audit-table .audit-actor { width: 16rem; }
.operator-audit-table .audit-action { width: 12rem; }
.operator-audit-table .audit-target { width: 16rem; }
.operator-audit-table .audit-outcome { width: 7rem; }
.operator-audit-table .audit-scope { width: 14rem; }
.operator-audit-table .audit-reason { width: 12rem; }
.operator-audit-table .audit-governance { width: 13rem; }
.operator-audit-table .audit-created { width: 10rem; white-space: nowrap; }
.audit-target-primary {
  font-weight: 700;
  color: var(--brand-text);
}
.audit-support-details {
  margin-top: 0.35rem;
  color: var(--brand-muted);
  font-size: 0.82rem;
}
.audit-support-details > summary {
  cursor: pointer;
  font-weight: 700;
  color: #0d5f91;
}
.audit-support-detail-list {
  display: grid;
  gap: 0.25rem;
  margin-top: 0.45rem;
}
.audit-support-detail-list div {
  display: grid;
  grid-template-columns: 7.75rem minmax(0, 1fr);
  gap: 0.35rem;
}
.audit-support-detail-list .mono {
  color: var(--brand-text);
}
.audit-search {
  display: grid;
  gap: 0.6rem;
  margin-bottom: 1rem;
}
.audit-search-row {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) auto auto;
  gap: 0.75rem;
  align-items: end;
}
.nav {
  display: flex;
  gap: 0.85rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.nav a {
  color: #e7f6fb;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.05);
}
.nav a:hover {
  text-decoration: none;
  background: rgba(255, 255, 255, 0.11);
}
.notice {
  padding: 0.85rem 1rem;
  border-radius: 10px;
  border: 1px solid #f0d48b;
  background: #fff6d9;
  color: #845400;
  margin-bottom: 1rem;
}
.muted { color: var(--brand-muted); }
header .muted { color: rgba(225, 241, 247, 0.84); }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.toolbar {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
body.booking-calendar-route main {
  max-width: min(1500px, calc(100vw - 2rem));
}
.booking-calendar-app {
  display: grid;
  grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
  min-height: 42rem;
}
.booking-calendar-sidebar,
.booking-calendar-workspace {
  border: 1px solid #d7e2ea;
  border-radius: 8px;
  background: #ffffff;
  color: #10243a;
  box-shadow: 0 12px 30px rgba(22, 48, 74, 0.07);
}
.booking-calendar-sidebar {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.booking-calendar-sidebar .muted,
.booking-calendar-list .muted {
  color: #51667b;
}
.booking-create-button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.booking-create-button span {
  font-size: 1.25rem;
  line-height: 1;
}
.booking-calendar-mini-month,
.booking-calendar-list {
  border-top: 1px solid #e4edf3;
  padding-top: 0.9rem;
}
.booking-mini-month-topline,
.booking-sidebar-heading,
.booking-mobile-agenda-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  color: #10243a;
}
.booking-sidebar-heading a {
  color: #0d6fa6;
  font-weight: 700;
}
.booking-mini-month-controls {
  display: flex;
  gap: 0.25rem;
}
.booking-icon-button,
.booking-pill-button {
  background: #eef5f8;
  color: #16304a;
  border: 1px solid #d4e2ea;
  box-shadow: none;
  border-radius: 999px;
  min-width: 2.1rem;
  padding: 0.45rem 0.65rem;
}
.booking-pill-button {
  min-width: auto;
  padding-inline: 0.85rem;
}
.booking-mini-month-weekdays,
.booking-mini-month-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.25rem;
}
.booking-mini-month-weekdays {
  color: #61758a;
  font-size: 0.76rem;
  font-weight: 700;
  margin: 0.85rem 0 0.35rem;
  text-align: center;
}
.booking-mini-day {
  min-width: 0;
  width: 100%;
  aspect-ratio: 1;
  padding: 0;
  border-radius: 999px;
  background: transparent;
  border: 0;
  color: #203247;
  box-shadow: none;
  font-size: 0.82rem;
}
.booking-mini-day.is-muted {
  color: #5f7287;
}
.booking-mini-day.is-today,
.booking-mini-day.is-selected {
  background: #176b96;
  color: #ffffff;
}
.booking-calendar-list {
  display: grid;
  gap: 0.6rem;
  font-size: 0.94rem;
}
.booking-calendar-list label {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  color: #10243a;
}
.booking-calendar-list input {
  width: auto;
}
.booking-calendar-workspace {
  min-width: 0;
  overflow: hidden;
}
.booking-calendar-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border-bottom: 1px solid #e2ebf1;
}
.booking-calendar-nav,
.booking-calendar-actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}
.booking-calendar-nav h2 {
  margin: 0 0 0 0.4rem;
  font-size: 1.35rem;
  color: #10243a;
}
.booking-calendar-status {
  margin: 0.85rem 1rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #d8e5ec;
  border-radius: 8px;
  color: #40566d;
  background: #f7fbfd;
}
.booking-calendar-status[data-tone="success"] {
  color: #0d5f4d;
  background: #ecfdf7;
  border-color: #bcebdc;
}
.booking-calendar-status[data-tone="warning"] {
  color: #7a4b00;
  background: #fff8e6;
  border-color: #f3d18d;
}
body.admin-shell-route .booking-calendar-sidebar,
body.admin-shell-route .booking-calendar-workspace,
body.admin-shell-route .booking-calendar-sidebar,
body.admin-shell-route .booking-calendar-workspace {
  background: #ffffff;
  color: #10243a;
}
body.admin-shell-route .booking-calendar-sidebar .muted,
body.admin-shell-route .booking-calendar-list .muted,
body.admin-shell-route .booking-calendar-sidebar .muted,
body.admin-shell-route .booking-calendar-list .muted {
  color: #51667b;
}
body.admin-shell-route .booking-calendar-list label,
body.admin-shell-route .booking-sidebar-heading,
body.admin-shell-route .booking-mini-month-topline,
body.admin-shell-route .booking-mini-month-weekdays,
body.admin-shell-route .booking-mini-day,
body.admin-shell-route .booking-calendar-list label,
body.admin-shell-route .booking-sidebar-heading,
body.admin-shell-route .booking-mini-month-topline,
body.admin-shell-route .booking-mini-month-weekdays,
body.admin-shell-route .booking-mini-day {
  color: #10243a;
}
body.admin-shell-route .booking-mini-day.is-muted,
body.admin-shell-route .booking-mini-day.is-muted {
  color: #5f7287;
}
body.admin-shell-route .booking-mini-day.is-today,
body.admin-shell-route .booking-mini-day.is-selected,
body.admin-shell-route .booking-mini-day.is-today,
body.admin-shell-route .booking-mini-day.is-selected {
  color: #ffffff;
}
body.admin-shell-route .booking-sidebar-heading a,
body.admin-shell-route .booking-sidebar-heading a {
  color: #0d6fa6;
}
body.admin-shell-route .booking-calendar-app a.button,
body.admin-shell-route .booking-calendar-app button.button,
body.admin-shell-route .booking-create-button,
body.admin-shell-route .booking-calendar-app a.button,
body.admin-shell-route .booking-calendar-app button.button,
body.admin-shell-route .booking-create-button {
  color: #ffffff;
}
body.admin-shell-route .booking-calendar-actions .button.secondary,
body.admin-shell-route .booking-calendar-actions .button.secondary {
  background: linear-gradient(135deg, #415265 0%, #2b3947 100%);
  color: #ffffff;
}
body.admin-shell-route .booking-calendar-nav .booking-pill-button,
body.admin-shell-route .booking-calendar-nav .booking-icon-button,
body.admin-shell-route .booking-mini-month-controls .booking-icon-button,
body.admin-shell-route .booking-calendar-nav .booking-pill-button,
body.admin-shell-route .booking-calendar-nav .booking-icon-button,
body.admin-shell-route .booking-mini-month-controls .booking-icon-button {
  background: #eef5f8;
  color: #16304a;
}
.booking-week-shell {
  margin: 0 1rem 1rem;
  border: 1px solid #dbe5ec;
  border-radius: 8px;
  overflow: auto;
  background: #ffffff;
}
.booking-week-header,
.booking-week-all-day-row,
.booking-week-time-grid {
  display: grid;
  grid-template-columns: 4.5rem repeat(7, minmax(7.5rem, 1fr));
  min-width: 62rem;
}
.booking-week-header {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #ffffff;
  border-bottom: 1px solid #dfe8ee;
}
.booking-week-timezone,
.booking-week-day-heading {
  min-height: 4.5rem;
  border-right: 1px solid #e4edf3;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 0.25rem;
}
.booking-week-timezone {
  color: #5f7287;
  font-size: 0.78rem;
}
.booking-week-day-heading span {
  color: #5f7287;
  font-size: 0.76rem;
  font-weight: 800;
}
.booking-week-day-heading strong {
  display: grid;
  place-items: center;
  min-width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  color: #10243a;
  font-size: 1.45rem;
}
.booking-week-day-heading.is-today strong {
  background: #176b96;
  color: #ffffff;
}
.booking-week-all-day-row {
  border-bottom: 1px solid #dfe8ee;
  min-height: 2.75rem;
}
.booking-week-all-day-label,
.booking-week-all-day-cell {
  padding: 0.6rem;
  border-right: 1px solid #e4edf3;
  color: #5f7287;
  font-size: 0.82rem;
}
.booking-week-time-grid {
  --booking-hour-height: 54px;
}
.booking-time-rail {
  display: grid;
  grid-template-rows: repeat(13, var(--booking-hour-height));
  border-right: 1px solid #dfe8ee;
  background: #fbfdfe;
}
.booking-time-label {
  position: relative;
  border-bottom: 1px solid #e7eff4;
  color: #5f7287;
  font-size: 0.8rem;
}
.booking-time-label span {
  position: absolute;
  top: -0.45rem;
  right: 0.55rem;
  background: #fbfdfe;
  padding-left: 0.25rem;
}
.booking-week-day-column {
  position: relative;
  min-height: calc(13 * var(--booking-hour-height));
  border-right: 1px solid #e4edf3;
  background: repeating-linear-gradient(
    to bottom,
    #ffffff 0,
    #ffffff calc(var(--booking-hour-height) - 1px),
    #e7eff4 calc(var(--booking-hour-height) - 1px),
    #e7eff4 var(--booking-hour-height)
  );
}
.booking-day-event-layer {
  position: absolute;
  inset: 0.2rem;
}
.booking-calendar-event {
  position: absolute;
  left: 0.25rem;
  right: 0.25rem;
  display: grid;
  align-content: start;
  gap: 0.16rem;
  padding: 0.42rem 0.5rem;
  border-left: 4px solid #176b96;
  border-radius: 6px;
  background: #dff3fb;
  color: #0f3550;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(16, 36, 58, 0.12);
}
.booking-calendar-event:hover {
  text-decoration: none;
  background: #ccecf8;
}
.booking-calendar-event:not(a) {
  cursor: default;
}
.booking-calendar-event strong,
.booking-calendar-event span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.booking-calendar-event span {
  font-size: 0.78rem;
  color: #39546b;
}
.booking-mobile-agenda {
  display: none;
}
.booking-agenda-row {
  display: block;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e4edf3;
}
.booking-appointment-modal {
  width: min(58rem, calc(100vw - 2rem));
  height: min(48rem, calc(100vh - 2rem));
  margin: auto;
  padding: 0;
  border: 1px solid var(--shell-border);
  border-radius: 12px;
  background: var(--shell-panel);
  color: var(--shell-text);
  box-shadow: 0 24px 80px rgba(16, 36, 58, 0.35);
}
.booking-appointment-modal::backdrop {
  background: rgba(15, 23, 42, 0.55);
}
.booking-appointment-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--shell-border);
}
.booking-appointment-modal-header h2 {
  margin: 0;
  font-size: 1.1rem;
}
.booking-appointment-modal-frame {
  display: block;
  width: 100%;
  height: calc(100% - 3.7rem);
  border: 0;
  background: var(--shell-panel);
}
.booking-appointment-embed main {
  max-width: none;
  margin: 0;
  padding: 1rem;
}
.booking-module-tabs,
.crm-module-tabs,
.comms-module-tabs,
.documents-module-tabs,
.operations-module-tabs {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
  margin: 0 0 1rem;
  padding: 0.35rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-panel);
}
.booking-module-tabs a,
.crm-module-tabs a,
.comms-module-tabs a,
.documents-module-tabs a,
.operations-module-tabs a {
  padding: 0.48rem 0.72rem;
  border-radius: 7px;
  color: var(--shell-muted);
  font-weight: 700;
  text-decoration: none;
}
.booking-module-tabs a:hover,
.booking-module-tabs a.is-active,
.crm-module-tabs a:hover,
.crm-module-tabs a.is-active,
.comms-module-tabs a:hover,
.comms-module-tabs a.is-active,
.documents-module-tabs a:hover,
.documents-module-tabs a.is-active,
.operations-module-tabs a:hover,
.operations-module-tabs a.is-active {
  background: var(--shell-accent-soft);
  color: var(--shell-link);
  text-decoration: none;
}
.booking-setup-checklist {
  position: sticky;
  top: 0.75rem;
  z-index: 4;
  margin: 0 0 1rem;
  padding: 0.85rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-card);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}
.booking-setup-checklist summary {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
  cursor: pointer;
  font-weight: 800;
}
.booking-setup-checklist summary small {
  color: var(--shell-muted);
  font-weight: 700;
}
.booking-setup-checklist ol {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 0.45rem 0.8rem;
  margin: 0.85rem 0 0;
  padding-left: 1.2rem;
}
.booking-setup-checklist a {
  color: var(--shell-link);
  font-weight: 700;
}
.booking-inline-hours-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  gap: 0.45rem;
  align-items: end;
  margin-top: 0.7rem;
}
.booking-inline-hours-form label {
  margin: 0;
}
.booking-location-hours {
  margin: 0;
  padding-left: 1.1rem;
}
.booking-membership-editor textarea {
  min-height: 6rem;
}
.booking-public-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  gap: 0.75rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
.booking-public-steps li {
  display: grid;
  gap: 0.25rem;
  padding: 0.85rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-panel);
}
.booking-public-steps span,
.booking-public-memberships small {
  color: var(--shell-muted);
}
.operations-landing {
  display: grid;
  gap: 1rem;
}
.operations-heading {
  max-width: 54rem;
}
.operations-landing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(min(100%, 20rem), 0.8fr);
  gap: 1rem;
  align-items: start;
}
.operations-command-center {
  grid-template-columns: minmax(0, 1fr) minmax(min(100%, 24rem), 0.45fr);
}
.operations-command-section {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
}
.operations-command-section h3 {
  margin: 0;
  font-size: 0.92rem;
}
.operations-command-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.7rem;
}
.operations-command-grid-secondary {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}
.operations-command-card {
  display: grid;
  gap: 0.32rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-panel);
  color: var(--shell-text);
  text-decoration: none;
}
.operations-command-card:hover,
.operations-command-card:focus-visible {
  border-color: var(--shell-link);
  box-shadow: 0 0 0 3px var(--shell-accent-soft);
  text-decoration: none;
}
.operations-command-card span {
  color: var(--shell-muted);
  font-size: 0.76rem;
  font-weight: 800;
}
.operations-command-card strong {
  color: var(--shell-text);
  font-size: 1rem;
  line-height: 1.25;
}
.operations-command-card p {
  margin: 0;
  color: var(--shell-muted);
  line-height: 1.42;
}
.operations-command-card em {
  justify-self: start;
  margin-top: 0.25rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: var(--shell-accent-soft);
  color: var(--shell-link);
  font-style: normal;
  font-weight: 800;
  font-size: 0.78rem;
}
.operations-command-card.is-secondary {
  background: var(--shell-card);
}
.operations-help-card ul {
  margin-bottom: 0;
}
body.admin-shell-route .operations-landing .card {
  min-width: 0;
}
@media (max-width: 760px) {
  .operations-landing-grid {
    grid-template-columns: 1fr;
  }
}
.crm-contact-subnav {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
  margin: 0.35rem 0 0;
}
.crm-contact-subnav a {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.35rem 0.55rem;
  border-radius: 7px;
  color: var(--shell-muted);
  font-size: 0.86rem;
  font-weight: 700;
  text-decoration: none;
}
.crm-contact-subnav a:hover,
.crm-contact-subnav a.is-active {
  background: var(--shell-accent-soft);
  color: var(--shell-link);
  text-decoration: none;
}
.booking-service-editor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 20rem);
  gap: 1rem;
  align-items: start;
}
.booking-service-helper {
  position: sticky;
  top: 1rem;
}
body.admin-shell-route .booking-calendar-app,
body.admin-shell-route .booking-calendar-app {
  --booking-calendar-panel: var(--shell-card);
  --booking-calendar-panel-strong: var(--shell-panel-strong);
  --booking-calendar-border: var(--shell-border);
  --booking-calendar-grid: color-mix(in srgb, var(--shell-border) 80%, var(--shell-muted));
  --booking-calendar-text: var(--shell-text);
  --booking-calendar-muted: var(--shell-muted);
  --booking-calendar-control: color-mix(in srgb, var(--shell-card) 88%, var(--shell-accent) 12%);
  --booking-calendar-event: color-mix(in srgb, var(--shell-accent) 15%, var(--shell-card));
  --booking-calendar-event-hover: color-mix(in srgb, var(--shell-accent) 22%, var(--shell-card));
  --booking-calendar-event-text: var(--shell-text);
  --booking-calendar-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  --booking-calendar-status-bg: color-mix(in srgb, var(--shell-panel-strong) 76%, var(--shell-panel));
  --booking-calendar-status-text: var(--shell-text);
  --booking-calendar-status-border: var(--shell-border);
  --booking-calendar-status-success-bg: var(--shell-success-soft);
  --booking-calendar-status-success-text: var(--shell-success);
  --booking-calendar-status-success-border: color-mix(in srgb, var(--shell-success) 36%, var(--shell-border));
  --booking-calendar-status-warning-bg: var(--shell-warning-soft);
  --booking-calendar-status-warning-text: var(--shell-warning);
  --booking-calendar-status-warning-border: color-mix(in srgb, var(--shell-warning) 42%, var(--shell-border));
}
body.admin-shell-route[data-shell-theme="dark"] .booking-calendar-app,
body.admin-shell-route[data-shell-theme="dark"] .booking-calendar-app {
  --booking-calendar-panel: #1f2937;
  --booking-calendar-panel-strong: #111827;
  --booking-calendar-border: rgba(148, 163, 184, 0.24);
  --booking-calendar-grid: rgba(148, 163, 184, 0.22);
  --booking-calendar-text: #f8fafc;
  --booking-calendar-muted: #cbd5e1;
  --booking-calendar-control: #334155;
  --booking-calendar-event: #164e63;
  --booking-calendar-event-hover: #155e75;
  --booking-calendar-event-text: #ecfeff;
  --booking-calendar-shadow: 0 14px 34px rgba(0, 0, 0, 0.28);
  --booking-calendar-status-bg: #111827;
  --booking-calendar-status-text: #f8fafc;
  --booking-calendar-status-border: rgba(148, 163, 184, 0.24);
  --booking-calendar-status-success-bg: rgba(95, 215, 144, 0.12);
  --booking-calendar-status-success-text: #86efac;
  --booking-calendar-status-success-border: rgba(134, 239, 172, 0.32);
  --booking-calendar-status-warning-bg: rgba(247, 193, 95, 0.12);
  --booking-calendar-status-warning-text: #fde68a;
  --booking-calendar-status-warning-border: rgba(253, 230, 138, 0.34);
}
body.admin-shell-route .booking-calendar-sidebar,
body.admin-shell-route .booking-calendar-workspace,
body.admin-shell-route .booking-calendar-sidebar,
body.admin-shell-route .booking-calendar-workspace,
body.admin-shell-route .booking-week-shell,
body.admin-shell-route .booking-week-shell,
body.admin-shell-route .booking-week-header,
body.admin-shell-route .booking-week-header {
  border-color: var(--booking-calendar-border);
  background: var(--booking-calendar-panel);
  color: var(--booking-calendar-text);
  box-shadow: var(--booking-calendar-shadow);
}
body.admin-shell-route .booking-calendar-sidebar .muted,
body.admin-shell-route .booking-calendar-list .muted,
body.admin-shell-route .booking-calendar-sidebar .muted,
body.admin-shell-route .booking-calendar-list .muted,
body.admin-shell-route .booking-week-timezone,
body.admin-shell-route .booking-week-day-heading span,
body.admin-shell-route .booking-week-all-day-label,
body.admin-shell-route .booking-week-all-day-cell,
body.admin-shell-route .booking-time-label,
body.admin-shell-route .booking-week-timezone,
body.admin-shell-route .booking-week-day-heading span,
body.admin-shell-route .booking-week-all-day-label,
body.admin-shell-route .booking-week-all-day-cell,
body.admin-shell-route .booking-time-label {
  color: var(--booking-calendar-muted);
}
body.admin-shell-route .booking-calendar-list label,
body.admin-shell-route .booking-sidebar-heading,
body.admin-shell-route .booking-mini-month-topline,
body.admin-shell-route .booking-mini-month-weekdays,
body.admin-shell-route .booking-mini-day,
body.admin-shell-route .booking-week-day-heading strong,
body.admin-shell-route .booking-calendar-list label,
body.admin-shell-route .booking-sidebar-heading,
body.admin-shell-route .booking-mini-month-topline,
body.admin-shell-route .booking-mini-month-weekdays,
body.admin-shell-route .booking-mini-day,
body.admin-shell-route .booking-week-day-heading strong {
  color: var(--booking-calendar-text);
}
body.admin-shell-route .booking-calendar-mini-month,
body.admin-shell-route .booking-calendar-list,
body.admin-shell-route .booking-calendar-topbar,
body.admin-shell-route .booking-week-header,
body.admin-shell-route .booking-week-all-day-row,
body.admin-shell-route .booking-week-timezone,
body.admin-shell-route .booking-week-day-heading,
body.admin-shell-route .booking-week-all-day-label,
body.admin-shell-route .booking-week-all-day-cell,
body.admin-shell-route .booking-time-rail,
body.admin-shell-route .booking-time-label,
body.admin-shell-route .booking-calendar-mini-month,
body.admin-shell-route .booking-calendar-list,
body.admin-shell-route .booking-calendar-topbar,
body.admin-shell-route .booking-week-header,
body.admin-shell-route .booking-week-all-day-row,
body.admin-shell-route .booking-week-timezone,
body.admin-shell-route .booking-week-day-heading,
body.admin-shell-route .booking-week-all-day-label,
body.admin-shell-route .booking-week-all-day-cell,
body.admin-shell-route .booking-time-rail,
body.admin-shell-route .booking-time-label {
  border-color: var(--booking-calendar-grid);
}
body.admin-shell-route .booking-time-rail,
body.admin-shell-route .booking-time-label span,
body.admin-shell-route .booking-time-rail,
body.admin-shell-route .booking-time-label span {
  background: var(--booking-calendar-panel-strong);
}
body.admin-shell-route .booking-week-day-column,
body.admin-shell-route .booking-week-day-column {
  border-color: var(--booking-calendar-grid);
  background: repeating-linear-gradient(
    to bottom,
    var(--booking-calendar-panel) 0,
    var(--booking-calendar-panel) calc(var(--booking-hour-height) - 1px),
    var(--booking-calendar-grid) calc(var(--booking-hour-height) - 1px),
    var(--booking-calendar-grid) var(--booking-hour-height)
  );
}
body.admin-shell-route .booking-calendar-event,
body.admin-shell-route .booking-calendar-event {
  background: var(--booking-calendar-event);
  color: var(--booking-calendar-event-text);
}
body.admin-shell-route .booking-calendar-event:hover,
body.admin-shell-route .booking-calendar-event:hover {
  background: var(--booking-calendar-event-hover);
}
body.admin-shell-route .booking-calendar-event span,
body.admin-shell-route .booking-calendar-event span {
  color: color-mix(in srgb, var(--booking-calendar-event-text) 82%, transparent);
}
body.admin-shell-route .booking-calendar-nav .booking-pill-button,
body.admin-shell-route .booking-calendar-nav .booking-icon-button,
body.admin-shell-route .booking-mini-month-controls .booking-icon-button,
body.admin-shell-route .booking-calendar-nav .booking-pill-button,
body.admin-shell-route .booking-calendar-nav .booking-icon-button,
body.admin-shell-route .booking-mini-month-controls .booking-icon-button {
  border-color: var(--booking-calendar-border);
  background: var(--booking-calendar-control);
  color: var(--booking-calendar-text);
}
body.admin-shell-route .booking-calendar-status,
body.admin-shell-route .booking-calendar-status {
  color: var(--booking-calendar-status-text);
  background: var(--booking-calendar-status-bg);
  border-color: var(--booking-calendar-status-border);
}
body.admin-shell-route[data-shell-theme="dark"] .booking-calendar-status,
body.admin-shell-route[data-shell-theme="dark"] .booking-calendar-status {
  color: var(--booking-calendar-status-text);
  background: var(--booking-calendar-status-bg);
  border-color: var(--booking-calendar-status-border);
}
body.admin-shell-route .booking-calendar-status[data-tone="success"],
body.admin-shell-route .booking-calendar-status[data-tone="success"] {
  color: var(--booking-calendar-status-success-text);
  background: var(--booking-calendar-status-success-bg);
  border-color: var(--booking-calendar-status-success-border);
}
body.admin-shell-route .booking-calendar-status[data-tone="warning"],
body.admin-shell-route .booking-calendar-status[data-tone="warning"] {
  color: var(--booking-calendar-status-warning-text);
  background: var(--booking-calendar-status-warning-bg);
  border-color: var(--booking-calendar-status-warning-border);
}
@media (max-width: 760px) {
  body.booking-calendar-route main {
    max-width: none;
  }
  .booking-calendar-app {
    display: block;
  }
  .booking-calendar-sidebar,
  .booking-week-shell {
    display: none;
  }
  .booking-calendar-topbar {
    align-items: flex-start;
  }
  .booking-calendar-nav,
  .booking-calendar-actions {
    width: 100%;
  }
  .booking-calendar-nav h2 {
    width: 100%;
    margin: 0.2rem 0 0;
  }
  .booking-mobile-agenda {
    display: block;
    padding: 0 1rem 1rem;
  }
  .booking-service-editor {
    grid-template-columns: 1fr;
  }
  .booking-service-helper {
    position: static;
  }
}
.booking-availability-nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin: 0 0 1rem;
}
.booking-availability-nav .button {
  flex: 0 0 auto;
}
.booking-practitioner-schedule {
  overflow: hidden;
}
.booking-schedule-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.15rem;
}
.booking-schedule-toolbar h2 {
  margin: 0;
}
.booking-schedule-controls,
.booking-schedule-cell-actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}
.booking-schedule-controls {
  margin-left: auto;
}
.booking-week-label {
  display: inline-flex;
  align-items: center;
  min-height: 2.45rem;
  padding: 0 0.35rem;
  font-weight: 800;
  white-space: nowrap;
}
.booking-schedule-scroll {
  overflow-x: auto;
}
.booking-schedule-grid {
  width: 100%;
  min-width: 82rem;
  border-collapse: separate;
  border-spacing: 0;
}
.booking-schedule-grid th,
.booking-schedule-grid td {
  vertical-align: top;
  border: 1px solid #dce6ef;
  padding: 0.8rem 0.85rem;
}
.booking-schedule-grid thead th {
  background: #f5f9fc;
}
.booking-schedule-day-label,
.booking-schedule-day-total {
  display: block;
  line-height: 1.25;
}
.booking-schedule-day-label {
  white-space: nowrap;
}
.booking-schedule-day-total {
  margin-top: 0.25rem;
  color: #617387;
  font-size: 0.78rem;
  font-weight: 800;
}
.booking-schedule-grid th small {
  display: block;
  margin-top: 0.2rem;
  color: #617387;
}
.booking-schedule-grid tbody th {
  min-width: 13rem;
  background: #fbfdfe;
  line-height: 1.35;
}
.booking-schedule-grid td {
  min-width: 9rem;
}
.booking-schedule-grid td[colspan] {
  padding: 1.15rem 0.85rem;
}
.booking-shift {
  display: grid;
  gap: 0.15rem;
  margin-bottom: 0.45rem;
  padding: 0.48rem 0.55rem;
  border-radius: 6px;
  background: #dff3fb;
  color: #0f3550;
  font-weight: 800;
}
.booking-shift span {
  font-size: 0.78rem;
  font-weight: 700;
}
.booking-shift-empty,
.booking-shift-off {
  background: #eef2f6;
  color: #425568;
}
.booking-shift-time-off {
  background: #fff1d6;
  color: #633d0a;
}
.booking-schedule-cell-actions form {
  margin: 0;
}
.booking-page-actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
  margin: 0 0 1rem;
}
.booking-appointment-summary {
  display: grid;
  grid-template-columns: minmax(14rem, 0.55fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  background: #fff;
}
.booking-appointment-summary h2 {
  margin: 0.25rem 0 0.55rem;
}
.booking-appointment-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  gap: 0.75rem;
}
.booking-appointment-summary-grid div {
  display: grid;
  gap: 0.16rem;
}
.booking-appointment-summary-grid span,
.booking-appointment-summary-grid small {
  color: var(--brand-muted);
}
.booking-status-pill {
  display: inline-flex;
  width: fit-content;
  padding: 0.3rem 0.58rem;
  border-radius: 999px;
  background: #e8f5ee;
  color: #176c48;
  font-weight: 800;
}
.booking-work-panel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr));
  gap: 1rem;
  align-items: start;
  margin-top: 1.25rem;
}
.booking-work-panel {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  background: #fff;
}
.booking-start-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 0.8rem;
  margin: 1rem 0 0;
}
.booking-start-card {
  display: grid;
  gap: 0.2rem;
  min-height: 7rem;
  padding: 1rem;
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}
.booking-start-card:hover {
  border-color: var(--brand-blue);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  text-decoration: none;
}
.booking-start-card span,
.booking-start-card small {
  color: var(--brand-muted);
}
.booking-start-card strong {
  font-size: 1.02rem;
}
.booking-start-card-primary {
  border-color: color-mix(in srgb, var(--brand-blue) 58%, var(--brand-border));
  background: color-mix(in srgb, var(--brand-blue) 7%, #fff);
}
.booking-work-panel-header {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: start;
}
.booking-work-panel-header h2 {
  margin: 0.2rem 0 0.35rem;
}
.booking-work-panel-header p:last-child {
  margin: 0;
  color: var(--brand-muted);
}
.booking-work-panel form,
.booking-link-panels {
  display: grid;
  gap: 1rem;
}
.booking-link-panels {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}
.booking-schedule-form {
  margin-top: 0;
}
.booking-schedule-form h2 {
  margin-bottom: 1.1rem;
}
.booking-schedule-form form {
  display: grid;
  gap: 1rem;
}
.booking-availability-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: 1rem 1.2rem;
  align-items: end;
}
.booking-field {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}
.booking-field label {
  margin: 0;
}
.booking-field input,
.booking-field select {
  width: 100%;
  min-width: 0;
}
.booking-field-wide {
  grid-column: 1 / -1;
}
.booking-form-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
body.admin-shell-route .booking-practitioner-schedule,
body.admin-shell-route .booking-schedule-form,
body.admin-shell-route .booking-appointment-summary,
body.admin-shell-route .booking-work-panel,
body.admin-shell-route .booking-practitioner-schedule,
body.admin-shell-route .booking-schedule-form,
body.admin-shell-route .booking-appointment-summary,
body.admin-shell-route .booking-work-panel {
  background: var(--shell-card);
  border-color: var(--shell-border);
  color: var(--shell-text);
}
body.admin-shell-route[data-shell-theme="dark"] .booking-practitioner-schedule,
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-form,
body.admin-shell-route[data-shell-theme="dark"] .booking-appointment-summary,
body.admin-shell-route[data-shell-theme="dark"] .booking-work-panel,
body.admin-shell-route[data-shell-theme="dark"] .booking-practitioner-schedule,
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-form,
body.admin-shell-route[data-shell-theme="dark"] .booking-appointment-summary,
body.admin-shell-route[data-shell-theme="dark"] .booking-work-panel {
  background: #17191e;
  border-color: #363b47;
}
body.admin-shell-route .booking-appointment-summary-grid span,
body.admin-shell-route .booking-appointment-summary-grid small,
body.admin-shell-route .booking-work-panel-header p:last-child,
body.admin-shell-route .booking-appointment-summary-grid span,
body.admin-shell-route .booking-appointment-summary-grid small,
body.admin-shell-route .booking-work-panel-header p:last-child {
  color: var(--shell-muted);
}
body.admin-shell-route .booking-status-pill,
body.admin-shell-route .booking-status-pill {
  background: var(--shell-accent-soft);
  color: var(--shell-link);
}
body.admin-shell-route[data-shell-theme="dark"] .booking-availability-nav .button.secondary,
body.admin-shell-route[data-shell-theme="dark"] .booking-availability-nav .button.secondary {
  background: #344355;
  color: #f8fbff;
}
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-grid th,
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-grid td,
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-grid th,
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-grid td {
  border-color: #343946;
}
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-grid thead th,
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-grid tbody th,
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-grid thead th,
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-grid tbody th {
  background: #20232b;
}
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-day-total,
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-grid th small,
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-day-total,
body.admin-shell-route[data-shell-theme="dark"] .booking-schedule-grid th small {
  color: #a9b7c8;
}
body.admin-shell-route[data-shell-theme="dark"] .booking-shift-empty,
body.admin-shell-route[data-shell-theme="dark"] .booking-shift-off,
body.admin-shell-route[data-shell-theme="dark"] .booking-shift-empty,
body.admin-shell-route[data-shell-theme="dark"] .booking-shift-off {
  background: #26282e;
  color: #eef3f8;
}
@media (max-width: 760px) {
  .booking-availability-nav .button {
    flex: 1 1 auto;
  }
  .booking-schedule-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .booking-schedule-controls {
    margin-left: 0;
    width: 100%;
  }
  .booking-week-label {
    order: -1;
    width: 100%;
  }
}
.commerce-operations-summary,
.commerce-next-action,
.commerce-ops-table,
.commerce-studio-hero,
.commerce-hero,
.commerce-loyalty-moment,
.commerce-product-detail,
.commerce-checkout,
.commerce-account,
.commerce-wishlist {
  border: 1px solid #d6e6ee;
  border-radius: var(--commerce-card-radius);
  background: linear-gradient(135deg, var(--commerce-surface) 0%, var(--commerce-surface-tint) 54%, var(--commerce-surface-soft) 100%);
  padding: 1.35rem;
  margin-bottom: 1rem;
}
.commerce-shop,
.commerce-checkout,
.commerce-account,
.commerce-wishlist {
  display: grid;
  gap: 1rem;
  min-width: 0;
}
.commerce-shop {
  position: relative;
  padding-bottom: 7rem;
}
.commerce-shop-products {
  display: grid;
  gap: 1rem;
  width: min(100%, 96rem);
  margin-inline: auto;
  padding: 1rem;
  border: 1px solid #d8e2ea;
  border-radius: 0;
  background: #ffffff;
  color: #111827;
}
.commerce-shop-products-head {
  display: grid;
  gap: 0.25rem;
}
.commerce-shop-products-head h1,
.commerce-shop-products-head p {
  margin: 0;
}
.commerce-shop-products-head h1,
.commerce-shop-products .commerce-product-card strong,
.commerce-shop-products .commerce-product-price {
  color: #111827;
}
.commerce-shop-products .commerce-product-card,
.commerce-shop-products .commerce-product-card a {
  color: #111827;
}
.commerce-shop-products .commerce-product-card {
  min-height: 0;
  gap: 0.45rem;
  padding: 0.65rem;
  border-color: #d8e2ea;
  border-radius: 4px;
  background: #ffffff;
  box-shadow: none;
}
.commerce-shop-products .commerce-product-card a {
  gap: 0.45rem;
}
.commerce-shop-products .commerce-product-summary,
.commerce-shop-products .commerce-product-card span:not(.commerce-product-price):not(.commerce-product-kicker):not(.commerce-product-proof) {
  color: #4b5563;
}
.commerce-shop-products img.commerce-product-image {
  min-height: 0;
  padding: 0;
  aspect-ratio: 1 / 1;
  border-radius: 2px;
}
.commerce-shop-products span.commerce-product-image {
  min-height: 8rem;
  border-radius: 2px;
}
.commerce-operations-summary,
.commerce-studio-hero,
.commerce-product-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
}
.commerce-next-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.commerce-next-action h3 {
  margin: 0.35rem 0 0.25rem;
}
.commerce-studio-hero h2,
.commerce-operations-summary h2,
.commerce-hero h1,
.commerce-product-detail h1 {
  margin: 0.2rem 0 0.55rem;
  color: var(--brand-ink);
}
.commerce-readiness-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  gap: 0.65rem;
  margin: 0;
}
.commerce-readiness-stats div {
  display: grid;
  gap: 0.2rem;
  padding: 0.85rem;
  border: 1px solid var(--commerce-border);
  border-radius: var(--commerce-radius);
  background: var(--commerce-surface);
}
.commerce-readiness-stats dt {
  color: var(--brand-muted);
  font-size: 0.78rem;
}
.commerce-readiness-stats dd {
  margin: 0;
  color: var(--brand-ink);
  font-size: 1.25rem;
  font-weight: 800;
}
.commerce-payment-readiness {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.85rem;
  padding: 0.95rem;
  border: 1px solid var(--commerce-border);
  border-radius: var(--commerce-radius);
  background: var(--commerce-surface);
}
.commerce-payment-readiness div {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}
.commerce-payment-readiness strong {
  color: var(--brand-ink);
  font-size: 1rem;
}
.commerce-payment-readiness span:not(.commerce-status-pill) {
  color: var(--brand-muted);
  line-height: 1.45;
}
.stripe-connect-page {
  display: grid;
  gap: 1rem;
}
.stripe-connect-page-heading,
.stripe-connect-hero,
.stripe-connect-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.stripe-connect-page-heading h2,
.stripe-connect-hero h3,
.stripe-connect-action h3 {
  margin: 0.2rem 0 0.25rem;
  color: var(--brand-ink);
}
.stripe-connect-hero {
  align-items: stretch;
  padding: 1rem;
  border: 1px solid var(--commerce-border-strong);
  border-radius: var(--commerce-radius);
  background:
    radial-gradient(circle at top right, rgba(25, 194, 212, 0.16), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #eef9f6 100%);
}
.stripe-connect-hero.needs-action {
  border-color: #f0b86b;
  background:
    radial-gradient(circle at top right, rgba(240, 184, 107, 0.18), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #fff7ea 100%);
}
.stripe-connect-hero > div {
  display: grid;
  align-content: center;
  gap: 0.35rem;
  min-width: 0;
}
.stripe-connect-hero p,
.stripe-connect-check p,
.stripe-connect-action p {
  margin: 0;
  color: var(--brand-muted);
  line-height: 1.45;
}
.stripe-connect-hero dl,
.stripe-connect-support dl {
  display: grid;
  gap: 0.55rem;
  margin: 0;
}
.stripe-connect-hero dl {
  min-width: min(100%, 14rem);
  padding: 0.75rem;
  border: 1px solid rgba(18, 98, 114, 0.12);
  border-radius: var(--commerce-radius);
  background: rgba(255, 255, 255, 0.72);
}
.stripe-connect-hero dt,
.stripe-connect-support dt {
  color: var(--brand-muted);
  font-size: 0.78rem;
}
.stripe-connect-hero dd,
.stripe-connect-support dd {
  margin: 0;
  color: var(--brand-ink);
  font-weight: 800;
  overflow-wrap: anywhere;
}
.stripe-connect-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 0.75rem;
}
.stripe-connect-check {
  display: grid;
  align-content: start;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--commerce-border);
  border-radius: var(--commerce-radius);
  background: var(--commerce-surface);
}
.stripe-connect-check strong {
  color: var(--brand-ink);
}
.stripe-connect-action {
  align-items: end;
  flex-wrap: wrap;
  padding: 1rem;
  border: 1px solid var(--commerce-border);
  border-radius: var(--commerce-radius);
  background: var(--commerce-surface-soft);
}
.stripe-connect-action > div:first-child {
  flex: 1 1 16rem;
}
.stripe-connect-action .grid {
  flex: 2 1 24rem;
  width: 100%;
}
.stripe-connect-action button {
  flex: 0 0 auto;
}
.stripe-connect-support {
  border: 1px solid var(--commerce-border);
  border-radius: var(--commerce-radius);
  padding: 0.1rem 0.8rem 0.8rem;
  background: rgba(255, 255, 255, 0.62);
}
.stripe-connect-support summary {
  cursor: pointer;
  padding: 0.65rem 0;
  color: var(--brand-ink);
  font-weight: 700;
}
.commerce-studio-pulse,
.commerce-product-image,
.commerce-picture-preview {
  min-height: 8rem;
  border: 1px solid #cfe2eb;
  border-radius: var(--commerce-radius);
  background: linear-gradient(145deg, #0f2c45, #167b9e);
  color: #ffffff;
  display: grid;
  place-items: center;
  padding: 1rem;
}
.commerce-studio-pulse span { display: block; margin-top: 0.4rem; color: #dceff6; }
.commerce-hero-actions {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.commerce-launch-steps,
.commerce-readiness-checklist,
.commerce-primary-areas,
.commerce-collection-rail,
.commerce-more-tool-grid,
.commerce-readiness-grid,
.commerce-studio-grid,
.commerce-product-grid,
.commerce-review-grid,
.commerce-recommendation-grid,
.commerce-trust-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: var(--commerce-grid-gap);
}
.commerce-product-grid {
  grid-template-columns: minmax(0, 1fr);
}
.commerce-shop-products .commerce-product-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
}
.commerce-launch-steps,
.commerce-readiness-checklist,
.commerce-primary-areas,
.commerce-more-tools {
  margin-bottom: 1rem;
}
.commerce-more-tools {
  border: 1px solid var(--commerce-border);
  border-radius: var(--commerce-radius);
  background: var(--commerce-surface);
  padding: 0.2rem 0.9rem 0.9rem;
}
.commerce-more-tools summary {
  cursor: pointer;
  padding: 0.75rem 0;
  color: var(--brand-ink);
  font-weight: 700;
}
.commerce-readiness-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  margin-bottom: 1.35rem;
  align-items: stretch;
}
.commerce-studio-grid {
  margin-top: 0;
  align-items: stretch;
}
.commerce-launch-steps a,
.commerce-readiness-checklist a,
.commerce-primary-areas a,
.commerce-collection-card,
.commerce-more-tool-grid a,
.commerce-readiness-card {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--commerce-border);
  border-radius: var(--commerce-card-radius);
  background: var(--commerce-surface);
  color: var(--brand-text);
}
.commerce-readiness-card {
  min-height: 7.5rem;
  align-content: start;
  scroll-margin-top: 5rem;
}
.commerce-launch-steps a:hover,
.commerce-readiness-checklist a:hover,
.commerce-primary-areas a:hover,
.commerce-collection-card:hover,
.commerce-more-tool-grid a:hover {
  text-decoration: none;
  border-color: #71c9d3;
}
.commerce-launch-steps span,
.commerce-readiness-checklist small,
.commerce-primary-areas span,
.commerce-primary-areas small,
.commerce-collection-card span,
.commerce-collection-card small,
.commerce-more-tool-grid small,
.commerce-readiness-card small {
  color: var(--brand-muted);
}
.commerce-ops-table table {
  width: 100%;
}
.commerce-ops-table td:first-child a {
  display: grid;
  gap: 0.18rem;
}
.commerce-studio-card,
.commerce-product-card {
  display: grid;
  gap: 0.55rem;
  align-content: start;
  min-width: 0;
  min-height: 9rem;
  padding: 1rem;
  border: 1px solid #dbe8ef;
  border-radius: var(--commerce-radius);
  background: var(--commerce-surface);
  color: var(--brand-text);
}
.commerce-product-card a {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
  color: inherit;
}
.commerce-product-card a:hover {
  text-decoration: none;
}
.commerce-product-card form,
.commerce-product-buybox form,
.commerce-checkout-final-action {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}
.commerce-product-card img {
  display: block;
  width: 100%;
  max-inline-size: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: var(--commerce-image-radius);
  background: var(--commerce-image-bg);
}
.commerce-product-card picture {
  display: block;
  width: 100%;
  max-inline-size: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--commerce-image-radius);
  background: var(--commerce-image-bg);
}
.commerce-product-card picture img {
  width: 100%;
  height: 100%;
  max-inline-size: 100%;
  object-position: center;
  border-radius: 0;
}
.commerce-launch-card small,
.commerce-product-card small {
  color: var(--brand-muted);
}
.commerce-status-pill,
.commerce-product-kicker {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border: 1px solid #c8e6e8;
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
  background: #e8fbf8;
  color: #126272;
  font-size: 0.82rem;
  font-weight: 700;
}
.commerce-product-proof {
  color: var(--commerce-trust-muted);
  font-weight: 700;
}
.commerce-product-summary {
  color: var(--brand-muted);
}
.commerce-product-price {
  color: var(--brand-ink);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.commerce-sale-badge,
.commerce-price-sale {
  color: var(--commerce-sale-accent);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.commerce-sale-badge {
  display: inline-flex;
  width: fit-content;
  padding: 0.25rem 0.55rem;
  border: 1px solid color-mix(in srgb, var(--commerce-sale-accent) 28%, var(--commerce-border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--commerce-sale-accent) 10%, #ffffff 90%);
}
.commerce-status-pill.is-complete {
  background: #e6f7ed;
  border-color: #9ad6ad;
  color: #126534;
}
.commerce-status-pill.is-partial {
  background: #fff1df;
  border-color: #f0b86b;
  color: #8a4f00;
}
.commerce-status-pill.is-not-ready {
  background: #ffe7e7;
  border-color: #ee9b9b;
  color: #9d2020;
}
.commerce-studio-card:hover,
.commerce-product-card:hover {
  text-decoration: none;
  border-color: #71c9d3;
}
.commerce-category-rail,
.commerce-module-strip,
.commerce-media-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 1rem;
}
.commerce-category-rail a,
.commerce-module-strip span,
.commerce-media-actions button {
  border: 1px solid var(--commerce-border);
  border-radius: 999px;
  padding: 0.45rem 0.75rem;
  background: var(--commerce-surface);
}
.commerce-picture-line {
  display: grid;
  grid-template-columns: 8rem minmax(12rem, 1fr) minmax(12rem, 1fr) minmax(8rem, 0.7fr) auto;
  gap: 0.75rem;
  align-items: end;
}
.commerce-picture-preview {
  min-height: 6.5rem;
  overflow: hidden;
  background: linear-gradient(145deg, #f3fbfc, #dbeef3);
  color: #305167;
}
.commerce-stock-badge {
  display: inline-flex;
  width: fit-content;
  margin-top: 0.6rem;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--commerce-stock-ok) 12%, #ffffff 88%);
  color: var(--commerce-stock-ok);
  font-weight: 700;
}
.commerce-stock-badge.is-low,
.commerce-stock-badge[data-stock="low"],
.commerce-stock-badge[data-stock-state="low"] {
  background: color-mix(in srgb, var(--commerce-stock-low) 13%, #ffffff 87%);
  color: var(--commerce-stock-low);
}
.commerce-stock-badge.is-out,
.commerce-stock-badge[data-stock="out"],
.commerce-stock-badge[data-stock-state="out"] {
  background: color-mix(in srgb, var(--commerce-stock-out) 12%, #ffffff 88%);
  color: var(--commerce-stock-out);
}
.commerce-product-image {
  width: 100%;
  max-inline-size: 100%;
  min-height: 9rem;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  padding: 0;
  overflow: hidden;
  background: var(--commerce-image-bg);
}
img.commerce-product-image {
  display: block;
}
.commerce-product-gallery,
.commerce-product-buybox {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  align-content: start;
}
.commerce-product-gallery .commerce-product-image {
  min-height: 14rem;
  border-radius: var(--commerce-image-radius);
}
.commerce-product-buybox > p {
  margin: 0;
}
.commerce-product-buybox > p > strong {
  color: var(--brand-ink);
  font-size: var(--commerce-price-size);
  font-variant-numeric: tabular-nums;
}
.commerce-product-buybox input[type="number"],
.commerce-cart-line-form input[type="number"] {
  max-width: 8rem;
}
.commerce-product-toggle {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
}
.commerce-product-toggle input {
  width: auto;
  margin-top: 0.2rem;
}
.commerce-product-more summary {
  cursor: pointer;
  color: #0d5f91;
  font-weight: 700;
}
.commerce-product-detail > .commerce-product-image,
.commerce-product-detail > .commerce-picture-preview,
.commerce-product-detail > .commerce-story-panel,
.commerce-product-detail > :has(.commerce-product-image) {
  order: -1;
}
.commerce-media-editor,
.commerce-media-upload {
  display: grid;
  gap: 1rem;
}
.commerce-media-gallery {
  border: 1px solid #d8e7ef;
  border-radius: var(--commerce-radius);
  background: rgba(255, 255, 255, 0.72);
  padding: 0.85rem;
  margin-bottom: 1rem;
}
.commerce-media-gallery h3 {
  margin: 0 0 0.75rem;
}
.commerce-media-grid,
.commerce-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.75rem;
}
.commerce-media-thumb {
  min-width: 0;
  margin: 0;
  border: 1px solid #d8e7ef;
  border-radius: 8px;
  background: #fff;
  padding: 0.65rem;
}
.commerce-media-thumb img {
  display: block;
  width: 100%;
  max-inline-size: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: var(--commerce-image-radius);
  background: #eaf3f8;
}
.commerce-media-thumb figcaption {
  display: grid;
  gap: 0.18rem;
  margin-top: 0.55rem;
  color: var(--brand-muted);
  font-size: 0.9rem;
}
.commerce-media-thumb figcaption strong {
  color: var(--brand-text);
}
.commerce-media-upload progress {
  width: 100%;
  height: 0.55rem;
  margin-top: 0.55rem;
}
.commerce-media-editor.is-dragover {
  outline: 2px solid #48bed0;
  outline-offset: 3px;
}
.commerce-module-dashboard {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.commerce-module-dashboard h2 {
  margin: 0.2rem 0 0.55rem;
}
.commerce-module-card {
  display: grid;
  gap: 0.45rem;
  min-height: 8rem;
  padding: 1rem;
  border: 1px solid #dbe8ef;
  border-radius: 8px;
  background: #ffffff;
  color: var(--brand-text);
}
.commerce-module-card:hover {
  text-decoration: none;
  border-color: #71c9d3;
  box-shadow: 0 12px 28px rgba(17, 89, 125, 0.1);
}
.commerce-module-card span,
.commerce-studio-card span,
.commerce-product-card span {
  color: var(--brand-muted);
}
.commerce-trust-list {
  display: grid;
  gap: 0.5rem;
  margin: 0.25rem 0;
  padding: 0;
  list-style: none;
}
.commerce-trust-list li,
.commerce-trust-card,
.commerce-review-card,
.commerce-recommendation-card,
.commerce-review-summary {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--commerce-border);
  border-radius: var(--commerce-card-radius);
  background: rgba(255, 255, 255, 0.82);
  color: var(--commerce-trust-muted);
}
.commerce-trust-list li {
  border-left: 4px solid var(--commerce-border-strong);
}
.commerce-review-section,
.commerce-product-reviews,
.commerce-recommendations,
.commerce-product-recommendations,
.commerce-trust-section {
  display: grid;
  gap: var(--commerce-grid-gap);
  margin-top: 1rem;
}
.commerce-review-list,
.commerce-recommendation-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.commerce-review-card strong,
.commerce-recommendation-card strong,
.commerce-trust-card strong,
.commerce-review-summary strong {
  color: var(--brand-ink);
}
.commerce-workbench,
.commerce-checkout-panels,
.commerce-wishlist-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--commerce-grid-gap);
  margin-top: 1rem;
}
.commerce-checkout-forms {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--commerce-grid-gap);
  margin-top: 1rem;
}
.commerce-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(min(100%, 27rem), 0.58fr);
  gap: 1rem;
  align-items: start;
  width: 100%;
  max-width: 78rem;
  margin-inline: auto;
}
.commerce-checkout-main,
.commerce-checkout-side {
  display: grid;
  gap: 1rem;
  min-width: 0;
}
.commerce-checkout-side {
  align-content: start;
}
.commerce-checkout-side .commerce-cart-summary {
  position: static;
}
.commerce-checkout-result {
  background: #ffffff !important;
  background-image: none !important;
  display: grid;
  gap: 1rem;
  width: min(100%, 72rem);
  margin-inline: auto;
  padding: 1rem;
  border: 1px solid #d4e2dc;
  border-radius: 8px;
  color: #102033;
}
.commerce-checkout-result-card {
  background: #ffffff !important;
  display: grid;
  gap: 0.55rem;
  padding: 1rem;
  border: 0;
  border-radius: 0;
  color: #102033;
  box-shadow: none;
}
body.public-site .commerce-checkout-result {
  background: #ffffff !important;
  background-image: none !important;
  color: #102033 !important;
  border-color: #d4e2dc !important;
}
body.public-site .commerce-checkout-result .commerce-checkout-result-card {
  background: #ffffff !important;
  background-image: none !important;
  color: #102033 !important;
}
body.public-site .commerce-checkout-result .commerce-checkout-result-card :where(h1, h2, strong) {
  color: #102033;
}
body.public-site .commerce-checkout-result .commerce-checkout-result-card :where(p, .muted, li) {
  color: #526a75;
}
.commerce-checkout-result-card h1,
.commerce-checkout-result-card h2 {
  margin: 0;
  color: #102033;
}
.commerce-checkout-result-card p {
  margin: 0;
  color: #526a75;
}
.commerce-checkout-hero {
  margin-bottom: 0;
}
.commerce-work-surface,
.commerce-checkout-panels article,
.commerce-checkout-form-card,
.commerce-wishlist-grid article,
.cart-drawer,
.commerce-story-panel {
  display: grid;
  gap: 0.65rem;
  align-content: start;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--commerce-border);
  border-radius: var(--commerce-radius);
  background: rgba(255, 255, 255, 0.86);
  color: var(--brand-text);
}
.commerce-checkout-panels article,
.commerce-checkout-form-card,
.commerce-cart-summary,
.cart-drawer {
  overflow-wrap: anywhere;
}
.commerce-checkout,
.commerce-checkout-panels article,
.commerce-checkout-form-card,
.cart-drawer {
  line-height: 1.55;
}
.commerce-checkout-panels input,
.commerce-checkout-panels select,
.commerce-checkout-panels textarea,
.commerce-checkout-panels button,
.commerce-checkout-form-card input,
.commerce-checkout-form-card select,
.commerce-checkout-form-card textarea,
.commerce-checkout-form-card button,
.cart-drawer input,
.cart-drawer select,
.cart-drawer textarea,
.cart-drawer button {
  max-width: 100%;
  min-width: 0;
}
.commerce-hero-actions .button,
.commerce-payment-readiness .button,
.commerce-category-rail a,
.commerce-media-actions button,
.commerce-more-tools summary,
.commerce-product-more summary,
.commerce-checkout :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea, button, .button),
.commerce-product-buybox :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea, button, .button),
.commerce-cart-line-form :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea, button, .button),
.cart-drawer :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea, button, .button),
.commerce-wishlist-grid .button {
  min-height: var(--commerce-touch-target);
}
.commerce-work-surface h3 {
  margin: 0;
}
.commerce-work-surface form {
  display: grid;
  gap: 0.7rem;
}
.commerce-checkout-card-header {
  display: grid;
  gap: 0.25rem;
}
.commerce-checkout-card-header h2 {
  margin: 0;
  color: var(--brand-ink);
  font-size: 1.05rem;
}
.commerce-checkout-card-header p {
  margin: 0;
  color: var(--brand-muted);
}
.commerce-checkout-form-card form,
.commerce-checkout-card-fields,
.commerce-delivery-options {
  display: grid;
  gap: 0.8rem;
}
.commerce-checkout-form-card label,
.commerce-delivery-option {
  display: grid;
  gap: 0.35rem;
  margin: 0;
}
.commerce-delivery-option {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  padding: 0.75rem;
  border: 1px solid var(--commerce-border);
  border-radius: var(--commerce-card-radius);
  background: rgba(255, 255, 255, 0.72);
}
.commerce-delivery-option span {
  display: grid;
  gap: 0.2rem;
}
.commerce-delivery-option small {
  color: var(--brand-muted);
}
.commerce-checkout-form-grid {
  display: grid;
  gap: 0.8rem;
}
.commerce-checkout-notice {
  display: grid;
  gap: 0.45rem;
}
.commerce-checkout-notice strong {
  color: var(--brand-ink);
}
.commerce-checkout-notice ul {
  margin: 0;
  padding-left: 1.1rem;
}
.commerce-checkout-panels article span,
.commerce-wishlist-grid article span,
.commerce-account p {
  color: var(--brand-muted);
}
.commerce-checkout-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
  gap: 0.5rem;
  padding: 0;
  list-style: none;
}
.commerce-checkout-steps li {
  border: 1px solid var(--commerce-border);
  border-radius: var(--commerce-radius);
  background: var(--commerce-surface);
  padding: 0.7rem;
  font-weight: 700;
}
.commerce-cart-review {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(245, 249, 246, 0.96) 52%, rgba(238, 247, 251, 0.96) 100%),
    repeating-linear-gradient(0deg, rgba(43, 71, 82, 0.035) 0 1px, transparent 1px 7px);
}
.commerce-cart-review > * {
  position: relative;
}
.commerce-cart-hero {
  max-width: 48rem;
  margin-bottom: 1rem;
}
.commerce-cart-hero h1 {
  margin: 0.2rem 0 0.5rem;
  color: var(--brand-ink);
}
.commerce-cart-hero p:last-child {
  margin-bottom: 0;
  color: var(--brand-muted);
}
.commerce-cart-kicker {
  display: inline-flex;
  margin: 0;
  padding: 0.25rem 0.55rem;
  border: 1px solid #c9dfdc;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  color: #2b6470;
  font-size: 0.82rem;
  font-weight: 800;
}
.commerce-cart-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(min(100%, var(--commerce-summary-sidebar-width)), 0.75fr);
  gap: 1rem;
  align-items: start;
  min-width: 0;
}
.commerce-cart-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.commerce-cart-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  min-width: 0;
  min-height: 5.5rem;
  padding: 0.95rem;
  border: 1px solid #d8e5df;
  border-radius: var(--commerce-radius);
  background: rgba(255, 255, 255, 0.84);
  box-shadow: var(--commerce-card-shadow);
}
.commerce-cart-thumb {
  display: block;
  width: 4.75rem;
  max-inline-size: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center;
  border: 1px solid var(--commerce-border);
  border-radius: var(--commerce-image-radius);
  background: var(--commerce-image-bg);
}
.commerce-cart-line-main {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}
.commerce-cart-line-main strong {
  color: var(--brand-ink);
  overflow-wrap: anywhere;
}
.commerce-cart-line-kicker,
.commerce-cart-line-meta,
.commerce-cart-note {
  color: var(--brand-muted);
}
.commerce-cart-line-kicker {
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}
.commerce-cart-line-price {
  color: var(--brand-ink);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.commerce-cart-line-form {
  display: grid;
  grid-template-columns: minmax(7rem, 1fr) auto;
  gap: 0.55rem;
  align-items: end;
}
.commerce-cart-line-form label,
.commerce-cart-line form {
  margin: 0;
}
.commerce-cart-summary {
  display: grid;
  gap: 0.75rem;
  position: sticky;
  top: 1rem;
  padding: 1rem;
  border: 1px solid #d4e2dc;
  border-radius: var(--commerce-radius);
  background: #ffffff;
  background-image: none;
  color: #102033;
  box-shadow: var(--commerce-lift-shadow);
}
body.public-site .commerce-cart-summary {
  background: #ffffff !important;
  background-image: none !important;
  color: #102033 !important;
  border-color: #d4e2dc !important;
}
.commerce-cart-review .commerce-cart-checkout-summary {
  background: #ffffff !important;
  background-image: none !important;
  color: #102033;
  border-color: #d4e2dc;
}
body.public-site .commerce-cart-review .commerce-cart-checkout-summary {
  background: #ffffff !important;
  background-image: none !important;
  color: #102033 !important;
  border-color: #d4e2dc !important;
}
.commerce-checkout-summary {
  background: #ffffff !important;
  background-image: none !important;
  color: #102033;
  border-color: #d4e2dc;
}
body.public-site .commerce-checkout-summary {
  background: #ffffff !important;
  background-image: none !important;
  color: #102033 !important;
  border-color: #d4e2dc !important;
}
body.public-site .commerce-checkout-summary :where(label, p, span, small, .commerce-cart-muted, .commerce-cart-note) {
  color: #526a75;
}
body.public-site .commerce-checkout-summary :where(h2, strong, .commerce-cart-total strong) {
  color: #102033;
}
body.public-site .commerce-cart-review .commerce-cart-checkout-summary :where(label, p, span, small, .commerce-cart-muted, .commerce-cart-note) {
  color: #526a75;
}
body.public-site .commerce-cart-review .commerce-cart-checkout-summary :where(h2, strong, .commerce-cart-total strong) {
  color: #102033;
}
.commerce-cart-checkout-form,
.commerce-cart-checkout-section,
.commerce-cart-checkout-fields,
.commerce-cart-promos {
  display: grid;
  gap: 0.75rem;
}
.commerce-cart-checkout-section {
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #d8e5df;
}
.commerce-cart-checkout-section label,
.commerce-cart-promos label {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  color: #334a55;
}
.commerce-cart-checkout-summary :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), textarea) {
  width: 100%;
  border: 1px solid #b9c8d0;
  background: #ffffff;
  color: #102033;
}
.commerce-cart-checkout-summary :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), textarea):focus-visible {
  outline: 3px solid rgba(35, 109, 120, 0.28);
  outline-offset: 2px;
  border-color: #236d78;
}
.commerce-cart-checkout-summary .commerce-delivery-option {
  background: #f8fbfa;
  color: #102033;
}
.commerce-cart-checkout-summary .commerce-delivery-option small,
.commerce-cart-muted {
  color: #526a75;
}
.commerce-cart-checkout-summary .commerce-checkout-card-header h2 {
  color: #102033;
}
.commerce-cart-checkout-summary .commerce-checkout-card-header p {
  color: #526a75;
}
.commerce-cart-summary-heading,
.commerce-cart-summary-row,
.commerce-cart-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
}
.commerce-cart-summary-heading span,
.commerce-cart-summary-row span,
.commerce-cart-total span {
  color: var(--brand-muted);
}
.commerce-cart-summary-heading strong,
.commerce-cart-summary-row strong,
.commerce-cart-total strong {
  color: var(--brand-ink);
  font-variant-numeric: tabular-nums;
}
.commerce-cart-total {
  padding-top: 0.75rem;
  border-top: 1px solid #d8e5df;
  font-size: 1.05rem;
}
.commerce-cart-total strong {
  font-size: 1.35rem;
}
.commerce-cart-notice {
  margin: 0;
}
.commerce-cart-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.commerce-cart-steps li {
  min-height: 2.45rem;
  display: grid;
  place-items: center;
  padding: 0.45rem;
  border: 1px solid #d8e5df;
  border-radius: 8px;
  background: #f8fbfa;
  color: #4d6570;
  font-size: 0.86rem;
  font-weight: 800;
  text-align: center;
}
.commerce-cart-steps li.is-current {
  background: #236d78;
  border-color: #236d78;
  color: #ffffff;
}
.commerce-cart-actions {
  display: grid;
  gap: 0.55rem;
}
.commerce-cart-actions form {
  margin: 0;
}
.commerce-cart-actions button,
.commerce-cart-actions .button,
.commerce-product-card button,
.commerce-product-buybox button,
.commerce-checkout-final-action button,
.cart-drawer .button,
.cart-drawer button,
.commerce-wishlist-grid .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--commerce-touch-target);
}
.commerce-cart-actions button,
.commerce-cart-actions .button,
.commerce-checkout-final-action button {
  width: 100%;
  justify-content: center;
  text-align: center;
}
.commerce-cart-checkout-summary .commerce-cart-actions button[type="submit"] {
  background: #ffffff;
  color: #102033;
  border: 1px solid #102033;
  box-shadow: none;
}
.commerce-cart-checkout-summary .commerce-cart-actions button[type="submit"]:hover:not(:disabled) {
  background: #f6fafb;
}
.commerce-cart-checkout-summary .commerce-cart-actions button[type="submit"]:disabled {
  color: #6d7f88;
  border-color: #b9c8d0;
  background: #eef4f6;
  cursor: not-allowed;
}
.commerce-checkout-final-action {
  margin-top: 0.25rem;
}
.commerce-cart-note {
  margin: 0;
  font-size: 0.92rem;
}
.commerce-cart-empty {
  min-height: 10rem;
  align-content: center;
  justify-items: start;
  padding: 1rem;
  border: 1px dashed #c8d9d7;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}
.commerce-cart-empty p {
  margin: 0;
  color: var(--brand-muted);
}
.collection-story,
.commerce-product-detail.editorial-commerce {
  overflow: hidden;
}
.collection-story {
  grid-template-columns: minmax(0, 1.35fr) minmax(14rem, 0.75fr);
}
.commerce-story-panel {
  min-height: 10rem;
  background: linear-gradient(145deg, #12344f, #17869b);
  color: #ffffff;
}
.commerce-story-panel span {
  color: #dceff6;
}
.cart-drawer {
  position: relative;
  width: 100%;
  max-inline-size: 100%;
  max-width: none;
  margin: 1rem 0;
  border-color: var(--commerce-border-strong);
  background: linear-gradient(135deg, #f7fffd, #e8f6ff);
}
.cart-drawer.commerce-floating-cart {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 70;
  width: min(24rem, calc(100vw - 2rem));
  max-height: min(28rem, calc(100svh - 2rem));
  margin: 0;
  overflow: auto;
  border-color: #b8d9dd;
  background: linear-gradient(135deg, #f9fffd, #e8f7fb);
  box-shadow: 0 22px 56px rgba(10, 32, 48, 0.22);
}
.commerce-floating-cart-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
}
.commerce-floating-cart-summary strong {
  color: var(--brand-ink);
}
.commerce-floating-cart-summary span {
  color: var(--brand-muted);
  font-size: 0.92rem;
}
.cart-drawer-lines {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cart-drawer-lines li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.15rem 0.75rem;
  align-items: center;
  min-width: 0;
}
.cart-drawer-lines li > a:first-child,
.cart-drawer-lines li > span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}
.cart-drawer-lines li > span {
  color: var(--brand-muted);
}
.cart-drawer-lines li > strong {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: var(--brand-ink);
  white-space: nowrap;
}
.cart-drawer-lines .cart-drawer-empty {
  grid-template-columns: minmax(0, 1fr) auto;
}
.cart-drawer-lines .cart-drawer-empty > strong {
  display: none;
}
.commerce-floating-cart .button {
  width: 100%;
  justify-content: center;
}
.cart-drawer[aria-hidden="true"] {
  display: none;
}
.cart-drawer.is-open,
.cart-drawer[data-state="open"],
.cart-drawer[aria-modal="true"] {
  max-height: calc(100svh - 2rem);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.commerce-gallery-proof {
  margin-top: 0.65rem;
  color: var(--brand-muted);
}
.commerce-empty-state {
  display: grid;
  gap: 0.35rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px dashed #bed5df;
  border-radius: 8px;
  background: rgba(244, 249, 252, 0.8);
}
.commerce-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.commerce-field,
.commerce-form-row {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
}
.commerce-field-error,
.commerce-inline-error,
.commerce-status-message[role="alert"] {
  padding: 0.65rem 0.75rem;
  border: 1px solid color-mix(in srgb, var(--commerce-stock-out) 32%, var(--commerce-border));
  border-left-width: 4px;
  border-radius: var(--commerce-card-radius);
  background: color-mix(in srgb, var(--commerce-stock-out) 9%, #ffffff 91%);
  color: var(--commerce-stock-out);
  font-weight: 700;
}
.commerce-product-buybox [aria-invalid="true"],
.commerce-checkout [aria-invalid="true"],
.commerce-cart-line-form [aria-invalid="true"],
.cart-drawer [aria-invalid="true"] {
  border-color: var(--commerce-stock-out);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--commerce-stock-out) 16%, transparent);
}
.commerce-launch-steps a:focus-visible,
.commerce-readiness-checklist a:focus-visible,
.commerce-primary-areas a:focus-visible,
.commerce-collection-card:focus-visible,
.commerce-more-tool-grid a:focus-visible,
.commerce-product-card:focus-visible,
.commerce-product-card a:focus-visible,
.commerce-product-card button:focus-visible,
.commerce-studio-card:focus-visible,
.commerce-module-card:focus-visible,
.commerce-category-rail a:focus-visible,
.commerce-media-actions button:focus-visible,
.commerce-more-tools summary:focus-visible,
.commerce-product-more summary:focus-visible,
.commerce-product-buybox input:focus-visible,
.commerce-product-buybox select:focus-visible,
.commerce-product-buybox textarea:focus-visible,
.commerce-product-buybox button:focus-visible,
.commerce-cart-line-form input:focus-visible,
.commerce-cart-line-form select:focus-visible,
.commerce-cart-line-form textarea:focus-visible,
.commerce-cart-line-form button:focus-visible,
.commerce-cart-line a:focus-visible,
.commerce-cart-line button:focus-visible,
.commerce-cart-actions button:focus-visible,
.commerce-cart-actions .button:focus-visible,
.commerce-checkout a:focus-visible,
.commerce-checkout input:focus-visible,
.commerce-checkout select:focus-visible,
.commerce-checkout textarea:focus-visible,
.commerce-checkout button:focus-visible,
.commerce-checkout-final-action button:focus-visible,
.commerce-sticky-cta button:focus-visible,
.commerce-mobile-cta button:focus-visible,
.commerce-wishlist-grid a:focus-visible,
.commerce-wishlist-grid button:focus-visible,
.commerce-wishlist-grid .button:focus-visible,
.commerce-account a:focus-visible,
.cart-drawer a:focus-visible,
.cart-drawer input:focus-visible,
.cart-drawer select:focus-visible,
.cart-drawer textarea:focus-visible,
.cart-drawer button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--commerce-focus) 76%, #ffffff 24%);
  outline-offset: 3px;
}
@media (max-width: 800px) {
  .commerce-studio-hero,
  .collection-story,
  .commerce-product-detail,
  .commerce-cart-shell,
  .commerce-picture-line {
    grid-template-columns: 1fr;
  }
  .commerce-cart-summary {
    position: static;
  }
  .commerce-next-action,
  .commerce-module-dashboard {
    align-items: stretch;
    flex-direction: column;
  }
  .commerce-sticky-cta,
  .commerce-mobile-cta,
  .commerce-cart-actions.is-sticky,
  .commerce-checkout-actions.is-sticky {
    position: sticky;
    bottom: 0;
    z-index: 20;
    margin: 0.5rem -0.5rem -0.5rem;
    padding: 0.75rem 0.75rem calc(0.75rem + env(safe-area-inset-bottom));
    border-top: 1px solid var(--commerce-border);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 -10px 22px rgba(37, 59, 67, 0.08);
  }
  .commerce-sticky-cta,
  .commerce-mobile-cta {
    display: grid;
    align-items: center;
    min-height: var(--commerce-sticky-cta-height);
  }
  .commerce-sticky-cta form,
  .commerce-mobile-cta form {
    margin: 0;
  }
  .commerce-sticky-cta button,
  .commerce-mobile-cta button {
    width: 100%;
    justify-content: center;
  }
  .cart-drawer.is-open,
  .cart-drawer[data-state="open"],
  .cart-drawer[aria-modal="true"] {
    position: fixed;
    inset: 0.75rem;
    z-index: 60;
    width: auto;
    margin: 0;
    max-width: none;
    max-block-size: calc(100svh - 1.5rem);
    max-height: none;
    box-shadow: 0 24px 60px rgba(11, 23, 40, 0.24);
  }
}
@media (max-width: 900px) {
  .commerce-checkout-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .commerce-operations-summary,
  .commerce-next-action,
  .commerce-ops-table,
  .commerce-studio-hero,
  .commerce-hero,
  .commerce-loyalty-moment,
  .commerce-product-detail,
  .commerce-checkout,
  .commerce-account,
  .commerce-wishlist {
    padding: 1rem;
  }
  .commerce-payment-readiness {
    align-items: stretch;
    flex-direction: column;
  }
  .commerce-payment-readiness .button {
    justify-content: center;
    width: 100%;
  }
  .stripe-connect-page-heading,
  .stripe-connect-hero,
  .stripe-connect-action {
    align-items: stretch;
    flex-direction: column;
  }
  .stripe-connect-action button {
    width: 100%;
  }
  .commerce-checkout,
  .commerce-cart-review {
    line-height: 1.6;
  }
  .commerce-checkout-panels {
    gap: 0.75rem;
  }
  .commerce-checkout-panels article,
  .cart-drawer {
    padding: 0.85rem;
  }
  .cart-drawer.commerce-floating-cart:not(.is-open):not([data-state="open"]):not([aria-modal="true"]) {
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    max-height: 45svh;
    border-radius: 14px 14px 0 0;
    padding-bottom: calc(0.85rem + env(safe-area-inset-bottom));
  }
  .commerce-cart-line,
  .commerce-cart-summary-heading,
  .commerce-cart-summary-row,
  .commerce-cart-total {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .commerce-cart-line-price {
    white-space: normal;
  }
  .commerce-cart-thumb {
    width: 4.5rem;
  }
  .commerce-cart-line-form {
    grid-template-columns: 1fr;
  }
  .commerce-cart-steps {
    grid-template-columns: 1fr;
  }
  .commerce-checkout-steps {
    grid-template-columns: 1fr;
  }
  .commerce-product-buybox input[type="number"],
  .commerce-cart-line-form input[type="number"] {
    max-width: none;
  }
  .cart-drawer.is-open,
  .cart-drawer[data-state="open"],
  .cart-drawer[aria-modal="true"] {
    inset: 0;
    height: 100svh;
    max-block-size: none;
    max-height: 100svh;
    border-radius: 0;
    padding: 1rem;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom));
    box-shadow: none;
  }
}
@media (min-width: 640px) {
  .commerce-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 760px) {
  .commerce-checkout-panels,
  .commerce-wishlist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 801px) {
  .commerce-operations-summary,
  .commerce-studio-hero,
  .commerce-product-detail {
    grid-template-columns: minmax(0, 1.4fr) minmax(15rem, 0.8fr);
  }
  .commerce-product-detail > .commerce-product-image,
  .commerce-product-detail > .commerce-picture-preview,
  .commerce-product-detail > .commerce-story-panel,
  .commerce-product-detail > :has(.commerce-product-image) {
    order: initial;
  }
  .cart-drawer:not(.commerce-floating-cart) {
    justify-self: end;
    width: min(100%, var(--commerce-drawer-width));
  }
  .commerce-product-gallery .commerce-product-image {
    min-height: 18rem;
  }
}
@media (min-width: 980px) {
  .commerce-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1180px) {
  .commerce-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 560px) {
  .commerce-shop-products .commerce-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 760px) {
  .commerce-shop-products .commerce-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1020px) {
  .commerce-shop-products .commerce-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 1260px) {
  .commerce-shop-products .commerce-product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
pre.page-body {
  white-space: pre-wrap;
  background: transparent;
  padding: 0;
  margin: 0;
  font-family: inherit;
  line-height: 1.7;
}
form.inline { display: inline; }
.brand-bar {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.brand-lockup {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.brand-logo {
  width: 88px;
  height: auto;
  display: block;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.08);
  padding: 0.2rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
}
.brand-name {
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.02em;
}
.brand-product {
  margin-top: 0.2rem;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--brand-lime);
}
.brand-site {
  margin-top: 0.35rem;
  font-size: 0.96rem;
  color: rgba(224, 240, 246, 0.88);
}
.header-meta {
  text-align: right;
  max-width: 28rem;
}
.header-kicker {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--brand-lime);
  margin-bottom: 0.2rem;
}
body.signup-route {
  overflow-x: clip;
  background:
    linear-gradient(180deg, #071725 0%, #0b2334 34%, #edf5f7 34%, #f8fbfc 100%);
}
.signup-shell {
  width: 100%;
  overflow-x: hidden;
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 17.5rem minmax(0, 1fr);
  background:
    linear-gradient(90deg, rgba(7, 20, 34, 0.96) 0 17.5rem, transparent 17.5rem),
    linear-gradient(145deg, rgba(25, 194, 212, 0.18), transparent 34rem),
    linear-gradient(180deg, #071725 0%, #0b2334 26rem, #edf5f7 26rem, #f8fbfc 100%);
}
.signup-sidebar {
  min-height: 100vh;
  padding: 2rem;
  color: #f7fbff;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.signup-sidebar .brand-logo {
  width: 3.1rem;
  border-radius: 14px;
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.signup-sidebar .brand-name {
  font-size: 1rem;
  letter-spacing: 0;
}
.signup-sidebar .brand-product {
  color: #a8bed4;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
}
.signup-step-list {
  display: grid;
  gap: 1rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.signup-step {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  padding: 0.9rem 0.8rem;
  border-radius: 8px;
  color: #94abc2;
}
.signup-step.is-active,
.signup-step.is-complete {
  background: rgba(17, 137, 198, 0.16);
  color: #ffffff;
}
.signup-step-number {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 999px;
  border: 1px solid rgba(126, 169, 207, 0.42);
  display: grid;
  place-items: center;
  font-weight: 700;
}
.signup-step.is-active .signup-step-number,
.signup-step.is-complete .signup-step-number {
  border-color: #24a8ff;
  box-shadow: 0 0 0 4px rgba(36, 168, 255, 0.1);
}
.signup-step small {
  display: block;
  margin-top: 0.3rem;
  line-height: 1.45;
  color: #9eb2c6;
}
.signup-support {
  margin-top: auto;
  padding: 1rem;
  border: 1px solid rgba(126, 169, 207, 0.22);
  border-radius: 8px;
  background: rgba(4, 18, 31, 0.42);
}
.signup-support strong { display: block; }
.signup-support p {
  margin: 0.35rem 0 0.85rem;
  color: #9eb2c6;
}
.signup-support .button {
  padding: 0.55rem 0.75rem;
  font-size: 0.86rem;
  box-shadow: none;
}
.signup-content {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  padding: 3rem 3rem 4rem;
}
.signup-hero {
  min-height: 11.5rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(min(100%, 20rem), 28rem);
  gap: 2rem;
  align-items: end;
  color: #ffffff;
}
.signup-hero h1 {
  margin: 0;
  max-width: 36rem;
  font-size: 2.45rem;
  line-height: 1.08;
}
.signup-hero h1 span { color: #7ee4a5; }
.signup-hero p {
  max-width: 31rem;
  color: #d9e8f4;
  font-size: 1.05rem;
  line-height: 1.65;
}
.signup-hero-illustration {
  position: relative;
  min-height: 11rem;
}
.signup-shop {
  position: absolute;
  right: 3.9rem;
  bottom: 0;
  width: 10.5rem;
  height: 8.5rem;
  border-radius: 1.2rem 1.2rem 0.5rem 0.5rem;
  background: linear-gradient(145deg, #e7f4ff, #9bb8d5);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.22);
}
.signup-shop::before {
  content: "";
  position: absolute;
  left: -0.35rem;
  right: -0.35rem;
  top: -1.55rem;
  height: 2.1rem;
  border-radius: 1rem 1rem 0.35rem 0.35rem;
  background:
    repeating-linear-gradient(90deg, #ffffff 0 1.65rem, #77a4e6 1.65rem 3.3rem);
  transform: skewX(-12deg);
}
.signup-shop-window {
  position: absolute;
  left: 1.05rem;
  bottom: 2.1rem;
  width: 3.3rem;
  height: 3.2rem;
  border-radius: 0.35rem;
  background: linear-gradient(145deg, #315575, #102a43);
}
.signup-shop-door {
  position: absolute;
  right: 1.15rem;
  bottom: 0;
  width: 3rem;
  height: 5.6rem;
  border-radius: 0.5rem 0.5rem 0 0;
  background: linear-gradient(180deg, #234765, #0e2a42);
}
.signup-plant {
  position: absolute;
  right: 15rem;
  bottom: 0.15rem;
  width: 2.1rem;
  height: 4.4rem;
  border-radius: 999px 999px 0.45rem 0.45rem;
  background: linear-gradient(180deg, #7ee4a5 0 55%, #d4eef4 55% 100%);
}
.signup-shield,
.signup-calendar,
.signup-message {
  position: absolute;
  display: grid;
  place-items: center;
  color: #e8f6ff;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}
.signup-shield {
  right: 18rem;
  bottom: 5.8rem;
  width: 3.6rem;
  height: 3.9rem;
  border-radius: 1rem 1rem 1.4rem 1.4rem;
  background: linear-gradient(145deg, #ffc66f, #8f6427);
  font-size: 1.25rem;
  font-weight: 800;
}
.signup-calendar {
  right: 0.7rem;
  bottom: 2.7rem;
  width: 4.3rem;
  height: 4.7rem;
  border-radius: 0.75rem;
  background: linear-gradient(145deg, #e8f4ff, #abc3d9);
  color: #274461;
  font-size: 1.7rem;
  font-weight: 800;
}
.signup-message {
  right: 0;
  bottom: 8.3rem;
  width: 2.6rem;
  height: 2.2rem;
  border-radius: 0.65rem;
  background: linear-gradient(145deg, #7ba6df, #244a72);
}
.signup-card,
.signup-trust-strip {
  border: 1px solid rgba(205, 220, 231, 0.88);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 22px 56px rgba(11, 23, 40, 0.13);
}
.signup-card {
  min-width: 0;
  max-width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(min(100%, 18rem), 0.95fr);
  gap: 2rem;
  padding: 2rem;
}
.signup-card h2 {
  margin-top: 0;
  color: var(--brand-ink);
}
.signup-form-area,
.signup-aside {
  min-width: 0;
}
.signup-field-grid {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.4rem;
}
.signup-business-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.75rem;
  margin: 0.5rem 0 1.4rem;
}
.signup-business-card {
  position: relative;
  min-height: 7rem;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 0.45rem;
  padding: 0.95rem;
  border: 1px solid #dbe7ef;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f8fbfd);
  cursor: pointer;
}
.signup-business-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.signup-business-card:has(input:checked) {
  border-color: #2494db;
  box-shadow: 0 0 0 1px rgba(36, 148, 219, 0.32);
}
.signup-card-check {
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  width: 1.25rem;
  height: 1.25rem;
  display: none;
  place-items: center;
  border-radius: 999px;
  background: #1679c6;
  color: #ffffff;
  font-size: 0.78rem;
}
.signup-business-card:has(input:checked) .signup-card-check { display: grid; }
.signup-business-icon {
  width: 3.4rem;
  height: 3.4rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.94), transparent 32%),
    linear-gradient(145deg, #e7f0ff, #eefbf7);
  color: #17679c;
}
.signup-business-illustration {
  width: 2.1rem;
  height: 2.1rem;
  color: currentColor;
  stroke: currentColor;
  stroke-width: 3.1;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}
.signup-business-illustration .icon-fill {
  fill: currentColor;
  stroke: none;
  opacity: 0.18;
}
.signup-business-card small {
  color: var(--brand-muted);
  text-align: center;
}
.signup-choice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.55rem;
}
.signup-choice-panel {
  padding: 1rem;
  border: 1px solid #dbe7ef;
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fbff, #ffffff);
  margin: 0.5rem 0 1.4rem;
}
.signup-choice-panel > label {
  margin-bottom: 0.75rem;
}
.signup-choice-panel .signup-choice-grid {
  margin: 0;
}
.signup-check {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
  padding: 0.7rem;
  border: 1px solid #dbe7ef;
  border-radius: 8px;
  background: #fbfdff;
  font-weight: 600;
}
.signup-choice-icon {
  width: 1.8rem;
  height: 1.8rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #edf6ff;
  color: #17679c;
}
.signup-choice-icon svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.signup-check input {
  width: 1.05rem;
  height: 1.05rem;
  margin-top: 0.15rem;
}
.signup-check small {
  display: block;
  margin-top: 0.25rem;
  color: var(--brand-muted);
  font-weight: 400;
  line-height: 1.45;
}
.signup-note {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  padding: 0.85rem;
  border-radius: 8px;
  background: linear-gradient(90deg, #edf6ff, #f4fbff);
  color: #24415c;
  margin-bottom: 1.3rem;
}
.signup-note strong { display: block; }
.signup-note-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #ffffff;
  color: #1679c6;
  font-weight: 800;
}
.signup-info-panel,
.signup-security-panel,
.signup-tier-card,
.signup-next-panel,
.signup-price-panel {
  border-radius: 8px;
  padding: 1.35rem;
}
.signup-info-panel {
  background: linear-gradient(145deg, #effcfa, #eff8ff);
  border: 1px solid #d8efec;
}
.signup-security-panel {
  margin-top: 1rem;
  background: linear-gradient(145deg, #082341, #0d3559);
  color: #ffffff;
}
.signup-info-panel h3,
.signup-security-panel h3,
.signup-tier-card h3,
.signup-next-panel h3,
.signup-price-panel h3 {
  margin-top: 0;
}
.signup-benefit-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: grid;
  gap: 0.75rem;
}
.signup-benefit-list li {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: 0.45rem;
}
.signup-benefit-list li::before {
  content: "\2713";
  color: #30a985;
  font-weight: 800;
}
.signup-security-panel .signup-benefit-list li::before { color: #7ee4a5; }
.signup-primary-button {
  background: linear-gradient(135deg, #0b2947, #112f50);
  padding: 0.85rem 1.15rem;
}
.signup-trust-strip {
  margin-top: 1rem;
  padding: 1rem 1.35rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
}
.signup-trust-items {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.4rem;
  color: #38536c;
}
.signup-recommendation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 1rem 0;
}
.signup-tier-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  background: #f7fbff;
  border: 1px solid #dbe7ef;
}
.signup-tier-card strong {
  display: block;
  color: var(--brand-ink);
  text-transform: capitalize;
}
.signup-tier-icon {
  width: 2.45rem;
  height: 2.45rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(145deg, #e8f7ff, #eefbf4);
  color: #17679c;
}
.signup-tier-icon svg {
  width: 1.35rem;
  height: 1.35rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.signup-tier-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 1.7rem;
  padding: 0.28rem 0.75rem;
  border-radius: 999px;
  background: #e5f8ef;
  border: 1px solid #b9ebd2;
  color: #176c48;
  font-weight: 800;
}
.signup-tier-badge-check {
  width: 1.15rem;
  height: 1.15rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #30a985;
  color: #ffffff;
  font-size: 0.78rem;
}
.signup-tier-subtitle {
  margin-top: -0.25rem;
  color: #24415c;
  font-weight: 700;
}
.signup-package-picker {
  margin: 1.25rem 0 0;
  padding: 1rem;
  border: 1px solid #dbe7ef;
  border-radius: 8px;
  background: linear-gradient(180deg, #fbfdff, #f7fbff);
}
.signup-package-heading {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 0.85rem;
}
.signup-package-heading > div {
  min-width: 0;
}
.signup-package-heading h3,
.signup-package-group h4 {
  margin: 0;
}
.signup-package-heading p {
  margin: 0.3rem 0 0;
}
.signup-package-group + .signup-package-group {
  margin-top: 1rem;
}
.signup-package-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 0.7rem;
  margin-top: 0.65rem;
}
.signup-package-card {
  min-width: 0;
  min-height: 6.5rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  padding: 0.85rem;
  border: 1px solid #dbe7ef;
  border-radius: 8px;
  background: #ffffff;
}
.signup-package-card strong {
  display: block;
  color: var(--brand-ink);
  overflow-wrap: anywhere;
}
.signup-package-card small {
  display: block;
  margin-top: 0.25rem;
  color: var(--brand-muted);
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.signup-package-card.is-included {
  border-color: #b9ebd2;
  background: linear-gradient(180deg, #f4fcf8, #ffffff);
}
.signup-package-addon {
  position: relative;
  cursor: pointer;
}
.signup-package-addon input {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 1.05rem;
  height: 1.05rem;
}
.signup-package-addon:has(input:checked) {
  border-color: #2494db;
  box-shadow: 0 0 0 1px rgba(36, 148, 219, 0.28);
}
.signup-package-card.is-coming-soon {
  border-color: #e7c467;
  background: linear-gradient(180deg, #fffaf0, #ffffff);
  cursor: default;
}
.signup-package-addon.is-coming-soon input {
  display: none;
}
.signup-package-addon.is-coming-soon:has(input:checked) {
  border-color: #e7c467;
  box-shadow: none;
}
.signup-coming-soon-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: fit-content;
  margin-top: 0.65rem;
  padding: 0.25rem 0.55rem 0.25rem 0.25rem;
  border: 1px solid rgba(170, 116, 16, 0.28);
  border-radius: 999px;
  color: #7a4b00;
  background: #fff4ce;
  font-size: 0.82rem;
  font-weight: 800;
}
.signup-coming-soon-mark {
  width: 2.15rem;
  height: 2.15rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(135deg, #14213d, #208b91 52%, #f3b43b);
  font-size: 0.55rem;
  font-weight: 900;
  box-shadow: 0 0.5rem 1rem rgba(20, 33, 61, 0.2);
}
.signup-package-icon {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.95), transparent 32%),
    linear-gradient(145deg, #e8f7ff, #eefbf4);
  color: #17679c;
}
.signup-package-icon svg {
  width: 1.75rem;
  height: 1.75rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.signup-package-icon[data-package-icon="orders"] { color: #8d5f10; background: linear-gradient(145deg, #fff6e4, #edf8ff); }
.signup-package-icon[data-package-icon="course"] { color: #5c45b8; background: linear-gradient(145deg, #f1edff, #f8fbff); }
.signup-package-icon[data-package-icon="regulated"] { color: #176c48; background: linear-gradient(145deg, #e5f8ef, #eef7ff); }
.signup-package-icon[data-package-icon="reporting"] { color: #2661a6; background: linear-gradient(145deg, #eaf2ff, #f7fbff); }
.signup-package-icon[data-package-icon="integrations"] { color: #7a4ca3; background: linear-gradient(145deg, #f5ecff, #f7fbff); }
.signup-next-panel {
  background: linear-gradient(145deg, #eaf7ff, #f8fbff);
  border: 1px solid #dbe7ef;
}
.signup-price-panel {
  margin-top: 1rem;
  background: linear-gradient(145deg, #ffffff, #f7fbff);
  border: 1px solid #dbe7ef;
}
.signup-price-panel > p {
  margin-top: 0;
}
.signup-price-lines {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.95rem;
}
.signup-price-line,
.signup-price-total {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: baseline;
}
.signup-price-line {
  padding-bottom: 0.65rem;
  border-bottom: 1px solid #e3edf4;
}
.signup-price-line strong,
.signup-price-total strong {
  color: var(--brand-ink);
}
.signup-price-line small,
.signup-price-footnote {
  display: block;
  color: var(--brand-muted);
}
.signup-price-line.is-hidden,
.signup-price-empty.is-hidden {
  display: none;
}
.signup-price-total {
  margin-top: 0.85rem;
  padding-top: 0.9rem;
  border-top: 2px solid #dbe7ef;
  font-weight: 800;
}
.signup-price-total strong {
  font-size: 1.35rem;
}
.signup-price-footnote {
  margin-top: 0.55rem;
  font-size: 0.88rem;
}
.signup-price-yearly-equivalent {
  display: block;
  margin-top: 0.4rem;
  color: #1a6f56;
  font-weight: 700;
}
.signup-price-yearly-equivalent.is-hidden {
  display: none;
}
.signup-billing-toggle {
  margin-top: 0.85rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
  padding: 0.25rem;
  border: 1px solid #dbe7ef;
  border-radius: 8px;
  background: #eef6fb;
}
.signup-billing-toggle label {
  margin: 0;
  padding: 0.55rem 0.65rem;
  border-radius: 7px;
  text-align: center;
  color: #38536c;
  cursor: pointer;
}
.signup-billing-toggle label.is-active {
  background: #ffffff;
  color: var(--brand-ink);
  box-shadow: 0 6px 16px rgba(22, 48, 74, 0.08);
}
.signup-billing-toggle input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}
.signup-password-panel {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e3edf4;
}
.signup-url-panel {
  display: grid;
  gap: 0.45rem;
  margin: 0.65rem 0 1rem;
}
.signup-url-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  border: 1px solid #cad9e5;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}
.signup-url-composer input {
  border: 0;
  min-width: 0;
}
.signup-url-composer span {
  padding: 0 0.8rem;
  color: #38536c;
  font-weight: 700;
  white-space: nowrap;
}
.signup-button-reassurance {
  margin: 0.8rem 0 0.75rem;
  color: #38536c;
  font-weight: 700;
}
.lede {
  font-size: 1.05rem;
  line-height: 1.6;
  margin-top: 0.25rem;
}
.toolbar-compact {
  justify-content: flex-start;
  margin-bottom: 0;
}
.asset-select {
  margin-bottom: 0.85rem;
}
.js-ready .asset-select {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.asset-field-shell {
  border: 1px solid #d9e4ec;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(244, 247, 250, 0.9), rgba(255, 255, 255, 0.96));
  padding: 0.9rem;
}
.asset-field-summary {
  min-height: 5rem;
}
.asset-selected {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
}
.asset-selected-copy strong,
.asset-picker-copy strong {
  display: block;
  margin-bottom: 0.15rem;
}
.asset-thumb,
.asset-picker-image,
.asset-table-thumb {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid #d6e3ec;
  background: #edf4f8;
}
.asset-table-thumb {
  width: 92px;
}
.asset-thumb-placeholder {
  display: grid;
  place-items: center;
  color: var(--brand-muted);
  font-size: 0.8rem;
}
.asset-empty-copy {
  color: var(--brand-muted);
  padding: 0.45rem 0;
}
.asset-usage-inline {
  margin-top: 0.35rem;
  color: var(--brand-muted);
  font-size: 0.92rem;
}
.asset-status-inline {
  margin-top: 0.45rem;
  color: #0f6f55;
  font-weight: 700;
  font-size: 0.9rem;
}
.asset-warning-inline {
  margin-top: 0.45rem;
  color: #9b5a00;
  font-weight: 700;
  font-size: 0.9rem;
}
.asset-badges {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}
.badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.24rem 0.62rem;
  background: #e1f3f7;
  color: #0d5f91;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.badge-soft {
  background: #eff4f7;
  color: #415265;
}
.badge-success {
  background: #def5e8;
  color: #0f6f55;
}
.asset-picker-overlay[hidden] {
  display: none;
}
.asset-picker-overlay {
  position: fixed;
  inset: 0;
  z-index: 40;
}
body.asset-picker-open {
  overflow: hidden;
}
.asset-picker-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 18, 31, 0.62);
  backdrop-filter: blur(4px);
}
.asset-picker-panel {
  position: relative;
  z-index: 1;
  width: min(1040px, calc(100vw - 2rem));
  max-height: calc(100vh - 3rem);
  overflow: auto;
  margin: 1.5rem auto;
  border-radius: 20px;
  border: 1px solid rgba(217, 228, 236, 0.9);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 70px rgba(11, 23, 40, 0.35);
  padding: 1.2rem;
}
.asset-picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}
.asset-picker-card {
  border: 1px solid #d9e4ec;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
  padding: 0.85rem;
  box-shadow: 0 10px 28px rgba(22, 48, 74, 0.06);
}
.asset-picker-card.is-selected {
  border-color: #1189c6;
  box-shadow: 0 0 0 3px rgba(17, 137, 198, 0.16);
}
.asset-picker-copy {
  margin: 0.75rem 0 0.9rem;
}
.page-form .card + .card {
  margin-top: 1rem;
}
.forms-template-picker {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1rem;
}
.forms-template-picker h2,
.forms-governance-summary h2 {
  margin: 0;
}
.forms-template-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 0.75rem;
}
.forms-template-card {
  display: grid;
  gap: 0.35rem;
  color: inherit;
  text-decoration: none;
  border: 1px solid var(--brand-border);
  border-radius: 12px;
  background: #ffffff;
  padding: 0.9rem;
}
.forms-template-card:hover,
.forms-template-card:focus {
  border-color: #1189c6;
  box-shadow: 0 0 0 3px rgba(17, 137, 198, 0.12);
}
.forms-template-card.is-selected {
  border-color: #075da8;
  background: #075da8;
  color: #ffffff;
  box-shadow: 0 0 0 3px rgba(7, 93, 168, 0.22);
}
.forms-template-card span {
  color: var(--brand-ink-soft);
  font-size: 0.9rem;
  line-height: 1.35;
}
.forms-template-card.is-selected span {
  color: #ffffff;
}
.forms-template-card.is-selected:hover,
.forms-template-card.is-selected:focus {
  border-color: #064f91;
  background: #064f91;
  box-shadow: 0 0 0 4px rgba(7, 93, 168, 0.28);
}
.forms-governance-summary {
  border: 1px solid var(--brand-border);
  border-radius: 12px;
  background: #f8fbfd;
  padding: 0.9rem;
}
.forms-governance-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.75rem;
  margin-top: 0.75rem;
}
.forms-governance-grid span {
  display: grid;
  gap: 0.2rem;
  color: var(--brand-ink-soft);
  font-size: 0.92rem;
}
.forms-governance-grid strong {
  color: var(--brand-ink);
}
.forms-advanced-governance,
.forms-field-advanced {
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  background: #ffffff;
  padding: 0.85rem;
}
.forms-advanced-governance {
  margin-top: 1rem;
}
.forms-advanced-governance > summary,
.forms-field-advanced > summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--brand-ink);
}
.forms-advanced-governance > .grid-2,
.forms-field-advanced > .grid {
  margin-top: 0.85rem;
}
.forms-field-builder {
  display: grid;
  gap: 1rem;
  margin: 1rem 0;
}
.forms-builder-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr);
  gap: 1rem;
  align-items: start;
}
.forms-builder-column,
.forms-preview-pane {
  min-width: 0;
}
.forms-builder-toolbar,
.forms-section-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.forms-builder-toolbar h3,
.forms-section-card h3,
.forms-preview-pane h4,
.forms-preview-pane h5 {
  margin: 0;
}
.forms-section-list {
  display: grid;
  gap: 1rem;
}
.forms-section-card {
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  background: #ffffff;
  padding: 1rem;
}
.forms-section-title-area {
  display: grid;
  flex: 1;
  gap: 0.65rem;
  min-width: 0;
}
.forms-section-settings {
  display: grid;
  gap: 0.75rem;
}
.forms-block-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin-top: 0.9rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--brand-border);
}
.forms-block-picker-label {
  margin-right: 0.25rem;
  color: var(--brand-ink-soft);
  font-weight: 800;
}
.forms-block-picker-label-secondary {
  margin-left: 0.7rem;
}
.forms-block-picker .button {
  min-height: 2.3rem;
  justify-content: center;
}
.forms-form-actions {
  justify-content: flex-start;
  gap: 0.5rem;
  align-items: center;
}
.forms-form-actions form {
  margin: 0;
}
.forms-customer-link {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  text-decoration: none;
}
.forms-customer-link code {
  max-width: 100%;
  overflow-wrap: anywhere;
}
.forms-customer-link.is-draft {
  display: inline-block;
}
.forms-field-rows {
  display: grid;
  gap: 0.7rem;
}
.forms-field-row {
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  padding: 0.85rem;
  background: #f8fbfd;
}
.forms-field-row legend {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: calc(100% - 0.7rem);
  padding: 0 0.35rem;
  font-weight: 800;
  color: var(--brand-ink-soft);
}
.forms-block-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
}
.forms-block-action-button {
  min-height: 2.35rem;
  padding: 0.52rem 0.76rem;
  border-radius: 8px;
  font-size: 0.86rem;
  line-height: 1.1;
  white-space: nowrap;
}
.forms-block-move-target {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--brand-ink-soft);
  white-space: nowrap;
}
.forms-block-move-target select {
  min-width: 10rem;
  min-height: 2.35rem;
  padding-block: 0.45rem;
}
.forms-flow-step {
  box-shadow: none;
}
.forms-remove-field {
  font-weight: 700;
}
.forms-field-main {
  display: grid;
  gap: 0.75rem;
}
.forms-question-grid {
  display: grid;
  grid-template-columns: minmax(14rem, 1.25fr) minmax(12rem, 0.75fr);
  gap: 0.75rem;
  align-items: end;
}
.forms-options-field {
  max-width: 48rem;
}
.forms-options-field textarea {
  min-height: 4.8rem;
  resize: vertical;
}
.forms-field-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.8rem;
}
.forms-field-builder input[type="checkbox"] {
  inline-size: 1.05rem;
  block-size: 1.05rem;
  accent-color: var(--brand-cyan);
}
.forms-required-row {
  margin-top: 0;
}
.forms-field-advanced {
  margin-top: 0.85rem;
  background: #f8fbfd;
}
.forms-field-advanced .forms-field-flags {
  margin-top: 0.85rem;
}
.forms-preview-pane {
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  background: #ffffff;
  padding: 1rem;
}
.forms-preview-sticky {
  position: sticky;
  top: 1rem;
  display: grid;
  gap: 0.85rem;
}
.forms-preview-section {
  display: grid;
  gap: 0.7rem;
  padding: 0.9rem;
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  background: #f8fbfd;
}
.forms-preview-block {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}
.forms-preview-block input,
.forms-preview-block select,
.forms-preview-block textarea {
  pointer-events: none;
}
.forms-preview-guidance {
  border-left: 3px solid var(--brand-cyan);
  padding-left: 0.7rem;
}
.forms-preview-guidance p,
.forms-preview-heading p {
  margin: 0;
  color: var(--brand-ink-soft);
}
.forms-preview-choice {
  border: 0;
  padding: 0;
  margin: 0;
}
.forms-preview-choice legend {
  margin-bottom: 0.35rem;
  font-weight: 800;
}
.forms-preview-divider {
  border: 0;
  border-top: 1px solid var(--brand-border);
  width: 100%;
}
.patients-record-builder {
  display: grid;
  gap: 1rem;
  margin: 1rem 0;
}
.patients-builder-layout {
  grid-template-columns: minmax(14rem, 0.28fr) minmax(0, 1fr) minmax(20rem, 0.56fr);
}
.patients-add-to-form-rail {
  min-width: 0;
}
.patients-add-to-form-sticky {
  position: sticky;
  top: 1rem;
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}
.patients-add-to-form-sticky h3 {
  margin: 0;
}
.patients-rail-help,
.patients-active-target {
  margin: 0;
  color: var(--brand-ink-soft);
}
.patients-active-target {
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  background: #f8fbfd;
  font-size: 0.9rem;
  font-weight: 800;
}
.patients-add-target {
  margin: 0;
}
.patients-add-group {
  display: grid;
  gap: 0.45rem;
}
.patients-add-group .button {
  width: 100%;
  min-height: 2.35rem;
  justify-content: flex-start;
  text-align: left;
}
.patients-builder-guide {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  margin-bottom: 0.85rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid color-mix(in srgb, var(--brand-cyan) 38%, var(--brand-border));
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand-cyan) 8%, #ffffff);
  color: var(--brand-ink-soft);
}
.patients-builder-guide strong {
  color: var(--brand-ink);
  white-space: nowrap;
}
.patients-section-card.is-active-add-target {
  border-color: var(--brand-cyan);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-cyan) 18%, transparent);
}
.patients-record-builder .patients-builder-actions {
  margin-top: 0.2rem;
}
.patients-record-builder .forms-preview-pane {
  min-height: 18rem;
}
.patients-record-builder .forms-preview-section h4 {
  margin: 0;
}
.patients-record-builder .forms-preview-section > p {
  margin: 0;
}
.patients-record-builder .forms-preview-block input,
.patients-record-builder .forms-preview-block select,
.patients-record-builder .forms-preview-block textarea {
  width: 100%;
}
.patients-record-builder .patient-choice-row {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 1.8rem;
}
.patients-record-builder .patient-choice-row input[type="checkbox"],
.patients-record-builder .patient-choice-row input[type="radio"] {
  inline-size: 1.05rem;
  block-size: 1.05rem;
  flex: 0 0 auto;
  margin: 0;
}
.patients-record-builder .forms-field-advanced .grid {
  margin-top: 0.85rem;
}
@media (max-width: 1180px) {
  .patients-builder-layout {
    grid-template-columns: minmax(13rem, 0.32fr) minmax(0, 1fr);
  }
  .patients-builder-layout .forms-preview-pane {
    grid-column: 1 / -1;
  }
}
@media (max-width: 760px) {
  .forms-builder-layout {
    grid-template-columns: 1fr;
  }
  .patients-add-to-form-sticky {
    position: static;
  }
  .patients-builder-guide {
    display: grid;
  }
  .forms-builder-toolbar,
  .forms-section-card-header,
  .forms-field-row legend {
    display: grid;
  }
  .forms-block-actions {
    justify-content: flex-start;
  }
  .forms-block-move-target {
    width: 100%;
    align-items: flex-start;
    flex-direction: column;
  }
  .forms-block-move-target select {
    width: 100%;
  }
  .forms-block-picker-label-secondary {
    flex-basis: 100%;
    margin-left: 0;
    margin-top: 0.3rem;
  }
  .forms-question-grid {
    grid-template-columns: 1fr;
  }
}
.forms-filter-panel,
.forms-workflow-builder,
.forms-review-panel,
.forms-submission-summary,
.forms-rule-list {
  border: 1px solid var(--brand-border);
  border-radius: 12px;
  background: #ffffff;
  padding: 1rem;
}
.forms-filter-panel,
.forms-workflow-builder,
.forms-rule-list,
.forms-review-panel {
  margin-bottom: 1rem;
}
.forms-panel-header,
.forms-rule-card-main,
.forms-card-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.forms-panel-header h2,
.forms-panel-header h3,
.forms-submission-card h2,
.forms-rule-card h3,
.forms-submission-summary h2 {
  margin: 0;
}
.forms-panel-header p:last-child {
  margin-bottom: 0;
  color: var(--brand-ink-soft);
}
.forms-landing-framing .forms-panel-header {
  align-items: center;
}
.forms-primary-actions,
.forms-primary-review-actions .toolbar,
.forms-landing-advanced .toolbar {
  margin: 0;
}
.forms-landing-advanced,
.forms-support-details .forms-timeline-panel {
  margin-top: 0.85rem;
}
.forms-support-details > .forms-technical-details {
  border-top: 0;
  padding-top: 0;
}
.forms-work-queue,
.forms-rule-list {
  display: grid;
  gap: 0.85rem;
}
.forms-submission-card,
.forms-rule-card {
  display: grid;
  gap: 0.9rem;
  border: 1px solid var(--brand-border);
  background: #f8fbfd;
  padding: 1rem;
}
.forms-submission-card {
  border-radius: 8px;
}
.forms-rule-card {
  border-radius: 12px;
}
.forms-submission-envelope-card {
  position: relative;
  gap: 0.6rem;
  padding: 0.95rem 1rem;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}
.forms-submission-envelope-card:hover,
.forms-submission-envelope-card:focus-within {
  border-color: #1189c6;
  box-shadow: 0 0 0 3px rgba(17, 137, 198, 0.12);
}
.forms-submission-card-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  color: inherit;
  text-decoration: none;
}
.forms-submission-card-link:focus-visible {
  outline: none;
}
.forms-submission-card-content {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 0.6rem;
  pointer-events: none;
}
.forms-submission-card-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
}
.forms-submission-primary {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}
.forms-submission-secondary {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
}
.forms-submission-kicker {
  margin: 0;
  color: var(--brand-ink-soft);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}
.forms-submission-reference {
  margin: 0;
  color: var(--brand-ink);
  font-size: 1rem;
  line-height: 1.25;
}
.forms-submission-reference code {
  font-family: inherit;
  font-size: inherit;
  letter-spacing: 0;
}
.forms-submission-form-name {
  display: block;
  margin: 0;
  color: var(--brand-ink-soft);
  font-size: 0.86rem;
  font-weight: 700;
}
.forms-submission-date {
  margin: 0;
  color: var(--brand-ink-soft);
  font-size: 0.76rem;
}
.forms-submission-card code,
.forms-submission-summary code {
  font-size: 0.95em;
}
.forms-status-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 1.8rem;
  border-radius: 999px;
  padding: 0.25rem 0.7rem;
  border: 1px solid rgba(17, 137, 198, 0.22);
  background: rgba(17, 137, 198, 0.1);
  color: #075da8;
  font-weight: 800;
  font-size: 0.82rem;
}
.forms-card-facts,
.forms-submission-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.75rem;
}
.forms-card-facts span,
.forms-submission-summary-grid span {
  display: grid;
  gap: 0.25rem;
  color: var(--brand-ink-soft);
  line-height: 1.35;
}
.forms-card-facts strong,
.forms-submission-summary-grid strong {
  color: var(--brand-ink);
  font-size: 0.78rem;
  letter-spacing: 0;
  text-transform: uppercase;
}
.forms-submission-meta-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  color: var(--brand-ink-soft);
  font-size: 0.72rem;
  line-height: 1.35;
}
.forms-submission-meta-chip {
  min-width: 0;
}
.forms-card-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.8rem;
  border: 1px solid var(--brand-border);
  border-radius: 999px;
  padding: 0.22rem 0.55rem;
  background: #ffffff;
  color: var(--brand-ink);
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.forms-card-cta:hover,
.forms-card-cta:focus-visible {
  border-color: #1189c6;
  color: #075da8;
  box-shadow: 0 0 0 3px rgba(17, 137, 198, 0.12);
  outline: none;
  text-decoration: none;
}
.forms-review-panel-grid,
.forms-workflow-builder-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr);
  gap: 1rem;
  align-items: start;
}
.forms-workflow-panel {
  margin-bottom: 0;
}
.forms-values-panel {
  overflow: hidden;
}
.forms-governance-panel .forms-card-facts {
  margin-top: 0.85rem;
}
.forms-rule-guidance {
  border: 1px solid rgba(17, 137, 198, 0.18);
  border-radius: 12px;
  background: rgba(17, 137, 198, 0.08);
  padding: 0.95rem;
  color: var(--brand-ink);
}
.forms-rule-guidance h3 {
  margin-top: 0;
}
.forms-rule-guidance ul {
  margin-bottom: 0;
  padding-left: 1.1rem;
}
.forms-technical-details {
  border-top: 1px solid var(--brand-border);
  padding-top: 0.75rem;
}
.forms-technical-details summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--brand-ink);
}
.forms-technical-details pre {
  overflow: auto;
  border-radius: 8px;
  background: rgba(8, 18, 31, 0.06);
  padding: 0.75rem;
}
.forms-rule-disable {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
}
.forms-rule-disable input {
  flex: 1 1 220px;
}
@media (max-width: 760px) {
  .forms-review-panel-grid,
  .forms-workflow-builder-layout,
  .forms-panel-header,
  .forms-submission-card-header,
  .forms-rule-card-main,
  .forms-card-actions {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
  .forms-submission-secondary {
    justify-content: flex-start;
  }
}
.theme-status {
  display: grid;
  gap: 0.55rem;
  margin-bottom: 1rem;
}
.theme-status .badge {
  width: fit-content;
}
.theme-groups {
  display: grid;
  gap: 1.15rem;
}
.theme-group {
  border: 1px solid #d9e4ec;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 253, 0.95));
  padding: 1rem;
}
.theme-group h3 {
  margin: 0;
}
.theme-group .muted {
  margin-top: 0.35rem;
}
.theme-option-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 0.85rem;
  margin-top: 0.9rem;
}
.theme-option-card {
  position: relative;
}
.theme-option-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.theme-option-shell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid #d9e4ec;
  border-radius: 16px;
  padding: 0.9rem;
  background: #fff;
  min-height: 100%;
  box-shadow: 0 10px 28px rgba(22, 48, 74, 0.05);
  cursor: pointer;
}
.theme-option-card input:checked + .theme-option-shell {
  border-color: #1189c6;
  box-shadow: 0 0 0 3px rgba(17, 137, 198, 0.16);
}
.theme-option-title {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  font-weight: 700;
  margin-bottom: 0;
}
.theme-option-description {
  display: block;
  width: 100%;
  line-height: 1.45;
  min-height: 2.9rem;
}
.theme-option-preview {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  margin-top: auto;
  padding: 0.65rem 0.75rem;
  border-radius: 14px;
  border: 1px solid #d9e4ec;
  background: linear-gradient(180deg, #f8fbfd, #ffffff);
  color: var(--brand-text);
  font-weight: 600;
  line-height: 1.25;
  max-width: 100%;
  white-space: normal;
}
.theme-option-swatches {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 0.45rem;
  margin-top: 0;
}
.theme-option-swatch {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.08);
}
.structure-stack {
  display: grid;
  gap: 1rem;
}
.structure-section-card {
  display: grid;
  gap: 1rem;
}
.structure-section-header {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
.structure-section-meta {
  display: grid;
  gap: 0.45rem;
}
.structure-section-title {
  margin: 0;
}
.structure-section-actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
  align-items: center;
}
.structure-add-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}
.structure-link {
  display: inline-flex;
  align-items: center;
}
.structure-note {
  margin-top: 0.35rem;
}
.canvas-layout-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.9rem;
}
.canvas-layout-choice {
  display: grid;
  gap: 0.55rem;
  padding: 1rem;
  border: 1px solid var(--brand-border);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff, #f8fbfd);
}
.canvas-layout-choice strong {
  font-size: 1rem;
}
.canvas-layout-choice .muted {
  margin: 0;
}
.canvas-editor-grid {
  display: grid;
  gap: 1rem;
}
.canvas-editor-route .button,
.canvas-editor-route button {
  min-height: 2.15rem;
  font-size: 0.84rem;
}
.canvas-workspace-grid {
  display: grid;
  gap: 0.7rem;
}
.canvas-editor-stage {
  position: relative;
  min-height: 82vh;
}
.canvas-editor-route {
  overflow: auto;
  background: #0b1118;
}
.canvas-editor-route > header {
  display: none;
}
.canvas-editor-main.canvas-app-shell {
  max-width: none;
  width: 100vw;
  min-height: 100vh;
  height: auto;
  margin: 0;
  padding: 0;
  display: block;
  gap: 0;
  overflow: visible;
  background: #0b1118;
}
.canvas-app-topbar {
  position: sticky;
  top: 0;
  height: 2.8rem;
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) auto minmax(18rem, 1fr);
  gap: 0.6rem;
  align-items: center;
  padding: 0 0.55rem;
  border-bottom: 1px solid #c9c9c9;
  background: #f7f7f7;
  color: #2f343a;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.82);
  z-index: 40;
}
.canvas-topbar-left,
.canvas-topbar-right {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}
.canvas-topbar-right {
  justify-content: flex-end;
}
.canvas-topbar-center {
  display: grid;
  justify-items: center;
  line-height: 1.05;
  min-width: 14rem;
}
.canvas-topbar-center strong {
  font-size: 0.86rem;
}
.canvas-topbar-center .muted {
  margin: 0;
  font-size: 0.64rem;
}
.canvas-topbar-back,
.canvas-topbar-button,
.canvas-topbar-icon {
  min-height: 1.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.22rem 0.55rem;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: #4b5563;
  box-shadow: none;
  text-decoration: none;
  font-size: 0.72rem;
  font-weight: 700;
}
.canvas-topbar-back {
  width: 1.8rem;
  padding: 0;
  font-size: 1rem;
}
.canvas-topbar-button:hover,
.canvas-topbar-back:hover {
  border-color: #d4d4d4;
  background: #fff;
  text-decoration: none;
}
.canvas-topbar-button.is-primary,
.canvas-add-button {
  background: #2f8cff;
  color: #fff;
}
.canvas-mode-switch {
  display: inline-flex;
  gap: 0.25rem;
  padding: 0.15rem;
  border: 1px solid #d4d4d4;
  border-radius: 5px;
  background: #fff;
}
.canvas-mode-button.is-active {
  background: #111827;
  color: #fff;
}
.canvas-global-search {
  width: min(11rem, 22vw);
  min-height: 1.8rem;
  padding: 0.28rem 0.5rem;
  border: 1px solid #d4d4d4;
  border-radius: 4px;
  background: #fff;
  font-size: 0.72rem;
}
.canvas-toolbar-status {
  max-width: 12rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #687384;
  font-size: 0.68rem;
}
.canvas-app-notice {
  position: absolute;
  top: 3.2rem;
  left: 14rem;
  right: 16rem;
  z-index: 45;
}
.canvas-app-status {
  position: sticky;
  top: 2.8rem;
  z-index: 39;
  min-height: 1.65rem;
  display: flex;
  gap: 0.75rem;
  align-items: center;
  padding: 0 0.7rem;
  border-bottom: 1px solid #cccccc;
  background: #ececec;
  color: #5f6977;
  font-size: 0.68rem;
  white-space: nowrap;
  overflow: hidden;
}
.canvas-app-status span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.canvas-app-status span + span {
  padding-left: 0.75rem;
  border-left: 1px solid #d4d4d4;
}
.canvas-design-popover {
  position: absolute;
  top: calc(100% + 0.38rem);
  right: 0;
  z-index: 90;
  width: min(33rem, calc(100vw - 2rem));
  max-height: calc(100vh - 4rem);
  display: grid;
  border: 1px solid #d6d6d6;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.22);
  overflow: hidden;
}
.canvas-design-popover form {
  display: grid;
  min-height: 0;
}
.canvas-design-header,
.canvas-design-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.65rem;
  border-bottom: 1px solid #e5e7eb;
}
.canvas-design-actions {
  border-top: 1px solid #e5e7eb;
  border-bottom: 0;
  justify-content: flex-end;
}
.canvas-design-header p {
  margin: 0.15rem 0 0;
  font-size: 0.68rem;
}
.canvas-design-scroll {
  max-height: calc(100vh - 11rem);
  overflow: auto;
  padding: 0.55rem;
}
.canvas-design-section {
  margin: 0 0 0.55rem;
  padding: 0.48rem;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  background: #fafafa;
}
.canvas-design-section h4,
.canvas-design-section summary {
  margin: 0;
  color: #374151;
  font-size: 0.76rem;
  font-weight: 800;
}
.canvas-design-section p {
  margin: 0.18rem 0 0.45rem;
  font-size: 0.68rem;
}
.canvas-design-option-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.2rem, 1fr));
  gap: 0.28rem;
}
.canvas-design-option {
  position: relative;
  min-height: 2.1rem;
}
.canvas-design-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.canvas-design-option > span {
  height: 100%;
  display: flex;
  justify-content: space-between;
  gap: 0.35rem;
  align-items: center;
  padding: 0.34rem 0.42rem;
  border: 1px solid #dcdfe4;
  border-radius: 4px;
  background: #fff;
  font-size: 0.72rem;
}
.canvas-design-option input:checked + span {
  border-color: #2f8cff;
  box-shadow: inset 0 0 0 1px #2f8cff;
}
.canvas-design-swatches {
  display: inline-flex;
  gap: 0.12rem;
}
.canvas-design-swatches i {
  width: 0.72rem;
  height: 0.72rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 999px;
}
.canvas-design-swatch-grid,
.canvas-design-role-grid {
  display: grid;
  gap: 0.4rem;
}
.canvas-design-swatch-grid label,
.canvas-design-role-grid label {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr) auto;
  gap: 0.35rem;
  align-items: center;
  font-size: 0.7rem;
}
.canvas-design-role-grid label {
  grid-template-columns: 7rem minmax(0, 1fr);
}
.canvas-design-swatch-grid input,
.canvas-design-role-grid select {
  min-height: 1.75rem;
  font-size: 0.72rem;
}
.canvas-workspace-grid {
  min-height: 0;
  height: 100%;
}
.canvas-preview-pane.card {
  height: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.canvas-preview-toolbar {
  display: none;
}
.canvas-editor-stage {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: 4.75rem 18rem minmax(0, 1fr) 18rem;
  grid-template-rows: minmax(0, 1fr);
  background: #0b1118;
  overflow: hidden;
}
.canvas-tool-rail {
  position: relative;
  top: auto;
  left: auto;
  z-index: 20;
  grid-column: 1;
  grid-row: 1;
  width: 4.75rem;
  height: 100%;
  align-content: start;
  gap: 0.1rem;
  padding: 0.25rem 0;
  border: 0;
  border-radius: 0;
  background: #25272a;
  box-shadow: none;
}
.canvas-tool-button {
  width: 2.45rem;
  min-width: 2.45rem;
  height: 2.25rem;
  border-radius: 0;
  color: #d1d5db;
  font-size: 0.58rem;
  letter-spacing: 0.01em;
  border-left: 3px solid transparent;
}
.canvas-tool-button:hover,
.canvas-tool-button.is-active {
  background: #2f8cff;
  color: #fff;
  border-left-color: #9ee7ff;
}
.canvas-tool-rail-divider {
  display: block;
  height: 1px;
  margin: 0.2rem 0.4rem;
  background: rgba(255, 255, 255, 0.14);
}
.canvas-structure-drawer.canvas-page-panel {
  position: relative;
  top: auto;
  left: auto;
  grid-column: 2;
  grid-row: 1;
  width: auto;
  max-height: none;
  height: 100%;
  min-height: 0;
  padding: 0.42rem;
  border: 0;
  border-right: 1px solid #cfcfcf;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  overflow: auto;
}
.canvas-page-panel-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.25rem;
  margin-bottom: 0.35rem;
}
.canvas-page-select {
  min-height: 1.7rem;
  padding: 0.22rem 0.35rem;
  border: 1px solid #d7d7d7;
  border-radius: 3px;
  font-size: 0.72rem;
}
.canvas-page-panel-collapse {
  width: 1.55rem;
  min-height: 1.7rem;
  padding: 0;
  border-radius: 3px;
  background: #f8f8f8;
  color: #6b7280;
  box-shadow: none;
}
.canvas-page-tabs {
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 0.2rem;
  margin-bottom: 0.5rem;
}
.canvas-page-tabs button {
  min-height: 1.65rem;
  border-radius: 4px;
  background: #f1f1f1;
  color: #4b5563;
  box-shadow: none;
  font-size: 0.7rem;
}
.canvas-page-tabs button.is-active {
  background: #fff;
  color: #111827;
  box-shadow: inset 0 0 0 1px #d7d7d7;
}
.canvas-page-panel-summary {
  display: none;
}
.canvas-outline-list {
  max-height: none;
  padding-right: 0;
  gap: 0.32rem;
}
.canvas-structure-surface-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.35rem;
  padding: 0.2rem 0.2rem;
  color: #4b5563;
  font-size: 0.68rem;
}
.canvas-outline-row {
  border-radius: 4px;
  padding: 0.28rem;
  background: #f8f8f8;
  box-shadow: none;
}
.canvas-outline-row.is-selected {
  border-color: #2f8cff;
  box-shadow: inset 0 0 0 1px #2f8cff;
}
.canvas-outline-title-row strong {
  font-size: 0.72rem;
}
.canvas-outline-select .muted {
  font-size: 0.66rem;
}
.canvas-library-flyout {
  position: absolute;
  top: 0.45rem;
  left: 2.8rem;
  z-index: 35;
  width: min(25rem, calc(100vw - 18rem));
  max-height: calc(100vh - 4rem);
  border-radius: 4px;
}
.canvas-preview-stage {
  grid-column: 3;
  grid-row: 1;
  height: 100%;
  min-height: 0;
  padding: 2rem 1.1rem;
  overflow: auto;
  justify-content: stretch;
  background: #0b1118;
}
.canvas-preview-viewport {
  min-width: 0;
}
.canvas-preview-frame {
  min-height: calc(100vh - 7rem);
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 0 0 1px #c7c7c7;
}
.canvas-inspector-pane {
  position: relative;
  top: auto;
  right: auto;
  grid-column: 4;
  grid-row: 1;
  width: auto;
  min-height: 0;
  height: 100%;
  max-height: none;
  padding: 0;
  border: 0;
  border-left: 1px solid #cfcfcf;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  overflow: auto;
}
.canvas-inspector-pane.has-selection {
  width: auto;
  max-height: none;
  overflow: auto;
}
.canvas-preview-stage {
  position: relative;
  display: grid;
  justify-content: stretch;
  width: 100%;
  padding: 0.4rem 0 0;
}
.canvas-preview-toolbar {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.canvas-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.55rem;
}
.canvas-panel-header h3 {
  margin: 0;
  font-size: 1rem;
}
.canvas-panel-header p {
  margin: 0.2rem 0 0;
  font-size: 0.88rem;
}
.canvas-viewport-switch {
  display: inline-flex;
  gap: 0.28rem;
  padding: 0.22rem;
  border: 1px solid color-mix(in srgb, var(--brand-border) 82%, white 18%);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
}
.canvas-viewport-button {
  min-width: 5.4rem;
  text-align: center;
}
.canvas-viewport-button.is-active {
  background: linear-gradient(135deg, #1189c6 0%, #0f5e8f 100%);
  color: #fff;
}
.canvas-preview-viewport {
  position: relative;
  width: 100%;
  max-width: 100%;
  transition: width 180ms ease;
}
.canvas-preview-viewport.is-desktop {
  width: 100%;
}
.canvas-preview-viewport.is-tablet {
  width: min(834px, 100%);
  justify-self: center;
}
.canvas-preview-viewport.is-mobile {
  width: min(390px, 100%);
  justify-self: center;
}
.canvas-floating-panel {
  position: absolute;
  top: 0.85rem;
  z-index: 8;
  border: 1px solid color-mix(in srgb, var(--brand-border) 82%, white 18%);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
  backdrop-filter: blur(10px);
}
.canvas-tool-rail {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  z-index: 10;
  display: grid;
  gap: 0.32rem;
  width: 3rem;
  padding: 0.32rem;
  border: 1px solid color-mix(in srgb, var(--brand-border) 84%, white 16%);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
  backdrop-filter: blur(10px);
}
.canvas-tool-button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.3rem;
  min-width: 2.3rem;
  height: 2.3rem;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--brand-ink-soft);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
}
.canvas-tool-button:hover {
  text-decoration: none;
  background: color-mix(in srgb, white 82%, var(--brand-surface-subtle) 18%);
  color: var(--brand-ink);
}
.canvas-tool-button.is-active {
  background: linear-gradient(135deg, #1189c6 0%, #0f5e8f 100%);
  color: #fff;
}
.canvas-library-flyout {
  left: 4.25rem;
  width: min(24rem, calc(100% - 6rem));
  max-height: calc(78vh - 1.7rem);
  padding: 0.62rem;
  display: grid;
  gap: 0.5rem;
  align-content: start;
  font-size: 0.8rem;
}
.canvas-library-flyout[hidden] {
  display: none !important;
}
.canvas-library-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
}
.canvas-library-topbar strong {
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-ink-soft);
}
.canvas-library-search-shell {
  display: grid;
}
.canvas-library-search {
  width: 100%;
  min-height: 2rem;
  padding: 0.42rem 0.58rem;
  border: 1px solid color-mix(in srgb, var(--brand-border) 82%, white 18%);
  border-radius: 10px;
  background: rgba(248, 251, 253, 0.92);
  font-size: 0.78rem;
}
.canvas-library-browser {
  display: grid;
  grid-template-columns: 8.4rem minmax(0, 1fr);
  gap: 0.5rem;
  min-height: 24rem;
}
.canvas-library-tabs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(5.6rem, 1fr));
  gap: 0.25rem;
}
.canvas-library-tab {
  min-height: 1.85rem;
  padding: 0.25rem 0.35rem;
  border: 1px solid color-mix(in srgb, var(--brand-border) 82%, white 18%);
  border-radius: 7px;
  background: #fff;
  color: var(--brand-ink-soft);
  box-shadow: none;
  font-size: 0.72rem;
  font-weight: 800;
  white-space: normal;
}
.canvas-library-tab.is-active {
  border-color: #2f8cff;
  color: #0f5e8f;
  box-shadow: inset 0 0 0 1px #2f8cff;
}
.canvas-library-category-list {
  display: grid;
  gap: 0.18rem;
  align-content: start;
  max-height: calc(78vh - 8.3rem);
  overflow: auto;
  padding-right: 0.2rem;
  border-right: 1px solid color-mix(in srgb, var(--brand-border) 84%, white 16%);
}
.canvas-library-category {
  appearance: none;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  min-height: 2rem;
  padding: 0.34rem 0.48rem;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--brand-ink-soft);
  font-size: 0.76rem;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}
.canvas-library-category:hover {
  background: rgba(244, 248, 252, 0.9);
  color: var(--brand-ink);
}
.canvas-library-category.is-active {
  border-color: color-mix(in srgb, #1189c6 44%, var(--brand-border) 56%);
  background: rgba(17, 137, 198, 0.1);
  color: #0f5e8f;
}
.canvas-library-category-count {
  flex-shrink: 0;
  min-width: 1.3rem;
  padding: 0.12rem 0.3rem;
  border-radius: 999px;
  background: rgba(17, 137, 198, 0.1);
  color: #0f5e8f;
  font-size: 0.68rem;
  font-weight: 800;
  text-align: center;
}
.canvas-library-content {
  min-width: 0;
  display: grid;
  gap: 0.35rem;
  align-content: start;
}
.canvas-library-results[hidden],
.canvas-library-main-pane[hidden],
.canvas-library-category-pane[hidden] {
  display: none !important;
}
.canvas-library-main-pane {
  display: grid;
  gap: 0.72rem;
}
.canvas-library-recent-section,
.canvas-library-element-group {
  display: grid;
  gap: 0.42rem;
}
.canvas-library-section-heading {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-ink-soft);
}
.canvas-library-list {
  display: grid;
  gap: 0.2rem;
  max-height: calc(78vh - 10rem);
  overflow: auto;
  padding-right: 0.1rem;
  align-content: start;
}
.canvas-library-entry {
  width: 100%;
  display: flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.32rem 0.45rem;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--brand-ink);
  box-shadow: none;
  cursor: grab;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.canvas-library-entry:hover {
  text-decoration: none;
  border-color: color-mix(in srgb, #1189c6 38%, var(--brand-border) 62%);
  background: rgba(244, 248, 252, 0.9);
}
.canvas-library-entry:active {
  cursor: grabbing;
}
.canvas-library-entry-label {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
}
.canvas-library-empty {
  margin: 0;
  padding: 0.48rem 0.12rem;
  font-size: 0.74rem;
}
.canvas-structure-drawer {
  left: 4.25rem;
  width: min(18.5rem, calc(100% - 6rem));
  max-height: calc(78vh - 1.7rem);
  padding: 0.7rem;
  display: grid;
  gap: 0.6rem;
  align-content: start;
  font-size: 0.8rem;
}
.canvas-structure-drawer[hidden] {
  display: none !important;
}
.canvas-side-panel {
  left: 4.25rem;
  width: min(24rem, calc(100% - 6rem));
  max-height: calc(78vh - 1.7rem);
  padding: 0.7rem;
  display: grid;
  gap: 0.55rem;
  align-content: start;
  overflow: auto;
  font-size: 0.8rem;
}
.canvas-side-panel[hidden] {
  display: none !important;
}
.canvas-panel-form {
  display: grid;
  gap: 0.5rem;
  min-height: 0;
}
.canvas-panel-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.45rem;
}
.canvas-asset-mini-list {
  display: grid;
  gap: 0.35rem;
}
.canvas-asset-mini-row {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: 0.45rem;
  align-items: center;
  min-height: 3rem;
  padding: 0.35rem;
  border: 1px solid var(--brand-border);
  border-radius: 7px;
  background: #fff;
  color: var(--brand-ink);
  box-shadow: none;
  text-align: left;
}
.canvas-asset-mini-row img,
.canvas-asset-mini-placeholder {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 5px;
  object-fit: cover;
  background: #eef3f8;
}
.canvas-asset-mini-row span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.canvas-side-section {
  display: grid;
  gap: 0.18rem;
  padding: 0.5rem;
  border: 1px solid var(--brand-border);
  border-radius: 7px;
  background: #fff;
}
.canvas-outline-list {
  display: grid;
  gap: 0.45rem;
  max-height: calc(78vh - 7rem);
  overflow: auto;
  padding-right: 0.1rem;
}
.canvas-outline-row {
  border: 1px solid var(--brand-border);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f8fbfd);
  padding: 0.55rem 0.65rem;
  box-shadow: 0 6px 16px rgba(22, 48, 74, 0.04);
}
.canvas-outline-row.is-selected {
  border-color: #1189c6;
  box-shadow: 0 0 0 2px rgba(17, 137, 198, 0.16);
}
.canvas-outline-shell {
  min-width: 0;
}
.canvas-outline-select {
  display: grid;
  gap: 0.25rem;
  color: inherit;
}
.canvas-outline-select:hover {
  text-decoration: none;
}
.canvas-outline-title-row {
  display: flex;
  gap: 0.35rem;
  align-items: center;
  flex-wrap: wrap;
}
.canvas-outline-title-row strong {
  font-size: 0.82rem;
  line-height: 1.2;
}
.canvas-inline-form {
  display: grid;
  gap: 0.28rem;
}
.canvas-action-inline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.4rem;
  align-items: end;
}
.canvas-preview-pane {
  display: grid;
  gap: 0.62rem;
  width: 100%;
  min-width: 0;
}
.canvas-preview-shell {
  position: relative;
  width: 100%;
}
.canvas-preview-frame {
  display: block;
  width: 100%;
  min-height: 78vh;
  border: 1px solid var(--brand-border);
  border-radius: 14px;
  background: #f8fbfd;
}
.canvas-library-drag-ghost {
  position: fixed;
  z-index: 30;
  pointer-events: none;
  min-width: 7rem;
  max-width: 14rem;
  padding: 0.42rem 0.6rem;
  border-radius: 10px;
  border: 1px solid rgba(17, 137, 198, 0.28);
  background: rgba(17, 23, 38, 0.92);
  color: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.22);
  font-size: 0.82rem;
  font-weight: 700;
}
.canvas-library-drag-ghost[hidden] {
  display: none !important;
}
        .canvas-preview-overlay {
          position: absolute;
          inset: 0;
          z-index: 4;
          pointer-events: none;
        }
        .canvas-preview-overlay.is-active {
          pointer-events: none;
        }
.canvas-editor-stage:not(.is-preview-mode) .canvas-preview-overlay {
  pointer-events: auto;
}
.canvas-preview-overlay .canvas-overlay-toolbar,
.canvas-preview-overlay .canvas-overlay-toolbar *,
.canvas-preview-overlay .canvas-selection-box,
.canvas-preview-overlay .canvas-selection-handle {
  pointer-events: auto;
}
.canvas-editor-stage.is-preview-mode .canvas-preview-overlay {
  display: none;
}
.canvas-editor-stage.is-preview-mode .canvas-preview-frame {
  pointer-events: auto;
}
.canvas-selection-box {
  position: absolute;
  border: 2px solid color-mix(in srgb, var(--brand-cyan) 72%, white 28%);
  border-radius: 14px;
  box-shadow: 0 0 0 1px rgba(17, 137, 198, 0.18), 0 12px 28px rgba(17, 137, 198, 0.16);
  background: color-mix(in srgb, rgba(17, 137, 198, 0.1) 70%, transparent);
  pointer-events: auto;
  cursor: move;
}
.canvas-selection-box.is-flow-managed {
  cursor: default;
  border-style: dashed;
}
.canvas-selection-box[hidden] {
  display: none !important;
}
.canvas-selection-handle {
  position: absolute;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 999px;
  background: #ffffff;
  border: 2px solid #1189c6;
  box-shadow: 0 6px 16px rgba(17, 137, 198, 0.22);
  pointer-events: auto;
}
.canvas-selection-box.is-flow-managed .canvas-selection-handle,
.canvas-selection-box.is-root .canvas-selection-handle,
.canvas-selection-box.is-no-resize .canvas-selection-handle {
  display: none;
}
.canvas-selection-handle[data-handle="nw"] { left: -0.42rem; top: -0.42rem; cursor: nwse-resize; }
.canvas-selection-handle[data-handle="ne"] { right: -0.42rem; top: -0.42rem; cursor: nesw-resize; }
.canvas-selection-handle[data-handle="sw"] { left: -0.42rem; bottom: -0.42rem; cursor: nesw-resize; }
.canvas-selection-handle[data-handle="se"] { right: -0.42rem; bottom: -0.42rem; cursor: nwse-resize; }
.canvas-snap-line {
  position: absolute;
  background: rgba(17, 137, 198, 0.55);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.22);
}
.canvas-snap-line.is-vertical {
  width: 1px;
}
.canvas-snap-line.is-horizontal {
  height: 1px;
}
.canvas-snap-line[hidden] {
  display: none !important;
}
.canvas-overlay-toolbar {
  position: absolute;
  display: inline-flex;
  gap: 0.3rem;
  align-items: center;
  padding: 0.25rem;
  border-radius: 999px;
  background: rgba(17, 23, 38, 0.86);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.2);
  pointer-events: auto;
}
.canvas-overlay-toolbar[hidden] {
  display: none !important;
}
.canvas-overlay-toolbar .button {
  min-height: 2rem;
  padding: 0.35rem 0.6rem;
  border-radius: 999px;
  box-shadow: none;
  font-size: 0.78rem;
}
.canvas-stage-note {
  margin: 0;
  font-size: 0.84rem;
}
.canvas-inspector-pane {
  right: 1rem;
  width: min(19rem, calc(100% - 2rem));
  min-height: 3.5rem;
  padding: 0.48rem;
  display: grid;
  gap: 0.48rem;
  align-content: start;
  overflow: hidden;
  transition: width 180ms ease, padding 180ms ease, box-shadow 180ms ease;
  font-size: 0.8rem;
}
.canvas-inspector-pane.has-selection {
  max-height: calc(78vh - 2rem);
  overflow: auto;
}
.canvas-inspector-content {
  display: grid;
  gap: 0.55rem;
}
.canvas-inspector-panel {
  border: 1px solid color-mix(in srgb, var(--brand-border) 88%, white 12%);
  border-radius: 6px;
  padding: 0;
  background: #fff;
}
.canvas-inspector-panel.is-selected {
  border-color: color-mix(in srgb, #1189c6 48%, var(--brand-border));
}
.canvas-inspector-actions {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.22rem;
  align-items: center;
  margin: 0;
  padding: 0.45rem 0.52rem;
  border-bottom: 1px solid color-mix(in srgb, var(--brand-border) 80%, white 20%);
}
.canvas-inspector-actions .structure-section-actions {
  display: contents;
}
.canvas-inspector-action-button {
  min-height: 1.85rem;
  width: 100%;
  padding: 0.22rem 0.28rem;
  border-radius: 5px;
  border: 1px solid color-mix(in srgb, var(--brand-border) 88%, white 12%);
  background: #f5f6f8;
  color: #28384a;
  box-shadow: none;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
}
.canvas-inspector-action-button.is-danger {
  color: #8f1f2f;
}
.canvas-inspector-section {
  margin: 0;
  padding-top: 0;
  border-top: 1px solid color-mix(in srgb, var(--brand-border) 78%, white 22%);
}
.canvas-inspector-section:first-of-type {
  border-top: 0;
  padding-top: 0;
}
.canvas-inspector-section summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  min-height: 2.45rem;
  padding: 0 0.72rem;
  cursor: pointer;
  list-style: none;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--brand-ink);
}
.canvas-inspector-section summary::-webkit-details-marker {
  display: none;
}
.canvas-inspector-section summary::after {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--brand-border) 82%, white 18%);
  background: rgba(255, 255, 255, 0.9);
  color: var(--brand-ink-soft);
  font-size: 0.82rem;
  font-weight: 800;
}
.canvas-inspector-section[open] summary::after {
  content: "-";
}
.canvas-inspector-section-body {
  display: grid;
  gap: 0.42rem;
  padding: 0.5rem 0.72rem 0.72rem;
}
.canvas-inspector-subsection {
  display: grid;
  gap: 0.42rem;
  padding: 0.58rem;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--brand-border) 82%, white 18%);
  background: rgba(244, 248, 252, 0.72);
}
.canvas-inspector-subsection h5 {
  margin: 0;
}
.canvas-flow-note {
  margin: 0;
  font-size: 0.7rem;
  line-height: 1.35;
}
.canvas-menu-page-picker {
  display: grid;
  gap: 0.38rem;
  margin-top: 0.48rem;
}
.canvas-menu-page-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 0.55rem;
  border: 1px solid color-mix(in srgb, var(--brand-border) 82%, white 18%);
  border-radius: 7px;
  background: color-mix(in srgb, var(--brand-surface) 88%, white 12%);
  cursor: grab;
}
.canvas-menu-page-card.is-selected {
  border-color: color-mix(in srgb, var(--brand-primary) 58%, var(--brand-border) 42%);
  background: color-mix(in srgb, var(--brand-primary) 10%, var(--brand-surface) 90%);
}
.canvas-menu-page-card.is-dragging {
  opacity: 0.62;
  cursor: grabbing;
}
.canvas-menu-drag-handle {
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid color-mix(in srgb, var(--brand-border) 72%, white 28%);
  border-radius: 6px;
  background: color-mix(in srgb, var(--brand-surface) 78%, white 22%);
  color: var(--brand-muted);
  font-weight: 800;
  line-height: 1;
}
.canvas-menu-page-card-label {
  display: flex;
  align-items: flex-start;
  gap: 0.48rem;
  font-size: 0.78rem;
  line-height: 1.25;
  min-width: 0;
}
.canvas-menu-page-card-label input {
  margin-top: 0.08rem;
}
.canvas-menu-page-card-label span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.canvas-color-control {
  position: relative;
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: 0.45rem;
  align-items: center;
}
.canvas-color-control > label {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: #4a5565;
}
.canvas-color-popover {
  position: relative;
}
.canvas-color-popover[open] {
  z-index: 2147483000;
}
.canvas-color-popover > summary {
  min-height: 1.9rem;
  display: grid;
  grid-template-columns: 1.05rem minmax(0, 1fr) auto;
  gap: 0.36rem;
  align-items: center;
  padding: 0.18rem 0.35rem;
  border: 1px solid #b7d2f4;
  border-radius: 5px;
  background: #fff;
  list-style: none;
  cursor: pointer;
  font-size: 0.72rem;
}
.canvas-color-popover > summary::-webkit-details-marker {
  display: none;
}
.canvas-color-popover > summary::after {
  content: none;
}
.canvas-color-preview,
.canvas-color-swatch-chip,
.canvas-color-none-chip {
  width: 1rem;
  height: 1rem;
  border: 1px solid #d5dce5;
  border-radius: 2px;
  display: inline-block;
  background: #fff;
}
.canvas-color-value {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #36465a;
}
.canvas-color-opacity {
  color: #69788c;
}
.canvas-color-panel-shell {
  position: absolute;
  right: 0;
  top: calc(100% + 0.25rem);
  z-index: 80;
  width: 13.25rem;
  padding: 0.55rem;
  border: 1px solid #d9dde5;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
}
.canvas-color-popover[open] .canvas-color-panel-shell {
  position: absolute;
  z-index: 2147483000;
  max-height: min(19rem, calc(100vh - 1.5rem));
  overflow-y: auto;
}
.canvas-color-popover.is-flipped .canvas-color-panel-shell {
  top: auto;
  bottom: calc(100% + 0.25rem);
}
.canvas-color-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 0.18rem;
  align-items: center;
  margin-bottom: 0.48rem;
}
button.canvas-color-tab {
  min-height: 1.55rem;
  padding: 0.18rem 0.45rem;
  border-radius: 5px;
  border: 0;
  background: #f0f1f3;
  color: #333f4f;
  box-shadow: none;
  font-size: 0.72rem;
}
button.canvas-color-tab.is-active {
  background: #fff;
  box-shadow: inset 0 0 0 1px #d9dde5;
}
button.canvas-color-close {
  width: 1.55rem;
  min-height: 1.55rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #7a8798;
  box-shadow: none;
}
.canvas-color-swatch-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.25rem;
}
button.canvas-color-swatch {
  width: 1.24rem;
  height: 1.24rem;
  min-height: 0;
  padding: 0;
  border: 1px solid #d6dde6;
  border-radius: 2px;
  background: #fff;
  box-shadow: none;
  color: transparent;
  overflow: hidden;
}
button.canvas-color-swatch:hover,
button.canvas-color-swatch.is-selected {
  outline: 2px solid #2f8cff;
  outline-offset: 1px;
}
.canvas-color-swatch .canvas-color-swatch-chip {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
}
button.canvas-color-swatch.is-auto {
  color: #334155;
}
.canvas-color-none-row,
.canvas-new-color-button {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  width: 100%;
  min-height: 1.75rem;
  padding: 0.15rem 0;
  border: 0;
  background: transparent;
  color: #334155;
  box-shadow: none;
  font-size: 0.72rem;
  font-weight: 500;
  cursor: pointer;
}
.canvas-color-none-chip {
  position: relative;
  background:
    linear-gradient(135deg, transparent 45%, #8a96a8 47%, #8a96a8 53%, transparent 55%),
    #fff;
}
.canvas-color-panel-label {
  margin: 0.55rem 0 0.18rem;
  font-size: 0.7rem;
  color: #6b7788;
}
.canvas-inline-swatch-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 0.45rem;
  align-items: center;
  margin: 0;
}
.canvas-new-color-apply {
  min-height: 1.85rem;
  padding: 0.22rem 0.55rem;
  font-size: 0.7rem;
}
.canvas-color-wheel {
  display: inline-grid;
  place-items: center;
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  color: #fff;
  font-weight: 800;
  background: conic-gradient(#f43f5e, #f59e0b, #22c55e, #06b6d4, #3b82f6, #a855f7, #f43f5e);
}
.canvas-color-native-input {
  inline-size: 2.25rem;
  block-size: 1.75rem;
  padding: 0.1rem;
  border: 1px solid #cfd7e3;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}
.canvas-editor-main.canvas-app-shell .canvas-workspace-grid {
  height: calc(100vh - 4.45rem);
  min-height: 38rem;
  gap: 0;
}
.canvas-editor-main.canvas-app-shell .canvas-preview-toolbar {
  display: none;
}
.canvas-editor-main.canvas-app-shell .canvas-editor-stage {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: 2.45rem 13rem minmax(0, 1fr) 14.5rem;
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  background: #0b1118;
}
.canvas-editor-main.canvas-app-shell .canvas-tool-rail {
  position: relative;
  top: auto;
  left: auto;
  width: 2.45rem;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: #25272a;
  box-shadow: none;
}
.canvas-editor-main.canvas-app-shell .canvas-tool-button {
  width: 4.75rem;
  min-width: 4.75rem;
  height: 3.05rem;
  padding: 0.25rem 0.2rem;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #d1d5db;
  box-shadow: none;
  font-size: 0.64rem;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}
.canvas-editor-main.canvas-app-shell .canvas-tool-button:hover,
.canvas-editor-main.canvas-app-shell .canvas-tool-button.is-active {
  background: #2f8cff;
  color: #fff;
  border-left-color: #9ee7ff;
}
.canvas-editor-main.canvas-app-shell .canvas-tool-rail-divider {
  display: block;
  height: 1px;
  margin: 0.2rem 0.4rem;
  background: rgba(255, 255, 255, 0.14);
}
.canvas-editor-main.canvas-app-shell .canvas-library-flyout {
  position: relative;
  top: auto;
  left: auto;
  grid-column: 2;
  grid-row: 1;
  z-index: 35;
  width: auto;
  height: 100%;
  max-height: none;
  border: 0;
  border-right: 1px solid #cfcfcf;
  border-radius: 0;
  box-shadow: none;
  overflow: auto;
}
.canvas-editor-main.canvas-app-shell .canvas-side-panel {
  position: relative;
  top: auto;
  left: auto;
  grid-column: 2;
  grid-row: 1;
  width: auto;
  height: 100%;
  max-height: none;
  border: 0;
  border-right: 1px solid #cfcfcf;
  border-radius: 0;
  box-shadow: none;
}
.canvas-editor-main.canvas-app-shell .canvas-structure-drawer.canvas-page-panel {
  position: relative;
  top: auto;
  left: auto;
  width: auto;
  height: 100%;
  max-height: none;
  min-height: 0;
  padding: 0.42rem;
  border: 0;
  border-right: 1px solid #cfcfcf;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  overflow: auto;
}
.canvas-editor-main.canvas-app-shell .canvas-preview-stage {
  grid-column: 3;
  grid-row: 1;
  height: 100%;
  min-height: 0;
  padding: 2rem 1.1rem;
  overflow: auto;
  align-content: start;
  justify-content: stretch;
  background: #0b1118;
}
.canvas-editor-main.canvas-app-shell .canvas-preview-frame {
  display: block;
  width: 100%;
  min-height: calc(100vh - 7rem);
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 0 0 1px #c7c7c7;
}
.canvas-editor-main.canvas-app-shell .canvas-inspector-pane,
.canvas-editor-main.canvas-app-shell .canvas-inspector-pane.has-selection {
  position: relative;
  top: auto;
  right: auto;
  grid-column: 4;
  grid-row: 1;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: stretch;
  width: auto;
  min-height: 0;
  height: 100%;
  max-height: none;
  padding: 0;
  border: 0;
  border-left: 1px solid #cfcfcf;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
  transition: none;
  font-size: 0.72rem;
}
.canvas-editor-main.canvas-app-shell .canvas-canvas-settings {
  order: 0;
  margin: 0;
  border: 0;
  border-bottom: 1px solid #e5e7eb;
  border-radius: 0;
  background: #fff;
}
.canvas-editor-main.canvas-app-shell .canvas-canvas-settings > summary {
  padding: 0.55rem 0.65rem;
}
.canvas-editor-main.canvas-app-shell .canvas-inspector-content {
  gap: 0;
}
.canvas-editor-main.canvas-app-shell .canvas-inspector-panel {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.canvas-editor-main.canvas-app-shell .canvas-editor-stage input,
.canvas-editor-main.canvas-app-shell .canvas-editor-stage textarea,
.canvas-editor-main.canvas-app-shell .canvas-editor-stage select {
  min-height: 1.75rem;
  padding: 0.28rem 0.4rem;
  border-radius: 3px;
  font-size: 0.72rem;
}
.canvas-editor-main.canvas-app-shell .canvas-editor-stage label {
  font-size: 0.68rem;
}
.canvas-editor-main.canvas-app-shell .canvas-editor-stage .button,
.canvas-editor-main.canvas-app-shell .canvas-editor-stage button {
  min-height: 1.75rem;
  padding: 0.24rem 0.42rem;
  border-radius: 3px;
  font-size: 0.68rem;
}
.canvas-editor-route {
  background: #0b1118;
}
.canvas-editor-main.canvas-app-shell {
  height: 100vh;
  overflow: hidden;
  background: #0b1118;
  color: #d7dee8;
}
.canvas-editor-main.canvas-app-shell .canvas-app-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 4rem;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding: 0 1rem;
  border-bottom: 1px solid #222b36;
  background: #111820;
  color: #e8edf4;
}
.canvas-editor-main.canvas-app-shell .canvas-topbar-left,
.canvas-editor-main.canvas-app-shell .canvas-topbar-right {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
}
.canvas-editor-main.canvas-app-shell .canvas-topbar-right {
  justify-content: flex-end;
}
.canvas-editor-main.canvas-app-shell .canvas-topbar-left {
  overflow: hidden;
}
.canvas-editor-main.canvas-app-shell .canvas-topbar-center {
  display: flex;
  justify-content: center;
  min-width: 18rem;
}
.canvas-topbar-plus,
.canvas-topbar-icon-button,
.canvas-topbar-utility,
.canvas-topbar-avatar,
.canvas-topbar-selector,
.canvas-editor-main.canvas-app-shell .canvas-topbar-button {
  min-height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #283341;
  border-radius: 7px;
  background: #151d27;
  color: #e8edf4;
  box-shadow: none;
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 700;
}
.canvas-topbar-plus {
  width: 2.65rem;
  color: #7aa7ff;
  font-size: 1.45rem;
  line-height: 1;
}
.canvas-topbar-selector {
  gap: 0.45rem;
  max-width: 12rem;
  padding: 0 0.75rem;
}
.canvas-topbar-selector span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.canvas-topbar-selector b {
  color: #8c98a8;
  font-size: 0.68rem;
}
.canvas-topbar-exits {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-width: 0;
  padding-left: 0.25rem;
  overflow: hidden;
}
.canvas-topbar-exits a {
  display: inline-flex;
  align-items: center;
  min-height: 2.05rem;
  padding: 0 0.55rem;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #aeb8c7;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}
.canvas-topbar-exits a:hover {
  border-color: #283341;
  background: #151d27;
  color: #ffffff;
  text-decoration: none;
}
.canvas-topbar-history-form {
  display: inline-flex;
  margin: 0;
}
.canvas-topbar-icon-button,
.canvas-topbar-utility {
  min-width: 2.25rem;
  padding: 0 0.55rem;
}
.canvas-topbar-icon-button:disabled {
  opacity: 0.38;
}
.canvas-topbar-avatar {
  width: 2.35rem;
  border-radius: 999px;
  background: #0f141c;
}
.canvas-editor-main.canvas-app-shell .canvas-viewport-switch,
.canvas-editor-main.canvas-app-shell .canvas-mode-switch {
  display: inline-flex;
  gap: 0.35rem;
  padding: 0.25rem;
  border: 1px solid #283341;
  border-radius: 8px;
  background: #0d131b;
}
.canvas-editor-main.canvas-app-shell .canvas-viewport-button,
.canvas-editor-main.canvas-app-shell .canvas-mode-button {
  min-width: 2.6rem;
  min-height: 2.15rem;
  padding: 0 0.65rem;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #aeb8c7;
  font-size: 0.74rem;
}
.canvas-editor-main.canvas-app-shell .canvas-viewport-button.is-active,
.canvas-editor-main.canvas-app-shell .canvas-mode-button.is-active {
  border-color: #2f72ff;
  background: #152846;
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(47, 114, 255, 0.45);
}
.canvas-editor-main.canvas-app-shell .canvas-preview-command {
  gap: 0.35rem;
  padding: 0 0.8rem;
}
.canvas-editor-main.canvas-app-shell .canvas-draft-preview-command {
  padding: 0 0.85rem;
}
.canvas-editor-main.canvas-app-shell .canvas-save-command {
  min-width: 3.2rem;
}
.canvas-save-status {
  min-height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.7rem;
  border: 1px solid #283341;
  border-radius: 7px;
  background: #101822;
  color: #c8d2df;
  font-size: 0.74rem;
  font-weight: 800;
  white-space: nowrap;
}
.canvas-save-status[data-state="saving"] {
  border-color: #2f72ff;
  color: #ffffff;
}
.canvas-save-status[data-state="error"] {
  border-color: #ff8d8d;
  color: #ffc6c6;
}
@media (max-width: 1260px) {
  .canvas-topbar-exits {
    display: none;
  }
  .canvas-editor-main.canvas-app-shell .canvas-draft-preview-command {
    display: none;
  }
}
.canvas-editor-main.canvas-app-shell .canvas-topbar-button.is-primary {
  border-color: #2d67ff;
  background: #2f63ff;
  color: #fff;
}
.canvas-editor-main.canvas-app-shell .canvas-app-status {
  display: none;
}
.canvas-editor-main.canvas-app-shell .canvas-workspace-grid {
  height: calc(100vh - 4rem);
  min-height: 0;
}
.canvas-editor-main.canvas-app-shell .canvas-editor-stage {
  position: relative;
  isolation: isolate;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  background: #0b1118;
}
.canvas-editor-main.canvas-app-shell .canvas-tool-rail {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 70;
  width: 4.75rem;
  height: auto;
  max-height: none;
  padding: 1.1rem 0.45rem;
  border: 0;
  border-right: 1px solid #253141;
  border-radius: 0;
  background: #0f1720;
  box-shadow: none;
  backdrop-filter: none;
}
.canvas-editor-main.canvas-app-shell .canvas-tool-button {
  width: 3.7rem;
  min-width: 3.7rem;
  height: 3.75rem;
  display: grid;
  place-items: center;
  padding: 0.25rem;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #c5ceda;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.15;
}
.canvas-editor-main.canvas-app-shell .canvas-tool-button:hover,
.canvas-editor-main.canvas-app-shell .canvas-tool-button.is-active {
  border-color: #2f72ff;
  background: #285dff;
  color: #ffffff;
}
.canvas-editor-main.canvas-app-shell .canvas-tool-rail-divider {
  margin: 0.4rem 0.6rem;
  background: #263241;
}
.canvas-editor-main.canvas-app-shell .canvas-library-flyout,
.canvas-editor-main.canvas-app-shell .canvas-side-panel,
.canvas-editor-main.canvas-app-shell .canvas-structure-drawer.canvas-page-panel {
  position: fixed;
  top: 4rem;
  left: 4.75rem;
  z-index: 1000;
  width: min(24rem, calc(100vw - 8rem));
  height: calc(100vh - 4rem);
  max-height: calc(100vh - 4rem);
  padding: 1rem;
  border: 0;
  border-right: 1px solid #253141;
  border-radius: 0;
  background: #111820;
  color: #d7dee8;
  box-shadow: 18px 0 42px rgba(0, 0, 0, 0.24);
  backdrop-filter: none;
  overflow: auto;
}
.canvas-editor-main.canvas-app-shell .canvas-library-flyout:not([hidden]),
.canvas-editor-main.canvas-app-shell .canvas-side-panel:not([hidden]),
.canvas-editor-main.canvas-app-shell .canvas-structure-drawer.canvas-page-panel:not([hidden]) {
  display: grid;
  pointer-events: auto;
}
.canvas-editor-main.canvas-app-shell .canvas-library-topbar strong {
  color: #f3f6fb;
  letter-spacing: 0;
  text-transform: none;
  font-size: 0.98rem;
}
.canvas-editor-main.canvas-app-shell .canvas-library-search {
  min-height: 2.35rem;
  border-color: #253141;
  border-radius: 6px;
  background: #151d27;
  color: #e8edf4;
}
.canvas-editor-main.canvas-app-shell .canvas-library-tabs {
  border-bottom: 1px solid #253141;
}
.canvas-editor-main.canvas-app-shell .canvas-library-tab {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #9faabc;
}
.canvas-editor-main.canvas-app-shell .canvas-library-tab.is-active {
  color: #ffffff;
  box-shadow: inset 0 -2px 0 #2f72ff;
}
.canvas-editor-main.canvas-app-shell .canvas-library-browser {
  display: block;
  min-height: 0;
}
.canvas-editor-main.canvas-app-shell .canvas-library-category-list {
  display: none;
}
.canvas-editor-main.canvas-app-shell .canvas-library-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  max-height: calc(100vh - 13rem);
}
.canvas-editor-main.canvas-app-shell .canvas-library-action-card,
.canvas-editor-main.canvas-app-shell .canvas-library-info-card {
  text-decoration: none;
  text-align: left;
}
.canvas-editor-main.canvas-app-shell .canvas-library-entry-description {
  display: block;
  margin-top: 0.25rem;
  color: #9faabc;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.3;
}
.canvas-editor-main.canvas-app-shell .canvas-chrome-pattern-panel {
  margin: 0.55rem 0.75rem 0;
  padding: 0.75rem;
  border: 1px solid #2b3441;
  border-radius: 8px;
  background: #111821;
  color: #f3f6fb;
}
.canvas-editor-main.canvas-app-shell .canvas-chrome-pattern-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.65rem;
}
.canvas-editor-main.canvas-app-shell .canvas-chrome-pattern-header h2 {
  margin: 0;
  color: #f9fafb;
  font-size: 0.95rem;
}
.canvas-editor-main.canvas-app-shell .canvas-chrome-pattern-header p {
  margin: 0.15rem 0 0;
  color: #a8b3c1;
  font-size: 0.78rem;
  line-height: 1.4;
}
.canvas-editor-main.canvas-app-shell .canvas-chrome-pattern-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.55rem;
}
.canvas-editor-main.canvas-app-shell .canvas-chrome-pattern-card {
  display: grid;
  gap: 0.45rem;
  min-height: 8.5rem;
  padding: 0.65rem;
  border: 1px solid #334155;
  border-radius: 8px;
  background: #0f172a;
}
.canvas-editor-main.canvas-app-shell .canvas-chrome-pattern-card strong {
  color: #f9fafb;
  font-size: 0.86rem;
}
.canvas-editor-main.canvas-app-shell .canvas-chrome-pattern-card p {
  margin: 0;
  color: #a8b3c1;
  font-size: 0.72rem;
  line-height: 1.4;
}
.canvas-editor-main.canvas-app-shell .canvas-chrome-pattern-card button {
  align-self: end;
  justify-self: start;
  min-height: 2rem;
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
}
.canvas-editor-main.canvas-app-shell .canvas-library-section-heading {
  margin: 0.55rem 0 0.25rem;
  color: #f3f6fb;
  letter-spacing: 0.04em;
}
.canvas-editor-main.canvas-app-shell .canvas-library-entry.canvas-module-card {
  min-height: 6.15rem;
  display: grid;
  grid-template-rows: 4.15rem auto;
  gap: 0.45rem;
  padding: 0.45rem;
  border: 1px solid #2b3645;
  border-radius: 6px;
  background: #151d27;
  color: #e8edf4;
  overflow: hidden;
}
.canvas-module-thumb {
  position: relative;
  display: block;
  min-height: 4.15rem;
  padding: 0.45rem;
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(232, 239, 249, 0.96)),
    linear-gradient(135deg, #dbeafe, #eef2ff);
  box-shadow: inset 0 0 0 1px rgba(16, 24, 40, 0.08);
}
.canvas-module-thumb::before,
.canvas-module-thumb::after {
  content: "";
  position: absolute;
  border-radius: 4px;
}
.canvas-module-thumb::before {
  left: 0.45rem;
  top: 0.48rem;
  width: 42%;
  height: 2rem;
  background: linear-gradient(135deg, #2f72ff, #78a6ff);
}
.canvas-module-thumb::after {
  right: 0.45rem;
  top: 0.62rem;
  width: 39%;
  height: 0.42rem;
  background: #8aa3c5;
  box-shadow: 0 0.72rem 0 #c3d0df, -1.8rem 2.25rem 0 #d6e0ec;
}
.canvas-module-thumb i {
  position: absolute;
  display: none;
  border-radius: 3px;
  background: #8aa3c5;
}
.canvas-module-thumb i:nth-child(1) {
  left: 0.45rem;
  bottom: 0.52rem;
  width: 44%;
  height: 0.38rem;
}
.canvas-module-thumb i:nth-child(2) {
  left: 0.45rem;
  bottom: 1.08rem;
  width: 30%;
  height: 0.32rem;
}
.canvas-module-thumb i:nth-child(3) {
  right: 0.45rem;
  bottom: 0.52rem;
  width: 30%;
  height: 1.05rem;
  background: #d99b21;
}
.canvas-module-thumb i:nth-child(1),
.canvas-module-thumb i:nth-child(2),
.canvas-module-thumb i:nth-child(3) {
  display: block;
}
.canvas-module-live-preview {
  min-height: 4.15rem;
  padding: 0;
  overflow: hidden;
  background: #f8fafc;
  isolation: isolate;
}
.canvas-module-live-preview::before,
.canvas-module-live-preview::after {
  content: none !important;
}
.canvas-module-live-preview .canvas-library-rendered-preview {
  position: absolute;
  inset: 0 auto auto 0;
  width: var(--library-preview-width, 960px);
  height: var(--library-preview-height, 420px);
  transform: translate(var(--library-preview-offset-x, 0px), var(--library-preview-offset-y, 0px)) scale(var(--library-preview-scale, 0.1));
  transform-origin: top left;
  pointer-events: none;
}
.canvas-module-live-preview .canvas-page {
  width: var(--library-preview-width, 960px) !important;
  min-height: var(--library-preview-height, 420px) !important;
  padding: 0 !important;
  overflow: hidden;
}
.canvas-module-live-preview .canvas-artboard-shell {
  width: var(--library-preview-width, 960px) !important;
  min-height: var(--library-preview-height, 420px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
.canvas-module-live-preview .canvas-image-placeholder {
  min-height: 100%;
  font-size: 0;
}
.canvas-module-card[data-node-type="text"] .canvas-module-thumb::before {
  width: 72%;
  height: 0.55rem;
  background: #172033;
}
.canvas-module-card[data-node-type="text"] .canvas-module-thumb::after {
  left: 0.45rem;
  right: auto;
  top: 1.42rem;
  width: 82%;
  height: 0.34rem;
  background: #9fb0c5;
  box-shadow: 0 0.58rem 0 #c3d0df, 0 1.16rem 0 #d6e0ec;
}
.canvas-module-card[data-node-type="image"] .canvas-module-thumb {
  background: linear-gradient(135deg, #e0f2fe, #f8fafc);
}
.canvas-module-card[data-node-type="image"] .canvas-module-thumb::before {
  inset: 0.45rem;
  width: auto;
  height: auto;
  background:
    radial-gradient(circle at 72% 34%, #ffffff 0 0.28rem, transparent 0.32rem),
    linear-gradient(135deg, #38bdf8, #2563eb);
}
.canvas-module-card[data-node-type="image"] .canvas-module-thumb::after {
  left: 0.65rem;
  right: 0.65rem;
  top: auto;
  bottom: 0.72rem;
  width: auto;
  height: 1rem;
  background: linear-gradient(135deg, #14532d, #84cc16);
  clip-path: polygon(0 100%, 32% 35%, 52% 68%, 72% 22%, 100% 100%);
  box-shadow: none;
}
.canvas-module-card[data-node-type="component_instance"] .canvas-module-thumb::before,
.canvas-module-card[data-node-type="form_embed"] .canvas-module-thumb::before {
  left: 0.6rem;
  top: 0.6rem;
  width: calc(100% - 1.2rem);
  height: calc(100% - 1.2rem);
  background: #ffffff;
  box-shadow: inset 0 0 0 1px #cbd5e1;
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview::before,
.canvas-module-card[data-library-kind="module"] .canvas-module-preview::after {
  box-shadow: none;
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview i:nth-child(4),
.canvas-module-card[data-library-kind="module"] .canvas-module-preview i:nth-child(5) {
  display: block;
}
.canvas-module-preview.is-preview-hero {
  background: linear-gradient(135deg, #0f172a 0%, #172a45 62%, #f7b733 62%, #d99b21 100%);
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-hero::before {
  left: 0.48rem;
  top: 0.62rem;
  width: 45%;
  height: 0.52rem;
  background: #ffffff;
  box-shadow: 0 0.74rem 0 rgba(255, 255, 255, 0.72), 0 1.48rem 0 rgba(255, 255, 255, 0.35);
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-hero::after {
  right: 0.55rem;
  top: 0.78rem;
  width: 34%;
  height: 2.45rem;
  background: rgba(255, 255, 255, 0.92);
}
.canvas-module-preview.is-preview-hero i:nth-child(1) {
  left: 0.5rem;
  bottom: 0.6rem;
  width: 24%;
  height: 0.48rem;
  background: #2f72ff;
}
.canvas-module-preview.is-preview-hero i:nth-child(2) {
  left: 31%;
  bottom: 0.65rem;
  width: 17%;
  height: 0.34rem;
  background: rgba(255, 255, 255, 0.45);
}
.canvas-module-preview.is-preview-hero i:nth-child(3) {
  right: 0.95rem;
  bottom: 0.78rem;
  width: 21%;
  height: 0.42rem;
  background: #f7b733;
}
.canvas-module-preview.is-preview-cards {
  background: linear-gradient(180deg, #f8fafc 0%, #eef4fb 100%);
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-cards::before {
  left: 0.55rem;
  top: 0.45rem;
  width: calc(100% - 1.1rem);
  height: 0.5rem;
  background: #172033;
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-cards::after {
  left: 0.58rem;
  top: 1.35rem;
  width: 26%;
  height: 2.1rem;
  background: #ffffff;
  box-shadow: 2.15rem 0 0 #ffffff, 4.3rem 0 0 #ffffff;
}
.canvas-module-preview.is-preview-cards i:nth-child(1),
.canvas-module-preview.is-preview-cards i:nth-child(2),
.canvas-module-preview.is-preview-cards i:nth-child(3) {
  top: 1.72rem;
  width: 15%;
  height: 0.85rem;
  background: #d7e1ee;
}
.canvas-module-preview.is-preview-cards i:nth-child(1) { left: 0.78rem; }
.canvas-module-preview.is-preview-cards i:nth-child(2) { left: 2.92rem; }
.canvas-module-preview.is-preview-cards i:nth-child(3) { left: 5.08rem; }
.canvas-module-preview.is-preview-media_text {
  background: linear-gradient(135deg, #f8fafc, #e7eef8);
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-media_text::before {
  left: 0.55rem;
  top: 0.55rem;
  width: 42%;
  height: 3.05rem;
  background: linear-gradient(135deg, #3b82f6, #7dd3fc);
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-media_text::after {
  right: 0.58rem;
  top: 0.82rem;
  width: 39%;
  height: 0.48rem;
  background: #172033;
  box-shadow: 0 0.84rem 0 #9fb0c5, 0 1.48rem 0 #c3d0df;
}
.canvas-module-preview.is-preview-cta {
  background: linear-gradient(135deg, #172033, #2f72ff);
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-cta::before {
  left: 0.7rem;
  top: 1rem;
  width: 54%;
  height: 0.54rem;
  background: #ffffff;
  box-shadow: 0 0.82rem 0 rgba(255, 255, 255, 0.48);
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-cta::after {
  right: 0.7rem;
  top: 1.45rem;
  width: 24%;
  height: 0.72rem;
  background: #f7b733;
}
.canvas-module-preview.is-preview-stats {
  background: linear-gradient(180deg, #0f172a, #172033);
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-stats::before {
  left: 0.55rem;
  top: 0.55rem;
  width: 20%;
  height: 2.85rem;
  background: #ffffff;
  box-shadow: 1.9rem 0 0 #ffffff, 3.8rem 0 0 #ffffff;
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-stats::after {
  left: 0.78rem;
  top: 1.15rem;
  width: 12%;
  height: 0.5rem;
  background: #2f72ff;
  box-shadow: 1.9rem 0 0 #2f72ff, 3.8rem 0 0 #2f72ff;
}
.canvas-module-preview.is-preview-accordion {
  background: linear-gradient(180deg, #f8fafc, #e7eef8);
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-accordion::before {
  left: 0.55rem;
  top: 0.58rem;
  width: calc(100% - 1.1rem);
  height: 0.7rem;
  background: #ffffff;
  box-shadow: 0 0.98rem 0 #ffffff, 0 1.96rem 0 #ffffff;
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-accordion::after {
  right: 0.82rem;
  top: 0.78rem;
  width: 0.34rem;
  height: 0.34rem;
  border-radius: 999px;
  background: #2f72ff;
  box-shadow: 0 0.98rem 0 #8aa3c5, 0 1.96rem 0 #8aa3c5;
}
.canvas-module-preview.is-preview-booking {
  background: linear-gradient(180deg, #f8fafc, #eaf6ff);
}
.canvas-module-preview.is-preview-booking::before {
  left: 0.55rem;
  top: 0.55rem;
  width: calc(100% - 1.1rem);
  height: 0.62rem;
  background: #172033;
  box-shadow: 0 1.05rem 0 #dbeafe, 2.25rem 1.05rem 0 #bfdbfe, 4.5rem 1.05rem 0 #dbeafe;
}
.canvas-module-preview.is-preview-booking::after {
  left: 0.65rem;
  bottom: 0.58rem;
  width: 34%;
  height: 0.58rem;
  background: #2f72ff;
  box-shadow: 3.45rem 0 0 #e2e8f0;
}
.canvas-module-preview.is-preview-document {
  background: linear-gradient(180deg, #f8fafc, #eef4fb);
}
.canvas-module-preview.is-preview-document::before {
  left: 0.68rem;
  top: 0.48rem;
  width: 42%;
  height: 3.1rem;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px #cbd5e1;
}
.canvas-module-preview.is-preview-document::after {
  right: 0.68rem;
  top: 1.05rem;
  width: 32%;
  height: 0.62rem;
  background: #2f72ff;
  box-shadow: 0 1rem 0 #9fb0c5;
}
.canvas-module-preview.is-preview-integration {
  background: linear-gradient(135deg, #f8fafc, #eef4fb);
}
.canvas-module-preview.is-preview-integration::before {
  left: 0.55rem;
  top: 0.72rem;
  width: 1.12rem;
  height: 1.12rem;
  border-radius: 999px;
  background: #2f72ff;
  box-shadow: 2.35rem 0 0 #d99b21, 4.7rem 0 0 #22c55e;
}
.canvas-module-preview.is-preview-integration::after {
  left: 1.67rem;
  top: 1.22rem;
  width: 1.2rem;
  height: 0.12rem;
  background: #9fb0c5;
  box-shadow: 2.35rem 0 0 #9fb0c5, 0 1.45rem 0 #172033;
}
.canvas-module-preview.is-preview-chips {
  background: linear-gradient(135deg, #f8fafc, #eef4fb);
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-chips::before {
  left: 0.55rem;
  top: 0.72rem;
  width: 28%;
  height: 0.62rem;
  border-radius: 999px;
  background: #dbeafe;
  box-shadow: 2.3rem 0 0 #e0e7ff, 4.1rem 0 0 #d1fae5, 0.8rem 1.15rem 0 #fee2e2, 3.2rem 1.15rem 0 #fef3c7;
}
.canvas-module-card[data-library-kind="module"] .canvas-module-preview.is-preview-chips::after {
  left: 0.85rem;
  bottom: 0.6rem;
  width: 64%;
  height: 0.38rem;
  background: #9fb0c5;
}
.canvas-module-preview.is-preview-text {
  background: linear-gradient(180deg, #f8fafc, #eef4fb);
}
.canvas-module-preview.is-preview-text i,
.canvas-module-preview.is-preview-button i,
.canvas-module-preview.is-preview-image i,
.canvas-module-preview.is-preview-form i,
.canvas-module-preview.is-preview-booking i,
.canvas-module-preview.is-preview-document i,
.canvas-module-preview.is-preview-integration i,
.canvas-module-preview.is-preview-shape i,
.canvas-module-preview.is-preview-layout i,
.canvas-module-preview.is-preview-module i,
.canvas-module-preview.is-preview-generic i {
  display: none;
}
.canvas-module-preview.is-preview-text::before {
  left: 0.55rem;
  top: 0.65rem;
  width: 72%;
  height: 0.56rem;
  background: #172033;
}
.canvas-module-preview.is-preview-text::after {
  left: 0.55rem;
  top: 1.58rem;
  width: 82%;
  height: 0.34rem;
  background: #9fb0c5;
  box-shadow: 0 0.62rem 0 #c3d0df, 0 1.24rem 0 #d6e0ec;
}
.canvas-module-preview.is-preview-button::before {
  left: 0.55rem;
  top: 0.72rem;
  width: 62%;
  height: 0.42rem;
  background: #172033;
  box-shadow: 0 0.68rem 0 #9fb0c5;
}
.canvas-module-preview.is-preview-button::after {
  left: 0.55rem;
  bottom: 0.72rem;
  width: 44%;
  height: 0.72rem;
  background: #2f72ff;
  box-shadow: 3.35rem 0 0 #d99b21;
}
.canvas-module-preview.is-preview-image {
  background: linear-gradient(135deg, #e0f2fe, #f8fafc);
}
.canvas-module-preview.is-preview-image::before {
  inset: 0.45rem;
  width: auto;
  height: auto;
  background:
    radial-gradient(circle at 72% 34%, #ffffff 0 0.28rem, transparent 0.32rem),
    linear-gradient(135deg, #38bdf8, #2563eb);
}
.canvas-module-preview.is-preview-image::after {
  left: 0.65rem;
  right: 0.65rem;
  top: auto;
  bottom: 0.72rem;
  width: auto;
  height: 1rem;
  background: linear-gradient(135deg, #14532d, #84cc16);
  clip-path: polygon(0 100%, 32% 35%, 52% 68%, 72% 22%, 100% 100%);
  box-shadow: none;
}
.canvas-module-preview.is-preview-form::before {
  left: 0.58rem;
  top: 0.55rem;
  width: calc(100% - 1.16rem);
  height: 0.44rem;
  background: #172033;
  box-shadow: 0 0.92rem 0 #ffffff, 0 1.84rem 0 #ffffff;
}
.canvas-module-preview.is-preview-form::after {
  left: 0.58rem;
  bottom: 0.55rem;
  width: 35%;
  height: 0.58rem;
  background: #2f72ff;
  box-shadow: 3.85rem -1.25rem 0 #d6e0ec;
}
.canvas-module-preview.is-preview-shape::before {
  left: 0.75rem;
  top: 0.72rem;
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  background: #2f72ff;
  box-shadow: 3.2rem 0.25rem 0 #d99b21;
}
.canvas-module-preview.is-preview-shape::after {
  right: 0.75rem;
  bottom: 0.72rem;
  width: 2rem;
  height: 0.42rem;
  background: #9fb0c5;
}
.canvas-module-preview.is-preview-layout::before {
  left: 0.55rem;
  top: 0.55rem;
  width: calc(100% - 1.1rem);
  height: calc(100% - 1.1rem);
  background:
    linear-gradient(90deg, transparent 48%, #cbd5e1 48% 52%, transparent 52%),
    linear-gradient(180deg, transparent 48%, #cbd5e1 48% 52%, transparent 52%),
    #ffffff;
  box-shadow: inset 0 0 0 1px #cbd5e1;
}
.canvas-module-preview.is-preview-layout::after {
  left: 0.85rem;
  top: 0.85rem;
  width: 24%;
  height: 0.48rem;
  background: #2f72ff;
  box-shadow: 2.7rem 0 0 #9fb0c5, 0 1.85rem 0 #d99b21;
}
.canvas-module-preview.is-preview-module,
.canvas-module-preview.is-preview-generic {
  background: linear-gradient(135deg, #eef2ff, #f8fafc);
}
.canvas-module-preview.is-preview-module::before,
.canvas-module-preview.is-preview-generic::before {
  left: 0.62rem;
  top: 0.62rem;
  width: calc(100% - 1.24rem);
  height: calc(100% - 1.24rem);
  background: #ffffff;
  box-shadow: inset 0 0 0 1px #cbd5e1;
}
.canvas-module-preview.is-preview-module::after,
.canvas-module-preview.is-preview-generic::after {
  left: 0.92rem;
  top: 1.1rem;
  width: 52%;
  height: 0.46rem;
  background: #172033;
  box-shadow: 0 0.82rem 0 #9fb0c5, 2.85rem 1.65rem 0 #d99b21;
}
.canvas-editor-main.canvas-app-shell .canvas-library-entry-label {
  color: #d7dee8;
  font-size: 0.72rem;
  text-align: left;
}
.canvas-editor-main.canvas-app-shell .canvas-preview-stage {
  grid-column: 1;
  grid-row: 1;
  z-index: 0;
  width: 100%;
  padding: 0;
  background: #0b1118;
}
.canvas-editor-main.canvas-app-shell .canvas-preview-shell {
  width: 100%;
  max-width: none;
  margin: 0;
}
.canvas-editor-main.canvas-app-shell .canvas-preview-frame {
  min-height: calc(100vh - 4rem);
  border: 0;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}
.canvas-editor-main.canvas-app-shell .canvas-inspector-pane,
.canvas-editor-main.canvas-app-shell .canvas-inspector-pane.has-selection {
  position: fixed;
  top: 5rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 1200;
  width: min(22rem, calc(100vw - 2rem));
  height: auto;
  max-height: calc(100vh - 6rem);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border: 1px solid #2b3645;
  border-radius: 12px;
  background: rgba(17, 24, 32, 0.94);
  color: #d7dee8;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: hidden;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
  backdrop-filter: blur(12px);
}
.canvas-editor-main.canvas-app-shell .canvas-selected-item-settings {
  order: 1;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  background: #111820;
  color: #d7dee8;
}
.canvas-editor-main.canvas-app-shell .canvas-selected-item-settings.is-selected {
  order: 1;
}
.canvas-editor-main.canvas-app-shell .canvas-selected-item-settings > summary {
  padding: 0.55rem 0.65rem;
}
.canvas-editor-main.canvas-app-shell .canvas-selected-item-settings-summary {
  display: grid;
  gap: 0.14rem;
}
.canvas-editor-main.canvas-app-shell .canvas-selected-item-settings-summary strong {
  font-size: 0.78rem;
}
.canvas-editor-main.canvas-app-shell .canvas-selected-item-settings-summary span {
  color: #9faabc;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}
.canvas-editor-main.canvas-app-shell .canvas-selected-item-settings-body {
  display: grid;
  gap: 0;
}
.canvas-editor-main.canvas-app-shell .canvas-node-title {
  color: #f3f6fb;
}
.canvas-inspector-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid #253141;
  background: #111820;
}
.canvas-inspector-tab {
  min-height: 2.7rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #9faabc;
  box-shadow: none;
  font-size: 0.76rem;
  font-weight: 700;
}
.canvas-inspector-tab.is-active {
  color: #ffffff;
  box-shadow: inset 0 -2px 0 #2f72ff;
}
.canvas-inspector-content[hidden],
.canvas-inspector-tab-panel[hidden] {
  display: none !important;
}
.canvas-editor-main.canvas-app-shell .canvas-inspector-panel {
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  background: #111820;
  color: #d7dee8;
}
.canvas-editor-main.canvas-app-shell .canvas-inspector-section {
  margin: 0;
  border: 0;
  border-bottom: 1px solid #253141;
  border-radius: 0;
  background: #111820;
}
.canvas-editor-main.canvas-app-shell .canvas-canvas-settings {
  overflow: visible;
  border-bottom: 1px solid #253141;
  background: #111820;
}
.canvas-editor-main.canvas-app-shell .canvas-canvas-settings.has-open-color-popover {
  position: relative;
  z-index: 2147482990;
}
.canvas-editor-main.canvas-app-shell .canvas-inspector-section summary {
  color: #f3f6fb;
  font-size: 0.82rem;
}
.canvas-editor-main.canvas-app-shell .canvas-inspector-content {
  max-width: 100%;
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}
.canvas-editor-main.canvas-app-shell .canvas-inspector-section-body {
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
}
.canvas-editor-main.canvas-app-shell .canvas-canvas-settings .canvas-inspector-section-body {
  overflow: visible;
}
.canvas-editor-main.canvas-app-shell .canvas-surface-settings-panel.has-open-color-popover,
.canvas-editor-main.canvas-app-shell .canvas-color-control.has-open-color-popover {
  position: relative;
  z-index: 2147482990;
}
.canvas-editor-main.canvas-app-shell .canvas-surface-settings-panel.has-open-color-popover {
  overflow: visible;
}
.canvas-editor-main.canvas-app-shell .canvas-inspector-section-body,
.canvas-editor-main.canvas-app-shell .canvas-node-header,
.canvas-editor-main.canvas-app-shell .canvas-inspector-actions {
  background: #111820;
}
.canvas-editor-main.canvas-app-shell .canvas-selected-item-settings form.grid,
.canvas-editor-main.canvas-app-shell .canvas-selected-item-settings .grid {
  max-width: 100%;
  min-width: 0;
}
.canvas-editor-main.canvas-app-shell .canvas-selected-item-settings .grid-2 {
  grid-template-columns: 1fr;
}
.canvas-editor-main.canvas-app-shell .canvas-preset-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
}
.canvas-editor-main.canvas-app-shell .canvas-preset-row label {
  position: relative;
  margin: 0;
}
.canvas-editor-main.canvas-app-shell .canvas-preset-row input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}
.canvas-editor-main.canvas-app-shell .canvas-preset-row label span {
  min-height: 2.05rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 0.74rem;
  font-weight: 700;
}
.canvas-editor-main.canvas-app-shell .canvas-preset-row input:checked + span {
  border-color: #2f72ff;
  background: #152846;
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(47, 114, 255, 0.45);
}
.canvas-editor-main.canvas-app-shell .canvas-corner-action-row button {
  min-height: 2.05rem;
  width: 100%;
  justify-content: center;
}
.canvas-editor-main.canvas-app-shell .canvas-editor-stage input,
.canvas-editor-main.canvas-app-shell .canvas-editor-stage textarea,
.canvas-editor-main.canvas-app-shell .canvas-editor-stage select {
  border-color: #2b3645;
  background: #151d27;
  color: #e8edf4;
}
.canvas-editor-main.canvas-app-shell .canvas-preset-row label span,
.canvas-editor-main.canvas-app-shell .canvas-design-option > span,
.canvas-editor-main.canvas-app-shell .canvas-side-section,
.canvas-editor-main.canvas-app-shell .canvas-outline-row {
  border-color: #2b3645;
  background: #151d27;
  color: #d7dee8;
}
.canvas-editor-main.canvas-app-shell .canvas-advanced-fields {
  border-color: #253141;
  background: #151d27;
}
.canvas-editor-main.canvas-app-shell .canvas-support-details summary {
  cursor: pointer;
  color: #f3f6fb;
  font-weight: 700;
}
.canvas-editor-main.canvas-app-shell .canvas-support-details dl {
  display: grid;
  gap: 0.5rem;
  margin: 0.75rem 0 0;
}
.canvas-editor-main.canvas-app-shell .canvas-support-details dl div {
  display: grid;
  gap: 0.15rem;
}
.canvas-editor-main.canvas-app-shell .canvas-support-details dt {
  color: #9faabc;
  font-size: 0.72rem;
}
.canvas-editor-main.canvas-app-shell .canvas-support-details dd {
  margin: 0;
  color: #d7dee8;
  word-break: break-word;
}
.canvas-surface-colours .canvas-inspector-section-body {
  gap: 0.65rem;
}
.canvas-surface-settings-panel {
  border: 1px solid #253141;
  border-radius: 7px;
  background: #151d27;
  overflow: hidden;
}
.canvas-surface-settings-summary {
  min-height: 2.35rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0 0.65rem;
  cursor: pointer;
  list-style: none;
}
.canvas-surface-settings-summary::-webkit-details-marker {
  display: none;
}
.canvas-surface-settings-panel[open] .canvas-surface-settings-summary {
  border-bottom: 1px solid #253141;
}
.canvas-surface-settings-body {
  padding: 0.65rem;
}
.canvas-surface-colour-form {
  display: grid;
  gap: 0.55rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.canvas-inspector-empty-panel {
  display: grid;
  gap: 0.3rem;
  padding: 0.75rem;
  border: 1px solid #253141;
  border-radius: 7px;
  background: #151d27;
}
.canvas-editor-main.canvas-app-shell .muted {
  color: #8f9bad;
}
.canvas-editor-main.canvas-app-shell .badge,
.canvas-editor-main.canvas-app-shell .badge-soft {
  background: #1a2635;
  color: #b9c6d8;
}
.canvas-editor-main.canvas-app-shell .canvas-selection-box {
  border-color: #2f72ff;
  box-shadow: 0 0 0 1px rgba(47, 114, 255, 0.25), 0 0 0 9999px rgba(47, 114, 255, 0.02);
}
.canvas-editor-main.canvas-app-shell .canvas-overlay-toolbar {
  border: 1px solid #2b3645;
  border-radius: 7px;
  background: #111820;
}
[data-selected-item-panel][hidden] {
  display: none !important;
}
[data-selected-item-panel]:not(.is-selected) {
  display: none !important;
}
.canvas-field-span {
  grid-column: 1 / -1;
}
.canvas-editor-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.canvas-status-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 0.8rem;
}
.canvas-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  border: 1px solid var(--brand-border);
  background: rgba(255, 255, 255, 0.82);
}
.canvas-status-pill-label {
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-ink-soft);
}
.canvas-status-pill-value {
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--brand-ink);
}
.canvas-editor-stat {
  display: inline-grid;
  gap: 0.08rem;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  border: 1px solid var(--brand-border);
  background: rgba(255, 255, 255, 0.82);
}
.canvas-editor-stat-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-ink-soft);
}
.canvas-editor-stat-value {
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--brand-ink);
}
.canvas-editor-stage .muted {
  font-size: 0.76rem;
  line-height: 1.35;
}
.canvas-editor-stage .mono {
  font-size: 0.78rem;
}
.canvas-editor-stage label {
  font-size: 0.74rem;
  font-weight: 700;
  margin-bottom: 0.2rem;
  letter-spacing: 0.01em;
}
.canvas-editor-stage input,
.canvas-editor-stage textarea,
.canvas-editor-stage select {
  padding: 0.52rem 0.62rem;
  font-size: 0.82rem;
  border-radius: 9px;
}
.canvas-editor-stage textarea {
  min-height: 6.5rem;
}
.canvas-editor-stage .badge {
  font-size: 0.7rem;
  padding: 0.18rem 0.45rem;
}
.canvas-library-flyout .canvas-panel-header h3,
.canvas-structure-drawer .canvas-panel-header h3 {
  font-size: 0.84rem;
}
.canvas-library-flyout .canvas-panel-header p,
.canvas-structure-drawer .canvas-panel-header p {
  font-size: 0.74rem;
  line-height: 1.35;
}
.canvas-node-title {
  font-size: 0.9rem;
}
.canvas-node-subtitle {
  margin: 0.14rem 0 0;
  font-size: 0.72rem;
  color: var(--brand-ink-soft);
}
.canvas-node-list {
  display: grid;
  gap: 0.85rem;
}
.canvas-node-card {
  display: grid;
  gap: 0.65rem;
  padding: 1rem;
  border-radius: 16px;
  border: 1px solid var(--brand-border);
  background: linear-gradient(180deg, #ffffff, #f8fbfd);
}
.canvas-node-card.is-root {
  border-color: color-mix(in srgb, var(--brand-cyan) 60%, var(--brand-border));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand-cyan) 25%, transparent);
}
.canvas-node-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: flex-start;
}
.canvas-node-title {
  margin: 0;
}
.canvas-node-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.75rem;
}
.canvas-node-meta > div {
  display: grid;
  gap: 0.25rem;
}
.canvas-node-meta dt {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--brand-ink-soft);
  font-weight: 700;
}
.canvas-node-meta dd {
  margin: 0;
}
.canvas-page {
  padding: 0;
  background: var(--canvas-role-canvas-bg, var(--site-background, #f8fafc));
}
.canvas-artboard-shell {
  width: min(var(--site-content-width, 72rem), calc(100vw - 2rem));
  margin: 0 auto;
  padding: clamp(0.9rem, 2vw, 1.3rem);
  border-radius: calc(var(--site-radius-card, 1.25rem) + 0.35rem);
  border: 1px solid color-mix(in srgb, var(--canvas-role-border, var(--site-color-border, #d9e4ec)) 82%, white 18%);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--canvas-role-surface, var(--site-surface-card, #ffffff)) 92%, white 8%), color-mix(in srgb, var(--canvas-role-surface, var(--site-surface-card, #ffffff)) 98%, white 2%)),
    radial-gradient(circle at top left, color-mix(in srgb, var(--canvas-role-brand-primary, var(--site-color-brand-primary, #1f6feb)) 8%, transparent), transparent 32%);
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
}
.canvas-node {
  box-sizing: border-box;
}
.canvas-motion-node,
.canvas-motion-node > .canvas-node,
.canvas-motion-node .canvas-product-card {
  --canvas-motion-distance: 18px;
  --canvas-motion-duration: 520ms;
  --canvas-motion-delay: calc(min(var(--canvas-motion-index, 0), 12) * 72ms);
}
.canvas-motion-node[data-canvas-motion-intensity="calm"] {
  --canvas-motion-distance: 10px;
  --canvas-motion-duration: 420ms;
}
.canvas-motion-node[data-canvas-motion-intensity="expressive"] {
  --canvas-motion-distance: 28px;
  --canvas-motion-duration: 680ms;
}
.canvas-motion-ready .canvas-motion-node:not([data-canvas-motion-preset="tile_cascade"]) {
  opacity: 0;
  transform: translate3d(0, var(--canvas-motion-distance), 0);
  transition: opacity var(--canvas-motion-duration) ease, transform var(--canvas-motion-duration) ease;
}
.canvas-motion-ready .canvas-motion-node[data-canvas-motion-preset="fade_in"] {
  transform: none;
}
.canvas-motion-ready .canvas-motion-node[data-canvas-motion-preset="slide_left"] {
  transform: translate3d(var(--canvas-motion-distance), 0, 0);
}
.canvas-motion-ready .canvas-motion-node[data-canvas-motion-preset="slide_right"] {
  transform: translate3d(calc(var(--canvas-motion-distance) * -1), 0, 0);
}
.canvas-motion-ready .canvas-motion-node[data-canvas-motion-preset="pop_in"] {
  transform: translate3d(0, calc(var(--canvas-motion-distance) / 2), 0) scale(0.96);
}
.canvas-motion-ready .canvas-motion-node.is-motion-visible:not([data-canvas-motion-preset="tile_cascade"]) {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}
.canvas-motion-ready .canvas-motion-node[data-canvas-motion-preset="tile_cascade"] > .canvas-node,
.canvas-motion-ready .canvas-motion-node[data-canvas-motion-preset="tile_cascade"] .canvas-product-card {
  opacity: 0;
  transform: translate3d(0, var(--canvas-motion-distance), 0);
  transition: opacity var(--canvas-motion-duration) ease var(--canvas-motion-delay), transform var(--canvas-motion-duration) ease var(--canvas-motion-delay);
}
.canvas-motion-ready .canvas-motion-node[data-canvas-motion-preset="tile_cascade"].is-motion-visible > .canvas-node,
.canvas-motion-ready .canvas-motion-node[data-canvas-motion-preset="tile_cascade"].is-motion-visible .canvas-product-card {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
@media (prefers-reduced-motion: reduce) {
  .canvas-motion-node,
  .canvas-motion-node > .canvas-node,
  .canvas-motion-node .canvas-product-card {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

.auth-method-divider {
  align-items: center;
  color: var(--muted, #5f6f66);
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
  text-align: center;
}

.auth-method-divider::before,
.auth-method-divider::after {
  background: currentColor;
  content: "";
  flex: 1;
  height: 1px;
  opacity: 0.25;
}

[data-passkey-status] {
  min-height: 1.5em;
}

[data-passkey-login-button],
[data-passkey-registration-button] {
  width: 100%;
}
.canvas-node-frame {
  overflow: hidden;
}
.canvas-node-stack {
  box-sizing: border-box;
}
.canvas-node-component-instance {
  overflow: hidden;
  isolation: isolate;
}
.canvas-node-module {
  overflow: hidden;
}
.canvas-module-surface {
  display: grid;
  gap: 0.75rem;
  height: 100%;
  padding: 1.25rem;
}
.canvas-module-kicker,
.canvas-library-module-kicker {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.72;
}
.canvas-module-surface p {
  margin: 0;
  opacity: 0.74;
}
.canvas-module-preview-list,
.canvas-library-module-grid {
  display: grid;
  gap: 0.5rem;
}
.canvas-module-preview-row,
.canvas-library-module-grid span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  border-radius: 8px;
  color: inherit;
  text-decoration: none;
}
.canvas-module-preview-row span {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}
.canvas-module-preview-row strong,
.canvas-module-preview-row em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.canvas-module-preview-image {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: cover;
  border-radius: 6px;
  background: color-mix(in srgb, currentColor 10%, transparent);
}
.canvas-module-preview-row em,
.canvas-library-module-preview em {
  font-style: normal;
  opacity: 0.68;
}
.canvas-module-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.canvas-module-footer b {
  white-space: nowrap;
}
.canvas-product-module-surface {
  align-content: start;
  overflow: hidden;
}
.canvas-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  gap: 1rem;
  align-content: start;
  justify-items: center;
  min-height: 0;
  height: 100%;
  overflow: auto;
}
.canvas-product-card {
  display: grid;
  grid-template-rows: auto auto auto auto;
  align-content: start;
  justify-items: center;
  gap: 0.5rem;
  width: 100%;
  max-width: 18rem;
  min-width: 0;
  padding: 0;
  color: inherit;
  text-align: center;
  text-decoration: none;
}
.canvas-product-image-frame {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--canvas-role-border, var(--site-color-border, #d9e4ec)) 82%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--canvas-role-surface-strong, var(--site-color-surface-strong, #e8eef5)) 72%, transparent);
}
.canvas-product-image {
  display: block;
  width: 100%;
  height: 100%;
  max-inline-size: 100%;
  max-block-size: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}
.canvas-product-image-placeholder {
  display: block;
  width: 42%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: color-mix(in srgb, currentColor 14%, transparent);
}
.canvas-product-title {
  min-width: 0;
  max-width: 100%;
  font-weight: 650;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.canvas-product-price {
  font-size: 1.08rem;
  line-height: 1.1;
}
.canvas-product-cta,
.canvas-product-empty-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.45rem 0.8rem;
  border-radius: var(--site-radius-button, 8px);
  background: var(--site-button-bg, var(--site-color-brand-primary, #1f6feb));
  color: var(--site-button-fg, #ffffff);
  box-shadow: var(--site-button-shadow, none);
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}
.canvas-product-empty {
  display: grid;
  place-items: center;
  gap: 0.85rem;
  min-height: 100%;
  text-align: center;
}
.canvas-library-module-preview {
  display: grid;
  gap: 0.38rem;
  width: 100%;
  height: 100%;
  padding: 0.55rem;
  color: #172033;
  background: linear-gradient(180deg, #ffffff, #eef4fb);
  border-radius: 8px;
  overflow: hidden;
}
.canvas-library-module-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.canvas-library-module-grid span {
  min-height: 1.55rem;
  font-size: 0;
  background: #dbe7f4;
}
.canvas-component-fit-shell {
  position: relative;
  width: 100%;
  min-height: inherit;
  height: inherit;
  overflow: hidden;
}
.canvas-component-fit-content {
  position: absolute;
  left: var(--canvas-component-offset-x, 0px);
  top: var(--canvas-component-offset-y, 0px);
  width: var(--canvas-component-root-width, 100%);
  min-height: var(--canvas-component-root-height, auto);
  transform: scale(var(--canvas-component-scale, 1));
  transform-origin: top left;
}
.canvas-node-text p,
.canvas-node-text h1,
.canvas-node-text h2,
.canvas-node-text h3 {
  margin: 0;
}
.canvas-text-display {
  font-size: clamp(2rem, 5vw, 3.75rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
  font-family: var(--site-font-heading, system-ui), "Segoe UI", sans-serif;
  font-weight: 800;
}
.canvas-text-title {
  font-size: clamp(1.4rem, 3vw, 2rem);
  line-height: 1.12;
  font-family: var(--site-font-heading, system-ui), "Segoe UI", sans-serif;
  font-weight: 750;
}
.canvas-text-body {
  font-size: var(--site-type-body, 1rem);
  line-height: var(--site-leading-body, 1.7);
  color: var(--site-color-text, #0f172a);
}
.canvas-text-muted {
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--site-color-text-muted, #475569);
}
.canvas-node-image {
  overflow: hidden;
}
.canvas-node-image img {
  display: block;
}
.canvas-node-button .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.canvas-node-button .button-disabled {
  cursor: default;
  opacity: 0.72;
  pointer-events: none;
}
.canvas-node-button .canvas-button-secondary {
  background: color-mix(in srgb, var(--site-button-bg, #1f6feb) 14%, white 86%);
  color: var(--site-color-brand-primary, #1f6feb);
  border: 1px solid color-mix(in srgb, var(--site-color-brand-primary, #1f6feb) 35%, var(--site-color-border, #d9e4ec));
  box-shadow: none;
}
.canvas-node-button .canvas-button-outline {
  background: transparent;
  color: var(--site-color-brand-primary, #1f6feb);
  border: 1px solid color-mix(in srgb, var(--site-color-brand-primary, #1f6feb) 45%, var(--site-color-border, #d9e4ec));
  box-shadow: none;
}
.canvas-node-site-nav {
  max-width: 100%;
  min-width: 0;
}
.canvas-node-site-nav .canvas-site-nav-link {
  color: inherit;
  line-height: 1.25;
  overflow-wrap: normal;
  white-space: nowrap;
  text-decoration: none;
}
.canvas-node-site-nav .canvas-site-nav-auth-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.45rem 0.9rem;
  border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
  border-radius: 999px;
  font-weight: 800;
  line-height: 1;
}
.canvas-node-site-nav .canvas-site-nav-auth-primary {
  background: var(--canvas-site-nav-action-bg, var(--site-button-bg, var(--canvas-role-accent-1, #1f6feb)));
  color: var(--canvas-site-nav-action-fg, var(--site-button-fg, #ffffff));
  border-color: transparent;
  box-shadow: 0 12px 26px color-mix(in srgb, var(--canvas-site-nav-action-bg, var(--site-button-bg, #1f6feb)) 28%, transparent);
}
.canvas-node-site-nav .canvas-site-nav-auth-secondary {
  background: color-mix(in srgb, currentColor 10%, transparent);
}
.canvas-site-nav-inline {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.85rem;
  align-items: center;
  max-width: 100%;
  min-width: 0;
}
.canvas-site-nav-disclosure {
  display: none;
  position: relative;
  width: 100%;
  max-width: 100%;
  background: var(--canvas-site-nav-menu-bg, color-mix(in srgb, var(--canvas-role-surface, var(--site-surface-card, #ffffff)) 88%, transparent));
  color: var(--canvas-site-nav-menu-fg, inherit);
}
.canvas-site-nav-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.5rem;
  padding: 0.45rem 0.65rem;
  border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
  border-radius: 8px;
  background: inherit;
  color: inherit;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.canvas-site-nav-toggle::-webkit-details-marker {
  display: none;
}
.canvas-site-nav-toggle-lines {
  display: grid;
  gap: 0.23rem;
  width: 1.15rem;
}
.canvas-site-nav-toggle-lines span {
  display: block;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}
.canvas-site-nav-toggle-label {
  font-weight: 800;
}
.canvas-site-nav-panel {
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  z-index: 80;
  display: grid;
  gap: 0.2rem;
  width: min(16rem, calc(100vw - 2rem));
  max-width: calc(100vw - 2rem);
  padding: 0.55rem;
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  border-radius: 10px;
  background: inherit;
  color: inherit;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.22);
}
.canvas-site-nav-panel .canvas-site-nav-link,
.canvas-site-nav-panel .canvas-site-nav-empty {
  display: block;
  padding: 0.58rem 0.65rem;
  border-radius: 7px;
}
.canvas-site-nav-panel .canvas-site-nav-link:hover,
.canvas-site-nav-panel .canvas-site-nav-link:focus-visible {
  background: color-mix(in srgb, currentColor 9%, transparent);
  outline: none;
}
@media (max-width: 960px) {
  .canvas-node-layout-tablet-root {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: min(100%, var(--canvas-tablet-width, 100%)) !important;
    min-height: var(--canvas-tablet-height, auto) !important;
  }
  .canvas-node-layout-tablet-absolute {
    position: absolute !important;
    left: min(var(--canvas-tablet-left, 0px), max(0px, calc(100% - var(--canvas-tablet-width, 100%)))) !important;
    top: var(--canvas-tablet-top, 0px) !important;
    width: min(100%, var(--canvas-tablet-width, 100%)) !important;
    min-height: var(--canvas-tablet-height, auto) !important;
    display: var(--canvas-tablet-display, block) !important;
    flex-direction: var(--canvas-tablet-flex-direction, column) !important;
    gap: var(--canvas-tablet-gap, 0px) !important;
    align-items: var(--canvas-tablet-align, stretch) !important;
  }
  .canvas-node-layout-tablet-flow {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: min(100%, var(--canvas-tablet-width, 100%)) !important;
    min-height: var(--canvas-tablet-height, auto) !important;
    display: var(--canvas-tablet-display, block) !important;
    flex-direction: var(--canvas-tablet-flex-direction, column) !important;
    gap: var(--canvas-tablet-gap, 0px) !important;
    align-items: var(--canvas-tablet-align, stretch) !important;
  }
  .canvas-node-layout-tablet-hidden {
    display: none !important;
  }
  .canvas-component-fit-content {
    left: var(--canvas-component-tablet-offset-x, var(--canvas-component-offset-x)) !important;
    top: var(--canvas-component-tablet-offset-y, var(--canvas-component-offset-y)) !important;
    width: var(--canvas-component-tablet-root-width, var(--canvas-component-root-width)) !important;
    min-height: var(--canvas-component-tablet-root-height, var(--canvas-component-root-height)) !important;
    transform: scale(var(--canvas-component-tablet-scale, var(--canvas-component-scale))) !important;
  }
}
@media (max-width: 640px) {
  .canvas-node-layout-mobile-root {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: min(100%, var(--canvas-mobile-width, 100%)) !important;
    min-height: var(--canvas-mobile-height, auto) !important;
  }
  .canvas-node-layout-mobile-absolute {
    position: absolute !important;
    left: min(var(--canvas-mobile-left, 0px), max(0px, calc(100% - var(--canvas-mobile-width, 100%)))) !important;
    top: var(--canvas-mobile-top, 0px) !important;
    width: min(100%, var(--canvas-mobile-width, 100%)) !important;
    min-height: var(--canvas-mobile-height, auto) !important;
    display: var(--canvas-mobile-display, block) !important;
    flex-direction: var(--canvas-mobile-flex-direction, column) !important;
    gap: var(--canvas-mobile-gap, 0px) !important;
    align-items: var(--canvas-mobile-align, stretch) !important;
  }
  .canvas-node-layout-mobile-flow {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: min(100%, var(--canvas-mobile-width, 100%)) !important;
    min-height: var(--canvas-mobile-height, auto) !important;
    display: var(--canvas-mobile-display, block) !important;
    flex-direction: var(--canvas-mobile-flex-direction, column) !important;
    gap: var(--canvas-mobile-gap, 0px) !important;
    align-items: var(--canvas-mobile-align, stretch) !important;
  }
  .canvas-node-layout-mobile-hidden {
    display: none !important;
  }
  .site-chrome .canvas-node-text,
  .public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface] .canvas-node-text {
    max-width: calc(100vw - 2rem) !important;
  }
  .site-chrome .canvas-text-display,
  .public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface] .canvas-text-display {
    font-size: 2rem;
    line-height: 1.08;
    overflow-wrap: anywhere;
  }
  .site-chrome .canvas-node-site-nav,
  .public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] .canvas-node-site-nav {
    max-width: calc(100vw - 2rem) !important;
    overflow: visible;
  }
  .site-chrome .canvas-node-frame:has(.canvas-site-nav-hamburger),
  .public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] .canvas-node-frame:has(.canvas-site-nav-hamburger) {
    overflow: visible;
  }
  .canvas-node-layout-mobile-absolute.canvas-node-site-nav:not(.canvas-site-nav-hamburger),
  .canvas-node-layout-mobile-flow.canvas-node-site-nav:not(.canvas-site-nav-hamburger) {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.65rem !important;
    align-items: center !important;
  }
  .canvas-node-site-nav.canvas-site-nav-hamburger {
    display: block !important;
  }
  .canvas-node-site-nav.canvas-site-nav-hamburger .canvas-site-nav-inline {
    display: none;
  }
  .canvas-node-site-nav.canvas-site-nav-hamburger .canvas-site-nav-disclosure {
    display: block;
  }
  .canvas-node-site-nav.canvas-site-nav-hamburger .canvas-site-nav-toggle {
    max-width: 100%;
  }
  .canvas-component-fit-content {
    left: var(--canvas-component-mobile-offset-x, var(--canvas-component-tablet-offset-x, var(--canvas-component-offset-x))) !important;
    top: var(--canvas-component-mobile-offset-y, var(--canvas-component-tablet-offset-y, var(--canvas-component-offset-y))) !important;
    width: var(--canvas-component-mobile-root-width, var(--canvas-component-tablet-root-width, var(--canvas-component-root-width))) !important;
    min-height: var(--canvas-component-mobile-root-height, var(--canvas-component-tablet-root-height, var(--canvas-component-root-height))) !important;
    transform: scale(var(--canvas-component-mobile-scale, var(--canvas-component-tablet-scale, var(--canvas-component-scale)))) !important;
  }
}
.preview-canvas-node {
  outline: 1px dashed color-mix(in srgb, var(--site-color-border, #d9e4ec) 80%, transparent);
  outline-offset: 0.2rem;
  cursor: pointer;
}
.preview-canvas-node.is-selected {
  outline: 2px solid color-mix(in srgb, var(--site-color-brand-primary, #1f6feb) 65%, white 35%);
  outline-offset: 0.25rem;
}
.canvas-image-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-height: 8rem;
  border: 1px dashed var(--site-color-border, #d9e4ec);
  border-radius: var(--site-radius-image, 1rem);
  color: var(--site-color-text-muted, #64748b);
  background: color-mix(in srgb, var(--site-color-surface, #ffffff) 88%, white 12%);
}
.canvas-node-form-embed {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}
.canvas-form-embed-frame {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  min-height: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
}
.canvas-form-embed-placeholder {
  display: grid;
  place-items: center;
  gap: 0.35rem;
  width: 100%;
  height: 100%;
  min-height: 14rem;
  padding: 1rem;
  border: 1px dashed var(--site-color-border, #d9e4ec);
  border-radius: inherit;
  color: var(--site-color-text-muted, #64748b);
  background: color-mix(in srgb, var(--site-color-surface, #ffffff) 90%, white 10%);
  text-align: center;
}
.canvas-form-embed-placeholder strong {
  color: var(--site-color-text, #172334);
}
.canvas-form-embed-placeholder span {
  font-size: 0.9rem;
}
@media (max-width: 1100px) {
  .canvas-editor-stage {
    display: grid;
    gap: 1rem;
  }
  .canvas-floating-panel {
    position: static;
    width: 100%;
    max-height: none;
    overflow: visible;
  }
  .canvas-tool-rail {
    position: static;
    width: 100%;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-flow: column;
  }
  .canvas-library-flyout,
  .canvas-structure-drawer,
  .canvas-inspector-pane,
  .canvas-inspector-pane.has-selection {
    width: 100%;
    min-height: 0;
    padding: 1rem;
  }
  .canvas-library-browser {
    grid-template-columns: 1fr;
  }
  .canvas-library-category-list {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--brand-border) 84%, white 16%);
    padding-right: 0;
    padding-bottom: 0.45rem;
    max-height: none;
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
  }
  .canvas-outline-list,
  .canvas-library-list {
    max-height: none;
    overflow: visible;
  }
  .canvas-library-flyout[hidden],
  .canvas-structure-drawer[hidden] {
    display: none !important;
  }
}
@media (max-width: 900px) {
  .canvas-artboard-shell .canvas-node-frame[style*="position: relative"] {
    width: 100% !important;
  }
}
body.platform-public-site {
  --platform-canvas: #f5f7f2;
  --platform-surface: #ffffff;
  --platform-surface-soft: #edf5f2;
  --platform-surface-strong: #e3efeb;
  --platform-ink: #102b35;
  --platform-ink-soft: #28434b;
  --platform-muted: #53686d;
  --platform-border: #d3e1dd;
  --platform-border-strong: #aec9c2;
  --platform-teal: #0a716e;
  --platform-teal-deep: #075653;
  --platform-navy: #102b35;
  --platform-lime: #d8f45c;
  --platform-lime-soft: #f0f8c9;
  --platform-cta-fg: #17310d;
  --platform-focus: #0a716e;
  --platform-radius-card: 20px;
  --platform-radius-control: 12px;
  --platform-shadow: 0 18px 48px rgba(25, 66, 72, 0.09);
  min-height: 100dvh;
  margin: 0;
  background: var(--platform-canvas);
  color: var(--platform-ink);
  font-family: Aptos, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.platform-public-site,
body.platform-public-site * {
  box-sizing: border-box;
}

body.platform-public-site img {
  display: block;
  max-width: 100%;
}

body.platform-public-site a {
  color: var(--platform-teal-deep);
  text-decoration-color: rgba(10, 113, 110, 0.42);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

body.platform-public-site :where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--platform-focus);
  outline-offset: 3px;
}

body.platform-public-site .skip-to-main {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 100;
  padding: 0.7rem 1rem;
  border-radius: var(--platform-radius-control);
  background: var(--platform-navy);
  color: #f8fbf7;
  font-weight: 800;
  text-decoration: none;
  transform: translateY(-180%);
}

body.platform-public-site .skip-to-main:focus {
  transform: translateY(0);
}

body.platform-public-site header {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
}

body.platform-public-site .platform-public-header {
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid rgba(174, 201, 194, 0.7);
  background: rgba(250, 252, 248, 0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body.platform-public-site :where(
  .platform-public-header-inner,
  .platform-public-main,
  .platform-public-footer-inner
) {
  width: min(76rem, calc(100% - 2.5rem));
  margin-inline: auto;
}

body.platform-public-site .platform-public-header-inner {
  display: flex;
  align-items: center;
  min-height: 72px;
  gap: 1rem;
  padding-block: 0.6rem;
}

body.platform-public-site .platform-public-brand {
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  gap: 0.75rem;
  min-width: 12.5rem;
  color: var(--platform-ink);
  font-weight: 850;
  text-decoration: none;
}

body.platform-public-site .platform-public-brand-mark {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 2.7rem;
  height: 2.7rem;
  overflow: hidden;
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-control);
  background: var(--platform-surface);
}

body.platform-public-site .platform-public-brand img {
  width: 2.3rem;
  height: 2.3rem;
  object-fit: contain;
  object-position: center;
}

body.platform-public-site :where(
  .platform-public-brand-copy,
  .platform-public-brand > strong
) {
  display: grid;
  gap: 0.02rem;
  color: var(--platform-ink);
  font-size: 1rem;
  line-height: 1.15;
}

body.platform-public-site :where(
  .platform-public-brand-copy span,
  .platform-public-brand > strong > span
) {
  color: var(--platform-muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

body.platform-public-site .platform-public-nav {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  min-width: 0;
}

body.platform-public-site .platform-public-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.65rem;
  padding: 0.55rem 0.68rem;
  border-radius: var(--platform-radius-control);
  color: var(--platform-ink-soft);
  font-size: 0.91rem;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

body.platform-public-site .platform-public-nav a[aria-current="page"] {
  background: var(--platform-surface-strong);
  color: var(--platform-teal-deep);
}

body.platform-public-site .platform-public-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.5rem;
}

body.platform-public-site :where(
  .platform-public-button,
  a.platform-public-button,
  .button.platform-public-button
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.8rem;
  padding: 0.72rem 1.05rem;
  border: 1px solid var(--platform-lime);
  border-radius: var(--platform-radius-control);
  background: var(--platform-lime);
  color: var(--platform-cta-fg);
  box-shadow: 0 6px 16px rgba(77, 106, 22, 0.12);
  font: inherit;
  font-weight: 850;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease,
    background-color 160ms ease,
    border-color 160ms ease;
}

body.platform-public-site :where(
  .platform-public-button.secondary,
  a.platform-public-button.secondary,
  .button.platform-public-button.secondary
) {
  border-color: var(--platform-border-strong);
  background: var(--platform-surface);
  color: var(--platform-ink);
  box-shadow: none;
}

body.platform-public-site a.platform-public-button:not(.secondary) {
  color: var(--platform-cta-fg);
}

body.platform-public-site a.platform-public-button.secondary {
  color: var(--platform-ink);
}

body.platform-public-site .platform-public-button:active {
  transform: translateY(1px);
}

body.platform-public-site .platform-public-main {
  display: grid;
  gap: clamp(1.3rem, 2.5vw, 2.25rem);
  max-width: none;
  padding-block: clamp(1.35rem, 3vw, 2.5rem) clamp(3.25rem, 7vw, 5.5rem);
}

body.platform-public-site :where(
  .platform-hero,
  .platform-section,
  .platform-card,
  .platform-notice,
  .platform-page-intro,
  .platform-editor-block,
  .platform-package-preview,
  .platform-policy-group,
  .platform-contact-card,
  .platform-billing-note
) {
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-card);
  background: var(--platform-surface);
}

body.platform-public-site :where(
  .platform-hero,
  .platform-section,
  .platform-card,
  .platform-notice,
  .platform-page-intro,
  .platform-editor-block,
  .platform-package-card,
  .platform-module-group,
  .platform-step-card,
  .platform-support-card,
  .platform-policy-group,
  .platform-contact-card
) {
  color: var(--platform-ink);
}

body.platform-public-site :where(
  .platform-hero,
  .platform-page-heading,
  .platform-page-intro,
  .platform-section,
  .platform-card,
  .platform-step-card,
  .platform-support-card,
  .platform-policy-group,
  .platform-contact-card
) :where(h1, h2, h3) {
  margin-block: 0;
  color: var(--platform-ink);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

body.platform-public-site :where(
  .platform-hero,
  .platform-page-heading,
  .platform-page-intro,
  .platform-section,
  .platform-card,
  .platform-step-card,
  .platform-support-card,
  .platform-policy-group,
  .platform-contact-card
) p {
  color: var(--platform-muted);
  line-height: 1.65;
}

body.platform-public-site .platform-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(22rem, 1.06fr);
  align-items: center;
  gap: clamp(1.6rem, 4vw, 3.75rem);
  min-height: min(41rem, calc(100dvh - 7.5rem));
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 3.75rem);
  background:
    radial-gradient(circle at 9% 4%, rgba(216, 244, 92, 0.22), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #eff6f2 72%, #e5f1ed 100%);
  box-shadow: var(--platform-shadow);
}

body.platform-public-site .platform-hero-copy {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 1rem;
  max-width: 44rem;
}

body.platform-public-site :where(
  .platform-hero h1,
  .platform-page-heading h1,
  .platform-page-intro h1
) {
  max-width: 15ch;
  font-size: clamp(2.55rem, 5.3vw, 4.8rem);
  font-weight: 850;
  line-height: 0.98;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

body.platform-public-site .platform-home-hero h1 {
  max-width: 13ch;
  font-size: clamp(2.65rem, 5vw, 4.55rem);
}

body.platform-public-site .platform-hero-lede {
  max-width: 41rem;
  margin: 0;
  color: var(--platform-ink-soft);
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
}

body.platform-public-site .platform-hero-note {
  max-width: 39rem;
  margin: 0;
  font-size: 0.94rem;
}

body.platform-public-site .platform-hero-media {
  position: relative;
  min-height: clamp(23rem, 39vw, 31rem);
  margin: 0;
  overflow: hidden;
  border-radius: var(--platform-radius-card);
  background: var(--platform-surface-strong);
  box-shadow: 0 20px 52px rgba(16, 43, 53, 0.15);
}

body.platform-public-site .platform-hero-media > img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
}

body.platform-public-site .platform-hero-proof {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: grid;
  gap: 0.2rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--platform-radius-control);
  background: rgba(16, 43, 53, 0.92);
  color: #f7faf6;
}

body.platform-public-site .platform-hero-proof :where(strong, span, p) {
  margin: 0;
  color: inherit;
}

body.platform-public-site .platform-hero-proof span {
  color: rgba(247, 250, 246, 0.76);
  font-size: 0.84rem;
}

body.platform-public-site .platform-hero-product {
  position: relative;
  z-index: 1;
  display: grid;
  align-self: stretch;
  align-content: center;
  gap: 0.8rem;
}

body.platform-public-site :where(
  .platform-hero-dashboard,
  .platform-mini-panel,
  .platform-action-panel
) {
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-card);
  background: rgba(255, 255, 255, 0.94);
  color: var(--platform-ink);
}

body.platform-public-site .platform-hero-dashboard {
  display: grid;
  gap: 0.9rem;
  padding: 1.1rem;
  box-shadow: 0 18px 44px rgba(16, 43, 53, 0.12);
}

body.platform-public-site .platform-dashboard-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid var(--platform-border);
}

body.platform-public-site .platform-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

body.platform-public-site .platform-mini-panel {
  display: grid;
  gap: 0.2rem;
  padding: 0.85rem;
  border-radius: var(--platform-radius-control);
  background: var(--platform-surface-soft);
}

body.platform-public-site .platform-action-panel {
  display: grid;
  gap: 0.25rem;
  padding: 1rem;
  border-radius: var(--platform-radius-control);
  background: var(--platform-surface-strong);
}

body.platform-public-site :where(
  .platform-mini-panel span,
  .platform-action-panel span,
  .platform-dashboard-bar span
) {
  color: var(--platform-muted);
  font-size: 0.84rem;
}

body.platform-public-site :where(
  .platform-mini-panel strong,
  .platform-action-panel strong,
  .platform-dashboard-bar strong
) {
  color: var(--platform-ink);
}

body.platform-public-site .platform-hero-logo {
  display: none;
}

body.platform-public-site :where(
  .platform-eyebrow,
  .platform-kicker-line
) {
  margin: 0;
  color: var(--platform-teal-deep);
  font-size: 0.8rem;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

body.platform-public-site .platform-kicker-line {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

body.platform-public-site .platform-kicker-line::before {
  width: 2.2rem;
  height: 2px;
  background: var(--platform-teal);
  content: "";
}

body.platform-public-site :where(
  .platform-hero-actions,
  .platform-inline-actions
) {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  align-items: center;
}

body.platform-public-site .platform-market-preview {
  display: grid;
  gap: 0.75rem;
}

body.platform-public-site .platform-market-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-control);
  background: var(--platform-surface-soft);
}

body.platform-public-site .platform-market-row :where(strong, span) {
  display: block;
}

body.platform-public-site .platform-market-row strong {
  color: var(--platform-ink);
}

body.platform-public-site .platform-market-row span {
  color: var(--platform-muted);
  font-size: 0.92rem;
}

body.platform-public-site :where(
  .platform-market-row em,
  .platform-pill,
  .platform-owned
) {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 1.8rem;
  padding: 0.22rem 0.58rem;
  border-radius: var(--platform-radius-control);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 850;
}

body.platform-public-site .platform-market-row em {
  background: var(--platform-lime);
  color: var(--platform-cta-fg);
}

body.platform-public-site .platform-page-heading {
  display: grid;
  gap: 0.9rem;
  padding: clamp(1.5rem, 4vw, 3rem) 0 0.25rem;
}

body.platform-public-site .platform-page-intro {
  display: grid;
  gap: 1rem;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 3.25rem);
  background:
    radial-gradient(circle at 92% 8%, rgba(216, 244, 92, 0.2), transparent 26%),
    linear-gradient(145deg, #ffffff, #edf5f2);
}

body.platform-public-site :where(
  .platform-page-heading h1,
  .platform-page-intro h1
) {
  max-width: 18ch;
}

body.platform-public-site :where(
  .platform-page-heading > p,
  .platform-page-intro > p,
  .platform-page-intro .platform-section-lede
) {
  max-width: 54rem;
  margin: 0;
  font-size: clamp(1.02rem, 1.5vw, 1.15rem);
}

body.platform-public-site .platform-section {
  display: grid;
  gap: clamp(1rem, 2vw, 1.4rem);
  padding: clamp(1.25rem, 3vw, 2.25rem);
}

body.platform-public-site .platform-section-header {
  display: grid;
  gap: 0.65rem;
  max-width: 48rem;
}

body.platform-public-site .platform-section-header :where(h2, h3, p) {
  margin: 0;
}

body.platform-public-site .platform-section-lede {
  max-width: 62ch;
  margin: 0;
  color: var(--platform-muted);
  font-size: 1.02rem;
  line-height: 1.65;
}

body.platform-public-site :where(
  .platform-section p,
  .platform-card p,
  .platform-step-card p,
  .platform-support-card p,
  .platform-policy-group p,
  .platform-contact-card p
) {
  margin: 0;
}

body.platform-public-site :where(
  .platform-grid,
  .platform-split,
  .platform-package-grid,
  .platform-module-grid,
  .platform-step-grid,
  .platform-support-grid,
  .platform-faq-grid,
  .platform-policy-directory
) {
  display: grid;
  gap: 1rem;
}

body.platform-public-site .platform-grid {
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

body.platform-public-site .platform-split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.platform-public-site .platform-card {
  display: grid;
  align-content: start;
  gap: 0.75rem;
  padding: 1.15rem;
}

body.platform-public-site .platform-card.featured {
  border-color: var(--platform-border-strong);
  background: linear-gradient(180deg, #ffffff 0%, #edf5f2 100%);
}

body.platform-public-site .platform-card :where(strong, span, small) {
  display: block;
}

body.platform-public-site .platform-card small {
  color: var(--platform-muted);
  line-height: 1.55;
}

body.platform-public-site .platform-card .platform-price {
  margin-top: 0.5rem;
  color: var(--platform-ink);
  font-size: 1.35rem;
  font-weight: 900;
}

body.platform-public-site .platform-pill {
  margin-bottom: 0.55rem;
  background: var(--platform-surface-strong);
  color: var(--platform-teal-deep);
}

body.platform-public-site .platform-pill.blue {
  background: #e7f0f3;
  color: #15556b;
}

body.platform-public-site .platform-pill.lime,
body.platform-public-site .platform-owned {
  background: var(--platform-lime-soft);
  color: #334913;
}

body.platform-public-site .platform-pill.warning {
  background: #f8efd9;
  color: #724f13;
}

body.platform-public-site :where(
  .platform-list,
  .platform-legal-list
) {
  display: grid;
  gap: 0.72rem;
  margin: 0;
  padding-left: 1.2rem;
}

body.platform-public-site :where(
  .platform-list li,
  .platform-legal-list li,
  .platform-package-card li
) {
  color: var(--platform-muted);
  line-height: 1.58;
}

body.platform-public-site :where(
  .platform-list li::marker,
  .platform-legal-list li::marker,
  .platform-package-card li::marker
) {
  color: var(--platform-teal);
}

body.platform-public-site .platform-facts {
  display: grid;
  gap: 0;
}

body.platform-public-site .platform-facts div {
  display: grid;
  gap: 0.25rem;
  padding-block: 0.8rem;
  border-bottom: 1px solid var(--platform-border);
}

body.platform-public-site .platform-facts div:first-child {
  padding-top: 0;
}

body.platform-public-site .platform-facts div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

body.platform-public-site :where(
  .platform-product-strip,
  .platform-proof-strip,
  .platform-shape-grid,
  .platform-outcome-grid
) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.9rem;
}

body.platform-public-site :where(
  .platform-product-strip > div,
  .platform-proof-strip > div,
  .platform-shape-card,
  .platform-outcome-card
) {
  display: grid;
  align-content: start;
  gap: 0.35rem;
  padding: 1rem;
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-card);
  background: var(--platform-surface);
}

body.platform-public-site :where(
  .platform-product-strip strong,
  .platform-proof-strip strong,
  .platform-shape-card h3,
  .platform-outcome-card h3
) {
  display: block;
  margin: 0 0 0.25rem;
  color: var(--platform-ink);
}

body.platform-public-site :where(
  .platform-product-strip span,
  .platform-proof-strip span
) {
  display: block;
  color: var(--platform-muted);
  line-height: 1.5;
}

body.platform-public-site .platform-proof-strip > div {
  border-color: var(--platform-border-strong);
  background: var(--platform-surface-soft);
}

body.platform-public-site :where(
  .platform-shape-grid,
  .platform-outcome-grid
) {
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

body.platform-public-site :where(
  .platform-shape-card p,
  .platform-outcome-card p
) {
  margin: 0;
}

body.platform-public-site .platform-problem-section {
  border-color: var(--platform-border-strong);
  background: var(--platform-surface-soft);
}

body.platform-public-site .platform-not-just-row {
  display: grid;
  gap: 0.35rem;
  padding: 1rem;
  border-left: 3px solid var(--platform-teal);
  border-radius: 0 var(--platform-radius-control) var(--platform-radius-control) 0;
  background: #f9fbf8;
}

body.platform-public-site .platform-not-just-row strong {
  color: var(--platform-ink);
}

body.platform-public-site .platform-not-just-row span {
  color: var(--platform-muted);
  line-height: 1.55;
}

body.platform-public-site .platform-journey-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-card);
  background: var(--platform-surface-soft);
}

body.platform-public-site .platform-journey-item {
  display: grid;
  align-content: start;
  gap: 0.35rem;
  min-height: 8.5rem;
  padding: 1.15rem;
  border-left: 1px solid var(--platform-border);
}

body.platform-public-site .platform-journey-item:first-child {
  border-left: 0;
}

body.platform-public-site .platform-journey-item :where(strong, span, p) {
  margin: 0;
}

body.platform-public-site .platform-journey-item strong {
  color: var(--platform-ink);
}

body.platform-public-site .platform-journey-item :where(span, p) {
  color: var(--platform-muted);
  line-height: 1.55;
}

body.platform-public-site .platform-editor-block {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(19rem, 1.18fr);
  align-items: center;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  padding: clamp(1.25rem, 3vw, 2.25rem);
  background: linear-gradient(140deg, #ffffff, #eaf3ef);
}

body.platform-public-site .platform-editor-block > .platform-split:only-child {
  grid-column: 1 / -1;
}

body.platform-public-site .platform-feature-list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--platform-border);
}

body.platform-public-site .platform-feature-row {
  display: grid;
  grid-template-columns: minmax(8.5rem, 0.38fr) minmax(0, 1fr);
  gap: 1rem;
  padding-block: 1rem;
  border-bottom: 1px solid var(--platform-border);
}

body.platform-public-site .platform-feature-row:last-child {
  border-bottom: 0;
}

body.platform-public-site .platform-feature-row :where(h3, strong, p, span) {
  margin: 0;
}

body.platform-public-site .platform-feature-row :where(h3, strong) {
  color: var(--platform-ink);
}

body.platform-public-site .platform-feature-row :where(p, span) {
  color: var(--platform-muted);
  line-height: 1.6;
}

body.platform-public-site .platform-package-grid {
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

body.platform-public-site .platform-package-card {
  display: grid;
  align-content: start;
  gap: 0.72rem;
  padding: 1.15rem;
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-card);
  background: var(--platform-surface);
}

body.platform-public-site .platform-package-card.featured {
  border-color: var(--platform-teal);
  box-shadow: var(--platform-shadow);
}

body.platform-public-site .platform-package-card :where(h2, h3, p) {
  margin: 0;
}

body.platform-public-site .platform-package-price {
  display: grid;
  gap: 0.15rem;
  padding: 0.95rem;
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-control);
  background: var(--platform-surface-soft);
}

body.platform-public-site .platform-package-price strong {
  color: var(--platform-ink);
  font-size: 1.65rem;
  line-height: 1.1;
}

body.platform-public-site .platform-package-price span {
  color: var(--platform-muted);
  line-height: 1.45;
}

body.platform-public-site .platform-package-card ul {
  margin: 0;
  padding-left: 1.15rem;
}

body.platform-public-site .platform-package-features {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.platform-public-site .platform-package-features > :where(li, div, span) {
  position: relative;
  margin: 0;
  padding-left: 1.45rem;
  color: var(--platform-muted);
  line-height: 1.55;
}

body.platform-public-site .platform-package-features > :where(li, div, span)::before {
  position: absolute;
  top: 0.42rem;
  left: 0.08rem;
  width: 0.65rem;
  height: 0.38rem;
  border-bottom: 2px solid var(--platform-teal);
  border-left: 2px solid var(--platform-teal);
  content: "";
  transform: rotate(-45deg);
}

body.platform-public-site .platform-package-preview {
  display: grid;
  gap: 0;
  overflow: hidden;
  padding: 0.35rem 1.1rem;
  box-shadow: 0 16px 38px rgba(16, 43, 53, 0.1);
}

body.platform-public-site .platform-package-preview-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding-block: 0.95rem;
  border-bottom: 1px solid var(--platform-border);
}

body.platform-public-site .platform-package-preview-row:last-child {
  border-bottom: 0;
}

body.platform-public-site .platform-package-preview-row.featured {
  margin-inline: -1.1rem;
  padding-inline: 1.1rem;
  background: var(--platform-lime-soft);
}

body.platform-public-site .platform-package-preview-row :where(strong, span, small, p) {
  margin: 0;
}

body.platform-public-site .platform-package-preview-row strong {
  color: var(--platform-ink);
}

body.platform-public-site .platform-package-preview-row :where(span, small, p) {
  color: var(--platform-muted);
  font-size: 0.92rem;
}

body.platform-public-site :where(
  .platform-module-group,
  .platform-step-card,
  .platform-support-card
) {
  display: grid;
  align-content: start;
  gap: 0.8rem;
  padding: 1.1rem;
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-card);
  background: var(--platform-surface);
}

body.platform-public-site .platform-module-grid {
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
}

body.platform-public-site .platform-module-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.8rem;
  padding: 1rem;
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-card);
  background: #fbfcf9;
}

body.platform-public-site .platform-module-card :where(h3, p) {
  margin: 0;
}

body.platform-public-site .platform-module-card h3 {
  margin-bottom: 0.25rem;
}

body.platform-public-site :where(
  .platform-module-icon,
  .platform-icon
) {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--platform-radius-control);
  background: var(--platform-surface-strong);
  color: var(--platform-teal-deep);
}

body.platform-public-site :where(
  .platform-module-icon svg,
  .platform-icon svg
) {
  width: 1.65rem;
  height: 1.65rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.platform-public-site :where(
  .platform-step-grid,
  .platform-support-grid
) {
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

body.platform-public-site .platform-step-number {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: var(--platform-radius-control);
  background: var(--platform-navy);
  color: #f7faf6;
  font-weight: 900;
}

body.platform-public-site .platform-compare-table {
  overflow-x: auto;
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-card);
  background: var(--platform-surface);
}

body.platform-public-site .platform-compare-table table {
  width: 100%;
  min-width: 42rem;
  border-collapse: collapse;
}

body.platform-public-site .platform-compare-table :where(th, td) {
  padding: 0.9rem;
  border-bottom: 1px solid var(--platform-border);
  text-align: left;
  vertical-align: top;
}

body.platform-public-site .platform-compare-table tr:last-child td {
  border-bottom: 0;
}

body.platform-public-site .platform-compare-table th {
  background: var(--platform-surface-soft);
  color: var(--platform-ink);
}

body.platform-public-site .platform-compare-grid {
  display: grid;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-card);
  background: var(--platform-surface);
}

body.platform-public-site .platform-compare-row {
  display: grid;
  grid-template-columns: minmax(11rem, 1.35fr) repeat(4, minmax(7.5rem, 1fr));
  align-items: stretch;
  border-bottom: 1px solid var(--platform-border);
}

body.platform-public-site .platform-compare-row:last-child {
  border-bottom: 0;
}

body.platform-public-site .platform-compare-row > :where(strong, span, div) {
  display: flex;
  align-items: center;
  min-width: 0;
  margin: 0;
  padding: 0.85rem;
  border-left: 1px solid var(--platform-border);
  color: var(--platform-muted);
  line-height: 1.45;
}

body.platform-public-site .platform-compare-row > :first-child {
  border-left: 0;
  color: var(--platform-ink);
  font-weight: 800;
}

body.platform-public-site :where(
  .platform-compare-row:first-child,
  .platform-compare-head
) {
  background: var(--platform-surface-soft);
}

body.platform-public-site :where(
  .platform-compare-row:first-child,
  .platform-compare-head
) > :where(strong, span, div) {
  color: var(--platform-ink);
  font-weight: 800;
}

body.platform-public-site :where(
  .platform-shape-card.featured,
  .platform-outcome-card.featured
) {
  border-color: var(--platform-teal);
  background: linear-gradient(145deg, #ffffff, var(--platform-surface-soft));
  box-shadow: 0 14px 34px rgba(16, 43, 53, 0.08);
}

body.platform-public-site .platform-billing-note {
  display: grid;
  gap: 0.35rem;
  padding: 1rem 1.1rem;
  border-color: #d7e58e;
  background: var(--platform-lime-soft);
}

body.platform-public-site .platform-billing-note :where(strong, p, span) {
  margin: 0;
}

body.platform-public-site .platform-billing-note :where(p, span) {
  color: #43552c;
}

body.platform-public-site .platform-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.platform-public-site .platform-faq-grid > :where(article, details, div) {
  padding: 1.1rem;
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-card);
  background: var(--platform-surface);
}

body.platform-public-site .platform-faq-grid summary {
  color: var(--platform-ink);
  font-weight: 800;
  cursor: pointer;
}

body.platform-public-site .platform-faq-grid details > :not(summary) {
  margin-top: 0.75rem;
}

body.platform-public-site .platform-policy-directory {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.platform-public-site .platform-policy-group {
  display: grid;
  align-content: start;
  gap: 0.75rem;
  padding: 1.2rem;
}

body.platform-public-site .platform-policy-group nav {
  display: grid;
  gap: 0.5rem;
}

body.platform-public-site .platform-policy-group a {
  display: grid;
  width: 100%;
  gap: 0.15rem;
  font-weight: 750;
}

body.platform-public-site .platform-policy-group a span {
  color: var(--platform-muted);
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.5;
}

body.platform-public-site .platform-contact-card {
  display: grid;
  align-content: start;
  gap: 0.8rem;
  padding: 1.25rem;
}

body.platform-public-site .platform-contact-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  min-height: 3.25rem;
  padding: 0.8rem 0.9rem;
  border: 1px solid var(--platform-border);
  border-radius: var(--platform-radius-control);
  background: var(--platform-surface-soft);
  color: var(--platform-ink);
  font-weight: 750;
  text-decoration: none;
}

body.platform-public-site .platform-contact-link::after {
  color: var(--platform-teal);
  content: "→";
  font-size: 1.2rem;
}

body.platform-public-site .platform-contact-form {
  display: grid;
  gap: 0.9rem;
}

body.platform-public-site .platform-contact-form label {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  color: var(--platform-ink);
  font-weight: 800;
}

body.platform-public-site :where(
  .platform-contact-form input,
  .platform-contact-form textarea,
  .platform-contact-form select
) {
  width: 100%;
  min-height: 2.9rem;
  padding: 0.72rem 0.82rem;
  border: 1px solid var(--platform-border-strong);
  border-radius: var(--platform-radius-control);
  background: var(--platform-surface);
  color: var(--platform-ink);
  font: inherit;
}

body.platform-public-site .platform-contact-form textarea {
  min-height: 8rem;
  resize: vertical;
}

body.platform-public-site .platform-contact-form ::placeholder {
  color: #6d7d80;
  opacity: 1;
}

body.platform-public-site .platform-notice {
  display: grid;
  gap: 0.6rem;
  padding: 1.1rem;
  background: var(--platform-surface);
}

body.platform-public-site .platform-notice :where(p, strong) {
  margin: 0;
}

body.platform-public-site .platform-notice p {
  color: var(--platform-muted);
}

body.platform-public-site .platform-cta-band {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-color: var(--platform-border-strong);
  background: var(--platform-surface-soft);
}

body.platform-public-site .platform-cta-band p {
  margin: 0.25rem 0 0;
  color: var(--platform-muted);
}

body.platform-public-site .platform-footer {
  border-top: 1px solid var(--platform-border);
  background: #eef4f1;
}

body.platform-public-site .platform-public-footer-inner {
  display: grid;
  grid-template-columns: minmax(17rem, 0.8fr) minmax(0, 1.5fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  padding-block: clamp(2.5rem, 5vw, 4rem);
}

body.platform-public-site .platform-footer-intro {
  display: grid;
  align-content: start;
  gap: 0.8rem;
}

body.platform-public-site .platform-footer-intro > p {
  max-width: 34rem;
  margin: 0;
  color: var(--platform-muted);
  line-height: 1.65;
}

body.platform-public-site .platform-footer-support {
  width: fit-content;
  color: var(--platform-teal-deep);
  font-weight: 800;
}

body.platform-public-site .platform-footer-nav {
  display: grid;
  grid-template-columns: minmax(9rem, 0.7fr) minmax(13rem, 1.4fr) minmax(7rem, 0.6fr);
  gap: 1.5rem;
}

body.platform-public-site .platform-footer-group {
  display: grid;
  align-content: start;
  gap: 0.55rem;
}

body.platform-public-site .platform-footer-group > strong {
  margin-bottom: 0.2rem;
  color: var(--platform-ink);
  font-size: 0.88rem;
}

body.platform-public-site .platform-footer-group a {
  width: fit-content;
  color: var(--platform-muted);
  text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
  body.platform-public-site .platform-public-nav a:hover {
    background: var(--platform-surface-soft);
    color: var(--platform-teal-deep);
  }

  body.platform-public-site :where(
    .platform-public-brand,
    .platform-footer-group a,
    .platform-footer-support
  ):hover {
    color: var(--platform-teal-deep);
    text-decoration: none;
  }

  body.platform-public-site :where(
    .platform-public-button,
    a.platform-public-button,
    .button.platform-public-button
  ):hover {
    border-color: #cbe940;
    background: #e1f87a;
    box-shadow: 0 10px 22px rgba(77, 106, 22, 0.17);
    text-decoration: none;
    transform: translateY(-2px);
  }

  body.platform-public-site :where(
    .platform-public-button.secondary,
    a.platform-public-button.secondary,
    .button.platform-public-button.secondary
  ):hover {
    border-color: var(--platform-teal);
    background: var(--platform-surface-soft);
    box-shadow: none;
  }

  body.platform-public-site .platform-contact-link:hover {
    border-color: var(--platform-teal);
    background: var(--platform-surface-strong);
    text-decoration: none;
  }
}

@media (max-width: 900px) {
  body.platform-public-site .platform-public-header {
    position: static;
  }

  body.platform-public-site .platform-public-header-inner {
    display: grid;
    grid-template-areas:
      "brand actions"
      "nav nav";
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.55rem 1rem;
    padding-block: 0.75rem;
  }

  body.platform-public-site .platform-public-brand {
    grid-area: brand;
  }

  body.platform-public-site .platform-public-nav {
    grid-area: nav;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.35rem;
  }

  body.platform-public-site .platform-public-actions {
    grid-area: actions;
  }

  body.platform-public-site .platform-public-nav a {
    width: 100%;
  }

  body.platform-public-site :where(
    .platform-hero,
    .platform-editor-block
  ) {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  body.platform-public-site .platform-hero-media {
    min-height: 22rem;
  }

  body.platform-public-site .platform-journey-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.platform-public-site .platform-journey-item:nth-child(odd) {
    border-left: 0;
  }

  body.platform-public-site .platform-journey-item:nth-child(n + 3) {
    border-top: 1px solid var(--platform-border);
  }

  body.platform-public-site .platform-public-footer-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  body.platform-public-site :where(
    .platform-public-header-inner,
    .platform-public-main,
    .platform-public-footer-inner
  ) {
    width: min(100% - 1.25rem, 76rem);
  }

  body.platform-public-site .platform-public-brand {
    min-width: 0;
  }

  body.platform-public-site :where(
    .platform-public-brand-copy span,
    .platform-public-brand > strong > span
  ) {
    white-space: normal;
  }

  body.platform-public-site .platform-public-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.platform-public-site .platform-public-actions .platform-public-button {
    min-height: 2.65rem;
    padding-inline: 0.8rem;
  }

  body.platform-public-site .platform-public-main {
    gap: 1rem;
    padding-top: 0.85rem;
  }

  body.platform-public-site :where(
    .platform-hero,
    .platform-page-intro,
    .platform-section,
    .platform-editor-block
  ) {
    padding: 1.15rem;
  }

  body.platform-public-site :where(
    .platform-hero h1,
    .platform-page-heading h1,
    .platform-page-intro h1
  ) {
    font-size: clamp(2.25rem, 11vw, 3.2rem);
  }

  body.platform-public-site .platform-hero-media {
    min-height: 17rem;
  }

  body.platform-public-site .platform-hero-proof {
    position: static;
    margin: 0.65rem;
  }

  body.platform-public-site :where(
    .platform-hero-actions,
    .platform-inline-actions
  ) {
    align-items: stretch;
  }

  body.platform-public-site :where(
    .platform-hero-actions .platform-public-button,
    .platform-inline-actions .platform-public-button
  ) {
    width: 100%;
  }

  body.platform-public-site :where(
    .platform-split,
    .platform-dashboard-grid,
    .platform-faq-grid,
    .platform-policy-directory,
    .platform-footer-nav
  ) {
    grid-template-columns: 1fr;
  }

  body.platform-public-site .platform-compare-grid {
    overflow-x: auto;
  }

  body.platform-public-site .platform-compare-row {
    min-width: 47rem;
  }

  body.platform-public-site .platform-journey-strip {
    grid-template-columns: 1fr;
  }

  body.platform-public-site .platform-journey-item,
  body.platform-public-site .platform-journey-item:nth-child(odd) {
    min-height: 0;
    border-top: 1px solid var(--platform-border);
    border-left: 0;
  }

  body.platform-public-site .platform-journey-item:first-child {
    border-top: 0;
  }

  body.platform-public-site :where(
    .platform-feature-row,
    .platform-package-preview-row
  ) {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  body.platform-public-site .platform-market-row {
    grid-template-columns: 1fr;
  }

  body.platform-public-site .platform-contact-link {
    overflow-wrap: anywhere;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.platform-public-site,
  body.platform-public-site *,
  body.platform-public-site *::before,
  body.platform-public-site *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  body.platform-public-site :where(
    .platform-public-button,
    a.platform-public-button,
    .button.platform-public-button
  ) {
    transform: none !important;
  }
}
.public-site {
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--site-color-brand-primary, #1f6feb) 14%, transparent), transparent 34%),
    radial-gradient(circle at top right, color-mix(in srgb, var(--site-color-accent, #f97316) 18%, transparent), transparent 24%),
    linear-gradient(180deg, var(--site-color-canvas, #f8fafc) 0%, color-mix(in srgb, var(--site-color-canvas, #f8fafc) 88%, white 12%) 100%);
  color: var(--site-color-text, #0f172a);
  font-family: var(--site-font-body, system-ui), "Segoe UI", sans-serif;
}
.public-site header {
  background: none;
  color: inherit;
  padding: 0;
  border: 0;
  box-shadow: none;
}
.site-header {
  padding: calc(var(--site-section-gap, 1.7rem) * 0.7) var(--site-space-container-x, 1.35rem) 0;
}
.site-header-shell {
  width: min(var(--site-content-width, 72rem), calc(100vw - 2rem));
  margin: 0 auto;
  padding: var(--site-space-card-padding, 1.45rem);
  border: 1px solid var(--site-color-border, #d6e1ea);
  border-radius: var(--site-radius-card, 1.4rem);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--site-surface-header, #ffffff) 96%, white 4%), color-mix(in srgb, var(--site-surface-header, #ffffff) 90%, white 10%)),
    linear-gradient(135deg, color-mix(in srgb, var(--site-color-brand-primary, #1f6feb) 8%, transparent), transparent 32%);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}
.site-branding {
  max-width: 40rem;
}
.site-kicker {
  margin: 0 0 0.35rem;
  color: var(--site-color-accent, #f97316);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.site-title {
  margin: 0;
  font-family: var(--site-font-heading, system-ui), "Segoe UI", sans-serif;
  font-size: var(--site-type-title, clamp(1.7rem, 2.8vw, 2.3rem));
  line-height: 1;
  color: var(--site-color-brand-secondary, #0f172a);
}
.site-tagline {
  margin: 0.6rem 0 0;
  color: var(--site-color-text-muted, #5b6b7f);
  font-size: var(--site-type-body, 1.04rem);
  line-height: var(--site-leading-body, 1.76);
}
.site-nav {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
  margin-top: var(--site-space-stack, 1.15rem);
}
.site-nav a {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.92rem;
  border-radius: 999px;
  border: 1px solid var(--site-color-border, #d6e1ea);
  background: color-mix(in srgb, var(--site-surface-header, #ffffff) 88%, white 12%);
  color: var(--site-color-brand-secondary, #0f172a);
  font-weight: 600;
}
.site-nav a[aria-current="page"] {
  background: var(--site-button-bg, #1f6feb);
  color: var(--site-button-fg, #ffffff);
  border-color: var(--site-button-border, transparent);
}
.site-nav a:hover {
  text-decoration: none;
  border-color: color-mix(in srgb, var(--site-color-brand-primary, #1f6feb) 35%, var(--site-color-border, #d6e1ea));
}
.site-chrome-header,
.canvas-chrome-surface-header,
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] {
  box-sizing: border-box;
  position: sticky;
  top: 0;
  z-index: 80;
  width: 100%;
  max-width: 100%;
}
.site-chrome-header .canvas-page[data-canvas-surface="header"],
.canvas-chrome-surface-header,
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--site-color-border, #d6e1ea) 72%, transparent);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--site-surface-header, var(--site-surface-card, #ffffff)) 88%, transparent), color-mix(in srgb, var(--site-color-brand-primary, #1f6feb) 14%, var(--site-surface-header, var(--site-surface-card, #ffffff)))),
    linear-gradient(90deg, color-mix(in srgb, var(--site-color-brand-primary, #1f6feb) 10%, transparent), color-mix(in srgb, var(--site-color-accent, #f97316) 8%, transparent));
  backdrop-filter: blur(18px);
  overflow: visible;
}
.site-chrome-header .canvas-page[data-canvas-surface="header"] > .canvas-artboard-shell,
.canvas-chrome-surface-header > .canvas-artboard-shell,
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] > .canvas-artboard-shell {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.site-chrome-footer .canvas-page[data-canvas-surface="footer"] > .canvas-artboard-shell,
.canvas-chrome-surface-footer > .canvas-artboard-shell,
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="footer"] > .canvas-artboard-shell {
  width: min(var(--site-content-width, 72rem), calc(100vw - 2rem)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.site-chrome-footer .canvas-page[data-canvas-surface="footer"],
.canvas-chrome-surface-footer,
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="footer"] {
  width: 100%;
  background: var(--site-surface-footer, var(--site-surface-emphasis, #0f172a)) !important;
}
.site-chrome-header .canvas-site-logo-text,
.canvas-chrome-surface-header .canvas-site-logo-text,
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] .canvas-site-logo-text {
  font-weight: 900;
  color: var(--canvas-role-text, var(--site-color-brand-secondary, #0f172a));
}
.site-chrome-header .canvas-node-site-logo img,
.canvas-chrome-surface-header .canvas-node-site-logo img,
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] .canvas-node-site-logo img {
  width: auto !important;
  max-width: min(18rem, 36vw) !important;
  max-height: 52px !important;
  object-fit: contain !important;
}
.site-chrome-header .canvas-page[data-canvas-surface="header"] .canvas-node-site-nav,
.canvas-chrome-surface-header .canvas-node-site-nav,
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] .canvas-node-site-nav {
  overflow: visible !important;
  justify-content: flex-end !important;
}
.site-chrome-header .canvas-page[data-canvas-surface="header"] .canvas-site-nav-inline,
.canvas-chrome-surface-header .canvas-site-nav-inline,
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] .canvas-site-nav-inline {
  width: 100%;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem 0.55rem;
}
.site-chrome-header .canvas-page[data-canvas-surface="header"] .canvas-site-nav-link:not(.canvas-site-nav-auth-link),
.canvas-chrome-surface-header .canvas-site-nav-link:not(.canvas-site-nav-auth-link),
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] .canvas-site-nav-link:not(.canvas-site-nav-auth-link) {
  display: inline-flex;
  align-items: center;
  min-height: 2.15rem;
  padding: 0.35rem 0.12rem;
  font-size: 0.92rem;
  font-weight: 750;
  line-height: 1.1;
  opacity: 0.86;
}
.site-chrome-header .canvas-page[data-canvas-surface="header"] .canvas-site-nav-link:hover,
.site-chrome-header .canvas-page[data-canvas-surface="header"] .canvas-site-nav-link:focus-visible,
.site-chrome-header .canvas-page[data-canvas-surface="header"] .canvas-site-nav-link.is-current,
.canvas-chrome-surface-header .canvas-site-nav-link:hover,
.canvas-chrome-surface-header .canvas-site-nav-link:focus-visible,
.canvas-chrome-surface-header .canvas-site-nav-link.is-current,
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] .canvas-site-nav-link:hover,
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] .canvas-site-nav-link:focus-visible,
.public-site-ai-shell .rz-ai-site-shell > .canvas-page[data-canvas-surface="header"] .canvas-site-nav-link.is-current {
  opacity: 1;
  color: var(--canvas-role-brand-primary, var(--site-color-brand-primary, #1f6feb));
  outline: none;
}
.site-main {
  width: min(var(--site-content-width, 72rem), calc(100vw - 2rem));
  max-width: none;
  margin: var(--site-section-gap, 1.7rem) auto calc(var(--site-section-gap, 1.7rem) * 2);
  padding: 0;
}
.site-content {
  display: grid;
  gap: var(--site-section-gap, 1.7rem);
}
.public-site-canvas .site-main {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: clip;
}
.public-site-canvas .site-content {
  display: block;
  gap: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
.public-site-canvas .canvas-page {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
.public-site-canvas .canvas-artboard-shell {
  box-sizing: border-box;
  max-width: 100%;
  overflow-x: clip;
}
.public-site-canvas .canvas-node {
  box-sizing: border-box;
  max-width: 100%;
}
body.public-site.public-site-canvas {
  overflow-x: clip;
}
body.public-site.public-site-ai-html .site-main-ai-html {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: clip;
}
body.public-site.public-site-ai-html {
  overflow-x: clip;
}
body.public-site.public-site-ai-html .site-content-ai-html {
  display: block;
  width: 100%;
  max-width: 100%;
  gap: 0;
  overflow-x: clip;
}
body.public-site.public-site-ai-html .site-main-ai-html,
body.public-site.public-site-ai-html .site-content-ai-html {
  background: transparent;
}
body.public-site.public-site-ai-html .site-content-ai-html > :where(:not(style):not(script):not(template)) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
body.public-site.public-site-ai-html .rz-ai-page > :where(main, section, article, div):first-child {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.public-site-canvas:has(.forms-public-shell.is-embed) {
  background: transparent;
}
.public-site-canvas .site-content:has(.forms-public-shell.is-embed) {
  height: 100%;
  min-height: 0;
}
.forms-public-shell {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}
.forms-public-shell h1 {
  margin: 0 0 1rem;
}
.forms-public-shell.is-embed {
  container: forms-intake-embed / inline-size;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  margin: 0;
  padding: 0.9rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: auto;
  overscroll-behavior: contain;
}
.forms-public-shell.is-embed .eyebrow {
  display: none;
}
.forms-public-shell.is-embed h1 {
  margin-bottom: 0.75rem;
  font-size: 1.65rem;
  line-height: 1.12;
}
.forms-public-form {
  display: grid;
  min-height: 0;
  gap: 0.85rem;
}
.forms-public-field-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: stretch;
}
.forms-public-section-panel {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border: 1px solid var(--site-color-border, #d6e1ea);
  border-radius: 12px;
  background: color-mix(in srgb, var(--site-color-surface, #ffffff) 96%, transparent);
}
.forms-public-section-panel-implicit {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.forms-public-section-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
  align-items: stretch;
}
.forms-public-section-header {
  display: grid;
  gap: 0.35rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--site-color-border, #d6e1ea);
}
.forms-public-field {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
  margin: 0;
}
.forms-public-choice-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0;
  font-weight: 600;
  line-height: 1.35;
}
.forms-public-choice-row input[type="radio"],
.forms-public-choice-row input[type="checkbox"] {
  flex: 0 0 auto;
  width: 1.05rem;
  min-width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  padding: 0;
}
.forms-public-choice-row span {
  display: block;
}
.forms-public-choice-row.forms-public-field {
  display: flex;
}
.patient-register-form .patient-choice-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 44px;
  margin: 0;
  font-weight: 600;
  line-height: 1.35;
}
.patient-register-form .patient-choice-row input[type="radio"],
.patient-register-form .patient-choice-row input[type="checkbox"] {
  flex: 0 0 auto;
  width: 1.05rem;
  min-width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  padding: 0;
}
.patient-register-form .patient-choice-row span {
  display: block;
}
.patient-register-form .patient-register-field.patient-choice-row {
  display: flex;
}
.forms-public-field-wide {
  grid-column: 1 / -1;
}
.forms-public-guidance,
.forms-public-checkbox-group {
  border: 1px solid var(--site-color-border, #d6e1ea);
  border-radius: 8px;
  background: color-mix(in srgb, var(--site-color-surface, #ffffff) 92%, transparent);
  padding: 0.85rem;
}
.forms-public-section h2,
.forms-public-heading h2,
.forms-public-guidance h2 {
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.25;
}
.forms-public-section p,
.forms-public-heading p,
.forms-public-guidance p {
  margin: 0;
}
.forms-public-divider {
  border: 0;
  border-top: 1px solid var(--site-color-border, #d6e1ea);
  width: 100%;
}
.forms-public-checkbox-group {
  display: grid;
  gap: 0.5rem;
}
.forms-public-choice-group {
  border: 0;
  padding: 0;
  background: transparent;
}
.forms-public-checkbox-group legend,
.forms-public-choice-group legend {
  font-weight: 800;
  margin-bottom: 0.35rem;
  padding: 0;
}
.signature-pad {
  display: grid;
  gap: 0.75rem;
  border: 1px solid var(--site-color-border, #d6e1ea);
  border-radius: 12px;
  background: color-mix(in srgb, var(--site-color-surface, #ffffff) 96%, transparent);
  padding: 1rem;
}
.signature-pad legend {
  font-weight: 800;
  padding: 0;
}
.signature-pad-typed {
  display: grid;
  gap: 0.35rem;
  margin: 0;
}
.signature-pad-canvas-wrap {
  border: 1px solid var(--site-color-border, #d6e1ea);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.signature-pad-canvas {
  display: block;
  width: 100%;
  min-height: 180px;
  height: clamp(180px, 28vh, 260px);
  background: #fff;
  touch-action: none;
  cursor: crosshair;
}
.signature-pad-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.signature-pad-actions .button,
.signature-pad-actions button {
  min-height: 44px;
}
.forms-preview-signature {
  border: 1px dashed var(--shell-border, var(--site-color-border, #d6e1ea));
  border-radius: 10px;
  padding: 0.75rem;
}
.forms-preview-signature-box {
  min-height: 5.5rem;
  border: 1px solid var(--shell-border, var(--site-color-border, #d6e1ea));
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-panel, var(--site-color-surface, #ffffff)) 92%, transparent);
}
.forms-public-shell.is-embed input,
.forms-public-shell.is-embed textarea,
.forms-public-shell.is-embed select {
  min-width: 0;
  padding: 0.62rem 0.72rem;
}
.forms-public-shell.is-embed textarea {
  min-height: 6rem;
}
.forms-public-shell.is-embed .button {
  justify-self: start;
}
.forms-public-submit-toast,
.site-toast {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1000;
  max-width: min(18rem, calc(100vw - 2rem));
  padding: 0.72rem 0.9rem;
  border: 1px solid color-mix(in srgb, var(--site-color-brand-primary, #1f6feb) 24%, var(--site-color-border, #d6e1ea));
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--site-color-surface, #ffffff) 96%, white 4%);
  color: var(--site-color-text, #0f172a);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.18);
  font-weight: 700;
}
.site-toast {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 180ms ease, transform 180ms ease;
}
.site-toast.is-hiding {
  opacity: 0;
  transform: translateY(0.35rem);
}
@media (max-width: 36rem) {
  .forms-public-shell.is-embed {
    padding: 0.75rem;
  }
  .forms-public-shell.is-embed h1 {
    font-size: 1.25rem;
    margin-bottom: 0.6rem;
  }
}
@media (max-height: 26rem) {
  .forms-public-shell.is-embed {
    padding: 0.55rem;
  }
  .forms-public-shell.is-embed h1 {
    font-size: 1.15rem;
    margin-bottom: 0.45rem;
  }
  .forms-public-shell.is-embed label {
    font-size: 0.84rem;
    margin-bottom: 0.22rem;
  }
  .forms-public-shell.is-embed .forms-public-form,
  .forms-public-shell.is-embed .forms-public-field-grid {
    gap: 0.5rem;
  }
  .forms-public-shell.is-embed input,
  .forms-public-shell.is-embed textarea,
  .forms-public-shell.is-embed select {
    padding: 0.44rem 0.55rem;
  }
  .forms-public-shell.is-embed textarea {
    min-height: 4rem;
  }
  .forms-public-shell.is-embed .button {
    padding: 0.5rem 0.8rem;
  }
}

/* Public form layouts are selected on the protected Designer Form page. */
.public-form-page {
  --public-form-canvas: var(--site-color-canvas, #f3f6f9);
  --public-form-surface: var(--site-color-surface, #ffffff);
  --public-form-text: var(--site-color-text, #172231);
  --public-form-muted: var(--site-color-text-muted, #526174);
  --public-form-accent: var(--site-color-brand-primary, #235da4);
  --public-form-border: var(--site-color-border, #c9d2dc);
  --public-form-radius: var(--site-radius-card, 14px);
  box-sizing: border-box;
  width: min(100%, 80rem);
  max-width: 100%;
  margin-inline: auto;
  color: var(--public-form-text);
  font-family: var(--site-font-body, system-ui), "Segoe UI", sans-serif;
}
.public-form-page *,
.public-form-page *::before,
.public-form-page *::after {
  box-sizing: border-box;
}
.forms-public-shell.card.public-form-page {
  margin-bottom: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.public-form-layout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "main";
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
}
.public-form-layout-main,
.public-form-layout-aside {
  min-width: 0;
}
.public-form-layout-main {
  grid-area: main;
}
.public-form-layout-aside {
  grid-area: aside;
  display: none;
  color: var(--public-form-text);
}
.public-form-layout-aside-copy {
  display: grid;
  gap: 0.85rem;
}
.public-form-layout-aside-title {
  margin: 0;
  color: var(--public-form-text);
  font-family: var(--site-font-heading, system-ui), "Segoe UI", sans-serif;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 800;
  line-height: 1.08;
}
.public-form-layout-aside p {
  margin: 0;
  color: var(--public-form-muted);
  line-height: 1.55;
}
.public-form-section-nav {
  margin-top: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--public-form-border);
}
.public-form-section-nav > strong {
  display: block;
  margin-bottom: 0.65rem;
  color: var(--public-form-text);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.public-form-section-nav ol {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding-left: 1.35rem;
}
.public-form-section-nav a {
  color: var(--public-form-accent);
  text-underline-offset: 0.18em;
}
.public-form-privacy {
  color: var(--public-form-muted);
  font-size: 0.88rem;
  line-height: 1.55;
}
.public-form-privacy h2,
.public-form-privacy strong {
  display: block;
  margin: 0 0 0.45rem;
  color: var(--public-form-text);
  font-size: 0.9rem;
  font-weight: 800;
}
.public-form-privacy p {
  margin: 0;
}
.public-form-privacy-main {
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  border-left: 3px solid var(--public-form-border);
}
.public-form-privacy-aside {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--public-form-border);
}
.public-form-intro {
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
}
.public-form-intro .eyebrow {
  margin: 0 0 0.65rem;
}
.public-form-intro h1,
.public-form-success-panel h1 {
  max-width: 18ch;
  margin: 0;
  color: var(--public-form-text);
  font-family: var(--site-font-heading, system-ui), "Segoe UI", sans-serif;
  font-size: clamp(2.15rem, 5vw, 4rem);
  line-height: 1;
  letter-spacing: -0.045em;
}
.public-form-intro > p:not(.eyebrow):not(.public-form-required) {
  max-width: 60ch;
  margin: 0.9rem 0 0;
  color: var(--public-form-muted);
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  line-height: 1.55;
}
.public-form-required {
  margin: 0.85rem 0 0;
  color: var(--public-form-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}
.public-form-error,
.forms-public-shell .error.public-form-error {
  margin: 0 0 1.25rem;
  padding: 1rem 1.1rem;
  border: 2px solid var(--site-color-error, #b42318);
  border-radius: calc(var(--public-form-radius) * 0.65);
  background: color-mix(in srgb, var(--site-color-error, #b42318) 9%, var(--public-form-surface));
  color: var(--public-form-text);
  font-weight: 700;
  line-height: 1.45;
}
.public-form-page :where(.forms-public-form, .patient-register-form) {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
  margin: 0;
  padding: clamp(1.25rem, 3.5vw, 2.75rem);
  border: 1px solid var(--public-form-border);
  border-radius: var(--public-form-radius);
  background: var(--public-form-surface);
  color: var(--public-form-text);
  box-shadow: 0 18px 48px color-mix(in srgb, var(--public-form-accent) 12%, transparent);
}
.public-form-page .forms-public-field-grid {
  gap: 0;
}
.public-form-page .forms-public-section-panel {
  gap: 1.1rem;
  padding: 1.7rem 0;
  border: 0;
  border-top: 1px solid var(--public-form-border);
  border-radius: 0;
  background: transparent;
}
.public-form-page .forms-public-section-panel:first-child {
  padding-top: 0;
  border-top: 0;
}
.public-form-page .forms-public-section-header {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  padding: 0;
  border: 0;
}
.public-form-section-number {
  display: grid;
  width: 1.75rem;
  height: 1.75rem;
  flex: 0 0 1.75rem;
  place-items: center;
  border-radius: 50%;
  background: var(--public-form-accent);
  color: var(--site-button-fg, #ffffff);
  font-size: 0.78rem;
  font-weight: 800;
}
.public-form-section-heading-copy {
  min-width: 0;
}
.public-form-page .forms-public-section-header h2,
.public-form-page .patient-register-section > h2 {
  margin: 0;
  color: var(--public-form-text);
  font-family: var(--site-font-heading, system-ui), "Segoe UI", sans-serif;
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.public-form-page .forms-public-section-header p,
.public-form-page .patient-register-section > p {
  margin: 0.4rem 0 0;
  color: var(--public-form-muted);
  line-height: 1.5;
}
.public-form-page .forms-public-section-fields,
.public-form-page .patient-register-section {
  display: grid;
  gap: 1.15rem;
}
.public-form-page .forms-public-section-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.public-form-page .patient-register-section {
  grid-template-columns: minmax(0, 1fr);
  padding: 1.7rem 0;
  border-top: 1px solid var(--public-form-border);
  scroll-margin-top: 1.5rem;
}
.public-form-page .patient-register-section:first-child {
  padding-top: 0;
  border-top: 0;
}
.public-form-page .patient-register-section > * {
  grid-column: 1 / -1;
}
.public-form-page :where(.forms-public-field, .patient-register-field) {
  display: grid;
  gap: 0.42rem;
  min-width: 0;
  margin: 0;
  color: var(--public-form-text);
  font-weight: 750;
  line-height: 1.35;
}
.public-form-page :where(.forms-public-field, .patient-register-field) > .muted {
  color: var(--public-form-muted);
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.45;
}
.public-form-field-status {
  color: var(--public-form-muted);
  font-size: 0.8rem;
  font-weight: 500;
  white-space: nowrap;
}
.public-form-page :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea) {
  width: 100%;
  min-width: 0;
  min-height: 3.1rem;
  margin: 0;
  padding: 0.72rem 0.8rem;
  border: 1px solid var(--public-form-border);
  border-radius: calc(var(--public-form-radius) * 0.58);
  background: var(--public-form-canvas);
  color: var(--public-form-text);
}
.public-form-page textarea {
  min-height: 8rem;
  resize: vertical;
}
.public-form-page :where(.forms-public-choice-row, .patient-choice-row) {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  min-height: 3rem;
  padding: 0.75rem 0.8rem;
  border: 1px solid var(--public-form-border);
  border-radius: calc(var(--public-form-radius) * 0.58);
  background: var(--public-form-canvas);
  color: var(--public-form-text);
}
.public-form-page :where(.forms-public-choice-row, .patient-choice-row):has(input:checked) {
  border-color: var(--public-form-accent);
  background: color-mix(in srgb, var(--public-form-accent) 9%, var(--public-form-surface));
}
.public-form-page :where(.forms-public-choice-row, .patient-choice-row) input {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0.08rem 0 0;
  accent-color: var(--public-form-accent);
}
.public-form-page :where(.forms-public-choice-group, .forms-public-checkbox-group, .patient-register-field:is(fieldset)) {
  display: grid;
  gap: 0.55rem;
  padding: 0;
  border: 0;
  background: transparent;
}
.public-form-page :where(fieldset) legend {
  margin-bottom: 0.35rem;
  color: var(--public-form-text);
  font-weight: 800;
}
.public-form-page .forms-public-guidance,
.public-form-page .patient-register-guidance {
  padding: 1rem;
  border: 0;
  border-left: 4px solid var(--public-form-accent);
  border-radius: 0;
  background: color-mix(in srgb, var(--public-form-accent) 8%, var(--public-form-surface));
}
.public-form-page .signature-pad {
  border-color: var(--public-form-border);
  background: var(--public-form-canvas);
}
.public-form-submit {
  justify-self: start;
  min-height: 3.1rem;
  white-space: nowrap;
}
.public-form-actions {
  display: flex;
  justify-content: flex-start;
  padding-top: 0.35rem;
}
.public-form-page :where(button, .button):active {
  transform: translateY(1px);
}
.forms-public-shell :where(input, select, textarea, button, a):focus-visible,
.patient-register-shell :where(input, select, textarea, button, a):focus-visible {
  outline: 3px solid var(--site-color-focus, var(--public-form-accent));
  outline-offset: 3px;
}
.public-form-success .public-form-layout-main {
  width: 100%;
}
.public-form-success-panel {
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--public-form-border);
  border-radius: var(--public-form-radius);
  background: var(--public-form-surface);
  box-shadow: 0 18px 48px color-mix(in srgb, var(--public-form-accent) 12%, transparent);
}
.public-form-success-panel > p:not(.eyebrow) {
  max-width: 58ch;
  color: var(--public-form-muted);
  line-height: 1.55;
}

.public-form-page[data-form-layout="focused_card"] {
  width: min(100%, 54rem);
}
.public-form-page[data-form-layout="focused_card"] .public-form-intro {
  text-align: center;
}
.public-form-page[data-form-layout="focused_card"] .public-form-intro :where(h1, p) {
  margin-inline: auto;
}
.public-form-page[data-form-layout="split_introduction"] .public-form-layout-grid {
  grid-template-columns: minmax(14rem, 0.72fr) minmax(0, 1.28fr);
  grid-template-areas: "aside main";
}
.public-form-page[data-form-layout="split_introduction"] .public-form-layout-aside {
  position: sticky;
  top: 1.5rem;
  display: block;
  padding: clamp(1.25rem, 2.8vw, 2rem);
  border-radius: var(--public-form-radius);
  background: color-mix(in srgb, var(--public-form-accent) 8%, var(--public-form-surface));
}
.public-form-page[data-form-layout="guided_sections"] .public-form-layout-grid {
  grid-template-columns: minmax(13rem, 0.52fr) minmax(0, 1.48fr);
  grid-template-areas: "aside main";
}
.public-form-page[data-form-layout="guided_sections"] .public-form-layout-aside {
  position: sticky;
  top: 1.5rem;
  display: block;
  padding: 1.35rem;
  border-top: 4px solid var(--public-form-accent);
  background: var(--public-form-surface);
}
.public-form-page[data-form-layout="guided_sections"] :where(.forms-public-form, .patient-register-form) {
  box-shadow: none;
}
.public-form-page[data-form-layout="split_introduction"] .public-form-privacy-main,
.public-form-page[data-form-layout="guided_sections"] .public-form-privacy-main {
  display: none;
}

.forms-public-shell.is-embed.public-form-page {
  width: 100%;
}
.forms-public-shell.is-embed .public-form-layout-grid {
  display: block;
}
.forms-public-shell.is-embed .public-form-layout-aside {
  display: none;
}
.forms-public-shell.is-embed :where(.forms-public-form, .patient-register-form) {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

/* Split layouts and general forms stay linear through tablet widths. Patient
   registration is always a single ordered column at every viewport width. */
@media (max-width: 64rem) {
  .public-form-page[data-form-layout="split_introduction"] .public-form-layout-grid,
  .public-form-page[data-form-layout="guided_sections"] .public-form-layout-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "main" "aside";
  }
  .public-form-page[data-form-layout="split_introduction"] .public-form-layout-aside,
  .public-form-page[data-form-layout="guided_sections"] .public-form-layout-aside {
    position: static;
    padding: 1.1rem;
  }
  .public-form-section-nav {
    display: none;
  }
  .public-form-page .forms-public-section-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 48rem) {
  .public-form-page :where(.forms-public-form, .patient-register-form),
  .public-form-success-panel {
    padding: 1.1rem;
    box-shadow: none;
  }
  .public-form-intro h1,
  .public-form-success-panel h1 {
    font-size: clamp(2rem, 10vw, 3rem);
  }
  .public-form-submit {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-form-page *,
  .public-form-page *::before,
  .public-form-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
.site-content h1,
.site-content h2,
.site-content h3 {
  font-family: var(--site-font-heading, system-ui), "Segoe UI", sans-serif;
  color: var(--site-color-brand-secondary, #0f172a);
}
.section {
  border: 1px solid var(--site-color-border, #d6e1ea);
  border-radius: var(--site-radius-card, 1.4rem);
  background: color-mix(in srgb, var(--site-surface-card, #ffffff) 96%, white 4%);
  padding: max(var(--site-space-card-padding, 1.45rem), 1.1rem);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.05);
}
.section-copy {
  font-size: var(--site-type-body, 1.04rem);
  line-height: var(--site-leading-body, 1.76);
  color: var(--site-color-text, #0f172a);
}
.section-copy p:first-child {
  margin-top: 0;
}
.section-copy p:last-child {
  margin-bottom: 0;
}
.section-hero,
.section-image-text {
  display: grid;
  gap: 1.4rem;
  align-items: center;
}
.section-hero {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--site-color-brand-primary, #1f6feb) 9%, transparent), color-mix(in srgb, var(--site-color-accent, #f97316) 10%, transparent)),
    color-mix(in srgb, var(--site-surface-emphasis, #e9f0f8) 94%, white 6%);
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
}
.section-hero h1 {
  margin: 0;
  font-size: var(--site-type-display, clamp(2.4rem, 5vw, 4rem));
  line-height: 0.95;
}
.hero-copy,
.image-text-copy,
.cta-banner-copy {
  display: grid;
  gap: var(--site-space-stack, 1.15rem);
}
.eyebrow {
  margin: 0 0 0.6rem;
  color: var(--site-color-accent, #f97316);
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.8rem;
}
.section-rich-text {
  padding-inline: calc(var(--site-space-card-padding, 1.45rem) * 1.1);
}
.section-rich-text .content {
  max-width: 50rem;
  margin: 0 auto;
}
.section-image-text {
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.1fr);
}
.section-image-text .section-image {
  order: 1;
}
.section-image-text .image-text-copy {
  order: 2;
}
.section-image-text.image-right .section-image {
  order: 2;
}
.section-image-text.image-right .image-text-copy {
  order: 1;
}
.section-image {
  background: linear-gradient(180deg, color-mix(in srgb, var(--site-surface-card, #ffffff) 86%, var(--site-color-canvas, #f8fafc) 14%), color-mix(in srgb, var(--site-surface-card, #ffffff) 96%, white 4%));
  border: 1px solid var(--site-color-border, #d6e1ea);
  border-radius: var(--site-radius-card, 1.4rem);
  padding: 0.75rem;
}
.section-image img {
  width: 100%;
  display: block;
  border-radius: var(--site-radius-image, 1.25rem);
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.section-cta-banner {
  background:
    linear-gradient(135deg, var(--site-color-brand-secondary, #0f172a), color-mix(in srgb, var(--site-color-brand-primary, #1f6feb) 65%, black 35%));
  color: #fff;
}
.section-cta-banner h2,
.section-cta-banner .section-copy,
.section-cta-banner a {
  color: #fff;
}
.section-cta-banner .button {
  background: linear-gradient(135deg, var(--site-color-accent, #f97316), color-mix(in srgb, var(--site-color-accent, #f97316) 60%, black 40%));
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
}
.public-site .button {
  background: var(--site-button-bg, #1f6feb);
  color: var(--site-button-fg, #ffffff);
  border: 1px solid var(--site-button-border, transparent);
  border-radius: var(--site-radius-button, 0.95rem);
  box-shadow: var(--site-button-shadow, 0 16px 32px rgba(15, 23, 42, 0.18));
}
body.admin-shell-route,
body.admin-shell-route {
  --shell-bg: #f6f8fb;
  --shell-panel: #ffffff;
  --shell-panel-strong: #eef3f8;
  --shell-card: #ffffff;
  --shell-border: rgba(31, 45, 61, 0.14);
  --shell-text: #172033;
  --shell-muted: #5f6f84;
  --shell-link: #0f6391;
  --shell-accent: #2563eb;
  --shell-accent-soft: #e9f0ff;
  --shell-success: #167a4a;
  --shell-warning: #9a6400;
  --shell-critical: #b42318;
  --shell-sidebar-width: 18rem;
  --shell-sidebar-collapsed-width: 5.25rem;
  background: #f6f8fb;
  color: var(--shell-text);
  min-height: 100vh;
  overflow-x: clip;
}
body.admin-shell-route[data-shell-theme="dark"],
body.admin-shell-route[data-shell-theme="dark"] {
  --shell-bg: #07111f;
  --shell-panel: #101a28;
  --shell-panel-strong: #182435;
  --shell-card: #111c2b;
  --shell-border: rgba(148, 163, 184, 0.22);
  --shell-text: #f5f8fc;
  --shell-muted: #a9b6c8;
  --shell-link: #8fc7ff;
  --shell-accent: #68a3ff;
  --shell-accent-soft: rgba(104, 163, 255, 0.14);
  --shell-success: #5fd790;
  --shell-warning: #f7c15f;
  --shell-critical: #ff8d8d;
  background: #07111f;
}
body.admin-shell-route a,
body.admin-shell-route a { color: var(--shell-link); }
body.admin-shell-route .settings-section-divider,
body.admin-shell-route .settings-section-divider {
  border-top-color: var(--shell-border);
}
body.admin-shell-route button,
body.admin-shell-route .button,
body.admin-shell-route button,
body.admin-shell-route .button {
  min-height: 2.35rem;
  border-radius: 6px;
  background: #176b96;
  border: 1px solid #176b96;
  color: #ffffff;
  box-shadow: none;
}
body.admin-shell-route .toolbar a.button,
body.admin-shell-route .toolbar a.button {
  color: #ffffff;
}
body.admin-shell-route button.secondary,
body.admin-shell-route .button.secondary,
body.admin-shell-route button.secondary,
body.admin-shell-route .button.secondary {
  background: var(--shell-panel-strong);
  border-color: var(--shell-border);
  color: var(--shell-text);
}
body.admin-shell-route .toolbar a.button.secondary,
body.admin-shell-route .toolbar a.button.secondary {
  color: var(--shell-text);
}
body.admin-shell-route .button.linklike,
body.admin-shell-route button.linklike,
body.admin-shell-route .button.linklike,
body.admin-shell-route button.linklike {
  min-height: auto;
  border: 0;
  background: transparent;
  color: var(--shell-link);
  padding: 0;
}
body.admin-shell-route .button.danger,
body.admin-shell-route button.danger,
body.admin-shell-route .button.critical,
body.admin-shell-route button.critical,
body.admin-shell-route .button.danger,
body.admin-shell-route button.danger,
body.admin-shell-route .button.critical,
body.admin-shell-route button.critical {
  background: var(--shell-danger-soft);
  color: var(--shell-critical);
  border: 1px solid color-mix(in srgb, var(--shell-critical) 42%, var(--shell-border));
  box-shadow: none;
}
body.admin-shell-route .button.danger:hover,
body.admin-shell-route button.danger:hover,
body.admin-shell-route .button.critical:hover,
body.admin-shell-route button.critical:hover,
body.admin-shell-route .button.danger:hover,
body.admin-shell-route button.danger:hover,
body.admin-shell-route .button.critical:hover,
body.admin-shell-route button.critical:hover {
  background: color-mix(in srgb, var(--shell-critical) 14%, var(--shell-panel));
  text-decoration: none;
}
.page-list-table th:nth-child(1),
.page-list-table td:nth-child(1) {
  width: 48%;
}
.page-list-table th:nth-child(2),
.page-list-table td:nth-child(2) {
  width: 14rem;
}
.page-list-table th:nth-child(3),
.page-list-table td:nth-child(3) {
  width: 14rem;
}
.page-list-table th:nth-child(4),
.page-list-table td:nth-child(4) {
  width: min(24rem, 38vw);
  min-width: 16rem;
}
.page-list-table td {
  vertical-align: top;
}
.page-row-actions,
.page-row-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.page-row-actions {
  justify-content: flex-start;
}
.page-row-inline-form {
  display: inline-flex;
  margin: 0;
  flex: 0 0 auto;
}
.page-row-actions .button {
  min-height: 2.15rem;
  padding: 0.5rem 0.72rem;
  white-space: nowrap;
}
.page-row-status-label {
  color: var(--shell-muted, #5f6f84);
  font-size: 0.86rem;
  font-weight: 700;
  white-space: nowrap;
}
.page-status-toggle {
  width: 2.15rem;
  min-width: 2.15rem;
  min-height: 2.15rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  line-height: 1;
}
.page-status-toggle.is-published {
  background: color-mix(in srgb, var(--shell-success, #167a4a) 18%, var(--shell-panel, #ffffff));
  border-color: color-mix(in srgb, var(--shell-success, #167a4a) 45%, var(--shell-border, rgba(31, 45, 61, 0.14)));
  color: var(--shell-success, #167a4a);
}
.page-status-toggle.is-unpublished {
  background: color-mix(in srgb, var(--shell-critical, #b42318) 9%, var(--shell-panel, #ffffff));
  border-color: color-mix(in srgb, var(--shell-critical, #b42318) 32%, var(--shell-border, rgba(31, 45, 61, 0.14)));
  color: var(--shell-critical, #b42318);
}
.page-status-toggle:disabled {
  cursor: default;
  opacity: 0.78;
}
body.admin-shell-route header.app-shell-sidebar,
body.admin-shell-route header.app-shell-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--shell-sidebar-width);
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  z-index: 60;
  background: #ffffff;
  border-right: 1px solid var(--shell-border);
  box-shadow: 1px 0 0 rgba(31, 45, 61, 0.04);
}
.app-shell-sidebar {
  scrollbar-width: thin;
  scrollbar-color: var(--shell-border) transparent;
}
body[data-shell-theme="dark"].admin-shell-route header.app-shell-sidebar,
body[data-shell-theme="dark"].admin-shell-route header.app-shell-sidebar {
  background: #0d1724;
}
body.admin-shell-route .brand-bar,
body.admin-shell-route .brand-bar {
  padding: 1rem 0.9rem 0.9rem;
  display: block;
  border-bottom: 1px solid var(--shell-border);
}
body.admin-shell-route .brand-lockup,
body.admin-shell-route .brand-lockup { gap: 0.8rem; }
body.admin-shell-route .brand-logo,
body.admin-shell-route .brand-logo {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.7rem;
  object-fit: cover;
}
body.admin-shell-route .brand-name,
body.admin-shell-route .brand-name {
  color: var(--shell-text);
  font-size: 1.08rem;
  letter-spacing: 0;
}
body.admin-shell-route .brand-product,
body.admin-shell-route .brand-product,
body.admin-shell-route .brand-site,
body.admin-shell-route .brand-site,
body.admin-shell-route .header-meta,
body.admin-shell-route .header-meta { color: var(--shell-muted); }
body.admin-shell-route .nav,
body.admin-shell-route .nav {
  display: block;
  flex: 1;
  overflow-y: auto;
  margin: 0;
  padding: 0.8rem 0.55rem 1.2rem;
}
.app-shell-nav-section {
  border: 0;
  margin: 0.25rem 0 0.5rem;
}
.app-shell-nav-section > summary {
  color: var(--shell-muted);
  cursor: pointer;
  list-style: none;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.7rem 0.55rem 0.35rem;
}
.app-shell-nav-section > summary::-webkit-details-marker { display: none; }
.app-shell-nav-section a,
body.admin-shell-route .nav > a,
body.admin-shell-route .nav > a {
  display: flex;
  align-items: center;
  gap: 0.72rem;
  min-height: 2.35rem;
  margin: 0.14rem 0;
  padding: 0.56rem 0.72rem;
  color: var(--shell-text);
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
}
.app-shell-nav-section[hidden],
.app-shell-nav-section a[hidden],
body.admin-shell-route .nav > a[hidden],
body.admin-shell-route .nav > a[hidden] {
  display: none !important;
}
.app-shell-nav-section a:hover,
body.admin-shell-route .nav > a:hover,
body.admin-shell-route .nav > a:hover {
  text-decoration: none;
  background: var(--shell-panel-strong);
  border-color: var(--shell-border);
}
.app-shell-nav-section a.is-active,
body.admin-shell-route .nav > a.is-active,
body.admin-shell-route .nav > a.is-active {
  background: var(--shell-accent-soft);
  color: var(--shell-text);
  border-color: color-mix(in srgb, var(--shell-accent) 36%, var(--shell-border));
  box-shadow: inset 3px 0 0 var(--shell-accent);
}
.app-shell-nav-icon {
  width: 1.35rem;
  text-align: center;
  font-size: 1rem;
  flex: 0 0 auto;
}
.app-shell-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 4rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  margin: -1.25rem -1.25rem 1.25rem;
  background: color-mix(in srgb, var(--shell-panel) 94%, transparent);
  border-bottom: 1px solid var(--shell-border);
  backdrop-filter: blur(12px);
}
.app-shell-icon-button,
.app-shell-topbar a.app-shell-topbar-link {
  min-width: 2.35rem;
  min-height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border-radius: 6px;
  border: 1px solid var(--shell-border);
  background: var(--shell-card);
  color: var(--shell-text);
  box-shadow: none;
  padding: 0.55rem 0.7rem;
}
body.admin-shell-route .app-shell-icon-button[data-shell-mobile-menu],
body.admin-shell-route .app-shell-icon-button[data-shell-mobile-menu] {
  display: none;
}
.app-shell-search {
  max-width: 24rem;
  flex: 1 1 16rem;
  background: var(--shell-card);
  color: var(--shell-text);
  border-color: var(--shell-border);
}
.app-shell-mode-toggle,
.app-shell-command-button {
  min-height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border-radius: 6px;
  border: 1px solid var(--shell-border);
  background: var(--shell-card);
  color: var(--shell-text);
  box-shadow: none;
  padding: 0.55rem 0.75rem;
  white-space: nowrap;
}
.app-shell-mode-toggle[aria-pressed="true"] {
  background: var(--shell-accent-soft);
  border-color: color-mix(in srgb, var(--shell-accent) 36%, var(--shell-border));
}
.app-shell-command-button span {
  color: var(--shell-muted);
  font-size: 0.76rem;
  font-weight: 700;
}
.app-shell-command-dialog[hidden] {
  display: none !important;
}
.app-shell-command-dialog {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: start center;
  padding: min(12vh, 6rem) 1rem 1rem;
}
.app-shell-command-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 17, 31, 0.5);
}
.app-shell-command-panel {
  position: relative;
  width: min(100%, 40rem);
  max-height: min(72vh, 42rem);
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-card);
  color: var(--shell-text);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}
.app-shell-command-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.app-shell-command-header h2 {
  margin: 0;
  font-size: 1rem;
}
.app-shell-command-close {
  min-width: 2.35rem;
  padding: 0.35rem 0.6rem;
}
.app-shell-command-results {
  display: grid;
  gap: 0.35rem;
  overflow: auto;
}
.app-shell-command-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  min-height: 2.65rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--shell-border);
  border-radius: 6px;
  background: var(--shell-panel);
  color: var(--shell-text);
}
.app-shell-command-result:hover,
.app-shell-command-result:focus-visible {
  text-decoration: none;
  background: var(--shell-panel-strong);
}
.app-shell-command-result small,
.app-shell-command-empty {
  color: var(--shell-muted);
}
.app-shell-command-empty {
  margin: 0;
  padding: 0.75rem;
  border: 1px dashed var(--shell-border);
  border-radius: 6px;
}
.tutorial-coach-target {
  position: relative;
  z-index: 2;
  outline: 3px solid color-mix(in srgb, var(--shell-accent) 78%, white);
  outline-offset: 4px;
  scroll-margin: 7rem;
  border-radius: 6px;
  animation: tutorial-target-arrival 360ms ease-out both;
}
.guided-context-coach {
  position: fixed;
  z-index: 900;
  width: min(23rem, calc(100vw - 2rem));
  max-height: min(31rem, calc(100vh - 2rem));
  display: grid;
  gap: 0.8rem;
  overflow: auto;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--shell-accent) 32%, var(--shell-border));
  border-radius: 10px;
  background: var(--shell-card);
  color: var(--shell-text);
  box-shadow: 0 22px 54px rgba(7, 17, 31, 0.22);
  animation: tutorial-coach-arrival 240ms ease-out both;
}
.guided-context-coach::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--shell-accent);
}
.guided-context-coach header,
.guided-context-coach footer,
.guided-context-coach form {
  margin: 0;
}
.guided-context-coach header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.35rem 0.75rem;
  align-items: start;
}
.guided-context-coach .eyebrow {
  margin: 0;
  color: var(--shell-accent);
}
.guided-context-coach h2 {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--shell-text);
  font-size: 1.05rem;
  line-height: 1.3;
}
.guided-context-coach p {
  margin: 0;
  color: var(--shell-muted);
  line-height: 1.55;
}
.guided-context-coach progress {
  width: 100%;
  height: 0.35rem;
  accent-color: var(--shell-accent);
}
.guided-context-coach-actions,
.guided-context-coach-secondary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.guided-context-coach-secondary {
  justify-content: space-between;
  padding-top: 0.7rem;
  border-top: 1px solid var(--shell-border);
}
.guided-context-coach .button,
.guided-context-coach button {
  min-height: 2.35rem;
}
.guided-context-coach .button.is-quiet {
  background: transparent;
  border-color: transparent;
  color: var(--shell-muted);
}
.guided-context-coach-close {
  min-width: 2.2rem;
  min-height: 2.2rem;
  padding: 0.25rem;
  border: 1px solid var(--shell-border);
  border-radius: 6px;
  background: transparent;
  color: var(--shell-muted);
  line-height: 1;
}
@keyframes tutorial-coach-arrival {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes tutorial-target-arrival {
  from { outline-color: transparent; }
  to { outline-color: color-mix(in srgb, var(--shell-accent) 78%, white); }
}
@media (prefers-reduced-motion: reduce) {
  .guided-context-coach,
  .tutorial-coach-target {
    animation: none;
  }
}
@media (max-width: 680px) {
  .guided-context-coach {
    inset: auto 0.75rem 0.75rem 0.75rem !important;
    width: auto;
    max-height: min(55vh, 29rem);
  }
}
body.admin-shell-route main,
body.admin-shell-route main {
  max-width: none;
  width: auto;
  max-width: 100%;
  min-height: 100vh;
  margin: 0 0 0 var(--shell-sidebar-width);
  padding: 1.25rem;
  overflow-x: clip;
}
body.admin-shell-route .card,
body.admin-shell-route .card {
  background: var(--shell-card);
  color: var(--shell-text);
  border-color: var(--shell-border);
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}
body.admin-shell-route main > h1:first-child,
body.admin-shell-route main > h1:first-child {
  margin: 0 0 1rem;
  font-size: 1.45rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--shell-text);
}
body.admin-shell-route main > .toolbar:first-child,
body.admin-shell-route main > .toolbar:first-child {
  margin-bottom: 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--shell-border);
}
body.admin-shell-route th,
body.admin-shell-route th { color: var(--shell-muted); }
body.admin-shell-route td,
body.admin-shell-route th,
body.admin-shell-route td,
body.admin-shell-route th { border-bottom-color: var(--shell-border); }
body.admin-shell-route .muted,
body.admin-shell-route .muted { color: var(--shell-muted); }
body.admin-shell-route input,
body.admin-shell-route textarea,
body.admin-shell-route select,
body.admin-shell-route input,
body.admin-shell-route textarea,
body.admin-shell-route select {
  background: var(--shell-panel);
  color: var(--shell-text);
  border-color: var(--shell-border);
  border-radius: 6px;
}
body.admin-shell-route[data-shell-theme="dark"] input,
body.admin-shell-route[data-shell-theme="dark"] textarea,
body.admin-shell-route[data-shell-theme="dark"] select,
body.admin-shell-route[data-shell-theme="dark"] input,
body.admin-shell-route[data-shell-theme="dark"] textarea,
body.admin-shell-route[data-shell-theme="dark"] select {
  background: color-mix(in srgb, var(--shell-panel) 92%, #000 8%);
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell),
body.admin-shell-route main:not(.canvas-app-shell) {
  --shell-row-hover: color-mix(in srgb, var(--shell-accent) 6%, var(--shell-panel));
  --shell-table-header: color-mix(in srgb, var(--shell-panel-strong) 82%, var(--shell-panel));
  --shell-danger-soft: color-mix(in srgb, var(--shell-critical) 10%, var(--shell-panel));
  --shell-warning-soft: color-mix(in srgb, var(--shell-warning) 13%, var(--shell-panel));
  --shell-success-soft: color-mix(in srgb, var(--shell-success) 10%, var(--shell-panel));
  display: block;
  font-variant-numeric: tabular-nums;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) > .card,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) > section.card,
body.admin-shell-route main:not(.canvas-app-shell) > .card,
body.admin-shell-route main:not(.canvas-app-shell) > section.card {
  margin-bottom: 1rem;
  padding: 1rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .toolbar,
body.admin-shell-route main:not(.canvas-app-shell) .toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.7rem;
  min-width: 0;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .toolbar h2,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .toolbar h3,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .toolbar h1,
body.admin-shell-route main:not(.canvas-app-shell) .toolbar h2,
body.admin-shell-route main:not(.canvas-app-shell) .toolbar h3,
body.admin-shell-route main:not(.canvas-app-shell) .toolbar h1 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.25;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .toolbar-compact,
body.admin-shell-route main:not(.canvas-app-shell) .toolbar-compact {
  justify-content: flex-start;
  gap: 0.5rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .table-scroll,
body.admin-shell-route main:not(.canvas-app-shell) .table-scroll,
body.admin-shell-route:not(.canvas-editor-route) .table-scroll,
body.admin-shell-route .table-scroll {
  overflow: auto;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-card);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .card > .table-scroll,
body.admin-shell-route main:not(.canvas-app-shell) .card > .table-scroll {
  margin: 0;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) table,
body.admin-shell-route main:not(.canvas-app-shell) table {
  width: 100%;
  max-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.88rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .card:has(> table),
body.admin-shell-route main:not(.canvas-app-shell) .card:has(> table) {
  overflow-x: auto;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .card > table,
body.admin-shell-route main:not(.canvas-app-shell) .card > table {
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  overflow: hidden;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) thead th,
body.admin-shell-route main:not(.canvas-app-shell) thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--shell-table-header);
  color: var(--shell-muted);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) tbody tr:hover td,
body.admin-shell-route main:not(.canvas-app-shell) tbody tr:hover td {
  background: var(--shell-row-hover);
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) th,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) td,
body.admin-shell-route main:not(.canvas-app-shell) th,
body.admin-shell-route main:not(.canvas-app-shell) td {
  padding: 0.68rem 0.78rem;
  vertical-align: top;
  overflow-wrap: anywhere;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) td form,
body.admin-shell-route main:not(.canvas-app-shell) td form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) td form input,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) td form select,
body.admin-shell-route main:not(.canvas-app-shell) td form input,
body.admin-shell-route main:not(.canvas-app-shell) td form select {
  min-height: 2rem;
  max-width: 14rem;
  padding: 0.42rem 0.55rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .stacked-form,
body.admin-shell-route main:not(.canvas-app-shell) .stacked-form {
  display: grid;
  gap: 1rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .stacked-form > h2:first-child,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .stacked-form > h1:first-child,
body.admin-shell-route main:not(.canvas-app-shell) .stacked-form > h2:first-child,
body.admin-shell-route main:not(.canvas-app-shell) .stacked-form > h1:first-child,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .card > h2:first-child,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .card > h1:first-child,
body.admin-shell-route main:not(.canvas-app-shell) .card > h2:first-child,
body.admin-shell-route main:not(.canvas-app-shell) .card > h1:first-child {
  margin-top: 0;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) label,
body.admin-shell-route main:not(.canvas-app-shell) label {
  color: var(--shell-text);
  font-size: 0.86rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) label input,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) label textarea,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) label select,
body.admin-shell-route main:not(.canvas-app-shell) label input,
body.admin-shell-route main:not(.canvas-app-shell) label textarea,
body.admin-shell-route main:not(.canvas-app-shell) label select {
  margin-top: 0.35rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .notice,
body.admin-shell-route main:not(.canvas-app-shell) .notice {
  border: 1px solid color-mix(in srgb, var(--shell-accent) 24%, var(--shell-border));
  border-left: 3px solid var(--shell-accent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-accent-soft) 70%, var(--shell-panel));
  color: var(--shell-text);
  padding: 0.85rem 1rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .warning,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .card.warning,
body.admin-shell-route main:not(.canvas-app-shell) .warning,
body.admin-shell-route main:not(.canvas-app-shell) .card.warning {
  border-color: color-mix(in srgb, var(--shell-warning) 32%, var(--shell-border));
  background: var(--shell-warning-soft);
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .status-pill,
body.admin-shell-route main:not(.canvas-app-shell) .status-pill {
  border: 1px solid color-mix(in srgb, var(--shell-link) 22%, var(--shell-border));
  background: color-mix(in srgb, var(--shell-link) 9%, var(--shell-panel));
  color: var(--shell-link);
  font-weight: 700;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .empty-state,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .crm-empty-state,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .commerce-empty-state,
body.admin-shell-route main:not(.canvas-app-shell) .empty-state,
body.admin-shell-route main:not(.canvas-app-shell) .crm-empty-state,
body.admin-shell-route main:not(.canvas-app-shell) .commerce-empty-state {
  display: grid;
  place-items: center;
  min-height: 12rem;
  padding: 1.5rem;
  border: 1px dashed color-mix(in srgb, var(--shell-border) 80%, var(--shell-muted));
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-panel-strong) 62%, var(--shell-panel));
  text-align: center;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-page-header,
body.admin-shell-route main:not(.canvas-app-shell) .workspace-page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--shell-border);
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-page-header h1,
body.admin-shell-route main:not(.canvas-app-shell) .workspace-page-header h1 {
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.2;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-action-bar,
body.admin-shell-route main:not(.canvas-app-shell) .workspace-action-bar,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-filter-bar,
body.admin-shell-route main:not(.canvas-app-shell) .workspace-filter-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-filter-bar,
body.admin-shell-route main:not(.canvas-app-shell) .workspace-filter-bar {
  padding: 0.75rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-panel-strong) 58%, var(--shell-panel));
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-summary-grid,
body.admin-shell-route main:not(.canvas-app-shell) .workspace-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  gap: 0.75rem;
  margin: 1rem 0;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-summary-grid > *,
body.admin-shell-route main:not(.canvas-app-shell) .workspace-summary-grid > * {
  display: grid;
  gap: 0.2rem;
  min-height: 4.75rem;
  padding: 0.8rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-card);
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-summary-grid strong,
body.admin-shell-route main:not(.canvas-app-shell) .workspace-summary-grid strong {
  color: var(--shell-text);
  font-size: 1.2rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-summary-grid span,
body.admin-shell-route main:not(.canvas-app-shell) .workspace-summary-grid span {
  color: var(--shell-muted);
  font-size: 0.82rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-checkbox-row,
body.admin-shell-route main:not(.canvas-app-shell) .workspace-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  min-height: 2.35rem;
  padding: 0.65rem 0.7rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-card) 94%, var(--shell-panel));
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-checkbox-row input[type="checkbox"],
body.admin-shell-route main:not(.canvas-app-shell) .workspace-checkbox-row input[type="checkbox"] {
  inline-size: 1rem;
  block-size: 1rem;
  min-inline-size: 1rem;
  margin: 0.15rem 0 0;
  flex: 0 0 1rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-support-details,
body.admin-shell-route main:not(.canvas-app-shell) .workspace-support-details {
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-panel-strong) 48%, var(--shell-panel));
  padding: 0.75rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-support-details > summary,
body.admin-shell-route main:not(.canvas-app-shell) .workspace-support-details > summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--shell-text);
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .ai-builder-summary {
  margin-block: 1rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .ai-builder-modal:not([open]) {
  display: none;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .ai-builder-modal {
  width: min(1100px, calc(100vw - 2rem));
  max-width: none;
  max-height: min(860px, calc(100dvh - 2rem));
  margin: auto;
  padding: 0;
  border: 0;
  overflow: visible;
  color: var(--shell-text);
  background: transparent;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .ai-builder-modal::backdrop {
  background: rgba(3, 7, 18, 0.72);
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .ai-builder-dialog {
  width: 100%;
  max-height: min(860px, calc(100dvh - 2rem));
  overflow: auto;
  padding: 1rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-panel);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.42);
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .ai-builder-stepper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block: 0 1rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .ai-builder-stepper button {
  border: 1px solid var(--shell-border);
  border-radius: 999px;
  background: var(--shell-card);
  color: var(--shell-text);
  padding: 0.45rem 0.75rem;
  font-weight: 800;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .ai-builder-stepper button[aria-current="step"] {
  border-color: color-mix(in srgb, var(--shell-accent) 58%, var(--shell-border));
  background: color-mix(in srgb, var(--shell-accent) 22%, var(--shell-card));
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .ai-builder-step[hidden] {
  display: none;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .ai-builder-step {
  display: grid;
  gap: 1rem;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .ai-builder-step > h3:focus {
  outline: 2px solid var(--shell-accent);
  outline-offset: 4px;
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .ai-builder-wizard-actions {
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--shell-border);
  background: var(--shell-panel);
}
body.shell-compact.admin-shell-route header.app-shell-sidebar,
body.shell-compact.admin-shell-route header.app-shell-sidebar {
  width: min(var(--shell-sidebar-width), calc(100vw - 2rem));
  transform: translateX(-100%);
  transition: transform 160ms ease;
}
body.shell-compact.shell-nav-open header.app-shell-sidebar {
  transform: translateX(0);
}
body.shell-compact.admin-shell-route main,
body.shell-compact.admin-shell-route main {
  margin-left: 0;
  padding: 1rem;
}
body.shell-compact.admin-shell-route .app-shell-icon-button[data-shell-mobile-menu],
body.shell-compact.admin-shell-route .app-shell-icon-button[data-shell-mobile-menu] {
  display: inline-flex;
}
body.shell-compact .app-shell-topbar {
  margin: -1rem -1rem 1rem;
  padding: 0.65rem 0.85rem;
  gap: 0.55rem;
}
body.shell-compact .app-shell-search {
  flex: 1 1 min(18rem, 100%);
  min-width: min(14rem, 100%);
  max-width: min(28rem, 100%);
}
body.shell-compact .app-shell-command-button span {
  display: none;
}
body.shell-compact.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) > .card,
body.shell-compact.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) > section.card,
body.shell-compact.admin-shell-route main:not(.canvas-app-shell) > .card,
body.shell-compact.admin-shell-route main:not(.canvas-app-shell) > section.card {
  padding: 0.85rem;
}
body.shell-compact.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-page-header,
body.shell-compact.admin-shell-route main:not(.canvas-app-shell) .workspace-page-header {
  align-items: flex-start;
  flex-wrap: wrap;
}
body.shell-compact.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .table-scroll,
body.shell-compact.admin-shell-route main:not(.canvas-app-shell) .table-scroll,
body.shell-compact.admin-shell-route:not(.canvas-editor-route) .table-scroll,
body.shell-compact.admin-shell-route .table-scroll {
  max-width: 100%;
}
body.shell-compact.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) table,
body.shell-compact.admin-shell-route main:not(.canvas-app-shell) table {
  min-width: max-content;
}
body.shell-compact .page-list-table th:nth-child(4),
body.shell-compact .page-list-table td:nth-child(4) {
  width: auto;
  min-width: 0;
}
body.shell-compact .page-row-actions,
body.shell-compact .page-row-status {
  white-space: normal;
}
body.shell-compact .page-row-actions .button,
body.shell-compact .page-row-status-label {
  white-space: normal;
}
body.shell-compact .canvas-editor-main.canvas-app-shell .canvas-workspace-grid {
  height: calc(100dvh - 4rem);
  min-height: 0;
}
body.shell-compact .canvas-editor-main.canvas-app-shell .canvas-editor-stage {
  min-height: 0;
}
body.shell-compact .canvas-editor-main.canvas-app-shell .canvas-preview-frame {
  min-height: calc(100dvh - 4rem);
}
body.shell-compact .canvas-editor-main.canvas-app-shell .canvas-library-flyout,
body.shell-compact .canvas-editor-main.canvas-app-shell .canvas-side-panel,
body.shell-compact .canvas-editor-main.canvas-app-shell .canvas-structure-drawer.canvas-page-panel {
  height: calc(100dvh - 4rem);
  max-height: calc(100dvh - 4rem);
}
body.shell-compact .canvas-editor-main.canvas-app-shell .canvas-inspector-pane,
body.shell-compact .canvas-editor-main.canvas-app-shell .canvas-inspector-pane.has-selection {
  top: 4.5rem;
  right: 0.5rem;
  bottom: 0.5rem;
  max-height: calc(100dvh - 5rem);
}
body.admin-shell-route main.readiness-command-center {
  display: grid;
  gap: 1rem;
}
body.admin-shell-route .readiness-command-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(min(100%, 19rem), 0.75fr);
  gap: 1rem;
  align-items: stretch;
  padding: 1.2rem;
  border: 1px solid color-mix(in srgb, var(--shell-accent) 24%, var(--shell-border));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--shell-accent) 8%, var(--shell-card)), color-mix(in srgb, var(--shell-success) 8%, var(--shell-panel))),
    var(--shell-card);
}
body.admin-shell-route .readiness-command-copy {
  display: grid;
  align-content: center;
  gap: 0.7rem;
  min-width: 0;
}
body.admin-shell-route .readiness-command-copy h1 {
  margin: 0;
  font-size: 1.85rem;
  line-height: 1.12;
}
body.admin-shell-route .readiness-command-copy p {
  max-width: 58rem;
  margin: 0;
  color: var(--shell-muted);
}
body.admin-shell-route .readiness-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}
body.admin-shell-route .readiness-launch-status,
body.admin-shell-route .readiness-next-panel,
body.admin-shell-route .readiness-snapshot-card,
body.admin-shell-route .readiness-empty-state {
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-card) 94%, var(--shell-panel-strong));
  color: var(--shell-text);
}
body.admin-shell-route .readiness-launch-status {
  display: grid;
  gap: 0.55rem;
  align-content: start;
  padding: 1rem;
}
body.admin-shell-route .readiness-launch-status strong {
  font-size: 1.25rem;
  line-height: 1.18;
}
body.admin-shell-route .readiness-launch-status small,
body.admin-shell-route .readiness-next-panel span,
body.admin-shell-route .readiness-next-panel p,
body.admin-shell-route .readiness-snapshot-card span,
body.admin-shell-route .readiness-snapshot-card small,
body.admin-shell-route .readiness-section-heading p {
  color: var(--shell-muted);
}
body.admin-shell-route .readiness-next-panel {
  display: grid;
  gap: 0.45rem;
  padding: 0.8rem;
}
body.admin-shell-route .readiness-next-panel span {
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}
body.admin-shell-route .readiness-next-panel strong {
  font-size: 1rem;
}
body.admin-shell-route .readiness-next-panel p {
  margin: 0;
  line-height: 1.45;
}
body.admin-shell-route .readiness-next-panel a {
  justify-self: start;
  font-weight: 800;
}
body.admin-shell-route .readiness-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
  gap: 0.75rem;
}
body.admin-shell-route .readiness-snapshot-card {
  display: grid;
  gap: 0.2rem;
  min-height: 5.6rem;
  padding: 0.9rem;
}
body.admin-shell-route .readiness-snapshot-card strong {
  font-size: 1.45rem;
  line-height: 1.1;
}
body.admin-shell-route .readiness-snapshot-ready {
  border-top: 3px solid var(--shell-success);
}
body.admin-shell-route .readiness-snapshot-needs-attention {
  border-top: 3px solid var(--shell-critical);
}
body.admin-shell-route .readiness-snapshot-set-up-when-ready {
  border-top: 3px solid var(--shell-warning);
}
body.admin-shell-route .readiness-snapshot-tasks {
  border-top: 3px solid var(--shell-accent);
}
body.admin-shell-route .readiness-launch-checklist {
  display: grid;
  gap: 0.75rem;
}
body.admin-shell-route .readiness-launch-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.admin-shell-route .readiness-launch-step {
  display: grid;
  gap: 0.65rem;
  min-height: 12rem;
  padding: 0.85rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-card) 90%, var(--shell-panel-strong));
}
body.admin-shell-route .readiness-launch-step h3,
body.admin-shell-route .readiness-area h3,
body.admin-shell-route .readiness-section-heading h2 {
  margin: 0;
  line-height: 1.22;
}
body.admin-shell-route .readiness-launch-step-next {
  border-color: color-mix(in srgb, var(--shell-critical) 36%, var(--shell-border));
  background: color-mix(in srgb, var(--shell-critical) 7%, var(--shell-card));
}
body.admin-shell-route .readiness-area-groups {
  display: grid;
  gap: 1rem;
}
body.admin-shell-route .readiness-area-group {
  display: grid;
  gap: 0.75rem;
}
body.admin-shell-route .readiness-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--shell-border);
}
body.admin-shell-route .readiness-section-heading span {
  min-width: 2.4rem;
  min-height: 2.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-card);
  font-weight: 800;
}
body.admin-shell-route .readiness-area-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 0.75rem;
}
body.admin-shell-route .readiness-area {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0;
}
body.admin-shell-route .readiness-area .workspace-page-header {
  align-items: flex-start;
}
body.admin-shell-route .readiness-area details {
  padding: 0.65rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-panel-strong) 52%, var(--shell-panel));
}
body.admin-shell-route .readiness-area details > summary {
  cursor: pointer;
  font-weight: 800;
}
body.admin-shell-route .readiness-empty-state {
  display: grid;
  gap: 0.35rem;
  padding: 0.9rem;
}
body.admin-shell-route .readiness-empty-state p {
  margin: 0;
  color: var(--shell-muted);
}
body.admin-shell-route .readiness-status-ready,
body.admin-shell-route .readiness-launch-state-done {
  border-color: color-mix(in srgb, var(--shell-success) 34%, var(--shell-border));
  background: color-mix(in srgb, var(--shell-success) 11%, var(--shell-panel));
  color: var(--shell-success);
}
body.admin-shell-route .readiness-status-needs-attention,
body.admin-shell-route .readiness-launch-state-next {
  border-color: color-mix(in srgb, var(--shell-critical) 34%, var(--shell-border));
  background: color-mix(in srgb, var(--shell-critical) 10%, var(--shell-panel));
  color: var(--shell-critical);
}
body.admin-shell-route .readiness-status-set-up-when-ready,
body.admin-shell-route .readiness-launch-state-later,
body.admin-shell-route .readiness-status-ready-with-followups {
  border-color: color-mix(in srgb, var(--shell-warning) 34%, var(--shell-border));
  background: color-mix(in srgb, var(--shell-warning) 11%, var(--shell-panel));
  color: var(--shell-warning);
}
@media (max-width: 760px) {
  body.admin-shell-route .readiness-command-hero,
  body.admin-shell-route .readiness-area-list,
  body.admin-shell-route .readiness-launch-steps {
    grid-template-columns: 1fr;
  }
  body.admin-shell-route .readiness-section-heading,
  body.admin-shell-route .readiness-area .workspace-page-header {
    align-items: flex-start;
    flex-direction: column;
  }
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .admin-danger-zone,
body.admin-shell-route main:not(.canvas-app-shell) .admin-danger-zone,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .danger-zone,
body.admin-shell-route main:not(.canvas-app-shell) .danger-zone {
  border: 1px solid color-mix(in srgb, var(--shell-critical) 30%, var(--shell-border));
  border-left: 3px solid var(--shell-critical);
  border-radius: 8px;
  background: var(--shell-danger-soft);
  padding: 1rem;
}
.ops-site-safety-summary,
.ops-danger-zone,
.ops-action-drawer,
.ops-confirmation-panel,
.ops-step-up-panel {
  border: 1px solid var(--shell-border, #d9e4ec);
  border-radius: 8px;
  background: var(--shell-card, #ffffff);
  padding: 1rem;
}
.ops-site-safety-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(240px, 0.7fr);
  gap: 1rem;
  align-items: start;
  margin-bottom: 1rem;
}
.ops-site-safety-summary h3,
.ops-danger-zone h3,
.ops-panel-header h3,
.ops-confirmation-panel h4,
.ops-step-up-panel h4 {
  margin-top: 0;
}
.ops-safety-checklist {
  display: grid;
  gap: 0.5rem;
}
.ops-safety-checklist span {
  border: 1px solid var(--shell-border, #d9e4ec);
  border-radius: 8px;
  padding: 0.55rem 0.7rem;
  background: color-mix(in srgb, var(--shell-panel, #f6f8fb) 74%, #fff 26%);
  font-weight: 700;
}
.ops-danger-zone {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1rem;
  border-color: color-mix(in srgb, var(--shell-critical, #b42318) 34%, var(--shell-border, #d9e4ec));
  border-left: 3px solid var(--shell-critical, #b42318);
  background: var(--shell-danger-soft, #fff1f0);
}
.ops-panel-header p:last-child {
  color: var(--shell-muted, #536173);
}
.ops-action-drawer-stack {
  display: grid;
  gap: 0.75rem;
}
.ops-action-drawer {
  margin: 0.55rem 0;
}
.ops-action-drawer > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  font-weight: 800;
  color: var(--shell-text, #1f2d3d);
}
.ops-action-drawer > summary small {
  color: var(--shell-muted, #536173);
  font-weight: 600;
  line-height: 1.35;
}
.ops-action-drawer[open] > summary {
  margin-bottom: 0.85rem;
}
.ops-confirmation-panel {
  display: grid;
  gap: 0.85rem;
  background: color-mix(in srgb, var(--shell-card, #ffffff) 88%, var(--shell-panel, #f6f8fb));
}
.ops-step-up-panel {
  background: color-mix(in srgb, var(--shell-link, #1d6fb8) 8%, var(--shell-card, #ffffff));
}
.ops-table-actions {
  min-width: 12rem;
}
.row-action-drawer,
.host-action-drawer {
  padding: 0.7rem;
}
.row-action-drawer > summary,
.host-action-drawer > summary {
  font-size: 0.92rem;
}
body.admin-shell-route .ops-site-safety-summary,
body.admin-shell-route .ops-action-drawer,
body.admin-shell-route .ops-confirmation-panel,
body.admin-shell-route .ops-step-up-panel {
  color: var(--shell-text);
  background: var(--shell-card);
  border-color: var(--shell-border);
}
body.admin-shell-route .ops-danger-zone {
  color: var(--shell-text);
}
body.admin-shell-route[data-shell-theme="dark"] .ops-danger-zone {
  background: color-mix(in srgb, var(--shell-critical) 12%, var(--shell-card));
}
body.admin-shell-route .ops-action-drawer > summary,
body.admin-shell-route .ops-confirmation-panel h4,
body.admin-shell-route .ops-step-up-panel h4 {
  color: var(--shell-text);
}
body.admin-shell-route .ops-action-drawer > summary small,
body.admin-shell-route .ops-panel-header p:last-child {
  color: var(--shell-muted);
}
@media (max-width: 760px) {
  .ops-site-safety-summary {
    grid-template-columns: 1fr;
  }
  .ops-action-drawer > summary {
    flex-direction: column;
    align-items: flex-start;
  }
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .crm-panel,
body.admin-shell-route main:not(.canvas-app-shell) .crm-panel,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .crm-insight-panel,
body.admin-shell-route main:not(.canvas-app-shell) .crm-insight-panel {
  background: var(--shell-card);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .commerce-operations-summary,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .commerce-next-action,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .commerce-ops-table,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .commerce-studio-hero,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .commerce-more-tools,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .commerce-module-page,
body.admin-shell-route main:not(.canvas-app-shell) .commerce-operations-summary,
body.admin-shell-route main:not(.canvas-app-shell) .commerce-next-action,
body.admin-shell-route main:not(.canvas-app-shell) .commerce-ops-table,
body.admin-shell-route main:not(.canvas-app-shell) .commerce-studio-hero,
body.admin-shell-route main:not(.canvas-app-shell) .commerce-more-tools,
body.admin-shell-route main:not(.canvas-app-shell) .commerce-module-page {
  background: var(--shell-card);
  box-shadow: none;
}
body.admin-shell-route .checkbox-card,
body.admin-shell-route .checkbox-card {
  background: color-mix(in srgb, var(--shell-card) 92%, #fff 8%);
  color: var(--shell-text);
  border-color: var(--shell-border);
}
body.admin-shell-route .document-checkbox-row,
body.admin-shell-route .document-checkbox-row,
body.admin-shell-route .access-control-package,
body.admin-shell-route .access-control-package,
body.admin-shell-route .document-merge-tags,
body.admin-shell-route .document-merge-tags,
body.admin-shell-route .document-merge-tag,
body.admin-shell-route .document-merge-tag,
body.admin-shell-route .document-packet-item,
body.admin-shell-route .document-packet-item,
body.admin-shell-route .status-chip,
body.admin-shell-route .status-chip {
  background: color-mix(in srgb, var(--shell-card) 92%, #fff 8%);
  color: var(--shell-text);
  border-color: var(--shell-border);
}
body.admin-shell-route .checkbox-card .muted,
body.admin-shell-route .checkbox-card .muted {
  color: var(--shell-muted);
}
body.admin-shell-route .access-control-permission-choice,
body.admin-shell-route .access-control-permission-choice,
body.admin-shell-route .access-control-package h3,
body.admin-shell-route .access-control-package h3 {
  color: var(--shell-text);
}
body.admin-shell-route .forms-template-card,
body.admin-shell-route .forms-template-card,
body.admin-shell-route .forms-governance-summary,
body.admin-shell-route .forms-governance-summary,
body.admin-shell-route .forms-advanced-governance,
body.admin-shell-route .forms-advanced-governance,
body.admin-shell-route .forms-section-card,
body.admin-shell-route .forms-section-card,
body.admin-shell-route .forms-field-row,
body.admin-shell-route .forms-field-row,
body.admin-shell-route .forms-preview-pane,
body.admin-shell-route .forms-preview-pane,
body.admin-shell-route .forms-preview-section,
body.admin-shell-route .forms-preview-section,
body.admin-shell-route .forms-field-advanced,
body.admin-shell-route .forms-field-advanced,
body.admin-shell-route .forms-filter-panel,
body.admin-shell-route .forms-filter-panel,
body.admin-shell-route .forms-workflow-builder,
body.admin-shell-route .forms-workflow-builder,
body.admin-shell-route .forms-review-panel,
body.admin-shell-route .forms-review-panel,
body.admin-shell-route .forms-submission-summary,
body.admin-shell-route .forms-submission-summary,
body.admin-shell-route .forms-submission-card,
body.admin-shell-route .forms-submission-card,
body.admin-shell-route .forms-rule-list,
body.admin-shell-route .forms-rule-list,
body.admin-shell-route .forms-rule-card,
body.admin-shell-route .forms-rule-card,
body.admin-shell-route .patients-add-to-form-sticky,
body.admin-shell-route .patients-add-to-form-sticky,
body.admin-shell-route .patients-builder-guide,
body.admin-shell-route .patients-builder-guide,
body.admin-shell-route .patients-active-target,
body.admin-shell-route .patients-active-target {
  background: color-mix(in srgb, var(--shell-card) 92%, #fff 8%);
  color: var(--shell-text);
  border-color: var(--shell-border);
}
body.admin-shell-route .forms-template-card span,
body.admin-shell-route .forms-template-card span,
body.admin-shell-route .forms-governance-grid span,
body.admin-shell-route .forms-governance-grid span,
body.admin-shell-route .forms-card-facts span,
body.admin-shell-route .forms-card-facts span,
body.admin-shell-route .forms-submission-kicker,
body.admin-shell-route .forms-submission-kicker,
body.admin-shell-route .forms-submission-form-name,
body.admin-shell-route .forms-submission-form-name,
body.admin-shell-route .forms-submission-date,
body.admin-shell-route .forms-submission-date,
body.admin-shell-route .forms-submission-meta-strip,
body.admin-shell-route .forms-submission-meta-strip,
body.admin-shell-route .forms-submission-meta-chip,
body.admin-shell-route .forms-submission-meta-chip,
body.admin-shell-route .forms-submission-summary-grid span,
body.admin-shell-route .forms-submission-summary-grid span,
body.admin-shell-route .forms-block-picker-label,
body.admin-shell-route .forms-block-picker-label,
body.admin-shell-route .forms-block-move-target,
body.admin-shell-route .forms-block-move-target,
body.admin-shell-route .forms-preview-guidance p,
body.admin-shell-route .forms-preview-guidance p,
body.admin-shell-route .forms-preview-heading p,
body.admin-shell-route .forms-preview-heading p,
body.admin-shell-route .forms-panel-header p:last-child,
body.admin-shell-route .forms-panel-header p:last-child,
body.admin-shell-route .patients-rail-help,
body.admin-shell-route .patients-rail-help,
body.admin-shell-route .patients-active-target,
body.admin-shell-route .patients-active-target,
body.admin-shell-route .patients-builder-guide,
body.admin-shell-route .patients-builder-guide {
  color: var(--shell-muted);
}
body.admin-shell-route .forms-governance-grid strong,
body.admin-shell-route .forms-governance-grid strong,
body.admin-shell-route .forms-card-facts strong,
body.admin-shell-route .forms-card-facts strong,
body.admin-shell-route .forms-submission-reference,
body.admin-shell-route .forms-submission-reference,
body.admin-shell-route .forms-submission-summary-grid strong,
body.admin-shell-route .forms-submission-summary-grid strong,
body.admin-shell-route .forms-advanced-governance > summary,
body.admin-shell-route .forms-advanced-governance > summary,
body.admin-shell-route .forms-field-advanced > summary,
body.admin-shell-route .forms-field-advanced > summary,
body.admin-shell-route .forms-technical-details summary,
body.admin-shell-route .forms-technical-details summary,
body.admin-shell-route .forms-field-row legend,
body.admin-shell-route .forms-field-row legend,
body.admin-shell-route .forms-preview-choice legend,
body.admin-shell-route .forms-preview-choice legend,
body.admin-shell-route .patients-builder-guide strong,
body.admin-shell-route .patients-builder-guide strong {
  color: var(--shell-text);
}
body.admin-shell-route .forms-section-card,
body.admin-shell-route .forms-section-card,
body.admin-shell-route .forms-preview-pane,
body.admin-shell-route .forms-preview-pane,
body.admin-shell-route .forms-block-picker,
body.admin-shell-route .forms-block-picker,
body.admin-shell-route .forms-preview-divider,
body.admin-shell-route .forms-preview-divider {
  border-color: var(--shell-border);
}
body.admin-shell-route .forms-field-builder input[type="checkbox"],
body.admin-shell-route .forms-field-builder input[type="checkbox"] {
  accent-color: var(--shell-accent);
}
body.admin-shell-route .forms-card-cta,
body.admin-shell-route .forms-card-cta {
  color: var(--shell-text);
  background: color-mix(in srgb, var(--shell-card) 88%, var(--shell-bg));
  border-color: var(--shell-border);
}
body.admin-shell-route .forms-card-cta:hover,
body.admin-shell-route .forms-card-cta:focus-visible,
body.admin-shell-route .forms-card-cta:hover,
body.admin-shell-route .forms-card-cta:focus-visible {
  color: var(--shell-accent);
  border-color: color-mix(in srgb, var(--shell-accent) 42%, var(--shell-border));
  background: color-mix(in srgb, var(--shell-accent) 10%, var(--shell-card));
}
body.admin-shell-route .forms-status-pill,
body.admin-shell-route .forms-status-pill {
  color: var(--shell-accent);
  border-color: color-mix(in srgb, var(--shell-accent) 34%, transparent);
  background: color-mix(in srgb, var(--shell-accent) 14%, transparent);
}
body.admin-shell-route .forms-rule-guidance,
body.admin-shell-route .forms-rule-guidance {
  color: var(--shell-text);
  border-color: color-mix(in srgb, var(--shell-accent) 28%, var(--shell-border));
  background: color-mix(in srgb, var(--shell-accent) 10%, var(--shell-card));
}
body.admin-shell-route .forms-technical-details,
body.admin-shell-route .forms-technical-details {
  border-color: var(--shell-border);
}
body.admin-shell-route .forms-technical-details pre,
body.admin-shell-route .forms-technical-details pre {
  background: color-mix(in srgb, var(--shell-bg) 78%, #000 22%);
  color: var(--shell-text);
}
body.admin-shell-route[data-shell-theme="dark"] .forms-submission-card,
body.admin-shell-route[data-shell-theme="dark"] .forms-rule-card,
body.admin-shell-route[data-shell-theme="dark"] .forms-submission-card,
body.admin-shell-route[data-shell-theme="dark"] .forms-rule-card {
  background: color-mix(in srgb, var(--shell-card) 90%, #1e293b 10%);
}
body.admin-shell-route .forms-template-card.is-selected,
body.admin-shell-route .forms-template-card.is-selected {
  background: linear-gradient(135deg, rgba(66, 99, 255, 0.92), rgba(49, 86, 210, 0.72));
  color: #fff;
  border-color: rgba(255, 255, 255, 0.14);
}
body.admin-shell-route .forms-template-card.is-selected span,
body.admin-shell-route .forms-template-card.is-selected span {
  color: #fff;
}
body.admin-shell-route .commerce-operations-summary,
body.admin-shell-route .commerce-next-action,
body.admin-shell-route .commerce-ops-table,
body.admin-shell-route .commerce-studio-hero,
body.admin-shell-route .commerce-hero,
body.admin-shell-route .commerce-loyalty-moment,
body.admin-shell-route .commerce-product-detail,
body.admin-shell-route .commerce-checkout,
body.admin-shell-route .commerce-account,
body.admin-shell-route .commerce-wishlist,
body.admin-shell-route .commerce-review-section,
body.admin-shell-route .commerce-product-reviews,
body.admin-shell-route .commerce-recommendations,
body.admin-shell-route .commerce-product-recommendations,
body.admin-shell-route .commerce-trust-section,
body.admin-shell-route .commerce-module-page,
body.admin-shell-route .commerce-media-editor,
body.admin-shell-route .commerce-more-tools,
body.admin-shell-route .commerce-operations-summary,
body.admin-shell-route .commerce-next-action,
body.admin-shell-route .commerce-ops-table,
body.admin-shell-route .commerce-studio-hero,
body.admin-shell-route .commerce-hero,
body.admin-shell-route .commerce-loyalty-moment,
body.admin-shell-route .commerce-product-detail,
body.admin-shell-route .commerce-checkout,
body.admin-shell-route .commerce-account,
body.admin-shell-route .commerce-wishlist,
body.admin-shell-route .commerce-review-section,
body.admin-shell-route .commerce-product-reviews,
body.admin-shell-route .commerce-recommendations,
body.admin-shell-route .commerce-product-recommendations,
body.admin-shell-route .commerce-trust-section,
body.admin-shell-route .commerce-module-page,
body.admin-shell-route .commerce-media-editor,
body.admin-shell-route .commerce-more-tools {
  background: var(--shell-card);
  color: var(--shell-text);
  border-color: var(--shell-border);
}
body.admin-shell-route .commerce-operations-summary h2,
body.admin-shell-route .commerce-payment-readiness strong,
body.admin-shell-route .commerce-next-action h3,
body.admin-shell-route .commerce-studio-hero h2,
body.admin-shell-route .commerce-hero h1,
body.admin-shell-route .commerce-product-detail h1,
body.admin-shell-route .commerce-cart-hero h1,
body.admin-shell-route .commerce-module-dashboard h2,
body.admin-shell-route .commerce-more-tools summary,
body.admin-shell-route .commerce-product-more summary,
body.admin-shell-route .commerce-product-buybox > p > strong,
body.admin-shell-route .commerce-review-card strong,
body.admin-shell-route .commerce-recommendation-card strong,
body.admin-shell-route .commerce-trust-card strong,
body.admin-shell-route .commerce-review-summary strong,
body.admin-shell-route .commerce-operations-summary h2,
body.admin-shell-route .commerce-payment-readiness strong,
body.admin-shell-route .commerce-next-action h3,
body.admin-shell-route .commerce-studio-hero h2,
body.admin-shell-route .commerce-hero h1,
body.admin-shell-route .commerce-product-detail h1,
body.admin-shell-route .commerce-cart-hero h1,
body.admin-shell-route .commerce-module-dashboard h2,
body.admin-shell-route .commerce-more-tools summary,
body.admin-shell-route .commerce-product-more summary,
body.admin-shell-route .commerce-product-buybox > p > strong,
body.admin-shell-route .commerce-review-card strong,
body.admin-shell-route .commerce-recommendation-card strong,
body.admin-shell-route .commerce-trust-card strong,
body.admin-shell-route .commerce-review-summary strong {
  color: var(--shell-text);
}
body.admin-shell-route .commerce-studio-card,
body.admin-shell-route .commerce-product-card,
body.admin-shell-route .commerce-module-card,
body.admin-shell-route .commerce-launch-steps a,
body.admin-shell-route .commerce-readiness-checklist a,
body.admin-shell-route .commerce-primary-areas a,
body.admin-shell-route .commerce-collection-card,
body.admin-shell-route .commerce-more-tool-grid a,
body.admin-shell-route .commerce-readiness-card,
body.admin-shell-route .commerce-readiness-stats div,
body.admin-shell-route .commerce-payment-readiness,
body.admin-shell-route .commerce-work-surface,
body.admin-shell-route .commerce-checkout-steps li,
body.admin-shell-route .commerce-checkout-panels article,
body.admin-shell-route .commerce-cart-kicker,
body.admin-shell-route .commerce-cart-line,
body.admin-shell-route .commerce-cart-summary,
body.admin-shell-route .commerce-cart-steps li,
body.admin-shell-route .commerce-cart-thumb,
body.admin-shell-route .commerce-cart-empty,
body.admin-shell-route .commerce-wishlist-grid article,
body.admin-shell-route .commerce-trust-list li,
body.admin-shell-route .commerce-trust-card,
body.admin-shell-route .commerce-review-card,
body.admin-shell-route .commerce-recommendation-card,
body.admin-shell-route .commerce-review-summary,
body.admin-shell-route .cart-drawer,
body.admin-shell-route .commerce-media-gallery,
body.admin-shell-route .commerce-media-thumb,
body.admin-shell-route .commerce-category-rail a,
body.admin-shell-route .commerce-module-strip span,
body.admin-shell-route .commerce-media-actions button,
body.admin-shell-route .commerce-studio-card,
body.admin-shell-route .commerce-product-card,
body.admin-shell-route .commerce-module-card,
body.admin-shell-route .commerce-launch-steps a,
body.admin-shell-route .commerce-readiness-checklist a,
body.admin-shell-route .commerce-primary-areas a,
body.admin-shell-route .commerce-collection-card,
body.admin-shell-route .commerce-more-tool-grid a,
body.admin-shell-route .commerce-readiness-card,
body.admin-shell-route .commerce-readiness-stats div,
body.admin-shell-route .commerce-payment-readiness,
body.admin-shell-route .commerce-work-surface,
body.admin-shell-route .commerce-checkout-steps li,
body.admin-shell-route .commerce-checkout-panels article,
body.admin-shell-route .commerce-cart-kicker,
body.admin-shell-route .commerce-cart-line,
body.admin-shell-route .commerce-cart-summary,
body.admin-shell-route .commerce-cart-steps li,
body.admin-shell-route .commerce-cart-thumb,
body.admin-shell-route .commerce-cart-empty,
body.admin-shell-route .commerce-wishlist-grid article,
body.admin-shell-route .commerce-trust-list li,
body.admin-shell-route .commerce-trust-card,
body.admin-shell-route .commerce-review-card,
body.admin-shell-route .commerce-recommendation-card,
body.admin-shell-route .commerce-review-summary,
body.admin-shell-route .cart-drawer,
body.admin-shell-route .commerce-media-gallery,
body.admin-shell-route .commerce-media-thumb,
body.admin-shell-route .commerce-category-rail a,
body.admin-shell-route .commerce-module-strip span,
body.admin-shell-route .commerce-media-actions button {
  background: color-mix(in srgb, var(--shell-card) 96%, var(--shell-panel) 4%);
  color: var(--shell-text);
  border-color: var(--shell-border);
}
body.admin-shell-route .stripe-connect-page,
body.admin-shell-route .stripe-connect-page {
  color: var(--shell-text);
}
body.admin-shell-route .stripe-connect-page-heading h2,
body.admin-shell-route .stripe-connect-hero h3,
body.admin-shell-route .stripe-connect-action h3,
body.admin-shell-route .stripe-connect-check strong,
body.admin-shell-route .stripe-connect-hero dd,
body.admin-shell-route .stripe-connect-support dd,
body.admin-shell-route .stripe-connect-support summary,
body.admin-shell-route .stripe-connect-page-heading h2,
body.admin-shell-route .stripe-connect-hero h3,
body.admin-shell-route .stripe-connect-action h3,
body.admin-shell-route .stripe-connect-check strong,
body.admin-shell-route .stripe-connect-hero dd,
body.admin-shell-route .stripe-connect-support dd,
body.admin-shell-route .stripe-connect-support summary {
  color: var(--shell-text);
}
body.admin-shell-route .stripe-connect-hero,
body.admin-shell-route .stripe-connect-hero {
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--shell-accent) 18%, transparent), transparent 36%),
    linear-gradient(135deg, color-mix(in srgb, var(--shell-card) 92%, var(--shell-success-soft) 8%), color-mix(in srgb, var(--shell-panel) 72%, var(--shell-card) 28%));
  border-color: color-mix(in srgb, var(--shell-success) 24%, var(--shell-border));
}
body.admin-shell-route .stripe-connect-hero.needs-action,
body.admin-shell-route .stripe-connect-hero.needs-action {
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--shell-warning) 18%, transparent), transparent 36%),
    linear-gradient(135deg, color-mix(in srgb, var(--shell-card) 90%, var(--shell-warning-soft) 10%), color-mix(in srgb, var(--shell-panel) 78%, var(--shell-card) 22%));
  border-color: color-mix(in srgb, var(--shell-warning) 34%, var(--shell-border));
}
body.admin-shell-route .stripe-connect-hero dl,
body.admin-shell-route .stripe-connect-check,
body.admin-shell-route .stripe-connect-action,
body.admin-shell-route .stripe-connect-support,
body.admin-shell-route .stripe-connect-hero dl,
body.admin-shell-route .stripe-connect-check,
body.admin-shell-route .stripe-connect-action,
body.admin-shell-route .stripe-connect-support {
  background: color-mix(in srgb, var(--shell-card) 94%, var(--shell-panel) 6%);
  border-color: var(--shell-border);
}
body.admin-shell-route .commerce-picture-preview,
body.admin-shell-route .commerce-picture-preview {
  background: color-mix(in srgb, var(--shell-panel-strong) 88%, #fff 12%);
  color: var(--shell-text);
  border-color: var(--shell-border);
}
body.admin-shell-route .commerce-status-pill,
body.admin-shell-route .commerce-product-kicker,
body.admin-shell-route .commerce-status-pill,
body.admin-shell-route .commerce-product-kicker {
  background: var(--shell-accent-soft);
  color: var(--shell-link);
  border-color: var(--shell-border);
}
body.admin-shell-route .commerce-status-pill.is-complete,
body.admin-shell-route .commerce-status-pill.is-complete {
  background: var(--shell-success-soft);
  color: var(--shell-success);
  border-color: color-mix(in srgb, var(--shell-success) 34%, var(--shell-border));
}
body.admin-shell-route .commerce-status-pill.is-partial,
body.admin-shell-route .commerce-status-pill.is-partial {
  background: var(--shell-warning-soft);
  color: var(--shell-warning);
  border-color: color-mix(in srgb, var(--shell-warning) 34%, var(--shell-border));
}
body.admin-shell-route .commerce-status-pill.is-not-ready,
body.admin-shell-route .commerce-status-pill.is-not-ready {
  background: var(--shell-danger-soft);
  color: var(--shell-critical);
  border-color: color-mix(in srgb, var(--shell-critical) 34%, var(--shell-border));
}
body.admin-shell-route .commerce-guided-layout,
body.admin-shell-route .commerce-guided-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(min(100%, 20rem), 0.32fr);
  gap: 1rem;
  align-items: start;
}
body.admin-shell-route .commerce-guided-main,
body.admin-shell-route .commerce-guided-main {
  min-width: 0;
}
body.admin-shell-route .commerce-setup-todo,
body.admin-shell-route .commerce-setup-todo {
  position: sticky;
  top: 1rem;
  z-index: 5;
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid color-mix(in srgb, var(--shell-accent) 26%, var(--shell-border));
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-card) 94%, var(--shell-accent-soft));
  color: var(--shell-text);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.14);
}
body.admin-shell-route .commerce-setup-todo-head,
body.admin-shell-route .commerce-setup-todo-head {
  display: grid;
  gap: 0.25rem;
}
body.admin-shell-route .commerce-setup-todo-head span,
body.admin-shell-route .commerce-setup-todo-head span {
  color: var(--shell-link);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
body.admin-shell-route .commerce-setup-todo-head strong,
body.admin-shell-route .commerce-setup-todo-head strong {
  color: var(--shell-text);
  font-size: 1.08rem;
}
body.admin-shell-route .commerce-setup-todo-head p,
body.admin-shell-route .commerce-setup-todo-head p {
  margin: 0;
  color: var(--shell-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}
body.admin-shell-route .commerce-setup-todo ol,
body.admin-shell-route .commerce-setup-todo ol {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.admin-shell-route .commerce-setup-step a,
body.admin-shell-route .commerce-setup-step a {
  display: grid;
  gap: 0.28rem;
  padding: 0.62rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-card) 94%, var(--shell-panel));
  color: var(--shell-text);
  text-decoration: none;
}
body.admin-shell-route .commerce-setup-step a:hover,
body.admin-shell-route .commerce-setup-step a:focus-visible,
body.admin-shell-route .commerce-setup-step a:hover,
body.admin-shell-route .commerce-setup-step a:focus-visible {
  border-color: color-mix(in srgb, var(--shell-accent) 46%, var(--shell-border));
  background: color-mix(in srgb, var(--shell-accent) 9%, var(--shell-card));
}
body.admin-shell-route .commerce-setup-step.is-not-ready a,
body.admin-shell-route .commerce-setup-step.is-not-ready a {
  border-left: 3px solid var(--shell-critical);
}
body.admin-shell-route .commerce-setup-step.is-partial a,
body.admin-shell-route .commerce-setup-step.is-partial a,
body.admin-shell-route .commerce-setup-step.is-later a,
body.admin-shell-route .commerce-setup-step.is-later a {
  border-left: 3px solid var(--shell-warning);
}
body.admin-shell-route .commerce-setup-step.is-complete a,
body.admin-shell-route .commerce-setup-step.is-complete a {
  border-left: 3px solid var(--shell-success);
}
body.admin-shell-route .commerce-setup-step strong,
body.admin-shell-route .commerce-setup-step strong {
  color: var(--shell-text);
  line-height: 1.22;
}
body.admin-shell-route .commerce-setup-step small,
body.admin-shell-route .commerce-setup-step small {
  color: var(--shell-muted);
  line-height: 1.35;
}
body.admin-shell-route .commerce-setup-prompt,
body.admin-shell-route .commerce-setup-prompt {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  margin: 1rem 0;
  padding: 0.85rem;
  border: 1px solid color-mix(in srgb, var(--shell-accent) 30%, var(--shell-border));
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-accent) 8%, var(--shell-card));
}
body.admin-shell-route .commerce-setup-prompt h3,
body.admin-shell-route .commerce-setup-prompt h3,
body.admin-shell-route .commerce-setup-prompt p,
body.admin-shell-route .commerce-setup-prompt p {
  margin: 0;
}
body.admin-shell-route .commerce-setup-prompt p,
body.admin-shell-route .commerce-setup-prompt p {
  color: var(--shell-muted);
  line-height: 1.45;
}
body.admin-shell-route .commerce-setup-marker,
body.admin-shell-route .commerce-setup-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 1.55rem;
  padding: 0.2rem 0.5rem;
  border: 1px solid color-mix(in srgb, var(--shell-accent) 38%, var(--shell-border));
  border-radius: 999px;
  background: var(--shell-accent-soft);
  color: var(--shell-link);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  body.admin-shell-route .commerce-guided-layout,
  body.admin-shell-route .commerce-guided-layout,
  body.admin-shell-route .commerce-setup-prompt,
  body.admin-shell-route .commerce-setup-prompt {
    grid-template-columns: 1fr;
  }
  body.admin-shell-route .commerce-setup-todo,
  body.admin-shell-route .commerce-setup-todo {
    position: static;
    order: -1;
  }
}
body.admin-shell-route .commerce-sale-badge,
body.admin-shell-route .commerce-price-sale,
body.admin-shell-route .commerce-sale-badge,
body.admin-shell-route .commerce-price-sale {
  color: var(--shell-warning);
}
body.admin-shell-route .commerce-sale-badge,
body.admin-shell-route .commerce-sale-badge {
  background: var(--shell-warning-soft);
  border-color: color-mix(in srgb, var(--shell-warning) 34%, var(--shell-border));
}
body.admin-shell-route .commerce-stock-badge,
body.admin-shell-route .commerce-stock-badge {
  background: var(--shell-success-soft);
  color: var(--shell-success);
  border-color: color-mix(in srgb, var(--shell-success) 34%, var(--shell-border));
}
body.admin-shell-route .commerce-stock-badge.is-low,
body.admin-shell-route .commerce-stock-badge[data-stock="low"],
body.admin-shell-route .commerce-stock-badge[data-stock-state="low"],
body.admin-shell-route .commerce-stock-badge.is-low,
body.admin-shell-route .commerce-stock-badge[data-stock="low"],
body.admin-shell-route .commerce-stock-badge[data-stock-state="low"] {
  background: var(--shell-warning-soft);
  color: var(--shell-warning);
  border-color: color-mix(in srgb, var(--shell-warning) 34%, var(--shell-border));
}
body.admin-shell-route .commerce-stock-badge.is-out,
body.admin-shell-route .commerce-stock-badge[data-stock="out"],
body.admin-shell-route .commerce-stock-badge[data-stock-state="out"],
body.admin-shell-route .commerce-stock-badge.is-out,
body.admin-shell-route .commerce-stock-badge[data-stock="out"],
body.admin-shell-route .commerce-stock-badge[data-stock-state="out"] {
  background: var(--shell-danger-soft);
  color: var(--shell-critical);
  border-color: color-mix(in srgb, var(--shell-critical) 34%, var(--shell-border));
}
body.admin-shell-route .commerce-cart-steps li.is-current,
body.admin-shell-route .commerce-cart-steps li.is-current {
  background: color-mix(in srgb, var(--shell-accent) 72%, #0f172a 28%);
  color: #ffffff;
  border-color: color-mix(in srgb, var(--shell-accent) 82%, #ffffff 8%);
}
body.admin-shell-route .commerce-field-error,
body.admin-shell-route .commerce-inline-error,
body.admin-shell-route .commerce-status-message[role="alert"],
body.admin-shell-route .commerce-field-error,
body.admin-shell-route .commerce-inline-error,
body.admin-shell-route .commerce-status-message[role="alert"] {
  background: var(--shell-danger-soft);
  color: var(--shell-critical);
  border-color: color-mix(in srgb, var(--shell-critical) 34%, var(--shell-border));
}
body.admin-shell-route .commerce-studio-card span,
body.admin-shell-route .commerce-product-card span,
body.admin-shell-route .commerce-product-proof,
body.admin-shell-route .commerce-module-card span,
body.admin-shell-route .commerce-launch-steps span,
body.admin-shell-route .commerce-readiness-checklist small,
body.admin-shell-route .commerce-primary-areas span,
body.admin-shell-route .commerce-primary-areas small,
body.admin-shell-route .commerce-collection-card span,
body.admin-shell-route .commerce-collection-card small,
body.admin-shell-route .commerce-more-tool-grid small,
body.admin-shell-route .commerce-readiness-card small,
body.admin-shell-route .commerce-readiness-stats dt,
body.admin-shell-route .commerce-payment-readiness span:not(.commerce-status-pill),
body.admin-shell-route .commerce-launch-card small,
body.admin-shell-route .commerce-product-card small,
body.admin-shell-route .commerce-gallery-proof,
body.admin-shell-route .commerce-cart-hero p:last-child,
body.admin-shell-route .commerce-cart-line-kicker,
body.admin-shell-route .commerce-cart-line-meta,
body.admin-shell-route .commerce-cart-note,
body.admin-shell-route .commerce-cart-summary-heading span,
body.admin-shell-route .commerce-cart-summary-row span,
body.admin-shell-route .commerce-cart-total span,
body.admin-shell-route .commerce-cart-empty p,
body.admin-shell-route .commerce-empty-state span,
body.admin-shell-route .commerce-media-thumb figcaption,
body.admin-shell-route .commerce-trust-list li,
body.admin-shell-route .commerce-trust-card,
body.admin-shell-route .commerce-review-card,
body.admin-shell-route .commerce-recommendation-card,
body.admin-shell-route .commerce-review-summary,
body.admin-shell-route .commerce-checkout-panels article span,
body.admin-shell-route .commerce-wishlist-grid article span,
body.admin-shell-route .commerce-account p,
body.admin-shell-route .commerce-studio-card span,
body.admin-shell-route .commerce-product-card span,
body.admin-shell-route .commerce-product-proof,
body.admin-shell-route .commerce-module-card span,
body.admin-shell-route .commerce-launch-steps span,
body.admin-shell-route .commerce-readiness-checklist small,
body.admin-shell-route .commerce-primary-areas span,
body.admin-shell-route .commerce-primary-areas small,
body.admin-shell-route .commerce-collection-card span,
body.admin-shell-route .commerce-collection-card small,
body.admin-shell-route .commerce-more-tool-grid small,
body.admin-shell-route .commerce-readiness-card small,
body.admin-shell-route .commerce-readiness-stats dt,
body.admin-shell-route .commerce-payment-readiness span:not(.commerce-status-pill),
body.admin-shell-route .commerce-launch-card small,
body.admin-shell-route .commerce-product-card small,
body.admin-shell-route .commerce-gallery-proof,
body.admin-shell-route .commerce-cart-hero p:last-child,
body.admin-shell-route .commerce-cart-line-kicker,
body.admin-shell-route .commerce-cart-line-meta,
body.admin-shell-route .commerce-cart-note,
body.admin-shell-route .commerce-cart-summary-heading span,
body.admin-shell-route .commerce-cart-summary-row span,
body.admin-shell-route .commerce-cart-total span,
body.admin-shell-route .commerce-cart-empty p,
body.admin-shell-route .commerce-empty-state span,
body.admin-shell-route .commerce-media-thumb figcaption,
body.admin-shell-route .commerce-trust-list li,
body.admin-shell-route .commerce-trust-card,
body.admin-shell-route .commerce-review-card,
body.admin-shell-route .commerce-recommendation-card,
body.admin-shell-route .commerce-review-summary,
body.admin-shell-route .commerce-checkout-panels article span,
body.admin-shell-route .commerce-wishlist-grid article span,
body.admin-shell-route .commerce-account p {
  color: var(--shell-muted);
}
body.admin-shell-route .commerce-media-thumb figcaption strong,
body.admin-shell-route .commerce-readiness-stats dd,
body.admin-shell-route .commerce-cart-line-main strong,
body.admin-shell-route .commerce-cart-line-price,
body.admin-shell-route .commerce-cart-summary-heading strong,
body.admin-shell-route .commerce-cart-summary-row strong,
body.admin-shell-route .commerce-cart-total strong,
body.admin-shell-route .commerce-media-thumb figcaption strong,
body.admin-shell-route .commerce-cart-line-main strong,
body.admin-shell-route .commerce-cart-line-price,
body.admin-shell-route .commerce-cart-summary-heading strong,
body.admin-shell-route .commerce-cart-summary-row strong,
body.admin-shell-route .commerce-cart-total strong {
  color: var(--shell-text);
}
body.admin-shell-route .commerce-readiness-stats dd {
  color: var(--shell-text);
}
body.admin-shell-route .commerce-empty-state,
body.admin-shell-route .commerce-empty-state {
  background: color-mix(in srgb, var(--shell-panel) 86%, #fff 8%);
  color: var(--shell-text);
  border-color: var(--shell-border);
}
body.shell-rail-collapsed header.app-shell-sidebar { width: var(--shell-sidebar-collapsed-width); }
body.shell-rail-collapsed main { margin-left: var(--shell-sidebar-collapsed-width); }
body.shell-rail-collapsed .brand-product,
body.shell-rail-collapsed .brand-site,
body.shell-rail-collapsed .brand-name,
body.shell-rail-collapsed .header-meta,
body.shell-rail-collapsed .app-shell-nav-label,
body.shell-rail-collapsed .app-shell-nav-section > summary {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.skip-to-main {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 1000;
  min-height: 2.35rem;
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--shell-border);
  border-radius: 6px;
  background: var(--shell-panel);
  color: var(--shell-text);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
  transform: translateY(-160%);
}
.skip-to-main:focus-visible {
  transform: translateY(0);
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
body.admin-shell-route :is(a, button, input, textarea, select, summary):focus-visible,
body.admin-shell-route :is(a, button, input, textarea, select, summary):focus-visible {
  outline: 2px solid var(--shell-accent);
  outline-offset: 2px;
}
body.admin-shell-route :is(a, button, input, textarea, select, summary):focus:not(:focus-visible),
body.admin-shell-route :is(a, button, input, textarea, select, summary):focus:not(:focus-visible) {
  outline: none;
}
@media (prefers-reduced-motion: reduce) {
  body.admin-shell-route *,
  body.admin-shell-route *::before,
  body.admin-shell-route *::after,
  body.admin-shell-route *,
  body.admin-shell-route *::before,
  body.admin-shell-route *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
.admin-dashboard-grid {
  display: grid;
  gap: 1rem;
}
.admin-dashboard-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}
.admin-dashboard-hero h1 {
  margin: 0 0 0.25rem;
  color: var(--shell-text);
}
.admin-dashboard-hero-actions {
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
}
.admin-dashboard-focus-control {
  display: grid;
  gap: 0.3rem;
  min-width: min(15rem, 100%);
  margin: 0;
  color: var(--shell-muted);
  font-size: 0.82rem;
  font-weight: 700;
}
.admin-dashboard-focus-control select {
  min-height: 2.55rem;
  margin: 0;
  background-color: var(--shell-panel);
  color: var(--shell-text);
}
.admin-dashboard-grid [hidden] {
  display: none !important;
}
.admin-dashboard-today {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  border-color: color-mix(in srgb, var(--shell-accent) 24%, var(--shell-border));
  background: color-mix(in srgb, var(--shell-accent-soft, #eaf2ff) 52%, var(--shell-panel));
}
.admin-dashboard-today h2 {
  margin: 0.35rem 0;
}
.admin-dashboard-today p {
  max-width: 65ch;
}
.admin-dashboard-today .button {
  justify-self: end;
  white-space: nowrap;
}
@media (max-width: 720px) {
  .admin-dashboard-hero {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-dashboard-hero-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-dashboard-focus-control {
    width: 100%;
  }
  .admin-dashboard-today {
    grid-template-columns: 1fr;
  }
  .admin-dashboard-today .button {
    justify-self: stretch;
    text-align: center;
  }
}
.admin-dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.8rem;
}
.admin-dashboard-status-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 26rem));
  gap: 0.8rem;
  align-items: start;
}
.admin-dashboard-status-card {
  display: grid;
  gap: 0.45rem;
  padding: 0.85rem 1rem;
  min-height: 0;
}
.admin-dashboard-status-card h2 {
  margin: 0;
  font-size: 1rem;
}
.admin-dashboard-status-card p {
  margin: 0;
}
.admin-dashboard-status-card .button {
  justify-self: start;
  min-height: 2.25rem;
  padding: 0.55rem 0.8rem;
  box-shadow: none;
}
.admin-dashboard-status-card-action {
  border-color: color-mix(in srgb, var(--shell-warning, #f0b429) 46%, var(--shell-border));
}
.admin-dashboard-metric {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  min-height: 6.5rem;
  min-width: 0;
}
.admin-dashboard-metric > div:last-child {
  min-width: 0;
}
.admin-dashboard-metric-icon {
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(66, 99, 255, 0.18);
  color: var(--shell-primary);
  font-weight: 800;
  line-height: 1;
}
.admin-dashboard-metric strong {
  display: block;
  font-size: 1.55rem;
  color: var(--shell-text);
}
.dashboard-delta-positive { color: var(--shell-success); }
.dashboard-delta-negative { color: var(--shell-critical); }
.admin-dashboard-panels {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(18rem, 0.8fr);
  gap: 1rem;
}
.admin-dashboard-side-stack {
  display: grid;
  gap: 1rem;
  align-content: start;
}
.admin-dashboard-chart {
  height: 16rem;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  align-items: stretch;
  gap: 0.55rem;
  padding-top: 1rem;
}
.admin-dashboard-day {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 0.35rem;
  align-items: stretch;
  min-width: 0;
}
.admin-dashboard-bars {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.18rem;
  min-height: 0;
}
.admin-dashboard-bar {
  width: min(0.55rem, 24%);
  border-radius: 999px 999px 4px 4px;
  min-height: 0;
}
.admin-dashboard-bar.forms { background: #3b82f6; }
.admin-dashboard-bar.bookings { background: #a855f7; }
.admin-dashboard-bar.orders { background: #35d27f; }
.admin-dashboard-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 0.65rem;
  color: var(--shell-muted);
  font-size: 0.82rem;
}
.admin-dashboard-legend span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.admin-dashboard-legend-swatch {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
}
.admin-dashboard-legend-swatch.forms { background: #3b82f6; }
.admin-dashboard-legend-swatch.bookings { background: #a855f7; }
.admin-dashboard-legend-swatch.orders { background: #35d27f; }
.admin-dashboard-day span {
  color: var(--shell-muted);
  font-size: 0.78rem;
  text-align: center;
}
.admin-dashboard-list {
  display: grid;
  gap: 0.65rem;
}
.admin-dashboard-list a {
  display: grid;
  gap: 0.35rem;
  padding: 0.75rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-card) 86%, transparent);
  text-decoration: none;
}
.admin-dashboard-list-title {
  color: var(--shell-text);
  font-weight: 700;
}
.admin-dashboard-list-reference {
  color: var(--shell-muted);
  font-size: 0.88rem;
}
.admin-dashboard-list-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* Compact, business-configurable Home dashboard. */
.admin-dashboard-grid {
  gap: 0.875rem;
  align-content: start;
  container-name: admin-dashboard;
  container-type: inline-size;
}
.admin-dashboard-grid > *,
.admin-dashboard-widgets > * {
  min-width: 0;
}
.admin-dashboard-grid .card,
.admin-dashboard-widgets .card {
  margin-bottom: 0;
}
.admin-dashboard-grid [hidden] {
  display: none !important;
}
.admin-dashboard-hero {
  align-items: center;
  gap: 0.75rem 1rem;
}
.admin-dashboard-hero h1 {
  margin: 0;
  font-size: 1.55rem;
  line-height: 1.2;
}
.admin-dashboard-hero p {
  margin: 0.2rem 0 0;
  line-height: 1.4;
}
.admin-dashboard-hero-actions {
  align-items: flex-end;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 0.5rem;
  min-width: 0;
}
.admin-dashboard-hero-actions form {
  margin: 0;
}
.admin-dashboard-hero-actions :is(button, .button) {
  min-height: 2.75rem;
  white-space: nowrap;
}
.admin-dashboard-focus-control {
  gap: 0.2rem;
  min-width: min(13rem, 100%);
  font-size: 0.76rem;
}
.admin-dashboard-focus-control select {
  min-height: 2.75rem;
  padding-block: 0.5rem;
}

.admin-dashboard-customize {
  position: relative;
  margin: 0;
}
.admin-dashboard-customize-summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--shell-border);
  border-radius: 6px;
  background: var(--shell-panel-strong);
  color: var(--shell-text);
  cursor: pointer;
  font-weight: 700;
  line-height: 1.2;
  list-style: none;
  white-space: nowrap;
}
.admin-dashboard-customize-summary::-webkit-details-marker,
.admin-dashboard-account-status-summary::-webkit-details-marker {
  display: none;
}
.admin-dashboard-customize-summary::after,
.admin-dashboard-account-status-summary::after {
  content: "";
  flex: 0 0 0.45rem;
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-0.1rem);
}
.admin-dashboard-customize[open] > .admin-dashboard-customize-summary::after,
.admin-dashboard-account-status[open] > .admin-dashboard-account-status-summary::after {
  transform: rotate(225deg) translate(-0.1rem, -0.1rem);
}
.admin-dashboard-customize-summary:hover {
  border-color: color-mix(in srgb, var(--shell-accent) 44%, var(--shell-border));
  background: color-mix(in srgb, var(--shell-accent) 8%, var(--shell-panel-strong));
}
.admin-dashboard-customize-panel {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  z-index: 20;
  display: grid;
  gap: 0.85rem;
  inline-size: min(30rem, calc(100vw - 2.5rem));
  max-block-size: min(70vh, 38rem);
  overflow: auto;
  padding: 1rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-card);
  color: var(--shell-text);
  box-shadow: 0 18px 50px rgba(7, 17, 31, 0.24);
}
.admin-dashboard-customize-panel :is(h2, h3, p),
.admin-dashboard-customize-form,
.admin-dashboard-customize-panel form {
  margin: 0;
}
.admin-dashboard-customize-panel h2,
.admin-dashboard-customize-panel h3 {
  font-size: 1rem;
}
.admin-dashboard-customize-panel > p,
.admin-dashboard-customize-live {
  color: var(--shell-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}
.admin-dashboard-customize-form {
  display: grid;
  gap: 0.75rem;
}
.admin-dashboard-customize-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.admin-dashboard-customize-form legend {
  margin-bottom: 0.2rem;
  color: var(--shell-text);
  font-size: 1rem;
  font-weight: 750;
}
.admin-dashboard-customize-form fieldset > p {
  margin: 0 0 0.7rem;
  font-size: 0.84rem;
  line-height: 1.45;
}
.admin-dashboard-customize-list {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.admin-dashboard-customize-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
  min-height: 2.75rem;
  margin: 0;
  padding: 0.5rem 0.6rem;
  border: 1px solid var(--shell-border);
  border-radius: 6px;
  background: color-mix(in srgb, var(--shell-panel) 86%, var(--shell-card));
  color: var(--shell-text);
}
.admin-dashboard-customize-option input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  accent-color: var(--shell-accent);
}
.admin-dashboard-customize-option-copy {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.1rem;
  min-width: 0;
  min-height: 2.75rem;
  margin: 0;
  column-gap: 0.65rem;
}
.admin-dashboard-customize-option-copy > span {
  display: grid;
  gap: 0.1rem;
}
.admin-dashboard-customize-option-copy small {
  display: block;
  color: var(--shell-muted);
  font-weight: 500;
  line-height: 1.35;
}
.admin-dashboard-customize-option.is-unavailable {
  background: color-mix(in srgb, var(--shell-panel-strong) 62%, var(--shell-card));
}
.admin-dashboard-customize-move {
  display: inline-flex;
  gap: 0.3rem;
}
.admin-dashboard-customize-move button {
  display: inline-grid;
  place-items: center;
  width: auto;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.5rem 0.6rem;
  white-space: nowrap;
}
.admin-dashboard-customize-move button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}
.admin-dashboard-customize-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 0.15rem;
}
.admin-dashboard-customize-actions :is(button, .button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  white-space: nowrap;
}

.admin-dashboard-widgets {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0.875rem;
  align-items: start;
}
.admin-dashboard-widget {
  grid-column: span 6;
  min-width: 0;
}
.admin-dashboard-widget-wide,
.admin-dashboard-widget[data-dashboard-widget="metrics"] {
  grid-column: 1 / -1;
}
.admin-dashboard-widget[data-dashboard-widget="activity"],
.admin-dashboard-widget[data-dashboard-widget="forms"] {
  grid-column: span 8;
}
.admin-dashboard-widget[data-dashboard-widget="orders"],
.admin-dashboard-widget[data-dashboard-widget="cases"],
.admin-dashboard-widget[data-dashboard-widget="quick-links"] {
  grid-column: span 4;
}
.admin-dashboard-widget > :is(.card, section, article) {
  min-width: 0;
}

.admin-dashboard-today {
  gap: 0.75rem 1rem;
  padding: 0.8rem 0.9rem;
  border-color: color-mix(in srgb, var(--shell-warning) 42%, var(--shell-border));
  border-left: 3px solid var(--shell-warning);
  background: var(--shell-warning-soft);
}
.admin-dashboard-today > div {
  min-width: 0;
}
.admin-dashboard-today h2 {
  margin: 0.18rem 0;
  font-size: 1.02rem;
  line-height: 1.3;
}
.admin-dashboard-today p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.4;
}
.admin-dashboard-today .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
}
.admin-dashboard-today.admin-dashboard-today-urgent,
.admin-dashboard-today.admin-dashboard-today-action,
.admin-dashboard-today.is-urgent {
  border-color: color-mix(in srgb, var(--shell-critical) 42%, var(--shell-border));
  border-left-color: var(--shell-critical);
  background: var(--shell-danger-soft);
}

.admin-dashboard-payment-alert {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem 1rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid color-mix(in srgb, var(--shell-critical) 42%, var(--shell-border));
  border-left: 3px solid var(--shell-critical);
  border-radius: 8px;
  background: var(--shell-danger-soft);
  color: var(--shell-text);
}
.admin-dashboard-payment-alert :is(h2, h3, p) {
  margin: 0;
}
.admin-dashboard-payment-alert h2,
.admin-dashboard-payment-alert h3 {
  font-size: 1rem;
  line-height: 1.3;
}
.admin-dashboard-payment-alert p {
  margin-top: 0.15rem;
  color: var(--shell-muted);
  font-size: 0.86rem;
  line-height: 1.4;
}
.admin-dashboard-payment-alert :is(.button, button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  white-space: nowrap;
}

.admin-dashboard-metrics {
  grid-template-columns: repeat(auto-fit, minmax(10.75rem, 1fr));
  gap: 0.65rem;
}
.admin-dashboard-metric {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  min-height: 5.35rem;
  padding: 0.75rem 0.8rem;
}
.admin-dashboard-metric-icon {
  width: 2.25rem;
  height: 2.25rem;
  background: var(--shell-accent-soft);
  color: var(--shell-link);
}
.admin-dashboard-metric strong {
  font-size: 1.35rem;
  line-height: 1.15;
}
.admin-dashboard-metric .muted,
.admin-dashboard-metric > div:last-child > span:first-child {
  font-size: 0.8rem;
  line-height: 1.35;
}
.admin-dashboard-metric-status,
.admin-dashboard-metric-action {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  margin-top: 0.15rem;
  font-size: 0.8rem;
  line-height: 1.25;
  vertical-align: middle;
}
.admin-dashboard-metric-status {
  flex-wrap: wrap;
  gap: 0.15rem 0.65rem;
  color: var(--shell-success);
  font-weight: 700;
}
.admin-dashboard-metric-status.is-action,
.admin-dashboard-metric-status.needs-action,
.admin-dashboard-metric-status.is-attention {
  color: var(--shell-critical);
}
.admin-dashboard-metric-action {
  margin-top: 0;
  padding-inline: 0.15rem;
  font-weight: 750;
  white-space: nowrap;
}
.admin-dashboard-panels {
  gap: 0.875rem;
}
.admin-dashboard-side-stack {
  gap: 0.875rem;
}
.admin-dashboard-chart {
  height: 14rem;
}
.admin-dashboard-list {
  gap: 0.5rem;
}
.admin-dashboard-list a {
  min-height: 2.75rem;
  padding: 0.65rem;
}

.admin-dashboard-account-status {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0;
  overflow: clip;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-card);
  color: var(--shell-text);
}
.admin-dashboard-account-status-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 2.75rem;
  padding: 0.65rem 0.8rem;
  color: var(--shell-text);
  cursor: pointer;
  list-style: none;
}
.admin-dashboard-account-status-summary:hover {
  background: var(--shell-row-hover);
}
.admin-dashboard-account-status-summary-copy {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
}
.admin-dashboard-account-status-summary-copy > strong,
.admin-dashboard-account-status-summary-copy > .muted {
  line-height: 1.35;
}
.admin-dashboard-account-status-summary-copy > .muted {
  color: var(--shell-muted);
  font-size: 0.82rem;
  font-weight: 500;
}
.admin-dashboard-account-status-summary-copy > .status-pill {
  justify-self: start;
}
.admin-dashboard-account-status-summary-action {
  margin-left: auto;
  color: var(--shell-link);
  font-size: 0.82rem;
  font-weight: 750;
}
.admin-dashboard-account-status-summary-action .when-open {
  display: none;
}
.admin-dashboard-account-status[open]
  > .admin-dashboard-account-status-summary
  .admin-dashboard-account-status-summary-action
  .when-collapsed {
  display: none;
}
.admin-dashboard-account-status[open]
  > .admin-dashboard-account-status-summary
  .admin-dashboard-account-status-summary-action
  .when-open {
  display: inline;
}
.admin-dashboard-account-status[open] > .admin-dashboard-account-status-summary {
  border-bottom: 1px solid var(--shell-border);
  background: color-mix(in srgb, var(--shell-panel-strong) 58%, var(--shell-card));
}
.admin-dashboard-account-status.is-attention {
  border-color: color-mix(in srgb, var(--shell-critical) 46%, var(--shell-border));
  border-left: 3px solid var(--shell-critical);
}
.admin-dashboard-account-status.is-attention > .admin-dashboard-account-status-summary {
  background: var(--shell-danger-soft);
}
.admin-dashboard-account-status-items {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.admin-dashboard-account-status-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.6rem 1rem;
  min-height: 3.5rem;
  padding: 0.7rem 0.8rem;
}
.admin-dashboard-account-status-item + .admin-dashboard-account-status-item {
  border-top: 1px solid var(--shell-border);
}
.admin-dashboard-account-status-item :is(h2, h3, p) {
  margin: 0;
}
.admin-dashboard-account-status-item h2,
.admin-dashboard-account-status-item h3 {
  font-size: 0.94rem;
  line-height: 1.3;
}
.admin-dashboard-account-status-item p {
  margin-top: 0.12rem;
  color: var(--shell-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}
.admin-dashboard-account-status-today {
  background: color-mix(in srgb, var(--shell-panel-strong) 46%, var(--shell-card));
}
.admin-dashboard-account-status-item.is-action,
.admin-dashboard-account-status-item.needs-action {
  border-left: 3px solid var(--shell-critical);
  background: var(--shell-danger-soft);
}
.admin-dashboard-account-status-item > :is(.button, button),
.admin-dashboard-account-status-item > form :is(.button, button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: end;
  min-height: 2.75rem;
  white-space: nowrap;
}
.admin-dashboard-layout-saved {
  margin: 0;
  padding: 0.65rem 0.8rem;
}

body.admin-shell-route .admin-dashboard-grid :is(
  .admin-dashboard-customize-summary,
  .admin-dashboard-customize-move button,
  .admin-dashboard-customize-actions button,
  .admin-dashboard-today .button,
  .admin-dashboard-payment-alert :is(button, .button),
  .admin-dashboard-metric-action,
  .admin-dashboard-account-status-item :is(button, .button)
) {
  min-height: 2.75rem;
}
.admin-dashboard-empty {
  display: grid;
  place-items: center;
  gap: 0.5rem;
  min-height: 9rem;
  padding: 1.25rem;
  border: 1px dashed var(--shell-border);
  border-radius: 8px;
  color: var(--shell-muted);
  text-align: center;
}
.admin-dashboard-empty :is(h2, h3, p) {
  margin: 0;
}

@media (max-width: 1000px) {
  .admin-dashboard-widget,
  .admin-dashboard-widget[data-dashboard-widget] {
    grid-column: 1 / -1;
  }
  .admin-dashboard-panels {
    grid-template-columns: 1fr;
  }
}
@container admin-dashboard (max-width: 54rem) {
  .admin-dashboard-hero {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-dashboard-hero-actions {
    width: 100%;
    align-items: flex-end;
    justify-content: flex-start;
  }
}
@container admin-dashboard (max-width: 34rem) {
  .admin-dashboard-hero-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    justify-content: stretch;
  }
  .admin-dashboard-hero-actions > *,
  .admin-dashboard-focus-control,
  .admin-dashboard-customize,
  .admin-dashboard-customize-summary,
  .admin-dashboard-hero-actions form,
  .admin-dashboard-hero-actions button {
    width: 100%;
  }
}
@media (max-width: 720px) {
  .admin-dashboard-grid,
  .admin-dashboard-widgets {
    gap: 0.75rem;
  }
  .admin-dashboard-hero {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-dashboard-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    justify-content: stretch;
  }
  .admin-dashboard-hero-actions > *,
  .admin-dashboard-focus-control,
  .admin-dashboard-customize,
  .admin-dashboard-customize-summary {
    width: 100%;
  }
  .admin-dashboard-hero-actions :is(button, .button) {
    width: 100%;
    text-align: center;
  }
  .admin-dashboard-customize-panel {
    position: static;
    inline-size: 100%;
    max-block-size: none;
    margin-top: 0.5rem;
    box-shadow: 0 8px 24px rgba(7, 17, 31, 0.16);
  }
  .admin-dashboard-customize-option {
    grid-template-columns: minmax(0, 1fr);
  }
  .admin-dashboard-customize-move {
    grid-column: 1;
    justify-self: end;
  }
  .admin-dashboard-customize-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .admin-dashboard-customize-actions :is(button, .button) {
    width: 100%;
  }
  .admin-dashboard-widgets {
    grid-template-columns: minmax(0, 1fr);
  }
  .admin-dashboard-widget,
  .admin-dashboard-widget[data-dashboard-widget],
  .admin-dashboard-widget-wide {
    grid-column: 1;
  }
  .admin-dashboard-today,
  .admin-dashboard-payment-alert,
  .admin-dashboard-account-status-item {
    grid-template-columns: minmax(0, 1fr);
  }
  .admin-dashboard-today .button,
  .admin-dashboard-payment-alert :is(.button, button) {
    width: 100%;
    justify-self: stretch;
    text-align: center;
  }
  .admin-dashboard-metrics {
    grid-template-columns: minmax(0, 1fr);
  }
  .admin-dashboard-account-status-summary {
    align-items: flex-start;
  }
  .admin-dashboard-account-status-item > :is(.button, button, form),
  .admin-dashboard-account-status-item > form :is(.button, button) {
    width: 100%;
  }
  .admin-dashboard-chart {
    height: 12rem;
  }
}
.admin-todo-board {
  display: grid;
  gap: 1rem;
}
.admin-todo-widget-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.admin-todo-widget-header h2 {
  margin: 0;
}
.admin-todo-create-drawer {
  position: relative;
}
.admin-todo-create-drawer summary {
  list-style: none;
  cursor: pointer;
}
.admin-todo-create-drawer summary::-webkit-details-marker {
  display: none;
}
.admin-todo-create-drawer[open] {
  inline-size: min(34rem, 100%);
}
.admin-todo-add-form {
  position: absolute;
  right: 0;
  z-index: 5;
  display: grid;
  gap: 0.65rem;
  inline-size: min(28rem, calc(100vw - 3rem));
  margin-top: 0.55rem;
  padding: 0.85rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-card);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}
.admin-todo-add-form label,
.admin-todo-edit-form label {
  display: grid;
  gap: 0.3rem;
  color: var(--shell-muted);
  font-size: 0.82rem;
}
.admin-todo-add-form input,
.admin-todo-add-form select,
.admin-todo-edit-form input,
.admin-todo-edit-form select {
  min-height: 2.55rem;
}
.admin-todo-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.42fr);
  gap: 1rem;
  align-items: stretch;
}
.admin-todo-list-panel,
.admin-todo-detail-panel {
  min-width: 0;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--shell-card) 94%, transparent), color-mix(in srgb, var(--shell-panel) 86%, transparent));
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.18);
}
.admin-todo-list-panel,
.admin-todo-detail-panel {
  padding: 1rem;
}
.admin-todo-lanes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  min-height: 24rem;
}
.admin-todo-simple-lanes {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 0;
}
.admin-todo-page-workspace .admin-todo-list-panel,
.admin-todo-page-workspace .admin-todo-detail-panel {
  min-height: 0;
}
.admin-todo-lane {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 0.7rem;
  border: 1px solid color-mix(in srgb, var(--shell-border) 82%, transparent);
  border-radius: 8px;
  padding: 0.75rem;
  background: color-mix(in srgb, var(--shell-panel) 82%, transparent);
}
.admin-todo-lane-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.admin-todo-lane-heading h3,
.admin-todo-detail-panel h3,
.admin-todo-detail-header h4 {
  margin: 0;
  font-size: 0.98rem;
}
.admin-todo-items {
  display: grid;
  gap: 0.65rem;
}
.admin-todo-card {
  width: 100%;
  min-height: 4.4rem;
  display: grid;
  gap: 0.25rem;
  align-content: center;
  padding: 0.75rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-card) 90%, transparent);
  color: var(--shell-text);
  text-align: left;
  cursor: pointer;
  box-shadow: none;
}
.admin-todo-card:hover,
.admin-todo-card.is-active {
  border-color: color-mix(in srgb, var(--shell-link) 62%, var(--shell-border));
  background: color-mix(in srgb, var(--shell-accent) 12%, var(--shell-card));
}
.admin-todo-card-title {
  font-weight: 800;
  overflow-wrap: anywhere;
}
.admin-todo-card-meta {
  color: var(--shell-muted);
  font-size: 0.78rem;
}
.admin-todo-empty-lane {
  margin: 0;
}
.admin-todo-detail-panel {
  display: grid;
  gap: 0.85rem;
  align-content: start;
  min-height: 24rem;
}
.admin-todo-detail {
  min-height: 20rem;
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
}
.admin-todo-detail[hidden] {
  display: none;
}
.admin-todo-detail-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.admin-todo-detail-header h4 {
  margin-bottom: 0.45rem;
  overflow-wrap: anywhere;
}
.admin-todo-detail-grid {
  grid-template-columns: 1fr;
  padding: 0.85rem;
}
.admin-todo-edit summary {
  min-height: 2rem;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  color: var(--shell-link);
  font-weight: 700;
}
.admin-todo-edit-form {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.65rem;
}
.admin-todo-detail-footer {
  margin-top: auto;
  padding-top: 0.85rem;
  border-top: 1px solid color-mix(in srgb, var(--shell-border) 80%, transparent);
}
.admin-todo-complete-form {
  margin: 0;
}
.admin-todo-done {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.admin-todo-recent-done {
  display: grid;
  gap: 0.7rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--shell-border);
}
.admin-todo-recent-done h3 {
  margin: 0;
  font-size: 0.98rem;
}
.admin-todo-done-list {
  display: grid;
  gap: 0.55rem;
}
.admin-todo-done-row {
  display: grid;
  gap: 0.2rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-panel) 76%, transparent);
}
.admin-todo-empty-detail {
  display: grid;
  place-items: center;
  gap: 0.35rem;
  min-height: 20rem;
  text-align: center;
}
.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.35rem;
  border-radius: 999px;
  padding: 0.15rem 0.5rem;
  font-size: 0.78rem;
  background: rgba(66, 99, 255, 0.16);
  color: var(--shell-link);
}
.crm-shell {
  display: grid;
  gap: 1.1rem;
  max-width: 100%;
}
body.admin-shell-route .crm-shell,
body.admin-shell-route .crm-shell {
  max-width: min(100%, 108rem);
}
.crm-heading {
  display: grid;
  gap: 1rem;
  border-bottom: 1px solid var(--shell-border);
  padding-bottom: 0;
}
.crm-heading h1 {
  margin: 0;
  font-size: 1.45rem;
}
.crm-kicker {
  color: var(--shell-muted);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  margin: 0 0 0.35rem;
  text-transform: uppercase;
}
.crm-heading .crm-module-tabs {
  margin: 0;
}
.crm-heading .comms-module-tabs {
  margin: 0;
}
.comms-module-tabs {
  margin-top: -0.25rem;
  margin-bottom: 1.1rem;
}
.comms-overview {
  display: grid;
  grid-template-columns: minmax(18rem, 1.05fr) minmax(18rem, 1fr) minmax(14rem, 0.55fr);
  gap: 1rem;
  align-items: start;
}
.comms-overview h2 {
  margin-top: 0;
}
.comms-overview-copy {
  display: grid;
  gap: 0.8rem;
}
.comms-path-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}
.comms-path-grid a,
.comms-wizard-steps li,
.comms-preview-card,
.comms-condition-builder,
.comms-journey-recipe,
.comms-attachment-manager {
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-card) 88%, transparent);
}
.comms-path-grid a {
  display: grid;
  gap: 0.25rem;
  padding: 0.8rem;
  color: var(--shell-text);
  text-decoration: none;
}
.comms-path-grid a:hover {
  border-color: var(--shell-accent);
  text-decoration: none;
}
.comms-path-grid span,
.comms-wizard-steps span {
  color: var(--shell-muted);
  font-size: 0.84rem;
}
.comms-wizard-steps {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.comms-wizard-steps li {
  padding: 0.7rem 0.75rem;
}
.comms-wizard-steps strong,
.comms-wizard-steps span {
  display: block;
}
.comms-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}
.comms-summary-grid div {
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  padding: 0.75rem;
  background: var(--shell-panel);
}
.comms-summary-grid strong,
.comms-summary-grid span {
  display: block;
}
.comms-summary-grid strong {
  font-size: 1.25rem;
  color: var(--shell-text);
}
.comms-summary-grid span {
  color: var(--shell-muted);
  font-size: 0.84rem;
  font-weight: 700;
}
.comms-create-drawer[open] {
  width: min(100%, 72rem);
}
.comms-wizard-form {
  display: grid;
  gap: 0.85rem;
  margin-top: 0.85rem;
}
.comms-inline-test-form {
  display: grid;
  gap: 0.45rem;
  min-width: min(100%, 18rem);
}
.comms-inline-test-form input {
  width: 100%;
}
.comms-inline-help {
  display: block;
  max-width: 28rem;
  font-size: 0.78rem;
  line-height: 1.35;
}
.comms-insert-panel {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}
.comms-insert-panel span {
  color: var(--shell-muted);
  font-size: 0.84rem;
  font-weight: 700;
}
.comms-preview-card,
.comms-condition-builder {
  padding: 0.85rem;
}
.comms-attachment-manager {
  padding: 0.6rem 0.7rem;
  max-width: 26rem;
}
.comms-attachment-manager summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--shell-text);
}
.comms-attachment-form {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.65rem;
}
.comms-attachment-form label {
  display: grid;
  gap: 0.25rem;
  margin: 0;
}
.comms-attachment-form input[type="file"] {
  max-width: 100%;
}
.comms-attachment-list {
  display: grid;
  gap: 0.45rem;
  margin: 0.65rem 0;
  padding: 0;
  list-style: none;
}
.comms-attachment-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.5rem;
  border: 1px solid var(--shell-border);
  border-radius: 6px;
  background: color-mix(in srgb, var(--shell-muted) 8%, transparent);
}
.comms-attachment-list span {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}
.comms-attachment-list small {
  color: var(--muted);
}
.comms-attachment-list form {
  margin: 0;
}
.comms-preview-card h3 {
  margin-top: 0;
}
.comms-condition-builder legend {
  color: var(--shell-text);
  font-weight: 700;
}
.comms-journey-recipe {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  padding: 0.75rem;
}
.comms-journey-recipe span {
  min-height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: var(--shell-accent-soft);
  color: var(--shell-link);
  font-weight: 700;
}
.crm-workspace {
  display: grid;
  grid-template-columns: minmax(28rem, 1.05fr) minmax(26rem, 1fr);
  gap: 1rem;
  align-items: start;
}
body.admin-shell-route .crm-workspace,
body.admin-shell-route .crm-workspace {
  display: grid;
  grid-template-columns: minmax(28rem, 1.05fr) minmax(26rem, 1fr);
  gap: 1rem;
  align-items: start;
}
.crm-panel {
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--shell-card) 94%, transparent), color-mix(in srgb, var(--shell-panel) 86%, transparent));
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.18);
}
.reporting-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
  gap: 1rem;
  align-items: start;
}
.reporting-safeguard,
.reporting-client-panel,
.reporting-operations-panel,
.reporting-recent-panel {
  padding: 1rem;
}
.reporting-safeguard {
  margin-bottom: 1rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-card);
  color: var(--shell-muted);
}
.reporting-client-panel,
.reporting-advanced-panel {
  grid-column: 1 / -1;
}
.reporting-client-search,
.reporting-client-export {
  display: grid;
  gap: 0.75rem;
}
.reporting-client-search {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
}
.reporting-client-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem 0;
  padding: 0.85rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-panel) 76%, transparent);
}
.reporting-client-result h3 {
  margin: 0.35rem 0 0;
}
.reporting-client-summary {
  margin-bottom: 1rem;
}
.reporting-client-export details,
.reporting-advanced-panel {
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-card) 96%, transparent);
}
.reporting-client-export details {
  padding: 0.85rem;
}
.reporting-client-export summary,
.reporting-advanced-panel > summary {
  cursor: pointer;
  font-weight: 700;
}
.reporting-advanced-panel {
  padding: 0;
  overflow: hidden;
}
.reporting-advanced-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 3.25rem;
  padding: 0 1rem;
  background: color-mix(in srgb, var(--shell-panel) 82%, transparent);
}
.reporting-advanced-panel > p,
.reporting-advanced-panel > section {
  margin: 1rem;
}
.reporting-advanced-section {
  padding: 1rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-card);
}
.reporting-advanced-section + .reporting-advanced-section,
.reporting-advanced-panel > section + section {
  margin-top: 1rem;
}
@media (max-width: 760px) {
  .reporting-workspace,
  .reporting-client-search {
    grid-template-columns: 1fr;
  }
  .reporting-client-result {
    align-items: stretch;
    flex-direction: column;
  }
}
.crm-list-panel,
.crm-detail-panel {
  padding: 1rem;
}
.crm-panel-header,
.crm-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.95rem;
}
.crm-panel-header h2,
.crm-detail-header h2 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 1.08rem;
}
.crm-panel-header .muted {
  margin: 0.35rem 0 0;
  font-size: 0.8rem;
}
.crm-create-drawer {
  position: relative;
}
.crm-create-drawer summary {
  list-style: none;
  cursor: pointer;
}
.crm-create-drawer summary::-webkit-details-marker {
  display: none;
}
.crm-create-drawer[open] {
  grid-column: 1 / -1;
}
.crm-filter {
  display: block;
  margin-bottom: 0.95rem;
}
.crm-search-row {
  display: flex;
  gap: 0.55rem;
  align-items: stretch;
}
.crm-search-row > input {
  flex: 1 1 16rem;
  min-width: 0;
}
.crm-filter-menu {
  position: relative;
  flex: 0 0 auto;
}
.crm-filter-menu > summary {
  list-style: none;
  cursor: pointer;
  min-height: 2.55rem;
}
.crm-filter-menu > summary::-webkit-details-marker {
  display: none;
}
.crm-filter-popover {
  position: absolute;
  right: 0;
  z-index: 10;
  display: grid;
  gap: 0.7rem;
  min-width: min(22rem, calc(100vw - 3rem));
  margin-top: 0.55rem;
  padding: 0.85rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: var(--shell-card);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}
.crm-filter-popover label {
  display: grid;
  gap: 0.35rem;
  color: var(--shell-muted);
  font-size: 0.8rem;
}
.crm-inline-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.75rem;
  align-items: start;
  margin-bottom: 1rem;
}
.crm-inline-form > .crm-field {
  display: grid;
  gap: 0.35rem;
  align-self: start;
  min-width: 0;
  margin: 0;
  color: var(--shell-text);
}
.crm-inline-form > .crm-field span {
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
}
.crm-inline-form > .crm-field input,
.crm-inline-form > .crm-field select {
  height: 2.75rem;
  min-height: 2.75rem;
  margin: 0;
}
.crm-inline-form > .crm-field textarea {
  min-height: 5rem;
  margin: 0;
  resize: vertical;
}
.crm-field-textarea {
  grid-column: span 2;
}
.crm-inline-form > input,
.crm-inline-form > select,
.crm-inline-form > label,
.crm-inline-form > button {
  align-self: start;
}
.crm-inline-form > button {
  height: 2.75rem;
  min-height: 2.75rem;
  align-self: end;
}
.crm-inline-form > input,
.crm-inline-form > select,
.crm-inline-form > label select {
  min-height: 2.75rem;
}
.crm-activity-form textarea,
.crm-note-form textarea {
  min-height: 5rem;
  resize: vertical;
}
.crm-inline-form[hidden] { display: none; }
.crm-list {
  display: grid;
  gap: 0.65rem;
}
.crm-list a {
  display: grid;
  gap: 0.2rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  padding: 0.75rem;
  background: color-mix(in srgb, var(--shell-card) 88%, transparent);
}
.crm-list span,
.crm-data-table td span {
  display: block;
  color: var(--shell-muted);
  font-size: 0.82rem;
  margin-top: 0.2rem;
}
.crm-data-table {
  min-width: 44rem;
}
.crm-data-table th,
.crm-data-table td {
  white-space: nowrap;
}
.crm-data-table tr.is-selected td {
  background: color-mix(in srgb, var(--shell-accent) 9%, transparent);
}
.crm-empty-cell {
  color: var(--shell-muted);
  padding: 2rem 1rem;
  text-align: center;
}
.crm-row-actions form,
.crm-data-table form {
  display: inline-grid;
  grid-template-columns: minmax(8rem, 1fr) auto;
  gap: 0.35rem;
  align-items: center;
}
.crm-row-detail summary {
  cursor: pointer;
}
.crm-row-detail summary strong,
.crm-row-detail summary span {
  display: block;
}
.crm-row-detail dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.25rem 0.65rem;
  margin: 0.65rem 0 0;
}
.crm-row-detail dt {
  color: var(--shell-muted);
  font-size: 0.78rem;
  font-weight: 700;
}
.crm-row-detail dd {
  margin: 0;
  white-space: normal;
}
.crm-data-table td.comms-campaign-actions {
  white-space: normal;
  min-width: min(48rem, 78vw);
}
.comms-actions-stack {
  display: grid;
  gap: 0.65rem;
  align-items: start;
  max-width: 48rem;
}
.crm-data-table .comms-action-form,
.crm-data-table .comms-inline-test-form {
  display: grid;
  gap: 0.45rem;
  align-items: center;
}
.crm-data-table .comms-action-form {
  grid-template-columns: minmax(12rem, 18rem) auto;
  max-width: 34rem;
}
.crm-data-table .comms-schedule-form {
  grid-template-columns: minmax(11rem, 14rem) minmax(12rem, 18rem) auto;
  max-width: 46rem;
}
.crm-data-table .comms-action-form label {
  display: grid;
  gap: 0.2rem;
  margin: 0;
}
.crm-data-table .comms-inline-test-form {
  grid-template-columns: minmax(12rem, 18rem) minmax(12rem, 18rem) auto;
  max-width: 48rem;
}
.crm-data-table .comms-inline-help {
  grid-column: 1 / -1;
}
.crm-data-table .comms-action-form button,
.crm-data-table .comms-inline-test-form button {
  justify-self: start;
  min-height: 2.5rem;
}
.crm-detail-panel {
  display: grid;
  gap: 0.95rem;
}
.crm-detail-actions {
  display: flex;
  gap: 0.5rem;
}
.crm-panel-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.crm-contact-profile {
  align-content: start;
}
.crm-contact-summary {
  display: grid;
  gap: 0.45rem;
  justify-items: start;
}
.crm-contact-profile-body,
.crm-contact-section {
  display: grid;
  gap: 1rem;
}
.patient-reveal-status {
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: rgba(96, 165, 250, 0.08);
  padding: 0.9rem 1rem;
}
.patient-reveal-status h3 {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
}
.patient-reveal-status p {
  margin: 0;
}
.patient-email-setup,
.patient-email-section .crm-empty-state {
  border: 1px solid color-mix(in srgb, var(--shell-border) 82%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-panel) 86%, transparent);
  padding: 1rem;
}
.patient-email-section .crm-empty-state {
  place-items: start;
  min-height: auto;
  text-align: left;
}
.patient-email-section .crm-empty-state p {
  margin: 0;
}
.patient-email-setup {
  display: grid;
  gap: 0.85rem;
}
.patient-email-setup h4 {
  margin: 0 0 0.25rem;
  font-size: 0.95rem;
}
.patient-email-setup p {
  margin: 0;
}
.patient-email-setup-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}
.patient-email-setup-grid div {
  border: 1px solid color-mix(in srgb, var(--shell-border) 72%, transparent);
  border-radius: 8px;
  padding: 0.65rem 0.7rem;
  background: color-mix(in srgb, var(--shell-bg) 62%, transparent);
}
.patient-email-setup-grid span {
  display: block;
  color: var(--shell-muted);
  font-size: 0.78rem;
  font-weight: 700;
  margin-bottom: 0.2rem;
}
.patient-email-setup-grid strong {
  display: block;
  overflow-wrap: anywhere;
}
.patient-email-action {
  display: grid;
  gap: 0.65rem;
  justify-items: start;
}
.patient-email-consent-form {
  display: grid;
  gap: 0.7rem;
  width: min(100%, 34rem);
}
.patient-values-section {
  align-content: start;
}
.patient-record-section {
  border: 1px solid color-mix(in srgb, var(--shell-border) 82%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-panel) 84%, transparent);
  overflow: hidden;
}
.patient-record-section + .patient-record-section {
  margin-top: 0.75rem;
}
.patient-record-section summary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 3.1rem;
  padding: 0.75rem 0.9rem;
  cursor: pointer;
  list-style: none;
}
.patient-record-section summary::-webkit-details-marker {
  display: none;
}
.patient-record-section summary > span:first-child {
  flex: 1 1 auto;
  font-weight: 800;
}
.patient-section-toggle {
  flex: 0 0 auto;
  min-height: 2rem;
  padding-block: 0.24rem;
}
.patient-record-section > p {
  margin: 0;
  padding: 0 0.9rem 0.75rem;
}
.patient-section-status {
  margin: 0;
  padding: 0 0.9rem 0.75rem;
}
.patient-section-reveal-reason {
  display: flex;
  align-items: end;
  gap: 0.65rem;
  flex-wrap: wrap;
  padding: 0 0.9rem 0.75rem;
}
.patient-section-reveal-reason label {
  display: grid;
  gap: 0.35rem;
  max-width: 34rem;
  flex: 1 1 18rem;
}
.patient-section-reveal-reason span {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--muted);
}
.patient-section-show-values {
  flex: 0 0 auto;
  min-height: 2.5rem;
}
.patient-value-list {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid color-mix(in srgb, var(--shell-border) 82%, transparent);
}
.patient-value-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.25rem;
  padding: 0.78rem 0.9rem;
}
.patient-value-row + .patient-value-row {
  border-top: 1px solid color-mix(in srgb, var(--shell-border) 68%, transparent);
}
.patient-value-row span {
  color: var(--shell-muted);
  font-size: 0.82rem;
}
.patient-value-row strong {
  overflow-wrap: anywhere;
  font-size: 0.95rem;
}
.signature-evidence {
  display: grid;
  gap: 0.65rem;
  justify-items: start;
  margin-top: 0.35rem;
}
.signature-evidence-toggle {
  min-height: 2.35rem;
}
.signature-evidence-panel {
  display: grid;
  gap: 0.45rem;
  width: min(100%, 34rem);
}
.signature-evidence-canvas {
  display: block;
  width: 100%;
  height: auto;
  max-height: 18rem;
  border: 1px solid var(--shell-border);
  border-radius: 8px;
  background: #fff;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
.forms-section-toggle-default {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.2rem;
  margin: 0;
  color: var(--shell-muted);
  font-size: 0.85rem;
  font-weight: 700;
}
.forms-section-toggle-default input {
  inline-size: 1.05rem;
  block-size: 1.05rem;
  margin: 0;
}
.crm-contact-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.crm-contact-section h3 {
  margin: 0;
  font-size: 0.95rem;
}
.crm-contact-tags,
.crm-tag-picker-options {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.65rem;
}
.crm-contact-tags.is-empty span {
  color: var(--shell-muted);
  font-size: 0.82rem;
}
.crm-contact-summary .crm-contact-tags {
  margin-top: 1.875rem;
}
.crm-tag-chip,
.crm-tag-choice span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 2.9rem;
  min-height: 1.8rem;
  padding: 0.28rem 0.78rem;
  border: 1px solid color-mix(in srgb, var(--crm-tag-bg) 78%, #111827);
  border-radius: 999px;
  background: var(--crm-tag-bg);
  color: var(--crm-tag-fg);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--crm-tag-bg) 20%, transparent);
}
.crm-tag-picker {
  display: grid;
  gap: 0.75rem;
}
.crm-tag-choice {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  cursor: pointer;
}
.crm-tag-choice input {
  inline-size: 1rem;
  block-size: 1rem;
  accent-color: var(--crm-tag-bg);
}
.crm-tag-picker-actions {
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) auto;
  gap: 0.55rem;
  align-items: center;
}
.crm-tag-manager {
  display: grid;
  gap: 1rem;
}
.crm-tag-form {
  margin-bottom: 0;
}
.crm-contact-profile .crm-detail-grid {
  border: 0;
  padding: 0;
  background: transparent;
}
.crm-contact-linked-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1.1rem;
  padding-top: 0.2rem;
}
.crm-contact-linked-grid div {
  display: grid;
  gap: 0.25rem;
  border-top: 1px solid color-mix(in srgb, var(--shell-border) 72%, transparent);
  padding-top: 0.75rem;
}
.crm-contact-linked-grid span {
  color: var(--shell-muted);
  font-size: 0.78rem;
}
.crm-contact-linked-grid strong {
  font-size: 0.9rem;
}
.crm-panel-tabs {
  display: flex;
  gap: 1.2rem;
  overflow-x: auto;
  border-bottom: 1px solid var(--shell-border);
}
.crm-panel-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 2.4rem;
  border-bottom: 2px solid transparent;
  color: var(--shell-muted);
  white-space: nowrap;
}
.crm-panel-tabs a.is-active {
  border-bottom-color: var(--shell-accent);
  color: var(--shell-link);
}
.crm-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem 1.2rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--shell-border) 80%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--shell-panel) 84%, transparent);
}
.crm-detail-grid span,
.crm-feed-item span {
  display: block;
  color: var(--shell-muted);
  font-size: 0.78rem;
}
.crm-detail-grid strong {
  display: block;
  margin-top: 0.25rem;
}
.crm-private-detail {
  align-content: start;
}
.crm-private-reveal-form {
  margin-top: 0.45rem;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
}
.crm-private-reveal-form input[name="reason"] {
  min-width: 11rem;
}
.crm-private-detail-revealed {
  display: grid;
  gap: 0.35rem;
}
.crm-insight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}
.crm-insight-panel {
  border: 1px solid color-mix(in srgb, var(--shell-border) 82%, transparent);
  border-radius: 8px;
  padding: 0.9rem;
  background: color-mix(in srgb, var(--shell-panel) 82%, transparent);
}
.crm-insight-panel h3 {
  margin-top: 0;
  font-size: 0.95rem;
}
.crm-feed {
  display: grid;
  gap: 0.7rem;
}
.crm-feed-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.6rem;
  align-items: start;
}
.crm-feed-item-split {
  grid-template-columns: minmax(0, 1fr) auto;
  border-bottom: 1px solid color-mix(in srgb, var(--shell-border) 70%, transparent);
  padding-bottom: 0.65rem;
}
.crm-feed-icon {
  display: inline-grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--shell-success) 22%, transparent);
  color: var(--shell-success);
  font-size: 0.72rem;
}
.crm-panel-link {
  display: inline-flex;
  margin-top: 0.75rem;
  color: var(--shell-link);
}
.crm-empty-state {
  display: grid;
  place-items: center;
  min-height: 24rem;
  text-align: center;
}
.crm-reveal {
  border-color: color-mix(in srgb, var(--shell-warning) 52%, var(--shell-border));
}
@media (max-width: 1100px) {
  .crm-workspace,
  body.admin-shell-route .crm-workspace,
  body.admin-shell-route .crm-workspace,
  .admin-todo-workspace,
  .admin-todo-simple-lanes,
  .patient-email-setup-grid,
  .comms-overview,
  .crm-insight-grid,
  .crm-contact-linked-grid {
    grid-template-columns: 1fr;
  }
  .crm-field-textarea {
    grid-column: auto;
  }
}
@media (max-width: 1366px), (max-height: 820px) {
  body.admin-shell-route header.app-shell-sidebar,
  body.admin-shell-route header.app-shell-sidebar {
    width: min(var(--shell-sidebar-width), calc(100vw - 2rem));
    transform: translateX(-100%);
    transition: transform 160ms ease;
  }
  body.shell-nav-open header.app-shell-sidebar {
    transform: translateX(0);
  }
  body.admin-shell-route main,
  body.admin-shell-route main {
    margin-left: 0;
    padding: 1rem;
  }
  body.admin-shell-route .app-shell-icon-button[data-shell-mobile-menu],
  body.admin-shell-route .app-shell-icon-button[data-shell-mobile-menu] {
    display: inline-flex;
  }
  .app-shell-topbar {
    margin: -1rem -1rem 1rem;
    padding: 0.65rem 0.85rem;
    gap: 0.55rem;
  }
  .app-shell-search {
    flex: 1 1 min(18rem, 100%);
    min-width: min(14rem, 100%);
    max-width: min(28rem, 100%);
  }
  .app-shell-command-button span {
    display: none;
  }
  body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) > .card,
  body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) > section.card,
  body.admin-shell-route main:not(.canvas-app-shell) > .card,
  body.admin-shell-route main:not(.canvas-app-shell) > section.card {
    padding: 0.85rem;
  }
  body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .workspace-page-header,
  body.admin-shell-route main:not(.canvas-app-shell) .workspace-page-header {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .table-scroll,
  body.admin-shell-route main:not(.canvas-app-shell) .table-scroll,
  body.admin-shell-route:not(.canvas-editor-route) .table-scroll,
  body.admin-shell-route .table-scroll {
    max-width: 100%;
  }
  body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) table,
  body.admin-shell-route main:not(.canvas-app-shell) table {
    min-width: max-content;
  }
  .page-list-table th:nth-child(4),
  .page-list-table td:nth-child(4) {
    width: auto;
    min-width: 0;
  }
  .page-row-actions,
  .page-row-status {
    white-space: normal;
  }
  .page-row-actions .button,
  .page-row-status-label {
    white-space: normal;
  }
  .canvas-editor-main.canvas-app-shell .canvas-workspace-grid {
    height: calc(100dvh - 4rem);
    min-height: 0;
  }
  .canvas-editor-main.canvas-app-shell .canvas-editor-stage {
    min-height: 0;
  }
  .canvas-editor-main.canvas-app-shell .canvas-preview-frame {
    min-height: calc(100dvh - 4rem);
  }
  .canvas-editor-main.canvas-app-shell .canvas-library-flyout,
  .canvas-editor-main.canvas-app-shell .canvas-side-panel,
  .canvas-editor-main.canvas-app-shell .canvas-structure-drawer.canvas-page-panel {
    height: calc(100dvh - 4rem);
    max-height: calc(100dvh - 4rem);
  }
  .canvas-editor-main.canvas-app-shell .canvas-inspector-pane,
  .canvas-editor-main.canvas-app-shell .canvas-inspector-pane.has-selection {
    top: 4.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    max-height: calc(100dvh - 5rem);
  }
}
@media (max-width: 700px) {
  .comms-path-grid,
  .comms-journey-recipe {
    grid-template-columns: 1fr;
  }
  .crm-data-table .comms-action-form,
  .crm-data-table .comms-schedule-form,
  .crm-data-table .comms-inline-test-form {
    grid-template-columns: 1fr;
    max-width: none;
  }
  .brand-bar { align-items: flex-start; }
  .header-meta { text-align: left; max-width: none; }
  .brand-logo { width: 72px; }
  .brand-name { font-size: 1.2rem; }
  .signup-shell {
    display: block;
    background:
      linear-gradient(180deg, #071725 0%, #0b2334 23rem, #edf5f7 23rem, #f8fbfc 100%);
  }
  .signup-sidebar {
    min-height: auto;
    padding: 1rem;
    gap: 1rem;
  }
  .signup-step-list {
    grid-template-columns: 1fr;
    gap: 0.45rem;
    padding-top: 0.8rem;
  }
  .signup-step {
    grid-template-columns: 2rem minmax(0, 1fr);
    padding: 0.65rem;
  }
  .signup-step-number {
    width: 1.8rem;
    height: 1.8rem;
  }
  .signup-support { display: none; }
  .signup-content {
    padding: 1.25rem 1rem 2rem;
  }
  .signup-hero {
    grid-template-columns: 1fr;
    gap: 1rem;
    min-height: auto;
  }
  .signup-hero h1 {
    font-size: 2rem;
  }
  .signup-hero-illustration {
    min-height: 8.2rem;
  }
  .signup-shop {
    right: 3.2rem;
    width: 8.2rem;
    height: 6.6rem;
  }
  .signup-plant { right: 11.8rem; }
  .signup-shield { right: 13.2rem; bottom: 4.5rem; }
  .signup-calendar { right: 0.2rem; bottom: 1.8rem; }
  .signup-message { right: 0.3rem; bottom: 7rem; }
  .signup-card {
    grid-template-columns: 1fr;
    padding: 1rem;
    gap: 1rem;
  }
  .signup-business-grid,
  .signup-choice-grid,
  .signup-recommendation-grid {
    grid-template-columns: 1fr;
  }
  .signup-trust-strip {
    grid-template-columns: 1fr;
  }
  .asset-selected {
    grid-template-columns: 1fr;
  }
  .asset-table-thumb {
    width: 100%;
    max-width: 120px;
  }
  .asset-picker-panel {
    width: calc(100vw - 1rem);
    margin: 0.5rem auto;
    max-height: calc(100vh - 1rem);
  }
  .document-template-helper {
    grid-template-columns: 1fr;
  }
  .section-hero,
  .section-image-text {
    grid-template-columns: 1fr;
  }
  .site-header-shell,
  .site-main {
    width: calc(100vw - 1rem);
  }
  body.admin-shell-route header.app-shell-sidebar,
  body.admin-shell-route header.app-shell-sidebar {
    transform: translateX(-100%);
    transition: transform 160ms ease;
  }
  body.shell-nav-open header.app-shell-sidebar {
    transform: translateX(0);
  }
  body.admin-shell-route main,
  body.admin-shell-route main {
    margin-left: 0;
    padding: 1rem;
  }
  body.admin-shell-route .brand-logo,
  body.admin-shell-route .brand-logo {
    width: 2.25rem;
    height: 2.25rem;
  }
  .app-shell-topbar {
    margin: -1rem -1rem 1rem;
    padding: 0.7rem 1rem;
  }
  body.admin-shell-route .app-shell-icon-button[data-shell-mobile-menu],
  body.admin-shell-route .app-shell-icon-button[data-shell-mobile-menu] {
    display: inline-flex;
  }
  .admin-dashboard-panels {
    grid-template-columns: 1fr;
  }
  .admin-todo-widget-header {
    display: grid;
  }
  .admin-todo-add-form {
    position: static;
    inline-size: 100%;
  }
  .admin-todo-lanes {
    grid-template-columns: 1fr;
  }
}

/* Keep the public shop cart as a compact floating control after legacy cart rules. */
.cart-drawer.commerce-floating-cart {
  z-index: 90;
  width: auto;
  max-width: none;
  max-height: none;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.cart-drawer.commerce-floating-cart > .commerce-floating-cart-button {
  width: 3.75rem;
  min-width: 3.75rem;
  height: 3.75rem;
  min-height: 3.75rem;
  padding: 0;
  border-radius: 50%;
}
@media (max-width: 560px) {
  .cart-drawer.commerce-floating-cart:not(.is-open):not([data-state="open"]):not([aria-modal="true"]) {
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    left: auto;
    width: auto;
    max-height: none;
    padding: 0;
    border-radius: 0;
  }
  .cart-drawer.commerce-floating-cart > .commerce-floating-cart-button {
    width: 3.4rem;
    min-width: 3.4rem;
    height: 3.4rem;
    min-height: 3.4rem;
  }
}

/*
 * Rusteeze product foundation
 * Version: 2026.08-rusteeze-shell-2
 *
 * This layer is intentionally scoped to the Rusteeze application shell. It does
 * not style customer websites or the website canvas: those remain authored by
 * their own theme and designer contracts.
 */

:root {
  --rz-foundation-version: "2026.08-rusteeze-shell-2";

  /* Public Rusteeze brand palette, shared with the default marketing site. */
  --rz-brand-canvas: #03141b;
  --rz-brand-surface: #08242b;
  --rz-brand-surface-strong: #10343c;
  --rz-brand-teal: #0b6672;
  --rz-brand-teal-deep: #062b33;
  --rz-brand-lime: #c8f63f;
  --rz-brand-text: #f4fbf9;
  --rz-brand-muted: #abc5c2;
  --rz-brand-border: #315861;

  --rz-color-canvas: #edf5f3;
  --rz-color-surface: #ffffff;
  --rz-color-surface-subtle: #f5faf9;
  --rz-color-surface-strong: #e3efed;
  --rz-color-overlay: rgba(3, 20, 27, 0.62);
  --rz-color-text-strong: #03141b;
  --rz-color-text: #17363b;
  --rz-color-text-muted: #526b6e;
  --rz-color-text-inverse: #f4fbf9;
  --rz-color-border: #c8dad7;
  --rz-color-border-strong: #9fbdb8;
  --rz-color-primary: #0b6672;
  --rz-color-primary-hover: #074d57;
  --rz-color-primary-soft: #def1ef;
  --rz-color-link: #075e69;
  --rz-color-focus: #0b6672;
  --rz-color-accent: #c8f63f;
  --rz-color-accent-hover: #b6e72d;
  --rz-color-accent-soft: #effbc9;
  --rz-color-on-accent: #03141b;
  --rz-color-success: #1b6f4c;
  --rz-color-success-soft: #e9f6ef;
  --rz-color-warning: #865900;
  --rz-color-warning-soft: #fff5dd;
  --rz-color-danger: #a52a2a;
  --rz-color-danger-soft: #fcecec;
  --rz-color-info: #285d88;
  --rz-color-info-soft: #eaf2f9;

  --rz-font-ui: "Segoe UI Variable", "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --rz-font-mono: "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --rz-text-xs: 0.75rem;
  --rz-text-sm: 0.875rem;
  --rz-text-md: 1rem;
  --rz-text-lg: 1.125rem;
  --rz-text-xl: clamp(1.35rem, 1.1rem + 0.6vw, 1.75rem);
  --rz-text-2xl: clamp(1.7rem, 1.35rem + 1vw, 2.35rem);
  --rz-leading-tight: 1.2;
  --rz-leading-body: 1.55;

  --rz-space-1: 0.25rem;
  --rz-space-2: 0.5rem;
  --rz-space-3: 0.75rem;
  --rz-space-4: 1rem;
  --rz-space-5: 1.25rem;
  --rz-space-6: 1.5rem;
  --rz-space-8: 2rem;
  --rz-space-10: 2.5rem;
  --rz-space-12: 3rem;

  --rz-radius-control: 0.5rem;
  --rz-radius-panel: 0.75rem;
  --rz-radius-overlay: 1rem;
  --rz-shadow-raised: 0 1px 2px rgba(19, 35, 45, 0.08), 0 8px 24px rgba(19, 35, 45, 0.05);
  --rz-shadow-overlay: 0 24px 64px rgba(10, 24, 32, 0.2);

  --rz-motion-fast: 120ms;
  --rz-motion-standard: 200ms;
  --rz-motion-slow: 320ms;
  --rz-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --rz-control-height: 2.75rem;
  --rz-content-max: 96rem;

  --rz-shell-rail-bg: var(--rz-brand-teal-deep);
  --rz-shell-rail-surface: var(--rz-brand-surface);
  --rz-shell-rail-text: var(--rz-brand-text);
  --rz-shell-rail-muted: var(--rz-brand-muted);
  --rz-shell-rail-border: var(--rz-brand-border);
}

body.admin-shell-route {
  --shell-bg: var(--rz-color-canvas);
  --shell-panel: var(--rz-color-surface);
  --shell-panel-strong: var(--rz-color-surface-strong);
  --shell-card: var(--rz-color-surface);
  --shell-border: var(--rz-color-border);
  --shell-text: var(--rz-color-text-strong);
  --shell-muted: var(--rz-color-text-muted);
  --shell-link: var(--rz-color-link);
  --shell-accent: var(--rz-color-primary);
  --shell-accent-soft: var(--rz-color-primary-soft);
  --shell-primary: var(--rz-color-primary);
  --shell-success: var(--rz-color-success);
  --shell-success-soft: var(--rz-color-success-soft);
  --shell-warning: var(--rz-color-warning);
  --shell-warning-soft: var(--rz-color-warning-soft);
  --shell-critical: var(--rz-color-danger);
  --shell-danger-soft: var(--rz-color-danger-soft);
  --shell-sidebar-width: 16.75rem;

  /* Keep older admin modules on the same semantic theme while they migrate. */
  --brand-ink: var(--rz-color-text-strong);
  --brand-ink-soft: var(--rz-color-text);
  --brand-primary: var(--rz-color-primary);
  --brand-blue: var(--rz-color-primary);
  --brand-cyan: var(--rz-color-primary);
  --brand-teal: var(--rz-color-primary-hover);
  --brand-lime: var(--rz-color-accent);
  --brand-surface: var(--rz-color-surface);
  --brand-surface-alt: var(--rz-color-surface-strong);
  --brand-surface-subtle: var(--rz-color-surface-subtle);
  --brand-border: var(--rz-color-border);
  --brand-text: var(--rz-color-text);
  --brand-muted: var(--rz-color-text-muted);
  --commerce-surface: var(--rz-color-surface);
  --commerce-surface-soft: var(--rz-color-surface-subtle);
  --commerce-surface-tint: var(--rz-color-primary-soft);
  --commerce-border: var(--rz-color-border);
  --commerce-border-strong: var(--rz-color-border-strong);
  --commerce-focus: var(--rz-color-focus);
  --commerce-image-bg: var(--rz-color-surface-strong);
  --commerce-trust-muted: var(--rz-color-text-muted);
  --commerce-card-shadow: var(--rz-shadow-raised);
  --commerce-lift-shadow: var(--rz-shadow-raised);
  color: var(--rz-color-text);
  background: var(--rz-color-canvas);
  font-family: var(--rz-font-ui);
  font-size: 1rem;
  line-height: var(--rz-leading-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/*
 * The server ships a small legacy menu as a no-JavaScript escape hatch. Keep
 * only that list out of the first painted frame while the shared, permission-
 * filtered menu takes ownership. If the shell script never runs, the short
 * animation reveals the server menu again instead of leaving navigation lost.
 * Customer sites and the website designer do not use this direct-child shell
 * structure, so their authored navigation remains untouched.
 */
html:has(script[src^="/assets/app-shell.js"])
  body:not(.canvas-editor-route) > header > nav.nav:not([data-shell-hydration-state]) {
  visibility: hidden;
  opacity: 0;
  animation: rz-legacy-navigation-fallback 0s step-end 1.5s forwards;
}

@keyframes rz-legacy-navigation-fallback {
  to {
    visibility: visible;
    opacity: 1;
  }
}

body.admin-shell-route[data-shell-theme="dark"] {
  --rz-color-canvas: var(--rz-brand-canvas);
  --rz-color-surface: var(--rz-brand-surface);
  --rz-color-surface-subtle: #0c2b32;
  --rz-color-surface-strong: var(--rz-brand-surface-strong);
  --rz-color-overlay: rgba(2, 8, 12, 0.72);
  --rz-color-text-strong: var(--rz-brand-text);
  --rz-color-text: #dae9e6;
  --rz-color-text-muted: var(--rz-brand-muted);
  --rz-color-border: var(--rz-brand-border);
  --rz-color-border-strong: #4d737b;
  --rz-color-primary: #72d3d3;
  --rz-color-primary-hover: #a4eeee;
  --rz-color-primary-soft: rgba(114, 211, 211, 0.14);
  --rz-color-link: #9ae4e4;
  --rz-color-focus: var(--rz-brand-lime);
  --rz-color-accent: var(--rz-brand-lime);
  --rz-color-accent-hover: #d7ff61;
  --rz-color-accent-soft: rgba(200, 246, 63, 0.14);
  --rz-color-on-accent: var(--rz-brand-canvas);
  --rz-color-success: #76d1a3;
  --rz-color-success-soft: #173d2d;
  --rz-color-warning: #f0c56b;
  --rz-color-warning-soft: #40351d;
  --rz-color-danger: #ffaaa3;
  --rz-color-danger-soft: #482626;
  --rz-color-info: #9bc9ee;
  --rz-color-info-soft: #1b3549;
  --rz-shadow-raised: 0 1px 2px rgba(0, 0, 0, 0.24), 0 12px 30px rgba(0, 0, 0, 0.16);
  --rz-shadow-overlay: 0 30px 80px rgba(0, 0, 0, 0.42);
  --shell-bg: var(--rz-color-canvas);
  --shell-panel: var(--rz-color-surface);
  --shell-panel-strong: var(--rz-color-surface-strong);
  --shell-card: var(--rz-color-surface);
  --shell-border: var(--rz-color-border);
  --shell-text: var(--rz-color-text-strong);
  --shell-muted: var(--rz-color-text-muted);
  --shell-link: var(--rz-color-link);
  --shell-accent: var(--rz-color-primary);
  --shell-accent-soft: var(--rz-color-primary-soft);
  --shell-primary: var(--rz-color-primary);
  --shell-success: var(--rz-color-success);
  --shell-success-soft: var(--rz-color-success-soft);
  --shell-warning: var(--rz-color-warning);
  --shell-warning-soft: var(--rz-color-warning-soft);
  --shell-critical: var(--rz-color-danger);
  --shell-danger-soft: var(--rz-color-danger-soft);
  background: var(--rz-color-canvas);
  color: var(--rz-color-text);
}

body.admin-shell-route :is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--rz-color-focus);
  outline-offset: 2px;
}

body.admin-shell-route header.app-shell-sidebar {
  background: var(--rz-shell-rail-bg);
  border-color: var(--rz-shell-rail-border);
  box-shadow: 1px 0 0 rgba(18, 35, 44, 0.04);
  transition: width var(--rz-motion-standard) var(--rz-ease-standard),
              transform var(--rz-motion-standard) var(--rz-ease-standard);
}

body.admin-shell-route[data-shell-theme="dark"] header.app-shell-sidebar {
  background: var(--rz-shell-rail-bg);
  border-color: var(--rz-shell-rail-border);
}

body.admin-shell-route .brand-bar {
  position: relative;
  min-height: 5.25rem;
  padding: var(--rz-space-4);
  background: var(--rz-shell-rail-bg);
  border-color: var(--rz-shell-rail-border);
}

body.admin-shell-route .brand-logo {
  border-radius: var(--rz-radius-control);
  box-shadow: none;
}

body.admin-shell-route .brand-name {
  color: var(--rz-shell-rail-text);
  font-size: var(--rz-text-md);
  font-weight: 760;
  letter-spacing: -0.01em;
}

body.admin-shell-route .brand-product,
body.admin-shell-route .brand-site {
  color: var(--rz-shell-rail-muted);
  font-size: var(--rz-text-xs);
  line-height: 1.35;
}

body.admin-shell-route header.app-shell-sidebar .header-meta,
body.admin-shell-route header.app-shell-sidebar .header-meta .muted {
  color: var(--rz-shell-rail-muted);
}

body.admin-shell-route header.app-shell-sidebar .header-kicker {
  color: var(--rz-color-accent);
}

body.admin-shell-route .nav {
  padding: var(--rz-space-3) var(--rz-space-2) var(--rz-space-6);
}

body.admin-shell-route .app-shell-nav-section {
  margin: 0 0 var(--rz-space-3);
}

body.admin-shell-route .app-shell-nav-loading,
body.admin-shell-route .app-shell-nav-unavailable {
  margin: var(--rz-space-3);
  color: var(--rz-shell-rail-muted);
  font-size: var(--rz-text-sm);
  line-height: var(--rz-leading-body);
}

body.admin-shell-route .app-shell-nav-loading {
  min-height: 5rem;
  display: flex;
  align-items: center;
}

body.admin-shell-route .app-shell-nav-unavailable {
  display: grid;
  gap: var(--rz-space-2);
  padding: var(--rz-space-4);
  border: 1px solid var(--rz-shell-rail-border);
  border-radius: var(--rz-radius-panel);
  background: var(--rz-shell-rail-surface);
}

body.admin-shell-route .app-shell-nav-unavailable strong {
  color: var(--rz-shell-rail-text);
}

body.admin-shell-route .app-shell-nav-unavailable button {
  justify-self: start;
  min-height: 2.25rem;
  margin-top: var(--rz-space-2);
}

body.admin-shell-route .app-shell-nav-section > summary {
  min-height: 2rem;
  padding: var(--rz-space-3) var(--rz-space-3) var(--rz-space-1);
  color: var(--rz-shell-rail-muted);
  font-size: 0.69rem;
  font-weight: 740;
  letter-spacing: 0.075em;
}

body.admin-shell-route .app-shell-nav-section a,
body.admin-shell-route .nav > a {
  min-height: 2.65rem;
  margin: 0.08rem 0;
  padding: 0.58rem 0.7rem;
  border-radius: var(--rz-radius-control);
  color: var(--rz-shell-rail-text);
  font-size: var(--rz-text-sm);
  font-weight: 560;
  transition: background-color var(--rz-motion-fast) var(--rz-ease-standard),
              border-color var(--rz-motion-fast) var(--rz-ease-standard),
              color var(--rz-motion-fast) var(--rz-ease-standard),
              transform var(--rz-motion-fast) var(--rz-ease-standard);
}

body.admin-shell-route .app-shell-nav-section a:hover,
body.admin-shell-route .nav > a:hover {
  background: var(--rz-shell-rail-surface);
  border-color: var(--rz-shell-rail-border);
  transform: translateX(2px);
}

body.admin-shell-route .app-shell-nav-section a.is-active,
body.admin-shell-route .nav > a.is-active {
  color: var(--rz-shell-rail-text);
  background: var(--rz-color-accent-soft);
  border-color: transparent;
  box-shadow: inset 3px 0 0 var(--rz-color-accent);
}

body.admin-shell-route .app-shell-nav-icon {
  inline-size: 1.25rem;
  block-size: 1.25rem;
  display: inline-grid;
  place-items: center;
  color: currentColor;
  flex: 0 0 1.25rem;
}

body.admin-shell-route .app-shell-nav-icon svg,
body.admin-shell-route .rz-icon {
  inline-size: 1.1rem;
  block-size: 1.1rem;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.admin-shell-route .app-shell-topbar {
  min-height: 4.5rem;
  gap: var(--rz-space-2);
  padding: 0.8rem var(--rz-space-5);
  margin: -1.25rem -1.25rem var(--rz-space-6);
  background: color-mix(in srgb, var(--rz-color-surface) 97%, transparent);
  border-color: var(--rz-color-border);
  backdrop-filter: blur(10px);
  box-shadow: 0 1px 0 rgba(18, 35, 44, 0.03);
}

body.admin-shell-route .app-shell-current-location {
  min-width: 8.5rem;
  max-width: 14rem;
  display: grid;
  gap: 0.08rem;
  padding-inline: var(--rz-space-2);
  line-height: 1.2;
}

body.admin-shell-route .app-shell-current-location[hidden] {
  display: none;
}

body.admin-shell-route .app-shell-current-location span {
  color: var(--rz-color-text-muted);
  font-size: 0.66rem;
  font-weight: 720;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.admin-shell-route .app-shell-current-location strong {
  overflow: hidden;
  color: var(--rz-color-text-strong);
  font-size: var(--rz-text-sm);
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-shell-route .app-shell-search {
  min-height: var(--rz-control-height);
  max-width: 30rem;
  padding-inline: var(--rz-space-4);
  border-radius: var(--rz-radius-control);
  border-color: var(--rz-color-border);
  background: var(--rz-color-surface-subtle);
  color: var(--rz-color-text);
}

body.admin-shell-route .app-shell-search::placeholder {
  color: var(--rz-color-text-muted);
  opacity: 1;
}

body.admin-shell-route .app-shell-icon-button,
body.admin-shell-route .app-shell-mode-toggle,
body.admin-shell-route .app-shell-command-button,
body.admin-shell-route .app-shell-topbar a.app-shell-topbar-link {
  min-height: var(--rz-control-height);
  border-radius: var(--rz-radius-control);
  border-color: var(--rz-color-border);
  background: var(--rz-color-surface);
  color: var(--rz-color-text);
  font-size: var(--rz-text-sm);
  font-weight: 650;
  transition: background-color var(--rz-motion-fast) var(--rz-ease-standard),
              border-color var(--rz-motion-fast) var(--rz-ease-standard),
              transform var(--rz-motion-fast) var(--rz-ease-standard);
}

body.admin-shell-route .app-shell-icon-button,
body.admin-shell-route .app-shell-command-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rz-space-2);
}

body.admin-shell-route :is(.app-shell-icon-button, .app-shell-command-button) svg {
  inline-size: 1.1rem;
  block-size: 1.1rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.admin-shell-route .app-shell-icon-button:hover,
body.admin-shell-route .app-shell-mode-toggle:hover,
body.admin-shell-route .app-shell-command-button:hover,
body.admin-shell-route .app-shell-topbar a.app-shell-topbar-link:hover {
  background: var(--rz-color-surface-strong);
  border-color: var(--rz-color-border-strong);
  text-decoration: none;
  transform: translateY(-1px);
}

body.admin-shell-route .app-shell-save-status {
  min-height: 2rem;
  display: inline-flex;
  align-items: center;
  gap: var(--rz-space-2);
  margin-inline-start: auto;
  padding: 0 var(--rz-space-2);
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-xs);
  font-weight: 650;
  white-space: nowrap;
}

body.admin-shell-route .app-shell-save-status::before {
  content: "";
  inline-size: 0.5rem;
  block-size: 0.5rem;
  border-radius: 50%;
  background: var(--rz-color-success);
}

body.admin-shell-route .app-shell-save-status[data-state="busy"]::before {
  background: var(--rz-color-info);
  animation: rz-status-pulse 1.1s ease-in-out infinite;
}

body.admin-shell-route .app-shell-save-status[data-state="error"] {
  color: var(--rz-color-danger);
}

body.admin-shell-route .app-shell-save-status[data-state="error"]::before {
  background: var(--rz-color-danger);
}

@keyframes rz-status-pulse {
  0%, 100% { opacity: 0.4; transform: scale(0.86); }
  50% { opacity: 1; transform: scale(1); }
}

body.admin-shell-route .app-shell-command-backdrop {
  background: var(--rz-color-overlay);
  backdrop-filter: blur(3px);
}

body.admin-shell-route .app-shell-command-panel {
  border-radius: var(--rz-radius-overlay);
  border-color: var(--rz-color-border);
  background: var(--rz-color-surface);
  box-shadow: var(--rz-shadow-overlay);
  animation: rz-overlay-enter var(--rz-motion-standard) var(--rz-ease-standard) both;
}

body.admin-shell-route .app-shell-command-result {
  grid-template-columns: minmax(0, 1fr) auto;
  row-gap: 0.12rem;
  padding: var(--rz-space-3) var(--rz-space-4);
}

body.admin-shell-route .app-shell-command-result > strong,
body.admin-shell-route .app-shell-command-result > span {
  grid-column: 1;
}

body.admin-shell-route .app-shell-command-result > span {
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-xs);
  line-height: 1.35;
}

body.admin-shell-route .app-shell-command-result > small {
  grid-column: 2;
  grid-row: 1 / span 2;
}

@keyframes rz-overlay-enter {
  from { opacity: 0; transform: translateY(-0.65rem) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) {
  width: auto;
  max-width: none;
  padding: var(--rz-space-5) clamp(var(--rz-space-4), 2.5vw, var(--rz-space-8)) var(--rz-space-12);
  color: var(--rz-color-text);
}

body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) > :not(.app-shell-topbar) {
  width: min(100%, var(--rz-content-max));
  margin-inline: auto;
  transition: opacity var(--rz-motion-standard) var(--rz-ease-standard),
              transform var(--rz-motion-standard) var(--rz-ease-standard);
}

body.admin-shell-route:not(.canvas-editor-route)[data-shell-transition-state="leaving"] main:not(.canvas-app-shell) > :not(.app-shell-topbar) {
  opacity: 0;
  transform: translateY(0.3rem);
}

body.admin-shell-route:not(.canvas-editor-route)[data-shell-transition-state="arriving"] main:not(.canvas-app-shell) > :not(.app-shell-topbar) {
  animation: rz-route-enter var(--rz-motion-standard) var(--rz-ease-standard) both;
}

@keyframes rz-route-enter {
  from { opacity: 0; transform: translateY(0.3rem); }
  to { opacity: 1; transform: translateY(0); }
}

body.admin-shell-route:not(.canvas-editor-route) :is(h1, h2, h3) {
  color: var(--rz-color-text-strong);
  letter-spacing: -0.018em;
  text-wrap: balance;
}

body.admin-shell-route:not(.canvas-editor-route) main > h1:first-child,
body.admin-shell-route:not(.canvas-editor-route) .workspace-page-header h1,
body.admin-shell-route:not(.canvas-editor-route) main > .toolbar:first-child h1 {
  font-size: var(--rz-text-xl);
  line-height: var(--rz-leading-tight);
  font-weight: 760;
}

body.admin-shell-route:not(.canvas-editor-route) .workspace-page-header,
body.admin-shell-route:not(.canvas-editor-route) main > .toolbar:first-child {
  min-height: 4.5rem;
  align-items: center;
  padding-bottom: var(--rz-space-4);
  margin-bottom: var(--rz-space-6);
  border-color: var(--rz-color-border);
}

body.admin-shell-route:not(.canvas-editor-route) .workspace-page-header .muted:first-child {
  margin: 0 0 var(--rz-space-1);
  color: var(--rz-color-primary-hover);
  font-size: var(--rz-text-xs);
  font-weight: 740;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.admin-shell-route:not(.canvas-editor-route) .card,
body.admin-shell-route:not(.canvas-editor-route) .crm-panel,
body.admin-shell-route:not(.canvas-editor-route) .commerce-work-panel {
  border: 1px solid var(--rz-color-border);
  border-radius: var(--rz-radius-panel);
  background: var(--rz-color-surface);
  color: var(--rz-color-text);
  box-shadow: none;
}

body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) > .card,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) > section.card {
  padding: var(--rz-space-5);
  margin-bottom: var(--rz-space-4);
}

body.admin-shell-route:not(.canvas-editor-route) :is(button, .button):not(.linklike) {
  min-height: var(--rz-control-height);
  padding: 0.65rem 0.95rem;
  border: 1px solid var(--rz-color-accent);
  border-radius: var(--rz-radius-control);
  background: var(--rz-color-accent);
  color: var(--rz-color-on-accent);
  font-family: inherit;
  font-size: var(--rz-text-sm);
  font-weight: 700;
  line-height: 1.2;
  box-shadow: none;
  transition: background-color var(--rz-motion-fast) var(--rz-ease-standard),
              border-color var(--rz-motion-fast) var(--rz-ease-standard),
              color var(--rz-motion-fast) var(--rz-ease-standard),
              transform var(--rz-motion-fast) var(--rz-ease-standard);
}

body.admin-shell-route:not(.canvas-editor-route) :is(button, .button):not(.linklike):hover:not(:disabled) {
  border-color: var(--rz-color-accent-hover);
  background: var(--rz-color-accent-hover);
  color: var(--rz-color-on-accent);
  text-decoration: none;
  transform: translateY(-1px);
}

body.admin-shell-route:not(.canvas-editor-route) .app-shell-topbar button.app-shell-icon-button,
body.admin-shell-route:not(.canvas-editor-route) .app-shell-topbar button.app-shell-mode-toggle,
body.admin-shell-route:not(.canvas-editor-route) .app-shell-topbar button.app-shell-command-button {
  border-color: var(--rz-color-border);
  background: var(--rz-color-surface);
  color: var(--rz-color-text-strong);
}

body.admin-shell-route:not(.canvas-editor-route) .app-shell-topbar button.app-shell-command-button {
  border-color: var(--rz-brand-teal);
  background: var(--rz-brand-teal);
  color: var(--rz-brand-text);
}

body.admin-shell-route:not(.canvas-editor-route) .app-shell-topbar button.app-shell-mode-toggle[aria-pressed="true"] {
  border-color: var(--rz-color-accent);
  background: var(--rz-color-accent-soft);
  color: var(--rz-color-text-strong);
}

body.admin-shell-route:not(.canvas-editor-route) .app-shell-topbar button.app-shell-icon-button:hover:not(:disabled),
body.admin-shell-route:not(.canvas-editor-route) .app-shell-topbar button.app-shell-mode-toggle:hover:not(:disabled) {
  border-color: var(--rz-color-border-strong);
  background: var(--rz-color-surface-strong);
  color: var(--rz-color-text-strong);
}

body.admin-shell-route:not(.canvas-editor-route) .app-shell-topbar button.app-shell-command-button:hover:not(:disabled) {
  border-color: #074d57;
  background: #074d57;
  color: var(--rz-brand-text);
}

body.admin-shell-route .app-shell-mobile-controls,
body.admin-shell-route .app-shell-nav-backdrop {
  display: none;
}

body.admin-shell-route .app-shell-mobile-controls {
  flex: 0 0 auto;
}

body.shell-compact.shell-nav-open header.app-shell-sidebar .app-shell-mobile-controls:not([hidden]) {
  position: relative;
  z-index: 4;
  display: flex;
  justify-content: flex-end;
  padding: max(var(--rz-space-3), env(safe-area-inset-top)) var(--rz-space-3) var(--rz-space-3);
  border-block-end: 1px solid var(--rz-shell-rail-border);
  background: var(--rz-shell-rail-bg);
}

body.admin-shell-route:not(.canvas-editor-route) header.app-shell-sidebar button.app-shell-mobile-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rz-space-2);
  min-inline-size: 8rem;
  min-block-size: var(--rz-control-height);
  padding: 0.6rem 0.8rem;
  border-color: var(--rz-color-accent);
  background: var(--rz-color-accent);
  color: var(--rz-color-on-accent);
  font-size: var(--rz-text-sm);
  font-weight: 760;
}

body.admin-shell-route:not(.canvas-editor-route) header.app-shell-sidebar button.app-shell-mobile-close svg {
  inline-size: 1.15rem;
  block-size: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

body.admin-shell-route:not(.canvas-editor-route) header.app-shell-sidebar button.app-shell-mobile-close:hover:not(:disabled) {
  border-color: var(--rz-color-accent-hover);
  background: var(--rz-color-accent-hover);
  color: var(--rz-color-on-accent);
  transform: none;
}

body.admin-shell-route .app-shell-nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 55;
  background: var(--rz-color-overlay);
  backdrop-filter: blur(2px);
}

body.shell-compact.shell-nav-open {
  overflow: hidden;
}

body.shell-compact.shell-nav-open .app-shell-nav-backdrop:not([hidden]) {
  display: block;
}

body.admin-shell-route:not(.canvas-editor-route) :is(button.secondary, .button.secondary) {
  border-color: var(--rz-color-border-strong);
  background: var(--rz-color-surface);
  color: var(--rz-color-text-strong);
}

body.admin-shell-route:not(.canvas-editor-route) :is(button.secondary, .button.secondary):hover:not(:disabled) {
  border-color: var(--rz-color-primary);
  background: var(--rz-color-primary-soft);
  color: var(--rz-color-primary-hover);
}

body.admin-shell-route:not(.canvas-editor-route) :is(button.danger, .button.danger, button.critical, .button.critical) {
  border-color: color-mix(in srgb, var(--rz-color-danger) 46%, var(--rz-color-border));
  background: var(--rz-color-danger-soft);
  color: var(--rz-color-danger);
}

body.admin-shell-route:not(.canvas-editor-route) :is(button, .button):disabled {
  cursor: not-allowed;
  opacity: 0.56;
  transform: none;
}

body.admin-shell-route:not(.canvas-editor-route) :is(input, textarea, select) {
  min-height: var(--rz-control-height);
  border: 1px solid var(--rz-color-border-strong);
  border-radius: var(--rz-radius-control);
  background: var(--rz-color-surface);
  color: var(--rz-color-text);
  font: inherit;
  font-size: var(--rz-text-sm);
  box-shadow: none;
  transition: border-color var(--rz-motion-fast) var(--rz-ease-standard),
              box-shadow var(--rz-motion-fast) var(--rz-ease-standard);
}

body.admin-shell-route:not(.canvas-editor-route) textarea {
  min-height: 7rem;
  resize: vertical;
}

body.admin-shell-route:not(.canvas-editor-route) label {
  color: var(--rz-color-text-strong);
  font-size: var(--rz-text-sm);
  font-weight: 680;
}

body.admin-shell-route:not(.canvas-editor-route) :is(input, textarea, select):focus {
  border-color: var(--rz-color-focus);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rz-color-focus) 18%, transparent);
}

body.admin-shell-route:not(.canvas-editor-route) .muted {
  color: var(--rz-color-text-muted);
}

body.admin-shell-route:not(.canvas-editor-route) .mono {
  font-family: var(--rz-font-mono);
  font-size: 0.9em;
}

body.admin-shell-route:not(.canvas-editor-route) .table-scroll {
  border-color: var(--rz-color-border);
  border-radius: var(--rz-radius-panel);
  background: var(--rz-color-surface);
  box-shadow: none;
}

body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) table {
  color: var(--rz-color-text);
  font-size: var(--rz-text-sm);
}

body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) thead th {
  padding-block: var(--rz-space-3);
  background: var(--rz-color-surface-subtle);
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-xs);
  font-weight: 760;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) :is(th, td) {
  border-color: var(--rz-color-border);
}

body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) tbody tr:hover td {
  background: var(--rz-color-surface-subtle);
}

body.admin-shell-route:not(.canvas-editor-route) .rz-status,
body.admin-shell-route:not(.canvas-editor-route) .status-pill {
  min-height: 1.75rem;
  display: inline-flex;
  align-items: center;
  gap: var(--rz-space-1);
  padding: 0.22rem 0.55rem;
  border: 1px solid var(--rz-color-border);
  border-radius: 999px;
  background: var(--rz-color-surface-strong);
  color: var(--rz-color-text);
  font-size: var(--rz-text-xs);
  font-weight: 720;
  line-height: 1.15;
}

body.admin-shell-route:not(.canvas-editor-route) .rz-status[data-tone="success"] { color: var(--rz-color-success); background: var(--rz-color-success-soft); }
body.admin-shell-route:not(.canvas-editor-route) .rz-status[data-tone="warning"] { color: var(--rz-color-warning); background: var(--rz-color-warning-soft); }
body.admin-shell-route:not(.canvas-editor-route) .rz-status[data-tone="danger"] { color: var(--rz-color-danger); background: var(--rz-color-danger-soft); }
body.admin-shell-route:not(.canvas-editor-route) .rz-status[data-tone="info"] { color: var(--rz-color-info); background: var(--rz-color-info-soft); }

body.admin-shell-route:not(.canvas-editor-route) .rz-notice,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) .notice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--rz-space-3);
  padding: var(--rz-space-3) var(--rz-space-4);
  border: 1px solid color-mix(in srgb, var(--rz-color-info) 36%, var(--rz-color-border));
  border-left: 3px solid var(--rz-color-info);
  border-radius: var(--rz-radius-control);
  background: var(--rz-color-info-soft);
  color: var(--rz-color-text);
}

body.admin-shell-route:not(.canvas-editor-route) .rz-notice[data-tone="success"] { border-left-color: var(--rz-color-success); background: var(--rz-color-success-soft); }
body.admin-shell-route:not(.canvas-editor-route) .rz-notice[data-tone="warning"] { border-left-color: var(--rz-color-warning); background: var(--rz-color-warning-soft); }
body.admin-shell-route:not(.canvas-editor-route) .rz-notice[data-tone="danger"] { border-left-color: var(--rz-color-danger); background: var(--rz-color-danger-soft); }

body.admin-shell-route:not(.canvas-editor-route) .rz-empty-state,
body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) :is(.empty-state, .crm-empty-state, .commerce-empty-state) {
  min-height: 14rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: var(--rz-space-3);
  padding: var(--rz-space-8);
  border: 1px dashed var(--rz-color-border-strong);
  border-radius: var(--rz-radius-panel);
  background: var(--rz-color-surface-subtle);
  color: var(--rz-color-text);
  text-align: center;
}

body.admin-shell-route:not(.canvas-editor-route) .rz-empty-state > :is(h2, h3, p) { max-width: 38rem; margin-block: 0; }

body.admin-shell-route:not(.canvas-editor-route) .rz-skeleton {
  min-height: 1rem;
  border-radius: var(--rz-radius-control);
  background: linear-gradient(90deg, var(--rz-color-surface-strong) 25%, var(--rz-color-surface) 50%, var(--rz-color-surface-strong) 75%);
  background-size: 220% 100%;
  animation: rz-skeleton 1.4s ease-in-out infinite;
}

@keyframes rz-skeleton {
  from { background-position: 100% 0; }
  to { background-position: -120% 0; }
}

body.admin-shell-route:not(.canvas-editor-route) .rz-coachmark {
  max-width: 26rem;
  padding: var(--rz-space-5);
  border: 1px solid var(--rz-color-border);
  border-radius: var(--rz-radius-overlay);
  background: var(--rz-color-surface);
  color: var(--rz-color-text);
  box-shadow: var(--rz-shadow-overlay);
}

body.admin-shell-route:not(.canvas-editor-route) .rz-coachmark-progress {
  display: flex;
  align-items: center;
  gap: var(--rz-space-2);
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-xs);
  font-weight: 680;
}

/* Guided learning is part of the workspace shell, but remains deliberately quieter than work. */
body.guided-tutorial-route .guided-tutorial-shell {
  width: min(100%, 92rem);
  margin-inline: auto;
  display: grid;
  gap: var(--rz-space-8);
}

body.guided-tutorial-route .guided-section-heading,
body.guided-tutorial-route .guided-tutorial-card-header,
body.guided-tutorial-route .guided-card-actions,
body.guided-tutorial-route .guided-step-actions,
.guided-launch-dialog .guided-launch-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rz-space-3);
}

body.guided-tutorial-route .guided-section-heading {
  align-items: end;
  margin-block-end: var(--rz-space-5);
}

body.guided-tutorial-route .guided-section-heading :is(h2, p),
body.guided-tutorial-route .guided-tutorial-card-header :is(h3, p),
body.guided-tutorial-route .guided-step :is(h4, p) {
  margin-block: 0;
}

body.guided-tutorial-route .guided-section-heading > p,
body.guided-tutorial-route .guided-tutorial-card-header p,
body.guided-tutorial-route .guided-step p,
.guided-launch-dialog > p {
  color: var(--rz-color-text-muted);
}

body.guided-tutorial-route .guided-context {
  padding: var(--rz-space-5);
  border-inline-start: 3px solid var(--rz-color-primary);
}

body.guided-tutorial-route .guided-context h2 {
  margin: 0 0 var(--rz-space-4);
}

body.guided-tutorial-route .guided-context-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: var(--rz-space-3);
}

body.guided-tutorial-route .guided-context-link {
  display: grid;
  gap: var(--rz-space-1);
  padding: var(--rz-space-4);
  border: 1px solid var(--rz-color-border);
  border-radius: var(--rz-radius-control);
  background: var(--rz-color-surface-subtle);
  color: var(--rz-color-text);
  text-decoration: none;
  transition: border-color var(--rz-motion-fast) var(--rz-ease-standard), transform var(--rz-motion-fast) var(--rz-ease-standard);
}

body.guided-tutorial-route .guided-context-link:hover {
  border-color: var(--rz-color-primary);
  transform: translateY(-1px);
}

body.guided-tutorial-route .guided-context-link span {
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-sm);
}

body.guided-tutorial-route .guided-tutorial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr));
  gap: var(--rz-space-5);
}

body.guided-tutorial-route .guided-tutorial-card {
  display: grid;
  align-content: start;
  gap: var(--rz-space-5);
  padding: var(--rz-space-5);
  border: 1px solid var(--rz-color-border);
  border-radius: var(--rz-radius-panel);
  background: var(--rz-color-surface);
  box-shadow: var(--rz-shadow-raised);
}

body.guided-tutorial-route .guided-tutorial-card.is-progress {
  border-color: color-mix(in srgb, var(--rz-color-primary) 54%, var(--rz-color-border));
}

body.guided-tutorial-route .guided-tutorial-card-header {
  align-items: start;
}

body.guided-tutorial-route .guided-tutorial-card-header > div {
  display: grid;
  gap: var(--rz-space-2);
}

body.guided-tutorial-route .guided-status,
body.guided-tutorial-route .guided-step-count {
  width: fit-content;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: var(--rz-color-surface-strong);
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-xs);
  font-weight: 720;
}

body.guided-tutorial-route .is-progress .guided-status { color: var(--rz-color-info); background: var(--rz-color-info-soft); }
body.guided-tutorial-route .is-complete .guided-status { color: var(--rz-color-success); background: var(--rz-color-success-soft); }

body.guided-tutorial-route .guided-card-actions,
body.guided-tutorial-route .guided-step-actions,
.guided-launch-dialog .guided-launch-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
}

body.guided-tutorial-route .guided-inline-form,
.guided-launch-dialog form {
  margin: 0;
}

body.guided-tutorial-route .guided-inline-form .quiet {
  border-color: transparent;
  background: transparent;
  color: var(--rz-color-text-muted);
  box-shadow: none;
}

body.guided-tutorial-route .guided-tutorial-card details {
  border-block-start: 1px solid var(--rz-color-border);
  padding-block-start: var(--rz-space-4);
}

body.guided-tutorial-route .guided-tutorial-card summary {
  cursor: pointer;
  color: var(--rz-color-text-strong);
  font-weight: 720;
}

body.guided-tutorial-route .guided-steps {
  display: grid;
  gap: var(--rz-space-4);
  margin: var(--rz-space-5) 0 0;
  padding: 0;
  list-style: none;
}

body.guided-tutorial-route .guided-step {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--rz-space-3);
  opacity: 0.72;
}

body.guided-tutorial-route .guided-step.is-current,
body.guided-tutorial-route .guided-step.is-done {
  opacity: 1;
}

body.guided-tutorial-route .guided-step-number {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--rz-color-border);
  border-radius: 50%;
  background: var(--rz-color-surface-subtle);
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-xs);
  font-weight: 760;
}

body.guided-tutorial-route .guided-step.is-current .guided-step-number {
  border-color: var(--rz-color-primary);
  background: var(--rz-color-primary-soft);
  color: var(--rz-color-primary-hover);
}

body.guided-tutorial-route .guided-step.is-done .guided-step-number {
  border-color: var(--rz-color-success);
  background: var(--rz-color-success-soft);
  color: var(--rz-color-success);
}

body.guided-tutorial-route .guided-step > div {
  display: grid;
  gap: var(--rz-space-2);
}

.guided-launch-dialog {
  width: min(calc(100% - 2rem), 34rem);
  padding: var(--rz-space-7);
  border: 1px solid var(--rz-color-border);
  border-radius: var(--rz-radius-overlay);
  background: var(--rz-color-surface);
  color: var(--rz-color-text);
  box-shadow: var(--rz-shadow-overlay);
}

.guided-launch-dialog::backdrop {
  background: color-mix(in srgb, var(--rz-color-text-strong) 56%, transparent);
  backdrop-filter: blur(3px);
}

.guided-launch-dialog[open] {
  animation: rz-guided-dialog-in var(--rz-motion-standard) var(--rz-ease-standard) both;
}

@keyframes rz-guided-dialog-in {
  from { opacity: 0; transform: translateY(0.75rem) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.guided-launch-dialog .guided-launch-mark {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  margin-block-end: var(--rz-space-5);
  border-radius: var(--rz-radius-control);
  background: var(--rz-color-primary-soft);
  color: var(--rz-color-primary-hover);
}

.guided-launch-dialog .guided-launch-mark svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.guided-launch-dialog :is(h2, p) {
  margin-block-start: 0;
}

.guided-launch-dialog .guided-launch-actions {
  margin-block-start: var(--rz-space-6);
}

.guided-launch-dialog .guided-launch-note {
  margin: var(--rz-space-4) 0 0;
  font-size: var(--rz-text-sm);
}

/*
 * Phase 3 AI design concierge. These rules belong to application chrome only.
 * Compiled customer documents remain isolated inside sandboxed frames and use
 * their own authored design contracts.
 */
body.ai-concierge-route .ai-concierge {
  display: grid;
  gap: var(--rz-space-6);
}

body.ai-concierge-route .ai-concierge-header {
  min-height: 11rem;
  padding-block: var(--rz-space-6);
  border-block-end: 1px solid var(--rz-color-border);
}

body.ai-concierge-route .ai-concierge-header > div {
  max-width: 48rem;
}

body.ai-concierge-route .ai-concierge-header h1 {
  max-width: 17ch;
  margin-block: var(--rz-space-2) var(--rz-space-3);
  font-size: clamp(2rem, 1.55rem + 1.5vw, 3.35rem);
  line-height: 1.05;
  letter-spacing: -0.045em;
}

body.ai-concierge-route .ai-concierge-header p:not(.muted) {
  max-width: 66ch;
  font-size: var(--rz-text-lg);
}

body.ai-concierge-route .ai-concierge-availability {
  display: flex;
  align-items: center;
  gap: var(--rz-space-2);
  margin: var(--rz-space-4) 0 0;
  color: var(--rz-color-success);
  font-size: var(--rz-text-sm);
  font-weight: 680;
}

body.ai-concierge-route .ai-concierge-availability::before {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

body.ai-concierge-route .ai-concierge-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 23rem);
  gap: clamp(1.5rem, 2.5vw, 3.25rem);
  align-items: start;
}

body.ai-concierge-route .ai-concierge-brief {
  display: grid;
  gap: var(--rz-space-5);
}

body.ai-concierge-route .ai-concierge-section {
  min-width: 0;
  margin: 0;
  padding: var(--rz-space-6);
  border: 1px solid var(--rz-color-border);
  border-radius: var(--rz-radius-panel);
  background: var(--rz-color-surface);
  box-shadow: var(--rz-shadow-raised);
}

body.ai-concierge-route .ai-concierge-section legend {
  display: flex;
  align-items: center;
  gap: var(--rz-space-3);
  padding-inline: var(--rz-space-2);
  color: var(--rz-color-text-strong);
  font-size: var(--rz-text-xl);
  font-weight: 780;
  letter-spacing: -0.025em;
}

body.ai-concierge-route .ai-concierge-section legend span,
body.ai-concierge-route .ai-concierge-next li > span {
  width: 1.8rem;
  height: 1.8rem;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: var(--rz-color-primary-soft);
  color: var(--rz-color-primary-hover);
  font-size: var(--rz-text-xs);
  font-weight: 780;
}

body.ai-concierge-route .ai-concierge-section > .muted {
  margin: 0 0 var(--rz-space-5);
  padding-inline: var(--rz-space-2);
}

body.ai-concierge-route .ai-concierge-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rz-space-5);
}

body.ai-concierge-route .ai-concierge-field-grid label {
  display: grid;
  align-content: start;
  gap: var(--rz-space-2);
  color: var(--rz-color-text-strong);
  font-weight: 700;
}

body.ai-concierge-route .ai-concierge-field-wide {
  grid-column: 1 / -1;
}

body.ai-concierge-route .ai-concierge-field-grid :is(input, textarea) {
  margin: 0;
  color: var(--rz-color-text);
  font-weight: 450;
  line-height: var(--rz-leading-body);
  resize: vertical;
}

body.ai-concierge-route .ai-concierge-route {
  display: grid;
  align-content: center;
  gap: var(--rz-space-2);
  min-height: var(--rz-control-height);
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--rz-color-border);
  border-radius: var(--rz-radius-control);
  background: var(--rz-color-surface-subtle);
}

body.ai-concierge-route .ai-concierge-route span {
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-xs);
  font-weight: 700;
}

body.ai-concierge-route .ai-concierge-route strong {
  overflow: hidden;
  color: var(--rz-color-text-strong);
  font-family: var(--rz-font-mono);
  font-size: var(--rz-text-sm);
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.ai-concierge-route .ai-concierge-sidebar {
  position: sticky;
  inset-block-start: var(--rz-space-5);
  display: grid;
  gap: var(--rz-space-5);
}

body.ai-concierge-route .ai-concierge-sidebar > section {
  padding: var(--rz-space-5);
  border: 1px solid var(--rz-color-border);
  border-radius: var(--rz-radius-panel);
  background: var(--rz-color-surface);
}

body.ai-concierge-route .ai-concierge-sidebar h2 {
  margin-block: var(--rz-space-1) var(--rz-space-2);
  font-size: var(--rz-text-lg);
}

body.ai-concierge-route .ai-builder-media-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rz-space-3);
  max-height: 28rem;
  margin-block: var(--rz-space-4);
  padding-inline-end: var(--rz-space-1);
  overflow: auto;
}

body.ai-concierge-route .ai-builder-media-option {
  position: relative;
  display: grid;
  gap: var(--rz-space-2);
  align-content: start;
  margin: 0;
  padding: var(--rz-space-2);
  border: 1px solid var(--rz-color-border);
  border-radius: var(--rz-radius-control);
  background: var(--rz-color-surface-subtle);
  cursor: pointer;
  transition: border-color var(--rz-motion-fast) var(--rz-ease-standard),
              transform var(--rz-motion-fast) var(--rz-ease-standard);
}

body.ai-concierge-route .ai-builder-media-option:hover {
  border-color: var(--rz-color-primary);
  transform: translateY(-1px);
}

body.ai-concierge-route .ai-builder-media-preview {
  width: 100%;
  aspect-ratio: 4 / 3;
  display: grid;
  place-items: center;
  border-radius: calc(var(--rz-radius-control) - 0.15rem);
  background: var(--rz-color-surface-strong);
  object-fit: cover;
}

body.ai-concierge-route .ai-builder-media-option span {
  display: flex;
  gap: var(--rz-space-2);
  align-items: flex-start;
  min-width: 0;
}

body.ai-concierge-route .ai-builder-media-option strong {
  overflow: hidden;
  font-size: var(--rz-text-xs);
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.ai-concierge-route .ai-builder-media-option small {
  color: var(--rz-color-text-muted);
  font-size: 0.68rem;
}

body.ai-concierge-route .ai-concierge-next ol {
  display: grid;
  gap: var(--rz-space-4);
  margin: var(--rz-space-4) 0 0;
  padding: 0;
  list-style: none;
}

body.ai-concierge-route .ai-concierge-next li {
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  gap: var(--rz-space-3);
}

body.ai-concierge-route .ai-concierge-next li p {
  margin: var(--rz-space-1) 0 0;
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-sm);
}

body.ai-concierge-route .ai-concierge-submit {
  display: flex;
  gap: var(--rz-space-5);
  align-items: center;
  justify-content: space-between;
  padding: var(--rz-space-6);
  border-inline-start: 3px solid var(--rz-color-primary);
  background: var(--rz-color-primary-soft);
}

body.ai-concierge-route .ai-concierge-submit p {
  max-width: 60ch;
  margin: 0;
}

body.ai-concierge-route .ai-concierge-progress {
  display: flex;
  gap: var(--rz-space-4);
  align-items: center;
}

body.ai-concierge-route .ai-concierge-progress-mark {
  width: 1.4rem;
  height: 1.4rem;
  flex: 0 0 auto;
  border: 2px solid color-mix(in srgb, var(--rz-color-primary) 28%, transparent);
  border-block-start-color: var(--rz-color-primary);
  border-radius: 50%;
  animation: rz-ai-progress 750ms linear infinite;
}

@keyframes rz-ai-progress {
  to { transform: rotate(1turn); }
}

/* Phase 3 AI design review. This chrome is intentionally scoped so generated
   customer pages keep their own visual language inside the preview frames. */
body.ai-direction-review-route .workspace-shell,
body.ai-preview-review-route .workspace-shell {
  display: grid;
  gap: var(--rz-space-7);
  max-width: 108rem;
  margin-inline: auto;
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .eyebrow {
  margin: 0 0 var(--rz-space-2);
  color: var(--rz-color-primary);
  font-size: var(--rz-text-xs);
  font-weight: 760;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-review-header {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(15rem, 0.55fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: end;
  min-height: 18rem;
  padding-block: clamp(2rem, 5vw, 5.5rem) var(--rz-space-7);
  border-block-end: 1px solid var(--rz-color-border);
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-review-header h1 {
  max-width: 15ch;
  margin: 0;
  color: var(--rz-color-text-strong);
  font-size: clamp(2.55rem, 5vw, 5.6rem);
  font-weight: 680;
  line-height: 0.96;
  letter-spacing: -0.055em;
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-review-header > div > p:last-child {
  max-width: 62ch;
  margin: var(--rz-space-5) 0 0;
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-lg);
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-review-header aside {
  display: grid;
  gap: var(--rz-space-2);
  padding-block: var(--rz-space-4);
  border-block: 1px solid var(--rz-color-border);
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-review-header aside span {
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-sm);
}

body.ai-direction-review-route .ai-v3-brief-note {
  display: grid;
  grid-template-columns: minmax(10rem, 0.35fr) minmax(0, 1fr);
  gap: var(--rz-space-5);
  align-items: baseline;
  margin: 0;
  padding: var(--rz-space-5) 0;
  border: 0;
  border-block-end: 1px solid var(--rz-color-border);
  border-radius: 0;
  background: transparent;
}

body.ai-direction-review-route .ai-v3-brief-note span {
  color: var(--rz-color-text-muted);
}

body.ai-direction-review-route .ai-v3-direction-grid,
body.ai-preview-review-route .ai-v3-page-review-list {
  display: grid;
  gap: clamp(3.5rem, 8vw, 8rem);
}

body.ai-direction-review-route .ai-v3-direction-card,
body.ai-preview-review-route .ai-v3-page-review-card {
  min-width: 0;
  padding-block-start: var(--rz-space-6);
  border-block-start: 2px solid var(--rz-color-text-strong);
}

body.ai-direction-review-route .ai-v3-direction-heading,
body.ai-preview-review-route .ai-v3-page-review-card > header,
body.ai-direction-review-route .ai-v3-direction-footer {
  display: flex;
  gap: var(--rz-space-6);
  align-items: flex-start;
  justify-content: space-between;
}

body.ai-direction-review-route .ai-v3-direction-heading > div:first-child {
  max-width: 58rem;
}

body.ai-direction-review-route .ai-v3-direction-heading h2,
body.ai-preview-review-route .ai-v3-page-review-card h2 {
  margin: 0;
  color: var(--rz-color-text-strong);
  font-size: clamp(1.85rem, 3.3vw, 3.5rem);
  font-weight: 660;
  letter-spacing: -0.035em;
}

body.ai-direction-review-route .ai-v3-direction-heading p:last-child {
  max-width: 65ch;
  margin-block: var(--rz-space-3) 0;
  color: var(--rz-color-text-muted);
}

body.ai-direction-review-route .ai-v3-palette {
  display: flex;
  min-width: 9rem;
  height: 2.4rem;
  overflow: hidden;
  border: 1px solid var(--rz-color-border);
  border-radius: var(--rz-radius-control);
}

body.ai-direction-review-route .ai-v3-palette span {
  flex: 1;
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-device-previews {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
  gap: clamp(1rem, 3vw, 2.5rem);
  align-items: start;
  margin-block: var(--rz-space-6);
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-device {
  min-width: 0;
  margin: 0;
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-device figcaption {
  display: flex;
  justify-content: space-between;
  gap: var(--rz-space-3);
  margin-block-end: var(--rz-space-2);
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-xs);
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-device figcaption span:first-child {
  color: var(--rz-color-text-strong);
  font-weight: 720;
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-device-screen {
  overflow: hidden;
  border: 1px solid var(--rz-color-border-strong);
  background: #fff;
  box-shadow: var(--rz-shadow-panel);
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-device-desktop .ai-v3-device-screen {
  aspect-ratio: 16 / 9;
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-device-mobile .ai-v3-device-screen {
  width: min(100%, 24.375rem);
  aspect-ratio: 390 / 720;
  margin-inline: auto;
}

body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-device iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}

body.ai-direction-review-route .ai-v3-direction-footer {
  align-items: end;
  padding-block-start: var(--rz-space-5);
  border-block-start: 1px solid var(--rz-color-border);
}

body.ai-direction-review-route .ai-v3-direction-footer p {
  max-width: 60ch;
  margin: 0;
  color: var(--rz-color-text-muted);
}

body.ai-direction-review-route .ai-v3-direction-footer strong {
  color: var(--rz-color-text-strong);
}

body.ai-direction-review-route .ai-v3-review-actions,
body.ai-preview-review-route .ai-v3-preview-actions {
  display: flex;
  gap: var(--rz-space-4);
  align-items: center;
  justify-content: space-between;
  padding-block: var(--rz-space-6);
  border-block-start: 1px solid var(--rz-color-border);
}

body.ai-direction-review-route .ai-v3-review-actions p {
  max-width: 52ch;
  margin: 0;
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-sm);
}

body.ai-preview-review-route .ai-v3-page-review-card > footer {
  display: flex;
  gap: var(--rz-space-4);
  align-items: center;
  justify-content: space-between;
  min-height: 3rem;
}

body.ai-preview-review-route .ai-v3-page-review-card > footer .notice,
body.ai-preview-review-route .ai-v3-success {
  display: grid;
  gap: var(--rz-space-2);
}

body.ai-preview-review-route .ai-v3-success {
  margin: 0;
  padding: var(--rz-space-6);
}

body.ai-preview-review-route .ai-v3-preview-actions > div {
  display: flex;
  gap: var(--rz-space-3);
  flex-wrap: wrap;
}

body.admin-shell-route .skip-link {
  position: fixed;
  inset-block-start: var(--rz-space-3);
  inset-inline-start: var(--rz-space-3);
  z-index: 1000;
  padding: var(--rz-space-3) var(--rz-space-4);
  border: 2px solid var(--rz-color-focus);
  border-radius: var(--rz-radius-control);
  background: var(--rz-color-surface);
  color: var(--rz-color-text-strong);
  font-weight: 720;
  transform: translateY(-200%);
  transition: transform var(--rz-motion-fast) var(--rz-ease-standard);
}

body.admin-shell-route .skip-link:focus {
  transform: translateY(0);
}

/* EPOS menu management shares the main admin language while keeping the live
   phone release unmistakable beside editable drafts. */
body.epos-admin-route main.workspace-shell {
  max-width: 92rem;
}

body.epos-admin-route main.workspace-shell > :is(.card, details.card) {
  margin-block-end: var(--rz-space-4);
}

body.epos-admin-route main.workspace-shell :is(.toolbar, .grid) {
  gap: var(--rz-space-4);
}

body.epos-admin-route main.workspace-shell .card :is(form, fieldset) {
  display: grid;
  gap: var(--rz-space-3);
}

body.epos-admin-route main.workspace-shell details.card > summary {
  cursor: pointer;
  color: var(--rz-color-text-strong);
  font-weight: 720;
}

body.epos-admin-route .breadcrumbs {
  margin-block-end: var(--rz-space-4);
  font-size: var(--rz-text-sm);
}

body.epos-admin-route .breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rz-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

body.epos-admin-route .breadcrumbs li {
  display: inline-flex;
  align-items: center;
  gap: var(--rz-space-2);
  color: var(--rz-color-text-muted);
}

body.epos-admin-route .breadcrumbs li + li::before {
  content: "/";
  color: var(--rz-color-border-strong);
}

body.epos-admin-route .breadcrumbs a {
  color: var(--rz-color-link);
  font-weight: 680;
}

body.epos-admin-route .epos-phone-release {
  position: relative;
  overflow: hidden;
  border-inline-start: 4px solid var(--rz-color-primary);
  background: linear-gradient(135deg, var(--rz-color-primary-soft), var(--rz-color-surface) 58%);
}

body.epos-admin-route .epos-phone-release[data-epos-phone-state="not-live"] {
  border-inline-start-color: var(--rz-color-warning);
  background: linear-gradient(135deg, var(--rz-color-warning-soft), var(--rz-color-surface) 58%);
}

body.epos-admin-route .epos-phone-release > p {
  max-width: 72ch;
}

body.epos-admin-route .epos-release-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rz-space-3);
  margin: var(--rz-space-5) 0 0;
}

body.epos-admin-route .epos-release-metrics > div {
  min-width: 0;
  padding: var(--rz-space-3) var(--rz-space-4);
  border: 1px solid var(--rz-color-border);
  border-radius: var(--rz-radius-control);
  background: color-mix(in srgb, var(--rz-color-surface) 90%, transparent);
}

body.epos-admin-route .epos-release-metrics :is(dt, dd) {
  margin: 0;
}

body.epos-admin-route .epos-release-metrics dt {
  color: var(--rz-color-text-muted);
  font-size: var(--rz-text-xs);
  font-weight: 680;
}

body.epos-admin-route .epos-release-metrics dd {
  margin-block-start: var(--rz-space-1);
  color: var(--rz-color-text-strong);
  font-size: var(--rz-text-lg);
  font-weight: 760;
}

body.epos-admin-route .epos-menu-list tr[data-epos-phone-menu="live"] > * {
  background: color-mix(in srgb, var(--rz-color-success-soft) 72%, var(--rz-color-surface));
}

body.epos-admin-route .epos-menu-list tr[data-epos-phone-menu="live"] .status-pill {
  border-color: color-mix(in srgb, var(--rz-color-success) 38%, var(--rz-color-border));
  background: var(--rz-color-success-soft);
  color: var(--rz-color-success);
}

@media (max-width: 70rem) {
  body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-device-previews {
    grid-template-columns: 1fr;
  }

  body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-device-mobile .ai-v3-device-screen {
    margin-inline: 0;
  }
}

@media (max-width: 64rem) {
  body.admin-shell-route .app-shell-topbar {
    padding-inline: var(--rz-space-4);
  }

  body.admin-shell-route .app-shell-save-status {
    order: 10;
    flex-basis: 100%;
    margin-inline-start: 0;
  }

  body.admin-shell-route .app-shell-current-location {
    display: none;
  }

  body.ai-concierge-route .ai-concierge-layout {
    grid-template-columns: 1fr;
  }

  body.ai-concierge-route .ai-concierge-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 47.5rem) {
  body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) {
    padding: var(--rz-space-4) var(--rz-space-3) var(--rz-space-8);
  }

  body.admin-shell-route .app-shell-topbar {
    margin: -1rem -1rem var(--rz-space-4);
    padding: var(--rz-space-3);
  }

  body.admin-shell-route .app-shell-search {
    order: 5;
    flex: 1 0 100%;
    max-width: none;
  }

  body.admin-shell-route:not(.canvas-editor-route) .workspace-page-header,
  body.admin-shell-route:not(.canvas-editor-route) main > .toolbar:first-child {
    align-items: flex-start;
    flex-direction: column;
  }

  body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) > .card,
  body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) > section.card {
    padding: var(--rz-space-4);
  }

  body.epos-admin-route .epos-release-metrics {
    grid-template-columns: 1fr;
  }

  body.admin-shell-route:not(.canvas-editor-route) .rz-empty-state,
  body.admin-shell-route:not(.canvas-editor-route) main:not(.canvas-app-shell) :is(.empty-state, .crm-empty-state, .commerce-empty-state) {
    min-height: 11rem;
    padding: var(--rz-space-6) var(--rz-space-4);
  }

  body.guided-tutorial-route .guided-section-heading,
  body.guided-tutorial-route .guided-tutorial-card-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .guided-launch-dialog {
    padding: var(--rz-space-5);
  }

  body.ai-concierge-route .ai-concierge-header {
    min-height: 0;
  }

  body.ai-concierge-route .ai-concierge-field-grid,
  body.ai-concierge-route .ai-concierge-sidebar {
    grid-template-columns: 1fr;
  }

  body.ai-concierge-route .ai-concierge-section {
    padding: var(--rz-space-5) var(--rz-space-4);
  }

  body.ai-concierge-route .ai-concierge-submit {
    align-items: stretch;
    flex-direction: column;
  }

  body.ai-concierge-route .ai-concierge-submit button {
    width: 100%;
  }

  body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-review-header,
  body.ai-direction-review-route .ai-v3-brief-note {
    grid-template-columns: 1fr;
  }

  body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-review-header {
    gap: var(--rz-space-6);
    min-height: 0;
  }

  body:is(.ai-direction-review-route, .ai-preview-review-route) .ai-v3-review-header h1 {
    font-size: clamp(2.35rem, 12vw, 3.7rem);
  }

  body.ai-direction-review-route .ai-v3-direction-heading,
  body.ai-preview-review-route .ai-v3-page-review-card > header,
  body.ai-direction-review-route .ai-v3-direction-footer,
  body.ai-direction-review-route .ai-v3-review-actions,
  body.ai-preview-review-route .ai-v3-preview-actions,
  body.ai-preview-review-route .ai-v3-page-review-card > footer {
    align-items: stretch;
    flex-direction: column;
  }

  body.ai-direction-review-route .ai-v3-palette {
    width: 100%;
  }
}

@media (max-width: 23rem) {
  body.admin-shell-route .app-shell-mode-toggle,
  body.admin-shell-route .app-shell-command-button,
  body.admin-shell-route .app-shell-topbar a.app-shell-topbar-link {
    flex: 1 1 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.admin-shell-route *,
  body.admin-shell-route *::before,
  body.admin-shell-route *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (forced-colors: active) {
  body.admin-shell-route :is(button, .button, input, textarea, select, .card, .rz-status, .rz-notice) {
    border: 1px solid CanvasText;
  }

  body.admin-shell-route :is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
    outline: 3px solid Highlight;
  }
}

@font-face {
  font-family: "Rusteeze Inter";
  src: url("/assets/fonts/builtin/inter-3100e775e8616cd2611beecfa23a4263d7037586789b43f035236a2e6fbd4c62.woff2")
    format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 100 900;
}

/*
 * Rusteeze public signup theme.
 *
 * Shape rule: 18px outer surfaces, 12px controls and nested choices,
 * circular indicators, and pill-shaped status badges.
 */
body.signup-route {
  --signup-canvas: #03141b;
  --signup-surface: #08242b;
  --signup-surface-strong: #10343c;
  --signup-primary: #0b6672;
  --signup-secondary: #062b33;
  --signup-accent: #c8f63f;
  --signup-text: #f4fbf9;
  --signup-muted: #abc5c2;
  --signup-border: #315861;
  --signup-warning: #f6c85f;
  --brand-ink: var(--signup-text);
  --brand-ink-soft: var(--signup-text);
  --brand-text: var(--signup-text);
  --brand-muted: var(--signup-muted);
  --brand-border: var(--signup-border);
  min-height: 100dvh;
  overflow-x: clip;
  color-scheme: dark;
  background: var(--signup-canvas);
  color: var(--signup-text);
  font-family: "Rusteeze Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

body.signup-route a {
  color: var(--signup-accent);
  text-underline-offset: 0.2em;
}

body.signup-route a:hover {
  color: #d8ff69;
}

body.signup-route .signup-shell {
  width: 100%;
  max-width: none;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  display: grid;
  grid-template-columns: 18rem minmax(0, 1fr);
  background:
    radial-gradient(circle at 84% 7%, rgb(11 102 114 / 0.24), transparent 29rem),
    var(--signup-canvas);
}

body.signup-route .signup-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  min-height: 100dvh;
  height: 100dvh;
  padding: 2rem 1.5rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  border-right: 1px solid var(--signup-border);
  background: rgb(6 43 51 / 0.76);
  color: var(--signup-text);
  scrollbar-color: var(--signup-border) transparent;
}

body.signup-route .signup-sidebar .brand-lockup {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: 0.9rem;
  align-items: center;
}

body.signup-route .signup-sidebar .brand-logo {
  width: 4rem;
  height: 3.6rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  background: transparent;
  box-shadow: none;
}

body.signup-route .signup-sidebar .brand-name {
  color: var(--signup-text);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.015em;
}

body.signup-route .signup-sidebar .brand-product {
  margin-top: 0.25rem;
  color: var(--signup-muted);
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.3;
  text-transform: none;
  letter-spacing: 0;
}

body.signup-route .signup-step-list {
  display: grid;
  gap: 0.55rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--signup-border);
}

body.signup-route .signup-step {
  min-width: 0;
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  padding: 0.9rem;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--signup-muted);
}

body.signup-route .signup-step.is-complete {
  border-color: rgb(49 88 97 / 0.75);
  background: rgb(8 36 43 / 0.8);
  color: var(--signup-text);
}

body.signup-route .signup-step.is-active {
  border-color: rgb(200 246 63 / 0.56);
  background: rgb(200 246 63 / 0.08);
  color: var(--signup-text);
  box-shadow: inset 3px 0 0 var(--signup-accent);
}

body.signup-route .signup-step-number {
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--signup-border);
  border-radius: 999px;
  background: var(--signup-canvas);
  color: var(--signup-muted);
  font-weight: 750;
}

body.signup-route .signup-step.is-complete .signup-step-number {
  border-color: var(--signup-primary);
  background: var(--signup-primary);
  color: var(--signup-text);
  box-shadow: none;
}

body.signup-route .signup-step.is-active .signup-step-number {
  border-color: var(--signup-accent);
  background: var(--signup-accent);
  color: var(--signup-secondary);
  box-shadow: none;
}

body.signup-route .signup-step strong {
  color: inherit;
  line-height: 1.3;
}

body.signup-route .signup-step small {
  display: block;
  margin-top: 0.28rem;
  color: var(--signup-muted);
  line-height: 1.4;
}

body.signup-route .signup-support {
  margin-top: auto;
  padding: 1rem;
  border: 1px solid var(--signup-border);
  border-radius: 12px;
  background: var(--signup-surface);
}

body.signup-route .signup-support p {
  margin: 0.35rem 0 0.85rem;
  color: var(--signup-muted);
}

body.signup-route .signup-content {
  min-width: 0;
  width: 100%;
  max-width: 96rem;
  margin-inline: auto;
  padding: clamp(2rem, 4vw, 4.5rem);
}

body.signup-route .signup-hero {
  min-height: 11rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(min(100%, 18rem), 25rem);
  gap: 2rem;
  align-items: end;
  color: var(--signup-text);
}

body.signup-route .signup-hero h1 {
  max-width: 16ch;
  margin: 0;
  color: var(--signup-text);
  font-size: clamp(2.45rem, 4vw, 4rem);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.035em;
}

body.signup-route .signup-hero h1 span {
  color: var(--signup-accent);
}

body.signup-route .signup-hero p {
  max-width: 34rem;
  margin-bottom: 1.4rem;
  color: var(--signup-muted);
  font-size: 1.05rem;
  line-height: 1.6;
}

body.signup-route .signup-hero-illustration {
  position: relative;
  min-height: 11rem;
}

body.signup-route .signup-shop {
  right: 3.9rem;
  bottom: 0;
  width: 10.5rem;
  height: 8.5rem;
  border-radius: 1.2rem 1.2rem 0.45rem 0.45rem;
  background: linear-gradient(145deg, #16808b, #0b4b55);
  box-shadow: 0 24px 50px rgb(0 12 16 / 0.36);
}

body.signup-route .signup-shop::before {
  background: repeating-linear-gradient(
    90deg,
    var(--signup-accent) 0 1.65rem,
    var(--signup-secondary) 1.65rem 3.3rem
  );
}

body.signup-route .signup-shop-window {
  background: linear-gradient(145deg, #10343c, #03141b);
}

body.signup-route .signup-shop-door {
  background: linear-gradient(180deg, #10343c, #03141b);
}

body.signup-route .signup-plant {
  background: linear-gradient(
    180deg,
    var(--signup-accent) 0 55%,
    var(--signup-primary) 55% 100%
  );
}

body.signup-route .signup-shield,
body.signup-route .signup-calendar,
body.signup-route .signup-message {
  color: var(--signup-text);
  box-shadow: 0 18px 42px rgb(0 12 16 / 0.34);
}

body.signup-route .signup-shield {
  background: var(--signup-accent);
  color: var(--signup-secondary);
}

body.signup-route .signup-calendar {
  border: 1px solid var(--signup-border);
  background: var(--signup-surface-strong);
  color: var(--signup-accent);
}

body.signup-route .signup-message {
  background: linear-gradient(145deg, #16808b, var(--signup-primary));
}

body.signup-route .signup-card,
body.signup-route .signup-trust-strip {
  border: 1px solid var(--signup-border);
  border-radius: 18px;
  background: var(--signup-surface);
  color: var(--signup-text);
  box-shadow: 0 28px 70px rgb(0 12 16 / 0.28);
}

body.signup-route .signup-card {
  min-width: 0;
  max-width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(min(100%, 18rem), 0.95fr);
  gap: clamp(1.25rem, 3vw, 2.5rem);
  padding: clamp(1.2rem, 2.4vw, 2.25rem);
}

body.signup-route .signup-card h1,
body.signup-route .signup-card h2,
body.signup-route .signup-card h3,
body.signup-route .signup-card h4 {
  color: var(--signup-text);
  letter-spacing: -0.02em;
}

body.signup-route .signup-card h1 {
  max-width: 18ch;
  margin-top: 0.65rem;
  font-size: clamp(2rem, 3.5vw, 3.25rem);
  line-height: 1.05;
}

body.signup-route .signup-card h2 {
  margin-top: 0;
  font-size: clamp(1.65rem, 2.5vw, 2.2rem);
  line-height: 1.1;
}

body.signup-route .signup-card p,
body.signup-route .signup-card li {
  line-height: 1.55;
}

body.signup-route .signup-form-area,
body.signup-route .signup-aside {
  min-width: 0;
}

body.signup-route label {
  color: var(--signup-text);
}

body.signup-route button,
body.signup-route input,
body.signup-route select,
body.signup-route textarea {
  font: inherit;
}

body.signup-route input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
body.signup-route textarea,
body.signup-route select {
  min-height: 46px;
  border: 1px solid #47717a;
  border-radius: 12px;
  background: var(--signup-canvas);
  color: var(--signup-text);
  caret-color: var(--signup-accent);
  box-shadow: inset 0 1px 0 rgb(244 251 249 / 0.025);
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    background-color 160ms ease;
}

body.signup-route input::placeholder,
body.signup-route textarea::placeholder {
  color: #87a5a2;
  opacity: 1;
}

body.signup-route input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):hover,
body.signup-route textarea:hover,
body.signup-route select:hover {
  border-color: #5a838a;
}

body.signup-route input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus,
body.signup-route textarea:focus,
body.signup-route select:focus {
  border-color: var(--signup-accent);
  outline: 3px solid var(--signup-text);
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--signup-canvas);
}

body.signup-route input:-webkit-autofill,
body.signup-route input:-webkit-autofill:hover,
body.signup-route input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--signup-text);
  box-shadow: 0 0 0 1000px var(--signup-canvas) inset;
  transition: background-color 9999s ease-out;
}

body.signup-route input[type="checkbox"],
body.signup-route input[type="radio"] {
  accent-color: var(--signup-accent);
}

body.signup-route .muted,
body.signup-route small {
  color: var(--signup-muted);
}

body.signup-route .signup-field-grid {
  gap: 1rem;
}

body.signup-route .signup-business-grid {
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: 0.75rem;
}

body.signup-route .signup-business-card,
body.signup-route .signup-check,
body.signup-route .signup-package-card,
body.signup-route .signup-tier-card {
  border: 1px solid var(--signup-border);
  border-radius: 12px;
  background: var(--signup-secondary);
  color: var(--signup-text);
  transition:
    border-color 160ms ease,
    background-color 160ms ease,
    transform 160ms ease;
}

body.signup-route .signup-package-addon:not(.is-coming-soon) {
  padding-right: 2.75rem;
}

body.signup-route .signup-business-card:hover,
body.signup-route .signup-check:hover,
body.signup-route .signup-package-addon:hover {
  border-color: #47717a;
  background: var(--signup-surface-strong);
}

body.signup-route .signup-business-card:active,
body.signup-route .signup-check:active,
body.signup-route .signup-package-addon:active {
  transform: translateY(1px);
}

body.signup-route .signup-business-card:has(input:checked),
body.signup-route .signup-check:has(input:checked),
body.signup-route .signup-package-addon:has(input:checked) {
  border-color: var(--signup-accent);
  background: rgb(200 246 63 / 0.08);
  box-shadow: 0 0 0 1px rgb(200 246 63 / 0.24);
}

body.signup-route .signup-business-card:has(input:focus-visible),
body.signup-route .signup-check:has(input:focus-visible),
body.signup-route .signup-package-addon:has(input:focus-visible),
body.signup-route .signup-billing-toggle label:has(input:focus-visible) {
  outline: 3px solid var(--signup-text);
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--signup-canvas);
}

body.signup-route .signup-card-check {
  background: var(--signup-accent);
  color: var(--signup-secondary);
}

body.signup-route .signup-business-icon,
body.signup-route .signup-choice-icon,
body.signup-route .signup-tier-icon,
body.signup-route .signup-package-icon {
  border: 1px solid var(--signup-border);
  background: var(--signup-surface-strong);
  color: var(--signup-accent);
}

body.signup-route .signup-business-card strong,
body.signup-route .signup-package-card strong,
body.signup-route .signup-tier-card strong {
  color: var(--signup-text);
  overflow-wrap: anywhere;
}

body.signup-route .signup-business-card small,
body.signup-route .signup-check small,
body.signup-route .signup-package-card small {
  color: var(--signup-muted);
}

body.signup-route .signup-choice-panel,
body.signup-route .signup-package-picker {
  border: 1px solid var(--signup-border);
  border-radius: 14px;
  background: var(--signup-canvas);
}

body.signup-route .signup-note {
  border: 1px solid var(--signup-border);
  border-radius: 12px;
  background: var(--signup-surface-strong);
  color: var(--signup-text);
}

body.signup-route .signup-note-icon {
  flex: 0 0 auto;
  background: var(--signup-accent);
  color: var(--signup-secondary);
}

body.signup-route .signup-info-panel,
body.signup-route .signup-security-panel,
body.signup-route .signup-next-panel,
body.signup-route .signup-price-panel {
  border: 1px solid var(--signup-border);
  border-radius: 14px;
  background: var(--signup-surface-strong);
  color: var(--signup-text);
}

body.signup-route .signup-security-panel {
  background: var(--signup-secondary);
}

body.signup-route .signup-info-panel h3,
body.signup-route .signup-security-panel h3,
body.signup-route .signup-next-panel h3,
body.signup-route .signup-price-panel h3 {
  color: var(--signup-text);
}

body.signup-route .signup-benefit-list li::before,
body.signup-route .signup-security-panel .signup-benefit-list li::before {
  color: var(--signup-accent);
}

body.signup-route .signup-primary-button,
body.signup-route button.signup-primary-button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--signup-accent);
  border-radius: 14px;
  background: var(--signup-accent);
  color: var(--signup-secondary);
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 12px 28px rgb(0 12 16 / 0.25);
  transition:
    filter 160ms ease,
    transform 160ms ease,
    box-shadow 160ms ease;
}

body.signup-route .signup-primary-button:hover,
body.signup-route button.signup-primary-button:hover {
  color: var(--signup-secondary);
  text-decoration: none;
  filter: brightness(0.94);
  transform: translateY(-1px);
}

body.signup-route .signup-primary-button:active,
body.signup-route button.signup-primary-button:active {
  transform: translateY(1px);
}

body.signup-route .button.secondary,
body.signup-route button.secondary {
  min-height: 44px;
  border: 1px solid var(--signup-border);
  border-radius: 12px;
  background: var(--signup-secondary);
  color: var(--signup-text);
  box-shadow: none;
}

body.signup-route .button.secondary:hover,
body.signup-route button.secondary:hover {
  border-color: var(--signup-accent);
  color: var(--signup-text);
  text-decoration: none;
}

body.signup-route .signup-primary-button:focus-visible,
body.signup-route .button:focus-visible,
body.signup-route button:focus-visible,
body.signup-route a:focus-visible {
  outline: 3px solid var(--signup-text);
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--signup-canvas);
}

body.signup-route button:disabled,
body.signup-route .button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.55;
  transform: none;
}

body.signup-route .signup-trust-strip {
  margin-top: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.25rem;
}

body.signup-route .signup-trust-strip p {
  margin: 0.25rem 0 0;
}

body.signup-route .signup-trust-items {
  gap: 0.65rem 1rem;
  color: var(--signup-accent);
  font-weight: 650;
}

body.signup-route .signup-trust-items span + span {
  padding-left: 1rem;
  border-left: 1px solid var(--signup-border);
}

body.signup-route .signup-tier-card {
  background: var(--signup-secondary);
}

body.signup-route .signup-tier-card > div {
  min-width: 0;
}

body.signup-route .signup-tier-card h3 {
  overflow-wrap: anywhere;
}

body.signup-route .signup-tier-badge {
  border: 1px solid rgb(200 246 63 / 0.48);
  background: rgb(200 246 63 / 0.1);
  color: var(--signup-accent);
}

body.signup-route .signup-tier-badge-check {
  background: var(--signup-accent);
  color: var(--signup-secondary);
}

body.signup-route .signup-tier-subtitle {
  color: var(--signup-accent);
}

body.signup-route .signup-package-card.is-included {
  border-color: rgb(200 246 63 / 0.52);
  background: rgb(200 246 63 / 0.06);
}

body.signup-route .signup-package-icon[data-package-icon] {
  border-color: var(--signup-border);
  background: var(--signup-surface-strong);
  color: var(--signup-accent);
}

body.signup-route .signup-package-card.is-coming-soon {
  border-color: rgb(246 200 95 / 0.58);
  background: rgb(246 200 95 / 0.08);
}

body.signup-route .signup-coming-soon-badge {
  border-color: rgb(246 200 95 / 0.46);
  background: rgb(246 200 95 / 0.12);
  color: #ffe4a3;
}

body.signup-route .signup-coming-soon-mark {
  background: var(--signup-warning);
  color: var(--signup-secondary);
  box-shadow: none;
}

body.signup-route .signup-price-panel {
  background: var(--signup-secondary);
}

body.signup-route .signup-price-line {
  border-bottom-color: var(--signup-border);
}

body.signup-route .signup-price-line strong,
body.signup-route .signup-price-total strong {
  color: var(--signup-text);
}

body.signup-route .signup-price-total {
  border-top-color: var(--signup-border);
}

body.signup-route .signup-price-total strong,
body.signup-route .signup-price-yearly-equivalent {
  color: var(--signup-accent);
}

body.signup-route .signup-billing-toggle {
  border-color: var(--signup-border);
  border-radius: 12px;
  background: var(--signup-canvas);
}

body.signup-route .signup-billing-toggle label {
  min-height: 44px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: var(--signup-muted);
}

body.signup-route .signup-billing-toggle label.is-active {
  background: var(--signup-accent);
  color: var(--signup-secondary);
  box-shadow: none;
}

body.signup-route .signup-password-panel {
  border-top-color: var(--signup-border);
}

body.signup-route .signup-url-composer {
  border: 1px solid var(--signup-border);
  border-radius: 12px;
  background: var(--signup-canvas);
}

body.signup-route .signup-url-composer input {
  border: 0;
  border-radius: 0;
}

body.signup-route .signup-url-composer span,
body.signup-route .signup-button-reassurance {
  color: var(--signup-muted);
}

body.signup-route .notice {
  border: 1px solid rgb(246 200 95 / 0.54);
  border-left: 4px solid var(--signup-warning);
  border-radius: 12px;
  background: rgb(246 200 95 / 0.09);
  color: #fff0c7;
}

@media (max-width: 1000px) {
  body.signup-route .signup-shell {
    display: block;
  }

  body.signup-route .signup-sidebar {
    position: static;
    min-height: auto;
    height: auto;
    padding: 1.25rem clamp(1rem, 4vw, 2rem);
    overflow: visible;
    gap: 1.2rem;
    border-right: 0;
    border-bottom: 1px solid var(--signup-border);
    background: var(--signup-secondary);
  }

  body.signup-route .signup-sidebar .brand-lockup {
    grid-template-columns: 3.65rem minmax(0, 1fr);
  }

  body.signup-route .signup-sidebar .brand-logo {
    width: 3.65rem;
    height: 3.25rem;
  }

  body.signup-route .signup-step-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
    padding-top: 1rem;
  }

  body.signup-route .signup-step {
    grid-template-columns: 2rem minmax(0, 1fr);
    padding: 0.7rem;
  }

  body.signup-route .signup-step > div {
    min-width: 0;
  }

  body.signup-route .signup-step strong,
  body.signup-route .signup-step small {
    overflow-wrap: anywhere;
  }

  body.signup-route .signup-step-number {
    width: 1.85rem;
    height: 1.85rem;
  }

  body.signup-route .signup-support {
    display: none;
  }

  body.signup-route .signup-content {
    padding: 2rem clamp(1rem, 4vw, 2rem) 3rem;
  }

  body.signup-route .signup-card {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

@media (max-width: 750px) {
  body.signup-route .signup-sidebar {
    padding-inline: 1.1rem;
  }

  body.signup-route .signup-step-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.35rem;
    overflow: visible;
  }

  body.signup-route .signup-step {
    min-width: 0;
    grid-template-columns: 1fr;
    align-content: start;
    justify-items: center;
    gap: 0.35rem;
    padding: 0.55rem 0.2rem;
    text-align: center;
  }

  body.signup-route .signup-step > div {
    min-width: 0;
  }

  body.signup-route .signup-step strong {
    font-size: 0.72rem;
    line-height: 1.18;
    overflow-wrap: anywhere;
  }

  body.signup-route .signup-step small {
    display: none;
  }

  body.signup-route .signup-content {
    padding: 1.5rem 1.1rem 2.5rem;
  }

  body.signup-route .signup-hero {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0.5rem 0 1.4rem;
  }

  body.signup-route .signup-hero h1 {
    font-size: clamp(2.35rem, 12vw, 3rem);
  }

  body.signup-route .signup-hero p {
    margin-bottom: 0;
  }

  body.signup-route .signup-hero-illustration {
    display: none;
  }

  body.signup-route .signup-card {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    padding: 1.1rem;
  }

  body.signup-route .signup-card h1 {
    font-size: 2.15rem;
  }

  body.signup-route .signup-card h2 {
    font-size: 1.7rem;
  }

  body.signup-route .signup-business-grid,
  body.signup-route .signup-choice-grid,
  body.signup-route .signup-recommendation-grid {
    grid-template-columns: 1fr;
  }

  body.signup-route .signup-trust-strip {
    grid-template-columns: 1fr;
    padding: 1rem;
  }

  body.signup-route .signup-trust-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.signup-route .signup-trust-items span + span {
    padding-left: 0;
    border-left: 0;
  }

  body.signup-route .signup-primary-button {
    width: 100%;
  }
}

@media (max-width: 520px) {
  body.signup-route .signup-sidebar .brand-lockup {
    grid-template-columns: 3.25rem minmax(0, 1fr);
  }

  body.signup-route .signup-sidebar .brand-logo {
    width: 3.25rem;
    height: 2.9rem;
  }

  body.signup-route .signup-business-card {
    min-height: 7.5rem;
  }

  body.signup-route .signup-url-composer {
    grid-template-columns: 1fr;
  }

  body.signup-route .signup-url-composer span {
    padding: 0.7rem 0.8rem;
    border-top: 1px solid var(--signup-border);
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.signup-route *,
  body.signup-route *::before,
  body.signup-route *::after {
    scroll-behavior: auto;
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
  }
}

/* September workspace: compact working surfaces, isolated from customer sites. */
body.admin-shell-route[data-admin-refresh] {
  --shell-sidebar-width: 14.5rem;
  --shell-sidebar-collapsed-width: 4rem;
  --rz-color-canvas: #f5f9fa;
  --rz-color-border: #d4e3e6;
  --rz-color-surface-subtle: #f4f9fa;
  --rz-color-text-muted: #526c79;
  --rz-control-height: 2.25rem;
  --rz-radius-panel: .5rem;
  --rz-text-md: .875rem;
  font-size: .875rem;
  line-height: 1.5;
}
body.admin-shell-route[data-admin-refresh][data-shell-theme="dark"] {
  --rz-color-canvas: #03141b;
  --rz-color-border: #315861;
  --rz-color-surface-subtle: #0c2b32;
  --rz-color-text-muted: #abc5c2;
}
body.admin-shell-route[data-admin-refresh] > main { padding: 1.25rem 1.5rem; max-width: none; min-width: 0; }
body.admin-shell-route[data-admin-refresh] :is(h1, h2, h3) { letter-spacing: -.025em; line-height: 1.25; }
body.admin-shell-route[data-admin-refresh] h1,
body.admin-shell-route[data-admin-refresh] main:not(.canvas-app-shell) .toolbar h1 { font-size: 1.5rem; margin: 0 0 .3rem; }
body.admin-shell-route[data-admin-refresh] h2 { font-size: 1.125rem; }
body.admin-shell-route[data-admin-refresh] h3 { font-size: .9375rem; }
body.admin-shell-route[data-admin-refresh] :is(p, ul, ol) { margin-top: .4rem; margin-bottom: .65rem; }
body.admin-shell-route[data-admin-refresh] :is(.card, .crm-panel) { border-radius: .5rem; padding: 1rem; box-shadow: none; margin-bottom: 1rem; }
body.admin-shell-route[data-admin-refresh] :is(.toolbar, .workspace-page-header) { gap: .65rem; margin-bottom: 1rem; }
body.admin-shell-route[data-admin-refresh] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
  font-size: .875rem; font-weight: 400; border-radius: .375rem; padding: .45rem .65rem;
  background: var(--shell-panel); color: var(--shell-text); border: 1px solid var(--shell-border);
}
body.admin-shell-route[data-admin-refresh] label { font-size: .8125rem; font-weight: 500; }
body.admin-shell-route[data-admin-refresh] :is(input[type="checkbox"], input[type="radio"]) { accent-color: #0b6672; }
body.admin-shell-route[data-admin-refresh] :is(button, .button) { font-size: .8125rem; min-height: 2.25rem; padding: .45rem .75rem; border-radius: .375rem; }
body.admin-shell-route[data-admin-refresh] main :is(button, .button):not(.secondary):not(.danger):not(.critical):not(.linklike):not([class*="app-shell"]):not([role="tab"]) {
  background: var(--rz-color-accent); color: #062b33; border-color: var(--rz-color-accent); font-weight: 650;
}
body.admin-shell-route[data-admin-refresh] main :is(button, .button).secondary { background: var(--shell-panel); border-color: var(--shell-border); color: var(--shell-text); }
body.admin-shell-route[data-admin-refresh] :is(button, .button):disabled { opacity: .55; cursor: not-allowed; }
body.admin-shell-route[data-admin-refresh] main :is(th, td) { padding: .65rem .75rem; font-size: .8125rem; }
body.admin-shell-route[data-admin-refresh] main th { background: var(--rz-color-surface-subtle); font-weight: 600; color: var(--shell-muted); }
body.admin-shell-route[data-admin-refresh] main :is(.status-pill, .badge, .pill) { font-size: .75rem; padding: .18rem .5rem; border-radius: .4rem; }
body.admin-shell-route[data-admin-refresh] .notice { padding: .65rem .85rem; font-size: .8125rem; }
body.admin-shell-route[data-admin-refresh] main :is(details > summary) { cursor: pointer; }
body.admin-shell-route[data-admin-refresh] main [hidden] { display: none !important; }
body.admin-shell-route[data-admin-refresh] .app-shell-topbar {
  min-height: 3.5rem; padding: .6rem 1.5rem; margin: -1.25rem -1.5rem 1.25rem;
  gap: .65rem; flex-wrap: nowrap; background: var(--shell-panel); backdrop-filter: none;
}
body.admin-shell-route[data-admin-refresh] .app-shell-topbar button.app-shell-command-button { background: var(--rz-color-surface-subtle); color: var(--shell-muted); border-color: var(--shell-border); flex: 1 1 25rem; max-width: 40rem; justify-content: flex-start; min-width: 0; padding: .45rem .75rem; }
body.admin-shell-route[data-admin-refresh] .app-shell-topbar button.app-shell-command-button:hover:not(:disabled) { background: var(--rz-color-surface-subtle); border-color: var(--shell-link); color: var(--shell-text); transform: none; }
body.admin-shell-route[data-admin-refresh] .app-shell-command-button span { color: var(--shell-text); font-size: .8125rem; font-weight: 400; overflow: hidden; text-overflow: ellipsis; }
body.admin-shell-route[data-admin-refresh] .app-shell-command-button kbd { color: var(--shell-text); margin-left: auto; font-family: inherit; font-size: .6875rem; padding: 0 .3rem; border-radius: .2rem; background: var(--rz-color-surface-subtle); white-space: nowrap; }
body.admin-shell-route[data-admin-refresh] .app-shell-save-status { margin-left: auto; font-size: .75rem; min-width: 0; }
body.admin-shell-route[data-admin-refresh] .app-shell-save-status[data-state="ready"] { color: var(--shell-muted); }
body.admin-shell-route[data-admin-refresh] .app-shell-current-location { display: none; }
body.admin-shell-route[data-admin-refresh] .app-shell-more-menu { position: relative; margin: 0; border: 0; flex-shrink: 0; }
body.admin-shell-route[data-admin-refresh] .app-shell-more-menu > summary { display: grid; place-items: center; list-style: none; border: 1px solid var(--shell-border); border-radius: .375rem; width: 2.25rem; height: 2.25rem; cursor: pointer; }
body.admin-shell-route[data-admin-refresh] .app-shell-more-actions { position: absolute; right: 0; top: calc(100% + .5rem); display: grid; gap: .3rem; min-width: 12.5rem; padding: .5rem; background: var(--shell-panel); border: 1px solid var(--shell-border); border-radius: .5rem; box-shadow: var(--rz-shadow-overlay); z-index: 90; }
body.admin-shell-route[data-admin-refresh] .app-shell-more-actions .app-shell-topbar-link { justify-content: flex-start; border: 0; min-height: 2rem; }
body.admin-shell-route[data-admin-refresh] .app-shell-more-actions [data-shell-theme-toggle] { width: 100%; }
body.admin-shell-route[data-admin-refresh] .app-shell-more-actions [data-shell-theme-toggle]::after { content: "Change colour theme"; margin-left: .4rem; }
body.admin-shell-route[data-admin-refresh] header.app-shell-sidebar { background: #062b33; }
body.admin-shell-route[data-admin-refresh] .brand-bar { min-height: 0; display: block; padding: 1.35rem 1rem 1rem; }
body.admin-shell-route[data-admin-refresh] .brand-name { font-size: 1.5rem; color: #f4fbf9; }
body.admin-shell-route[data-admin-refresh] .brand-logo { width: 2rem; height: 2rem; }
body.admin-shell-route[data-admin-refresh] .brand-product { display: none; }
body.admin-shell-route[data-admin-refresh] .brand-site { display: block; margin-top: .6rem; padding: .65rem; background: #0a414c; border: 1px solid #1c5761; border-radius: .4rem; color: #f4fbf9; font-size: .8125rem; }
body.admin-shell-route[data-admin-refresh] .brand-lockup > div { flex: 1; min-width: 0; }
body.admin-shell-route[data-admin-refresh] .header-meta { margin: .7rem 0 0; font-size: .75rem; }
body.admin-shell-route[data-admin-refresh] .header-meta .header-kicker { font-size: .65rem; }
body.admin-shell-route[data-admin-refresh] .header-meta .muted { overflow-wrap: anywhere; font-size: .6875rem; }
body.admin-shell-route[data-admin-refresh] .nav { padding: .25rem .5rem .5rem; }
body.admin-shell-route[data-admin-refresh] .nav > a,
body.admin-shell-route[data-admin-refresh] .app-shell-nav-section > summary { min-height: 2.65rem; padding: .65rem .75rem; gap: .7rem; margin: .15rem 0; border-radius: .375rem; color: #e6f2f3; font-size: .8125rem; font-weight: 500; display: flex; align-items: center; text-transform: none; letter-spacing: 0; }
body.admin-shell-route[data-admin-refresh] .app-shell-nav-section { margin: .25rem 0; }
body.admin-shell-route[data-admin-refresh] .app-shell-nav-section > a { margin-left: 1rem; min-height: 2.2rem; padding: .4rem .6rem; font-size: .78125rem; font-weight: 500; }
body.admin-shell-route[data-admin-refresh] :is(.nav > a, .app-shell-nav-section a).is-active { background: #0b4b57; color: #f4fbf9; box-shadow: inset 3px 0 0 #c8f63f; }
body.admin-shell-route[data-admin-refresh] .app-shell-nav-section > summary:hover { background: #0a3a43; }
body.admin-shell-route[data-admin-refresh] .app-shell-group-chevron { margin-left: auto; font-size: 1.2rem; transition: transform 120ms ease; }
body.admin-shell-route[data-admin-refresh] .app-shell-nav-section[open] > summary .app-shell-group-chevron { transform: rotate(90deg); }
body.admin-shell-route[data-admin-refresh] .app-shell-menu-tools { padding: .5rem .8rem 1rem; border-top: 1px solid #315861; }
body.admin-shell-route[data-admin-refresh] .app-shell-menu-tools .app-shell-mode-toggle { width: 100%; justify-content: flex-start; background: transparent; color: #f4fbf9; border-color: transparent; }
body.admin-shell-route[data-admin-refresh] .app-shell-menu-tools .app-shell-mode-toggle::before { content: "⊞"; font-size: 1.35rem; margin-right: .5rem; }
body.admin-shell-route[data-admin-refresh] .app-shell-menu-tools .app-shell-search { margin: .5rem 0 0; width: 100%; box-sizing: border-box; }
body.admin-shell-route[data-admin-refresh] .app-shell-menu-tools [hidden] { display: none !important; }
body.admin-shell-route[data-admin-refresh].shell-rail-collapsed .app-shell-nav-section > summary .app-shell-nav-label,
body.admin-shell-route[data-admin-refresh].shell-rail-collapsed .app-shell-group-chevron,
body.admin-shell-route[data-admin-refresh].shell-rail-collapsed .app-shell-menu-tools { display: none; }
body.admin-shell-route[data-admin-refresh] .app-shell-workspaces-link { font-size: .75rem; }

/* Customer list and profile use the same density and panel rhythm as bookings. */
body.admin-shell-route[data-admin-refresh] .app-shell-account { padding: .75rem 1rem; margin: 0; border-top: 1px solid #315861; color: #abc5c2; }
body.admin-shell-route[data-admin-refresh] .app-shell-workspace-picker { display: block; text-decoration: none; }
body.admin-shell-route[data-admin-refresh] .app-shell-workspace-picker::after { content: "⌄"; float: right; margin-left: .5rem; }
body.admin-shell-route[data-admin-refresh] .crm-module-tabs { background: transparent; border: 0; border-radius: 0; display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--shell-border); gap: .25rem; padding: 0; margin: .75rem 0 1rem; }
body.admin-shell-route[data-admin-refresh] .crm-module-tabs a { padding: .65rem .85rem; border: 0; border-radius: 0; background: transparent; }
body.admin-shell-route[data-admin-refresh] .crm-module-tabs a.is-active { border-bottom: 2px solid var(--shell-link); }
body.admin-shell-route[data-admin-refresh] .admin-private-disclosure { margin: 0; }
body.admin-shell-route[data-admin-refresh] .admin-private-disclosure[open] { flex-basis: 100%; }
body.admin-shell-route[data-admin-refresh] .admin-private-disclosure form { margin-top: .5rem; }
body.admin-shell-route[data-admin-refresh] .admin-page-select { font-weight: 600; text-align: left; }
body.admin-shell-route[data-admin-refresh] .page-list-table tr.is-selected { background: var(--shell-accent-soft); }

/* Shared package pages: keep headings, working forms and empty states compact. */
body.admin-shell-route[data-admin-refresh] main :is(.workspace-page-header, .forms-page-header, .operations-page-header, .documents-page-header, .patient-page-header, .guided-section-heading) { padding: .25rem 0 .8rem; margin-bottom: .8rem; }
body.admin-shell-route[data-admin-refresh] main :is(.workspace-page-header, .forms-page-header, .operations-page-header, .documents-page-header, .patient-page-header) h1 { font-size: 1.5rem; }
body.admin-shell-route[data-admin-refresh] main :is(.empty-state, .crm-empty-state, .commerce-empty-state, .rz-empty-state, .workspace-empty-state) { min-height: 0; padding: 1.25rem; border-radius: .5rem; font-size: .875rem; }
body.admin-shell-route[data-admin-refresh] main :is(.empty-state, .crm-empty-state, .commerce-empty-state, .rz-empty-state) h2 { font-size: 1.125rem; }
body.admin-shell-route[data-admin-refresh] main :is(.workspace-summary-card, .workspace-stat, .forms-stat-card, .operations-command-card, .documents-summary-card, .patient-summary-card, .reporting-kpi-card) { min-height: 0; padding: .9rem; border-radius: .5rem; box-shadow: none; }
body.admin-shell-route[data-admin-refresh] main :is(.operations-module-tabs, .forms-module-tabs, .documents-module-tabs, .booking-module-tabs, .workspace-tabs, .settings-tabs) { gap: .25rem; padding: 0; border-bottom: 1px solid var(--shell-border); background: transparent; }
body.admin-shell-route[data-admin-refresh] main :is(.operations-module-tabs, .forms-module-tabs, .documents-module-tabs, .booking-module-tabs, .workspace-tabs, .settings-tabs) a { padding: .6rem .8rem; font-size: .8125rem; border-radius: 0; }
body.admin-shell-route[data-admin-refresh] main :is(.operations-module-tabs, .forms-module-tabs, .documents-module-tabs, .booking-module-tabs, .workspace-tabs, .settings-tabs) a.is-active { background: transparent; border-bottom: 2px solid var(--shell-link); }
body.admin-shell-route[data-admin-refresh] main :is(.form-grid, .fields-grid, .settings-grid, .workspace-grid) { gap: 1rem; }
body.admin-shell-route[data-admin-refresh] main fieldset { padding: .85rem 1rem; border-radius: .5rem; border-color: var(--shell-border); min-width: 0; }
body.admin-shell-route[data-admin-refresh] main legend { font-size: .875rem; font-weight: 600; }
body.admin-shell-route[data-admin-refresh] main .table-scroll { max-width: 100%; overscroll-behavior-inline: contain; }
body.admin-shell-route[data-admin-refresh] :is(.ai-concierge-header, .ai-v3-review-header) { padding: 1rem 0; }
body.admin-shell-route[data-admin-refresh] :is(.ai-concierge-header, .ai-v3-review-header) h1 { font-size: 1.5rem; }
body.admin-shell-route[data-admin-refresh] :is(.ai-concierge-section, .ai-concierge-sidebar > section, .ai-v3-direction-card, .ai-v3-page-review-card) { padding: 1rem; border-radius: .5rem; box-shadow: none; }
body.admin-shell-route[data-admin-refresh] :is(.ai-concierge-section legend, .ai-v3-direction-heading h2, .ai-v3-page-review-card h2) { font-size: 1.125rem; }
body.admin-shell-route[data-admin-refresh] .access-control-permissions { gap: 1rem; }
body.admin-shell-route[data-admin-refresh] .access-control-package { padding: .8rem; margin: .5rem 0; border: 1px solid var(--shell-border); border-radius: .5rem; }
body.admin-shell-route[data-admin-refresh] .access-control-permission-choice { padding: .4rem 0; min-height: 2rem; }
body.admin-shell-route[data-admin-refresh] .client-site-workspaces { width: 100%; max-width: 68rem; }
body.admin-shell-route[data-admin-refresh] .client-site-workspace-row { padding: .8rem 0; gap: .75rem; }
body.admin-shell-route[data-admin-refresh] .crm-shell-header { margin-bottom: 1rem; }
body.admin-shell-route[data-admin-refresh] :is(.crm-tabs, .crm-panel-tabs) { gap: .25rem; background: transparent; border-bottom: 1px solid var(--shell-border); padding: 0; }
body.admin-shell-route[data-admin-refresh] :is(.crm-tabs, .crm-panel-tabs) a { padding: .65rem .9rem; border: 0; border-radius: 0; background: transparent; font-size: .8125rem; }
body.admin-shell-route[data-admin-refresh] :is(.crm-tabs, .crm-panel-tabs) a.is-active { border-bottom: 2px solid var(--shell-link); color: var(--shell-text); }
body.admin-shell-route[data-admin-refresh] .crm-workspace { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr); gap: 1rem; align-items: start; }
body.admin-shell-route[data-admin-refresh] .crm-panel { min-width: 0; }
body.admin-shell-route[data-admin-refresh] .crm-list-panel { padding: 0; overflow: visible; }
body.admin-shell-route[data-admin-refresh] :is(.crm-panel-header, .crm-filter, .crm-pagination) { padding: .8rem 1rem; }
body.admin-shell-route[data-admin-refresh] .crm-panel-header { align-items: center; gap: .75rem; }
body.admin-shell-route[data-admin-refresh] .crm-panel-header h2 { margin: 0; }
body.admin-shell-route[data-admin-refresh] .crm-panel-header .status-pill { vertical-align: middle; }
body.admin-shell-route[data-admin-refresh] .crm-filter { margin: 0; border-block: 1px solid var(--shell-border); }
body.admin-shell-route[data-admin-refresh] .crm-data-table td { height: 2.75rem; }
body.admin-shell-route[data-admin-refresh] .crm-data-table tr.is-selected { background: var(--shell-accent-soft); }
body.admin-shell-route[data-admin-refresh] .crm-data-table td:first-child a { font-weight: 600; }
body.admin-shell-route[data-admin-refresh] .crm-detail-header { align-items: start; padding-bottom: 1rem; border-bottom: 1px solid var(--shell-border); }
body.admin-shell-route[data-admin-refresh] .crm-detail-header h2 { margin-top: 0; font-size: 1.2rem; }
body.admin-shell-route[data-admin-refresh] .crm-detail-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
body.admin-shell-route[data-admin-refresh] .crm-detail-grid > div { display: flex; align-items: start; flex-wrap: wrap; justify-content: space-between; gap: .5rem; padding: .65rem 0; border-bottom: 1px solid var(--shell-border); }
body.admin-shell-route[data-admin-refresh] .crm-detail-grid strong { font-weight: 500; overflow-wrap: anywhere; }
body.admin-shell-route[data-admin-refresh] .crm-contact-section { padding: .75rem 0; }
body.admin-shell-route[data-admin-refresh] .crm-contact-linked-grid { grid-template-columns: 1fr; }
body.admin-shell-route[data-admin-refresh] .crm-contact-linked-grid > div { padding: .5rem 0; }
body.admin-shell-route[data-admin-refresh] .crm-create-drawer[open] { z-index: 60; }
body.admin-shell-route[data-admin-refresh] .crm-support-details { font-size: .75rem; }
body.admin-shell-route[data-admin-refresh] .crm-data-table .crm-support-details { margin: .15rem 0 0; }

/* Website management: public state is separate from explicit page actions. */
body.admin-shell-route[data-admin-refresh] .admin-pages-workspace { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .9fr); gap: 1rem; align-items: start; }
body.admin-shell-route[data-admin-refresh] .admin-pages-list { padding: 0; overflow: auto; }
body.admin-shell-route[data-admin-refresh] .page-list-table { width: 100%; }
body.admin-shell-route[data-admin-refresh] .page-list-table :is(th, td) { min-width: 0; width: auto; vertical-align: middle; }
body.admin-shell-route[data-admin-refresh] .page-list-table td:nth-child(1) { min-width: 9rem; }
body.admin-shell-route[data-admin-refresh] .page-list-table td:nth-child(2) { max-width: 10rem; overflow-wrap: anywhere; }
body.admin-shell-route[data-admin-refresh] .page-row-actions { flex-wrap: nowrap; }
body.admin-shell-route[data-admin-refresh] .page-row-actions .button { min-height: 2rem; padding: .3rem .6rem; }
body.admin-shell-route[data-admin-refresh] .admin-page-menu { position: relative; }
body.admin-shell-route[data-admin-refresh] .admin-page-menu > summary { list-style: none; padding: .35rem .65rem; border: 1px solid var(--shell-border); border-radius: .375rem; }
body.admin-shell-route[data-admin-refresh] .admin-page-menu[open] > div { position: fixed; max-height: calc(100vh - 1rem); overflow: auto; z-index: 30; min-width: 11rem; display: grid; gap: .4rem; padding: .6rem; background: var(--shell-panel); border: 1px solid var(--shell-border); box-shadow: var(--rz-shadow-raised); }
body.admin-shell-route[data-admin-refresh] .admin-page-menu form { display: block; }
body.admin-shell-route[data-admin-refresh] .admin-page-menu button { width: 100%; }
body.admin-shell-route[data-admin-refresh] .admin-page-preview { position: sticky; top: 4.5rem; }
body.admin-shell-route[data-admin-refresh] .admin-page-preview iframe { width: 100%; height: 24rem; border: 1px solid var(--shell-border); border-radius: .375rem; background: white; }
body.admin-shell-route[data-admin-refresh] .admin-page-preview-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
body.admin-shell-route[data-admin-refresh] .admin-list-tools { display: flex; flex-wrap: wrap; gap: .65rem; padding: .75rem; border-bottom: 1px solid var(--shell-border); }
body.admin-shell-route[data-admin-refresh] .admin-list-tools input { flex: 1 1 12rem; min-width: 9rem; width: auto; }
body.admin-shell-route[data-admin-refresh] .admin-list-tools select { flex: 0 1 15rem; width: auto; }
body.admin-shell-route[data-admin-refresh] .admin-list-tools [data-page-count] { align-self: center; font-size: .75rem; }
body.admin-shell-route[data-admin-refresh] .admin-local-tabs { display: flex; flex-wrap: wrap; gap: .25rem; padding: 0; margin-bottom: 1rem; border-bottom: 1px solid var(--shell-border); }
body.admin-shell-route[data-admin-refresh] .admin-local-tabs a { padding: .65rem .9rem; color: var(--shell-muted); border-bottom: 2px solid transparent; }
body.admin-shell-route[data-admin-refresh] .admin-local-tabs a[aria-current="page"] { color: var(--shell-text); border-color: var(--shell-link); font-weight: 600; }

/* Today and setup stay useful without a wall of large dashboard cards. */
body.admin-shell-route[data-admin-refresh] .admin-dashboard-hero { padding: .2rem 0 1rem; background: transparent; border: 0; min-height: 0; }
body.admin-shell-route[data-admin-refresh] .admin-dashboard-grid { gap: 1rem; }
body.admin-shell-route[data-admin-refresh] .admin-dashboard-grid .card { margin: 0; }
body.admin-shell-route[data-admin-refresh] :is(.admin-dashboard-metric, .admin-dashboard-summary-card) { min-height: 0; padding: .8rem; }
body.admin-shell-route[data-admin-refresh] .admin-dashboard-grid :is(.metric-value, .stat-value) { font-size: 1.4rem; }
body.admin-shell-route[data-admin-refresh] .readiness-command-hero { padding: 1rem; gap: 1rem; min-height: 0; background: var(--shell-panel); box-shadow: none; border: 1px solid var(--shell-border); border-radius: .5rem; }
body.admin-shell-route[data-admin-refresh] .readiness-launch-status { padding: .8rem; gap: .3rem; }
body.admin-shell-route[data-admin-refresh] .readiness-launch-status > strong,
body.admin-shell-route[data-admin-refresh] .readiness-launch-status > small { display: none; }
body.admin-shell-route[data-admin-refresh] .readiness-snapshot-grid { display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0; }
body.admin-shell-route[data-admin-refresh] .readiness-snapshot-card { min-height: 0; flex: 1; display: flex; gap: .5rem; align-items: center; padding: .65rem .8rem; border: 1px solid var(--shell-border); border-radius: .4rem; background: var(--shell-panel); }
body.admin-shell-route[data-admin-refresh] .readiness-snapshot-card strong { font-size: 1rem; order: -1; }
body.admin-shell-route[data-admin-refresh] .readiness-snapshot-card small { display: none; }
body.admin-shell-route[data-admin-refresh] .readiness-launch-steps { display: grid; grid-template-columns: 1fr; gap: 0; list-style: none; padding: 0; }
body.admin-shell-route[data-admin-refresh] .readiness-launch-step { min-height: 0; padding: .7rem 0; border: 0; border-top: 1px solid var(--shell-border); border-radius: 0; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .75rem; background: transparent; }
body.admin-shell-route[data-admin-refresh] main .readiness-launch-step .workspace-page-header { min-height: 0; margin: 0; padding: 0; border: 0; align-items: center; }
body.admin-shell-route[data-admin-refresh] .readiness-launch-step :is(h3, p) { margin: .2rem 0; }
body.admin-shell-route[data-admin-refresh] .readiness-launch-step .workspace-page-header > div { display: grid; grid-template-columns: 4rem 1fr; align-items: baseline; column-gap: .5rem; }
body.admin-shell-route[data-admin-refresh] .readiness-launch-step .workspace-page-header > div p:last-child { grid-column: 2; }
body.admin-shell-route[data-admin-refresh] .readiness-area-groups { display: grid; grid-template-columns: 1fr; gap: .75rem; }
body.admin-shell-route[data-admin-refresh] .readiness-area-group { padding: .8rem 1rem; border: 1px solid var(--shell-border); border-radius: .5rem; background: var(--shell-panel); }
body.admin-shell-route[data-admin-refresh] .readiness-area-group > summary { font-weight: 600; display: flex; justify-content: space-between; }
body.admin-shell-route[data-admin-refresh] .readiness-area { padding: .7rem 0; margin: 0; border: 0; border-top: 1px solid var(--shell-border); }
body.admin-shell-route[data-admin-refresh] .readiness-area :is(.workspace-page-header, p) { margin-bottom: .4rem; }
body.admin-shell-route[data-admin-refresh] .readiness-area-list { display: grid; grid-template-columns: 1fr; gap: 0; }
body.admin-shell-route[data-admin-refresh] .readiness-empty-state { min-height: 0; padding: .7rem 0; }

@media (min-width: 901px) {
  body.admin-shell-route[data-admin-refresh] header.app-shell-sidebar { width: var(--shell-sidebar-width); transform: none; }
  body.admin-shell-route[data-admin-refresh] .app-shell-icon-button[data-shell-mobile-menu] { display: none; }
  body.admin-shell-route[data-admin-refresh] .app-shell-topbar button.app-shell-command-button:hover:not(:disabled) { background: var(--rz-color-surface-subtle); border-color: var(--shell-link); color: var(--shell-text); transform: none; }
body.admin-shell-route[data-admin-refresh] .app-shell-command-button span { display: inline; }
  body.admin-shell-route[data-admin-refresh] > main { margin-left: var(--shell-sidebar-width); }
  body.admin-shell-route[data-admin-refresh].shell-rail-collapsed > main { margin-left: var(--shell-sidebar-collapsed-width); }
  body.admin-shell-route[data-admin-refresh].shell-rail-collapsed .app-shell-sidebar { width: var(--shell-sidebar-collapsed-width); }
}
@media (max-width: 1100px) {
  body.admin-shell-route[data-admin-refresh] .admin-pages-workspace { grid-template-columns: 1fr; }
  body.admin-shell-route[data-admin-refresh] .admin-page-preview { position: static; }
  body.admin-shell-route[data-admin-refresh] .crm-workspace { grid-template-columns: minmax(0, 1fr) minmax(17rem, .85fr); }
}
@media (max-width: 900px) {
  body.admin-shell-route[data-admin-refresh] > main { padding: 1rem; margin-left: 0; }
  body.admin-shell-route[data-admin-refresh] .app-shell-topbar { margin: -1rem -1rem 1rem; padding: .55rem 1rem; }
  body.admin-shell-route[data-admin-refresh] .app-shell-icon-button[data-shell-mobile-menu] { display: inline-flex; }
  body.admin-shell-route[data-admin-refresh] [data-shell-collapse] { display: none; }
  body.admin-shell-route[data-admin-refresh] .crm-workspace { grid-template-columns: 1fr; }
  body.admin-shell-route[data-admin-refresh] .app-shell-command-button kbd { display: none; }
  body.admin-shell-route[data-admin-refresh] .readiness-launch-step { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  body.admin-shell-route[data-admin-refresh] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) { font-size: 1rem; }
  body.admin-shell-route[data-admin-refresh] :is(button, .button) { min-height: 2.75rem; }
  body.admin-shell-route[data-admin-refresh] .app-shell-topbar .app-shell-save-status[data-state="ready"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  body.admin-shell-route[data-admin-refresh] .app-shell-command-button { min-height: 2.5rem; }
  body.admin-shell-route[data-admin-refresh] .readiness-snapshot-card { flex-basis: 40%; }
}
@media (prefers-reduced-motion: reduce) {
  body.admin-shell-route[data-admin-refresh] *, body.admin-shell-route[data-admin-refresh] *::before, body.admin-shell-route[data-admin-refresh] *::after { transition-duration: 0s !important; animation-duration: 0s !important; scroll-behavior: auto !important; }
}
/* Legacy shared-header/footer editor chrome. Keep its authored canvas geometry. */
body.canvas-editor-route .canvas-editor-main.canvas-app-shell .canvas-library-flyout {
  padding-top: 2rem;
}
body.canvas-editor-route .canvas-editor-main.canvas-app-shell .canvas-library-flyout,
body.canvas-editor-route .canvas-editor-main.canvas-app-shell .canvas-library-flyout :is(.canvas-library-browser, .canvas-library-category-pane, .canvas-library-list, .canvas-library-entry, .canvas-module-thumb) {
  min-width: 0;
  box-sizing: border-box;
}
body.canvas-editor-route .canvas-editor-main.canvas-app-shell .canvas-library-entry :is(.canvas-library-entry-label, .canvas-library-entry-description) {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.canvas-editor-route .canvas-editor-main.canvas-app-shell .canvas-app-topbar {
  display: flex;
  justify-content: flex-start;
  max-width: 100vw;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-padding-inline: .75rem;
  gap: .75rem;
  padding-inline: .75rem;
}
body.canvas-editor-route .canvas-editor-main.canvas-app-shell :is(.canvas-topbar-left, .canvas-topbar-center, .canvas-topbar-right) {
  flex: 0 0 auto;
  overflow: visible;
}
body.canvas-editor-route .canvas-editor-main.canvas-app-shell .canvas-topbar-left > *,
body.canvas-editor-route .canvas-editor-main.canvas-app-shell .canvas-topbar-exits {
  flex-shrink: 0;
  overflow: visible;
}
@media (max-width: 1100px) {
  body.canvas-editor-route .canvas-editor-main.canvas-app-shell .canvas-library-flyout {
    width: calc(100vw - 4.75rem);
    max-width: calc(100vw - 4.75rem);
    padding: .75rem;
    padding-top: 2rem;
    z-index: 1300;
  }
}

/* The launch prompt used an undefined spacing token on desktop. Keep its
   content clear of the dialog edge across every admin module. */
body.admin-shell-route .guided-launch-dialog {
  padding: 1.75rem;
}
@media (max-width: 700px) {
  body.admin-shell-route .guided-launch-dialog { padding: 1.25rem; }
}

body.admin-shell-route.guided-tutorial-route .eyebrow {
  color: var(--shell-muted);
}

/* Intrinsic table widths must not force the enclosing package grid wider
   than the screen; tables retain their own horizontal scroll containers. */
body.admin-shell-route :is(.operations-landing, .crm-shell) {
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
}
body.admin-shell-route :is(.operations-landing, .crm-shell) > * {
  min-width: 0;
  max-width: 100%;
}
body.admin-shell-route :is(.operations-heading, .crm-heading, .operations-payroll-prep) {
  min-width: 0;
}
body.admin-shell-route .audit-search-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
}
@media (max-width: 700px) {
  body.admin-shell-route .crm-inline-form { grid-template-columns: minmax(0, 1fr); }
  body.admin-shell-route .crm-field-textarea { grid-column: auto; }
  body.admin-shell-route .audit-search-row { grid-template-columns: minmax(0, 1fr) auto; }
  body.admin-shell-route .audit-search-row > input { grid-column: 1 / -1; }
}

/* Expanding a communications form needs a full row below the section heading. */
body.admin-shell-route .crm-panel-header:has(> .comms-create-drawer[open]) {
  display: flex;
  flex-wrap: wrap;
}
body.admin-shell-route .comms-create-drawer[open] {
  flex: 1 0 100%;
  min-width: 0;
  max-width: 100%;
}
body.admin-shell-route .comms-wizard-form :is(.grid, label, fieldset) {
  min-width: 0;
}
@media (max-width: 700px) {
  body.admin-shell-route .comms-wizard-form .grid { grid-template-columns: minmax(0, 1fr); }
}

/* Contacts keeps lookup and record work ahead of optional targeting tools. */
body.admin-shell-route .crm-contact-filters { display: grid; gap: 12px; margin-bottom: 16px; }
body.admin-shell-route .crm-contact-filters .crm-search-row { grid-template-columns: minmax(180px, 2fr) minmax(150px, 1fr); gap: 12px; }
body.admin-shell-route .crm-advanced-filters { border: 1px solid var(--shell-border, #cfe0e7); border-radius: 8px; }
body.admin-shell-route .crm-advanced-filters > summary { padding: 12px 14px; cursor: pointer; font-weight: 600; }
body.admin-shell-route .crm-advanced-filter-body { padding: 0 14px 14px; }
body.admin-shell-route .crm-activity-condition,
body.admin-shell-route .crm-activity-sorts { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 12px 0; border: 1px solid var(--shell-border, #cfe0e7); border-radius: 8px; padding: 12px; }
body.admin-shell-route .crm-filter-actions,
body.admin-shell-route .crm-contact-selection,
body.admin-shell-route .crm-selection-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
body.admin-shell-route .crm-contact-selection { padding: 10px 0; border-top: 1px solid var(--shell-border, #cfe0e7); }
body.admin-shell-route .crm-selection-actions[hidden] { display: none; }
body.admin-shell-route .crm-selection-actions { margin-left: auto; }
body.admin-shell-route .crm-selection-menu { position: relative; }
body.admin-shell-route .crm-selection-options { position: absolute; top: calc(100% + 6px); left: 0; z-index: 5; display: grid; gap: 6px; padding: 8px; min-width: 235px; max-width: min(320px, 80vw); background: var(--shell-panel, #fff); border: 1px solid var(--shell-border, #cfe0e7); border-radius: 8px; box-shadow: 0 8px 24px #062d3320; }
body.admin-shell-route .crm-selection-options button { text-align: left; }
@media (max-width: 640px) {
  body.admin-shell-route .crm-contact-filters .crm-search-row { grid-template-columns: minmax(0, 1fr); }
  body.admin-shell-route .crm-selection-actions { margin-left: 0; }
}

body.admin-shell-route .crm-list-panel > .crm-contact-filters,
body.admin-shell-route .crm-list-panel > .crm-contact-selection { margin-left: 16px; margin-right: 16px; }
body.admin-shell-route input[data-contact-select] { width: 18px; height: 18px; min-height: 0; padding: 0; vertical-align: middle; accent-color: var(--shell-link, #006775); }

/* Merchant workspace. Kept inside the admin shell; public shop styles are untouched. */
body.admin-shell-route .commerce-admin{--commerce-ink:#153d3a;--commerce-muted:#637a76;--commerce-line:#dce7e3;--commerce-accent:#d8ef6f;display:grid;gap:20px;min-width:0;color:var(--commerce-ink)}
body.admin-shell-route .commerce-admin [hidden]{display:none!important}
body.admin-shell-route .commerce-admin :is(h1,h2,h3,p){margin-top:0}
body.admin-shell-route .commerce-admin h1{font-size:28px;line-height:1.2;margin-bottom:0}
body.admin-shell-route .commerce-admin h2{font-size:21px;line-height:1.3;margin-bottom:6px}
body.admin-shell-route .commerce-admin h3{font-size:17px;line-height:1.4;margin-bottom:14px}
body.admin-shell-route .commerce-admin :is(p,.muted){color:var(--commerce-muted);font-size:14px;line-height:1.5}
body.admin-shell-route .commerce-admin :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #659d92;outline-offset:3px}
body.admin-shell-route .commerce-admin a{color:#17685d}
body.admin-shell-route .commerce-admin :is(button,.button){min-height:40px;padding:9px 16px;border-radius:8px;border:1px solid transparent;background:var(--commerce-accent);color:#173d33;font-size:14px;font-weight:650;box-shadow:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4}
body.admin-shell-route .commerce-admin :is(button.secondary,.button.secondary){background:#fff;border-color:var(--commerce-line);color:var(--commerce-ink)}
body.admin-shell-route .commerce-admin button:disabled{opacity:.6;cursor:wait}
body.admin-shell-route .commerce-admin label{display:grid;gap:7px;color:var(--commerce-ink);font-size:14px;font-weight:550;margin:0 0 16px}
body.admin-shell-route .commerce-admin :is(input:not([type=checkbox]):not([type=hidden]):not([type=file]),select,textarea){width:100%;min-height:42px;border:1px solid #d6e2dd;border-radius:8px;background:#fff;color:var(--commerce-ink);font:inherit;font-size:14px;padding:10px 12px;box-sizing:border-box}
body.admin-shell-route .commerce-admin textarea{resize:vertical}
body.admin-shell-route .commerce-admin input[type=checkbox]{accent-color:#226e5f;width:19px;height:19px}
body.admin-shell-route .commerce-admin :is(input,textarea)::placeholder{color:#889a96}
body.admin-shell-route .commerce-admin .commerce-page-heading,body.admin-shell-route .commerce-admin .commerce-section-heading,body.admin-shell-route .commerce-admin .commerce-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
body.admin-shell-route .commerce-admin .commerce-eyebrow{font-size:12px!important;margin-bottom:7px;color:#6c827a!important}
body.admin-shell-route .commerce-admin .commerce-tabs{display:flex;align-items:stretch;gap:8px;border-bottom:1px solid var(--commerce-line);padding:0;position:relative;z-index:5}
body.admin-shell-route .commerce-admin .commerce-tabs>a,body.admin-shell-route .commerce-admin .commerce-more-nav>summary{padding:12px 17px;color:#627b74;text-decoration:none;font-size:14px;font-weight:600;border-bottom:3px solid transparent;cursor:pointer;list-style:none;white-space:nowrap}
body.admin-shell-route .commerce-admin .commerce-tabs>a[aria-current=page],body.admin-shell-route .commerce-admin .commerce-more-nav.is-active>summary{color:#173f34;border-color:#8aac55}
body.admin-shell-route .commerce-admin .commerce-more-nav{position:relative;border:0!important;margin:0!important;padding:0!important;background:none!important}
body.admin-shell-route .commerce-admin .commerce-more-nav>summary{height:100%;box-sizing:border-box;display:flex;align-items:center;gap:10px}
body.admin-shell-route .commerce-admin .commerce-more-nav>div{position:absolute;right:0;top:100%;display:grid;min-width:200px;padding:8px;background:white;border:1px solid var(--commerce-line);border-radius:10px;box-shadow:0 12px 30px #173e3320}
body.admin-shell-route .commerce-admin .commerce-more-nav a{padding:10px 12px;border-radius:5px;text-decoration:none;font-size:14px}
body.admin-shell-route .commerce-admin .commerce-more-nav a:hover{background:#eef5ef}
body.admin-shell-route .commerce-admin .commerce-panel,body.admin-shell-route .commerce-admin .commerce-work-surface,body.admin-shell-route .commerce-admin .stripe-connect-page{background:#fff;border:1px solid var(--commerce-line);border-radius:12px;padding:24px;box-shadow:0 2px 7px #203e3403;min-width:0;margin:0}
body.admin-shell-route .commerce-admin .commerce-setup-todo{position:static;width:auto;max-height:none;border:1px solid var(--commerce-line);border-radius:10px;background:#f6faf4;padding:0!important;margin:0;box-shadow:none}
body.admin-shell-route .commerce-admin .commerce-setup-todo>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;cursor:pointer;font-size:13px;list-style:none}
body.admin-shell-route .commerce-admin .commerce-setup-todo>summary>span:first-child{display:flex;gap:14px;align-items:center}
body.admin-shell-route .commerce-admin .commerce-setup-todo>summary .muted{font-size:13px}
body.admin-shell-route .commerce-admin .commerce-setup-content{padding:6px 20px 20px;border-top:1px solid var(--commerce-line)}
body.admin-shell-route .commerce-admin .commerce-setup-content h2{font-size:17px;margin-top:16px}
body.admin-shell-route .commerce-admin .commerce-setup-content ol{list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
body.admin-shell-route .commerce-admin .commerce-setup-content li a{display:flex;align-items:center;gap:12px;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--commerce-line)}
body.admin-shell-route .commerce-admin .commerce-setup-content li a>span:nth-child(2){flex:1}
body.admin-shell-route .commerce-admin .commerce-setup-content li small{display:block;color:var(--commerce-muted);font-size:12px;line-height:1.5;margin-top:4px}
body.admin-shell-route .commerce-admin .commerce-section-heading p{margin-bottom:0}
body.admin-shell-route .commerce-admin .commerce-count{font-size:12px;background:#eef3ee;color:#6b7d73;padding:3px 8px;border-radius:7px;margin-left:7px;vertical-align:middle;font-weight:600}
body.admin-shell-route .commerce-admin .commerce-list-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:22px 0 15px}
body.admin-shell-route .commerce-admin .commerce-list-controls label{margin:0}
body.admin-shell-route .commerce-admin .commerce-search{flex:1;max-width:340px;min-width:170px}
body.admin-shell-route .commerce-admin .commerce-filter-buttons{display:flex;gap:3px;background:#f3f6f2;padding:4px;border-radius:8px}
body.admin-shell-route .commerce-admin .commerce-filter-buttons button{min-height:32px;padding:6px 11px;background:transparent;color:#63786e;font-size:13px;border:0}
body.admin-shell-route .commerce-admin .commerce-filter-buttons button[aria-pressed=true]{background:#fff;color:#214b3c;box-shadow:0 1px 5px #2a493810}
body.admin-shell-route .commerce-admin .table-scroll{min-width:0;overflow-x:auto;margin:16px 0 0;border:0}
body.admin-shell-route .commerce-admin .commerce-table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px;margin:0}
body.admin-shell-route .commerce-admin .commerce-table :is(th,td){text-align:left;border:0;border-bottom:1px solid #edf1ec;padding:17px 14px;vertical-align:middle;background:transparent}
body.admin-shell-route .commerce-admin .commerce-table th{font-size:12px;font-weight:600;color:#718477;background:#f7f9f5;padding-top:11px;padding-bottom:11px;text-transform:none;letter-spacing:0}
body.admin-shell-route .commerce-admin .commerce-table td:first-child,body.admin-shell-route .commerce-admin .commerce-table th:first-child{padding-left:10px}
body.admin-shell-route .commerce-admin .commerce-table td a{text-decoration:none}
body.admin-shell-route .commerce-admin .commerce-table tbody tr:hover{background:#fafcf7}
body.admin-shell-route .commerce-admin .commerce-table tr.is-selected{background:#f0f5df;box-shadow:inset 3px 0 #81a247}
body.admin-shell-route .commerce-admin .commerce-product-cell{display:flex;align-items:center;gap:14px;min-width:190px}
body.admin-shell-route .commerce-admin .commerce-product-photo{display:block;flex:0 0 54px;width:54px;height:54px;object-fit:cover;border-radius:8px;background:#f3f5ed}
body.admin-shell-route .commerce-admin .commerce-photo-placeholder{display:flex;align-items:center;justify-content:center;color:#9ba995;font-size:27px}
body.admin-shell-route .commerce-admin .commerce-product-cell details,body.admin-shell-route .commerce-admin .commerce-order-list td details{font-size:11px;color:#78897b;margin:6px 0 0}
body.admin-shell-route .commerce-admin details summary{cursor:pointer}
body.admin-shell-route .commerce-admin .commerce-product-cell details dl,body.admin-shell-route .commerce-admin .commerce-order-list td details dl{font-size:11px;margin:8px 0;max-width:230px;overflow-wrap:anywhere}
body.admin-shell-route .commerce-admin .commerce-product-cell dt,body.admin-shell-route .commerce-admin .commerce-order-list td dt{font-weight:600}
body.admin-shell-route .commerce-admin .commerce-product-cell dd,body.admin-shell-route .commerce-admin .commerce-order-list td dd{margin:2px 0 7px}
body.admin-shell-route .commerce-admin .commerce-stock,body.admin-shell-route .commerce-admin .commerce-visibility,body.admin-shell-route .commerce-admin .commerce-order-status,body.admin-shell-route .commerce-admin .commerce-status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:5px 8px;font-size:12px;line-height:1.3;background:#edf5e8;color:#497041;white-space:nowrap;font-weight:550}
body.admin-shell-route .commerce-admin .commerce-stock.is-low,body.admin-shell-route .commerce-admin .commerce-stock.is-out,body.admin-shell-route .commerce-admin .commerce-order-status.is-pending_payment,body.admin-shell-route .commerce-admin .commerce-status-pill.is-partial{background:#fff4d8;color:#906a22}
body.admin-shell-route .commerce-admin .commerce-stock.is-untracked,body.admin-shell-route .commerce-admin .commerce-visibility.is-hidden,body.admin-shell-route .commerce-admin .commerce-order-status.is-cancelled,body.admin-shell-route .commerce-admin .commerce-order-status.is-refunded,body.admin-shell-route .commerce-admin .commerce-order-status.is-draft{background:#eff2ec;color:#7a8378}
body.admin-shell-route .commerce-admin .commerce-status-pill.is-not-ready{background:#fbece4;color:#966644}
body.admin-shell-route .commerce-admin .commerce-updated{font-size:12px;color:#7b8b7c;white-space:nowrap}
body.admin-shell-route .commerce-admin .commerce-row-action{font-size:13px;white-space:nowrap}
body.admin-shell-route .commerce-admin .commerce-list-count{font-size:12px!important;margin:17px 0 0!important;color:#81907e!important}
body.admin-shell-route .commerce-admin .commerce-empty{text-align:center;padding:32px 16px;color:var(--commerce-muted)}
body.admin-shell-route .commerce-admin .commerce-breadcrumb{font-size:13px!important;margin:0 0 10px}
body.admin-shell-route .commerce-admin .commerce-breadcrumb a{text-decoration:none}
body.admin-shell-route .commerce-admin .commerce-product-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:22px;align-items:start}
body.admin-shell-route .commerce-admin .commerce-editor-main,body.admin-shell-route .commerce-admin .commerce-editor-aside{display:grid;gap:20px;min-width:0}
body.admin-shell-route .commerce-admin .commerce-editor-aside .commerce-panel{padding:22px}
body.admin-shell-route .commerce-admin .commerce-price-field{max-width:230px}
body.admin-shell-route .commerce-admin .commerce-product-toggle{display:flex!important;flex-direction:row;align-items:center;gap:10px!important;font-size:14px;margin-bottom:12px!important}
body.admin-shell-route .commerce-admin .commerce-product-more summary,body.admin-shell-route .commerce-admin .commerce-product-archive summary{font-size:14px;font-weight:600}
body.admin-shell-route .commerce-admin .commerce-product-more[open]>summary,body.admin-shell-route .commerce-admin .commerce-product-archive[open]>summary{margin-bottom:18px}
body.admin-shell-route .commerce-admin .commerce-product-more label{margin-top:16px}
body.admin-shell-route .commerce-admin .commerce-stock-items{list-style:none;padding:0;margin:15px 0 0}
body.admin-shell-route .commerce-admin .commerce-stock-items li{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--commerce-line);padding:12px 0;font-size:12px}
body.admin-shell-route .commerce-admin .commerce-stock-items small{display:block;margin-top:5px;color:var(--commerce-muted)}
body.admin-shell-route .commerce-admin .commerce-stock-items strong{overflow-wrap:anywhere}
body.admin-shell-route .commerce-admin .commerce-stock-items a{flex-shrink:0}
body.admin-shell-route .commerce-admin .commerce-media-gallery{margin:14px 0 20px;border:0;padding:0;background:none}
body.admin-shell-route .commerce-admin .commerce-media-gallery h3{font-size:13px;color:var(--commerce-muted);font-weight:500}
body.admin-shell-route .commerce-admin .commerce-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}
body.admin-shell-route .commerce-admin .commerce-media-thumb{margin:0;border:1px solid var(--commerce-line);border-radius:9px;overflow:hidden;position:relative}
body.admin-shell-route .commerce-admin .commerce-media-thumb img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
body.admin-shell-route .commerce-admin .commerce-media-thumb figcaption{padding:8px;font-size:11px;color:var(--commerce-muted)}
body.admin-shell-route .commerce-admin .commerce-media-thumb figcaption strong{font-weight:500}
body.admin-shell-route .commerce-admin .commerce-media-thumb figcaption span{display:none}
body.admin-shell-route .commerce-admin .commerce-upload-area{border:1px dashed #b9cdbb;border-radius:10px;background:#fafcf7;display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px;margin-bottom:18px}
body.admin-shell-route .commerce-admin .commerce-picture-preview{width:48px;height:48px;flex:0 0 48px;border:0;border-radius:8px;background:#eaf1e4;display:flex;align-items:center;justify-content:center;color:#718365;font-size:24px;overflow:hidden}
body.admin-shell-route .commerce-admin .commerce-upload-area label{font-size:13px;flex:1;margin:0;min-width:140px}
body.admin-shell-route .commerce-admin .commerce-upload-area input[type=file]{width:100%;font-size:12px}
body.admin-shell-route .commerce-admin .commerce-upload-area>p{width:100%;margin:0;font-size:12px}
body.admin-shell-route .commerce-admin .commerce-upload-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}
body.admin-shell-route .commerce-admin .commerce-upload-actions p{margin:0;font-size:12px;flex:1;min-width:140px}
body.admin-shell-route .commerce-admin .commerce-upload-actions progress{width:80px}
body.admin-shell-route .commerce-admin .commerce-media-editor.is-dragover{outline:2px dashed #759555;background:#f7faef}
body.admin-shell-route .commerce-admin .commerce-save-bar{position:sticky;bottom:12px;z-index:8;background:#ffffffef;border:1px solid var(--commerce-line);border-radius:11px;box-shadow:0 4px 20px #1e3c3510;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px;font-size:13px;color:#73836f}
body.admin-shell-route .commerce-admin .commerce-save-bar>div{display:flex;gap:10px}
body.admin-shell-route .commerce-admin .commerce-save-bar.is-dirty{border-color:#bfcf99;color:#55702c}
body.admin-shell-route .commerce-admin .commerce-orders-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
body.admin-shell-route .commerce-admin .commerce-orders-layout.has-selection{grid-template-columns:minmax(420px,1.15fr) minmax(360px,1fr)}
body.admin-shell-route .commerce-admin .commerce-order-list{padding:20px;min-width:0}
body.admin-shell-route .commerce-admin .commerce-order-list .commerce-table{min-width:460px}
body.admin-shell-route .commerce-admin .commerce-order-panel{min-width:0;position:sticky;top:20px;max-height:calc(100vh - 50px);overflow:auto;padding-right:3px}
body.admin-shell-route .commerce-admin .commerce-order-panel-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;font-size:12px}
body.admin-shell-route .commerce-admin [data-commerce-order-detail]{display:grid;gap:16px;max-width:1100px}
body.admin-shell-route .commerce-admin .commerce-order-panel .commerce-order-back{display:none}
body.admin-shell-route .commerce-admin .commerce-order-panel .commerce-panel{padding:20px}
body.admin-shell-route .commerce-admin .commerce-order-summary>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}
body.admin-shell-route .commerce-admin .commerce-order-summary p{font-size:12px;margin:10px 0 20px}
body.admin-shell-route .commerce-admin .commerce-order-total{font-size:27px;display:block;margin-bottom:14px}
body.admin-shell-route .commerce-admin .commerce-order-summary details{font-size:12px;margin-top:12px}
body.admin-shell-route .commerce-admin .commerce-order-panel .commerce-table{min-width:340px;font-size:12px}
body.admin-shell-route .commerce-admin .commerce-order-panel .commerce-table :is(td,th){padding:12px 8px}
body.admin-shell-route .commerce-admin .commerce-order-action summary{font-weight:650;font-size:14px}
body.admin-shell-route .commerce-admin .commerce-order-action[open] summary{margin-bottom:20px}
body.admin-shell-route .commerce-admin .order-detail-fact{font-size:13px}
body.admin-shell-route .commerce-admin .order-delivery-details{border-radius:12px}
body.admin-shell-route .commerce-admin .commerce-section-links{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 20px}
body.admin-shell-route .commerce-admin .commerce-section-links a{font-size:13px;background:#edf3e9;padding:8px 12px;border-radius:7px;text-decoration:none}
body.admin-shell-route .commerce-admin .commerce-module-dashboard{display:block;border:0;background:none;padding:0;box-shadow:none;margin:0}
body.admin-shell-route .commerce-admin .commerce-workbench{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
body.admin-shell-route .commerce-admin .commerce-work-surface>div:first-child{margin:0 0 18px}
body.admin-shell-route .commerce-admin .commerce-work-surface form{display:grid;gap:0;max-width:100%}
body.admin-shell-route .commerce-admin .commerce-work-surface form>button{justify-self:start}
body.admin-shell-route .commerce-admin .commerce-work-surface :is(.commerce-setup-marker,p.muted:first-child){display:none}
body.admin-shell-route .commerce-admin .commerce-guided-layout{display:flex;flex-direction:column-reverse;gap:20px;align-items:stretch;grid-template-columns:none}
body.admin-shell-route .commerce-admin .commerce-guided-main{min-width:0}
body.admin-shell-route .commerce-admin .commerce-operations-summary{background:#fff;border:1px solid var(--commerce-line);border-radius:12px;padding:24px;box-shadow:none;display:grid;grid-template-columns:1fr;gap:20px}
body.admin-shell-route .commerce-admin .commerce-operations-summary>div:first-child>:is(p:first-child,h2){display:none}
body.admin-shell-route .commerce-admin .commerce-operations-summary>div:first-child>p{margin-bottom:12px}
body.admin-shell-route .commerce-admin .commerce-readiness-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;border-top:1px solid var(--commerce-line);padding-top:18px;margin:0}
body.admin-shell-route .commerce-admin .commerce-readiness-stats div{border:0;padding:0;background:none}
body.admin-shell-route .commerce-admin .commerce-readiness-stats dt{font-size:12px;color:var(--commerce-muted)}
body.admin-shell-route .commerce-admin .commerce-readiness-stats dd{font-size:22px;margin:7px 0 0}
body.admin-shell-route .commerce-admin .commerce-payment-readiness{padding:14px 0 0;background:none;border:0;border-top:1px solid var(--commerce-line);box-shadow:none}
body.admin-shell-route .commerce-admin .commerce-next-action{margin:20px 0;background:#f1f7e8;border:1px solid #dce6cd;border-radius:10px;box-shadow:none;padding:18px;align-items:center}
body.admin-shell-route .commerce-admin .commerce-next-action h3{font-size:16px;margin:0 0 4px}
body.admin-shell-route .commerce-admin .commerce-next-action p{margin:0;font-size:13px}
body.admin-shell-route .commerce-admin .commerce-next-action .commerce-status-pill{display:none}
body.admin-shell-route .commerce-admin .commerce-primary-areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
body.admin-shell-route .commerce-admin .commerce-readiness-card{padding:20px;border:1px solid var(--commerce-line);border-radius:10px;background:white;box-shadow:none;text-decoration:none;gap:10px}
body.admin-shell-route .commerce-admin .commerce-readiness-card>strong{font-size:17px}
body.admin-shell-route .commerce-admin .commerce-readiness-card>span:not(.commerce-status-pill){font-size:13px;color:var(--commerce-muted)}
body.admin-shell-route .commerce-admin .commerce-readiness-card>small{display:none}
body.admin-shell-route .commerce-admin .commerce-more-tools{padding:18px 22px;background:white;border:1px solid var(--commerce-line);border-radius:10px;margin:0}
body.admin-shell-route .commerce-admin .commerce-more-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.admin-shell-route .commerce-admin .commerce-more-tool-grid>a{padding:15px;border:1px solid var(--commerce-line);box-shadow:none;background:#fcfdf9}
body.admin-shell-route .commerce-admin .commerce-more-tool-grid .commerce-status-pill{display:none}
body.admin-shell-route .commerce-admin .stripe-connect-hero{padding:20px;border-radius:10px;box-shadow:none}
body.admin-shell-route .commerce-admin .stripe-connect-page-heading{margin-bottom:18px}
body.admin-shell-route .commerce-admin .stripe-connect-page-heading p{margin-bottom:6px}
body.admin-shell-route .commerce-admin .stripe-connect-check-grid{gap:12px}
body.admin-shell-route .commerce-admin .commerce-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1200px){body.admin-shell-route .commerce-admin .commerce-orders-layout.has-selection{grid-template-columns:minmax(0,1fr)}body.admin-shell-route .commerce-admin .commerce-order-panel{position:static;max-height:none}body.admin-shell-route .commerce-admin .commerce-order-panel [data-commerce-order-detail]{grid-template-columns:repeat(2,minmax(0,1fr))}body.admin-shell-route .commerce-admin .commerce-order-panel .commerce-order-summary{grid-column:1/-1}}
@media(max-width:800px){body.admin-shell-route .commerce-admin .commerce-product-editor{grid-template-columns:minmax(0,1fr)}body.admin-shell-route .commerce-admin .commerce-editor-aside{grid-template-columns:repeat(2,minmax(0,1fr))}body.admin-shell-route .commerce-admin .commerce-workbench,body.admin-shell-route .commerce-admin .commerce-setup-content ol{grid-template-columns:minmax(0,1fr)}body.admin-shell-route .commerce-admin .commerce-readiness-stats{grid-template-columns:repeat(3,1fr)}body.admin-shell-route .commerce-admin .commerce-primary-areas,body.admin-shell-route .commerce-admin .commerce-more-tool-grid{grid-template-columns:minmax(0,1fr)}body.admin-shell-route .commerce-admin .commerce-tabs{gap:0}body.admin-shell-route .commerce-admin .commerce-tabs>a,body.admin-shell-route .commerce-admin .commerce-more-nav>summary{padding:12px 11px}body.admin-shell-route .commerce-admin .commerce-panel{padding:20px}}
@media(max-width:540px){body.admin-shell-route .commerce-admin{gap:16px}body.admin-shell-route .commerce-admin .commerce-page-heading h1{font-size:24px}body.admin-shell-route .commerce-admin .commerce-page-heading>.button{font-size:12px;padding:8px 11px}body.admin-shell-route .commerce-admin .commerce-editor-aside,body.admin-shell-route .commerce-admin .commerce-order-panel [data-commerce-order-detail]{grid-template-columns:minmax(0,1fr)}body.admin-shell-route .commerce-admin .commerce-setup-todo>summary{align-items:flex-start;font-size:12px;padding:12px}body.admin-shell-route .commerce-admin .commerce-setup-todo>summary>span:first-child{display:grid;gap:4px}body.admin-shell-route .commerce-admin .commerce-filter-buttons{width:100%;justify-content:space-between}body.admin-shell-route .commerce-admin .commerce-search{max-width:none}body.admin-shell-route .commerce-admin .commerce-save-bar{bottom:6px;flex-wrap:wrap;padding:12px}body.admin-shell-route .commerce-admin .commerce-save-bar>div{margin-left:auto}body.admin-shell-route .commerce-admin .commerce-readiness-stats{grid-template-columns:repeat(2,1fr)}body.admin-shell-route .commerce-admin .commerce-payment-readiness{flex-wrap:wrap;gap:12px}}
@media(max-width:540px){body.admin-shell-route .commerce-admin .commerce-tabs>a,body.admin-shell-route .commerce-admin .commerce-more-nav>summary{padding:12px 8px;font-size:13px}body.admin-shell-route .commerce-admin .commerce-product-cell small{display:block;margin-top:5px}}
body.admin-shell-route .commerce-admin .commerce-product-editor .commerce-media-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
body.admin-shell-route .commerce-admin .commerce-product-editor .commerce-media-thumb:first-child{grid-column:span 2}
body.admin-shell-route .commerce-admin .commerce-product-editor .commerce-media-thumb:first-child img{aspect-ratio:4/3;max-height:280px}
body.admin-shell-route .commerce-admin .commerce-order-panel .order-delivery-grid{grid-template-columns:minmax(0,1fr)!important}
body.admin-shell-route .commerce-admin :is(.commerce-product-cell strong,.commerce-editor-heading h2,.order-detail-fact strong,details dd){overflow-wrap:anywhere}
body.admin-shell-route .commerce-admin .commerce-product-cell small{display:block;margin-top:5px}
body.admin-shell-route .commerce-admin .commerce-sr-only{left:0!important;top:0!important}
/* Explicitly reset legacy commerce layout and the shell's primary-button rule. */
body.admin-shell-route .commerce-admin .commerce-setup-todo{display:block;position:static;box-shadow:none;gap:0}
body.admin-shell-route .commerce-admin :is(.commerce-media-editor,.commerce-media-upload){display:block}
body.admin-shell-route .commerce-admin .commerce-media-thumb{padding:0}
body.admin-shell-route .commerce-admin .commerce-filter-buttons button{background:transparent!important;border-color:transparent!important;color:#50674e!important;box-shadow:none!important}
body.admin-shell-route .commerce-admin .commerce-filter-buttons button[aria-pressed=true]{background:#fff!important;border-color:#bfd0aa!important;color:#274d30!important;box-shadow:0 1px 4px #1a422015!important}
body.admin-shell-route .commerce-admin .commerce-table td:nth-child(2){white-space:nowrap}
body.admin-shell-route .commerce-admin :is(.commerce-updated,.commerce-list-count){color:#637361!important}
body.admin-shell-route .commerce-admin :is(.commerce-stock.is-untracked,.commerce-visibility.is-hidden){color:#65705f}
body.admin-shell-route .commerce-admin .commerce-picture-preview:not(:has(img)){font-size:0}
body.admin-shell-route .commerce-admin .commerce-picture-preview:not(:has(img))::before{content:"+";font:24px Arial,sans-serif}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin{--commerce-ink:#e0eee8;--commerce-muted:#acc0b5;--commerce-line:#34524b}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin :is(.commerce-panel,.commerce-work-surface,.commerce-setup-todo,.commerce-operations-summary,.commerce-readiness-card,.commerce-more-tools,.commerce-more-tool-grid>a,.commerce-more-nav>div,.stripe-connect-page,.commerce-save-bar){background:#123330;color:var(--commerce-ink)}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin :is(input:not([type=checkbox]):not([type=file]),select,textarea){background:#173c37;border-color:#456057;color:#e0eee8}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin :is(a,.commerce-tabs>a,.commerce-more-nav>summary){color:#c0ddbd}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin :is(.commerce-table th,.commerce-upload-area,.commerce-filter-buttons,.commerce-section-links a){background:#1d3f35;color:#c4d6c8}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin :is(.commerce-table tr:hover,.commerce-table tr.is-selected,.commerce-next-action){background:#274b3c}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin :is(.commerce-updated,.commerce-list-count){color:#b5c8b4!important}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin .commerce-filter-buttons button{color:#c7dbc5!important}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin .commerce-filter-buttons button[aria-pressed=true]{background:#345f40!important;border-color:#84a66c!important;color:#f3ffe9!important}
body.admin-shell-route .commerce-admin .commerce-setup-todo{order:0}
body.admin-shell-route .commerce-admin .stripe-connect-action{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:16px}
body.admin-shell-route .commerce-admin .stripe-connect-action>div{flex:none;min-height:0}
body.admin-shell-route .commerce-admin .stripe-connect-action>button{justify-self:start}
body.admin-shell-route .commerce-admin .commerce-filter-buttons button{white-space:nowrap}
@media(max-width:600px){
  body.admin-shell-route[data-admin-refresh] .commerce-admin>.commerce-panel .commerce-table{min-width:0}
  body.admin-shell-route .commerce-admin :is(.commerce-catalogue,.commerce-order-list) .table-scroll,
  body.admin-shell-route .commerce-admin>.commerce-panel .table-scroll{overflow:visible}
  body.admin-shell-route .commerce-admin :is(.commerce-catalogue,.commerce-order-list) .commerce-table,
  body.admin-shell-route .commerce-admin>.commerce-panel .commerce-table{display:block;min-width:0;border:0;box-shadow:none;position:relative}
  body.admin-shell-route .commerce-admin :is(.commerce-catalogue,.commerce-order-list) .commerce-table thead,
  body.admin-shell-route .commerce-admin>.commerce-panel .commerce-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);top:0;left:0}
  body.admin-shell-route .commerce-admin :is(.commerce-catalogue,.commerce-order-list) .commerce-table tbody,
  body.admin-shell-route .commerce-admin>.commerce-panel .commerce-table tbody{display:grid;gap:12px}
  body.admin-shell-route .commerce-admin :is(.commerce-catalogue,.commerce-order-list) .commerce-table tr,
  body.admin-shell-route .commerce-admin>.commerce-panel .commerce-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;border:1px solid var(--commerce-line);border-radius:9px;padding:14px}
  body.admin-shell-route .commerce-admin :is(.commerce-catalogue,.commerce-order-list) .commerce-table td,
  body.admin-shell-route .commerce-admin>.commerce-panel .commerce-table td{display:flex;flex-wrap:wrap;gap:5px 8px;padding:0!important;border:0;min-width:0;font-size:12px;align-items:center}
  body.admin-shell-route .commerce-admin :is(.commerce-catalogue,.commerce-order-list) .commerce-table td::before,
  body.admin-shell-route .commerce-admin>.commerce-panel .commerce-table td::before{content:attr(data-commerce-column-label);font-size:11px;color:var(--commerce-muted)}
  body.admin-shell-route .commerce-admin :is(.commerce-catalogue,.commerce-order-list) .commerce-table td:first-child,
  body.admin-shell-route .commerce-admin>.commerce-panel .commerce-table td:first-child{grid-column:1/-1;margin-bottom:5px}
  body.admin-shell-route .commerce-admin :is(.commerce-catalogue,.commerce-order-list) .commerce-table td:first-child::before,
  body.admin-shell-route .commerce-admin>.commerce-panel .commerce-table td:first-child::before{display:none}
  body.admin-shell-route .commerce-admin .commerce-catalogue .commerce-table td:nth-child(3),
  body.admin-shell-route .commerce-admin .commerce-catalogue .commerce-table td:nth-child(5){grid-column:1/-1}
  body.admin-shell-route .commerce-admin .commerce-catalogue .commerce-table td:nth-child(6){justify-content:flex-end}
  body.admin-shell-route .commerce-admin .commerce-catalogue .commerce-table td:nth-child(6)::before{display:none}
  body.admin-shell-route .commerce-admin .commerce-product-cell{min-width:0;width:100%;gap:10px}
  body.admin-shell-route .commerce-admin .commerce-product-cell>div{min-width:0;flex:1}
  body.admin-shell-route .commerce-admin .commerce-product-photo{width:44px;height:44px;flex-basis:44px}
  body.admin-shell-route .commerce-admin .commerce-product-cell a{white-space:normal}
  body.admin-shell-route .commerce-admin .commerce-order-list .commerce-table td:first-child{display:block}
  body.admin-shell-route .commerce-admin .commerce-order-list .commerce-table td:last-child{grid-column:1/-1}
  body.admin-shell-route .commerce-admin .commerce-filter-buttons button{padding:6px 8px;font-size:12px}
  body.admin-shell-route .commerce-admin .stripe-connect-action .grid{grid-template-columns:minmax(0,1fr)}
}
body.admin-shell-route .commerce-admin .commerce-module-page{background:transparent;border:0;padding:0}
body.admin-shell-route .commerce-admin .order-delivery-panel{background:#f6f9f3!important;border-color:var(--commerce-line)!important;gap:8px!important;padding:14px!important}
body.admin-shell-route .commerce-admin .order-delivery-panel h3{font-size:15px!important}
body.admin-shell-route .commerce-admin .order-detail-fact{grid-template-columns:72px minmax(0,1fr);gap:8px!important;font-size:13px}
body.admin-shell-route .commerce-admin .order-detail-fact>.muted{font-size:12px}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin .order-delivery-panel{background:#1d3f35!important}
body.admin-shell-route .commerce-admin{--commerce-muted:#4f675f}
body.admin-shell-route .commerce-admin .commerce-eyebrow{color:#4f675f!important}
body.admin-shell-route .commerce-admin :is(.commerce-tabs>a,.commerce-more-nav>summary){color:#4f675f}
body.admin-shell-route .commerce-admin :is(.commerce-product-cell details,.commerce-order-list td details,.commerce-save-bar){color:#536956}
body.admin-shell-route .commerce-admin :is(.commerce-stock.is-low,.commerce-stock.is-out){color:#775512}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin{--commerce-muted:#acc0b5}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin .commerce-eyebrow{color:#acc0b5!important}
body.admin-shell-route[data-shell-theme="dark"] .commerce-admin :is(.commerce-tabs>a,.commerce-more-nav>summary,.commerce-product-cell details,.commerce-order-list td details,.commerce-save-bar){color:#c0ddbd}
body.admin-shell-route .commerce-admin .commerce-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
/* Use the same teal module navigation and compact overview as the other packages. */
body.admin-shell-route .commerce-admin{--commerce-ink:var(--shell-text,#153d3a);--commerce-muted:var(--shell-muted,#526c79);--commerce-line:var(--shell-border,#d5e4e6);--commerce-accent:var(--rz-color-accent,#c8f638)}
body.admin-shell-route .commerce-admin .commerce-tabs{background:transparent;border:0;border-bottom:1px solid var(--commerce-line);border-radius:0;gap:4px;flex-wrap:wrap}
body.admin-shell-route .commerce-admin :is(.commerce-tabs>a,.commerce-more-nav>summary){border-bottom-width:2px;color:var(--shell-muted);padding:12px 14px;border-radius:0}
body.admin-shell-route .commerce-admin .commerce-tabs>a[aria-current=page],body.admin-shell-route .commerce-admin .commerce-more-nav.is-active>summary{color:var(--shell-link);border-color:var(--shell-link)}
body.admin-shell-route .commerce-admin :is(a,.commerce-eyebrow){color:var(--shell-link)}
body.admin-shell-route .commerce-admin .commerce-setup-todo{background:var(--shell-card);border-radius:8px}
body.admin-shell-route .commerce-admin .commerce-setup-todo progress{width:clamp(80px,16vw,240px);height:7px;border:0;border-radius:8px;background:var(--commerce-line);accent-color:var(--shell-link);overflow:hidden}
body.admin-shell-route .commerce-admin .commerce-setup-todo progress::-webkit-progress-bar{background:var(--commerce-line)}
body.admin-shell-route .commerce-admin .commerce-setup-todo progress::-webkit-progress-value{background:var(--shell-link)}
body.admin-shell-route .commerce-admin .commerce-setup-todo progress::-moz-progress-bar{background:var(--shell-link)}
body.admin-shell-route .commerce-admin .commerce-readiness-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
body.admin-shell-route .commerce-admin .commerce-readiness-stats>div+div{border-left:1px solid var(--commerce-line);padding-left:20px}
body.admin-shell-route .commerce-admin .commerce-payment-readiness{display:flex;align-items:center;justify-content:space-between;gap:16px}
body.admin-shell-route .commerce-admin .commerce-payment-readiness>div{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:center;min-width:0}
body.admin-shell-route .commerce-admin .commerce-payment-readiness>div>strong{grid-column:1;grid-row:1}
body.admin-shell-route .commerce-admin .commerce-payment-readiness>div>.commerce-status-pill{grid-column:2;grid-row:1;justify-self:start}
body.admin-shell-route .commerce-admin .commerce-payment-readiness>div>span:last-child{grid-column:1/-1;font-size:13px;color:var(--commerce-muted)}
body.admin-shell-route .commerce-admin .commerce-payment-readiness>.button{flex-shrink:0}
body.admin-shell-route .commerce-admin .commerce-next-action{padding:14px 18px;background:var(--shell-card);border-color:var(--commerce-line);border-radius:8px}
body.admin-shell-route .commerce-admin .commerce-readiness-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:7px 14px;padding:20px;border-radius:8px}
body.admin-shell-route .commerce-admin .commerce-area-icon{width:34px;height:34px;color:var(--shell-link);grid-column:1;grid-row:1/4;align-self:center}
body.admin-shell-route .commerce-admin .commerce-readiness-card>strong{grid-column:2;grid-row:1;font-size:16px;color:var(--shell-link)}
body.admin-shell-route .commerce-admin .commerce-readiness-card>.commerce-status-pill{grid-column:2;grid-row:2;justify-self:start}
body.admin-shell-route .commerce-admin .commerce-readiness-card>span:not(.commerce-status-pill){grid-column:2;grid-row:3}
body.admin-shell-route .commerce-admin .commerce-readiness-card:hover{border-color:var(--shell-link);background:var(--shell-accent-soft)}
@media(max-width:700px){
  body.admin-shell-route .commerce-admin .commerce-readiness-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.admin-shell-route .commerce-admin .commerce-readiness-stats>div:nth-child(3){border-left:0;padding-left:0}
  body.admin-shell-route .commerce-admin .commerce-payment-readiness{align-items:flex-start;flex-wrap:wrap}
  body.admin-shell-route .commerce-admin .commerce-setup-todo>summary>span:first-child{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
  body.admin-shell-route .commerce-admin .commerce-setup-todo progress{width:100%;min-width:90px}
}

.fvd-booking{display:grid;gap:1rem}.fvd-booking-tabs{display:flex;gap:.25rem;overflow:auto;padding:.3rem;border:1px solid var(--shell-border,#d9e4ec);border-radius:8px;background:var(--shell-panel,#fff)}
.fvd-booking-tabs a{flex:0 0 auto;padding:.58rem .75rem;border-radius:6px;color:var(--shell-muted,#5d7187);text-decoration:none}.fvd-booking-tabs a.is-active{background:var(--shell-accent-soft,#e9f0ff);color:var(--shell-link,#0f6391);font-weight:700}
.fvd-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.fvd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.fvd-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fvd-stat,.fvd-panel{border:1px solid var(--shell-border,#d9e4ec);border-radius:8px;background:var(--shell-card,#fff);padding:1rem;box-shadow:0 1px 2px rgb(15 23 42/.05)}
.fvd-stat span,.fvd-kicker{display:block;color:var(--shell-muted,#5d7187);font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.fvd-stat strong{display:block;margin-top:.35rem;font-size:1.55rem}.fvd-panel h2{margin-top:0}.fvd-table{width:100%;border-collapse:collapse;font-size:.88rem}.fvd-table th,.fvd-table td{padding:.7rem;text-align:left;border-bottom:1px solid var(--shell-border,#d9e4ec);vertical-align:top}.fvd-table th{font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:var(--shell-muted,#5d7187)}
.fvd-scroll{overflow:auto}.fvd-status{display:inline-flex;padding:.22rem .5rem;border-radius:999px;background:var(--shell-panel-strong,#eef3f8);font-size:.78rem;font-weight:700}.fvd-status[data-state="active"],.fvd-status[data-state="confirmed"]{color:var(--shell-success,#167a4a)}.fvd-status[data-state="cancelled"],.fvd-status[data-state="inactive"]{color:var(--shell-critical,#b42318)}
.fvd-editor>summary,.fvd-archive>summary{cursor:pointer;font-weight:700}.fvd-editor[open]>summary{margin-bottom:1rem}.fvd-archive{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--shell-border,#d9e4ec)}.fvd-editor>div:target{outline:2px solid var(--shell-accent,#2563eb);outline-offset:2px}
.fvd-form{display:grid;gap:.75rem}.fvd-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.fvd-form label{display:grid;gap:.35rem;font-weight:650}.fvd-form :is(input,select,textarea){width:100%;box-sizing:border-box}.fvd-form .full{grid-column:1/-1}.fvd-empty{padding:1.4rem;text-align:center;color:var(--shell-muted,#5d7187)}.fvd-day{border-left:3px solid var(--shell-accent,#2563eb)}.fvd-setup{border:1px dashed var(--shell-border,#d9e4ec);border-radius:8px;padding:1rem}.fvd-timeline{list-style:none;padding:0;margin:0}.fvd-timeline li{padding:.7rem 0;border-bottom:1px solid var(--shell-border,#d9e4ec)}
@media(max-width:900px){.fvd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.fvd-grid,.fvd-grid.two,.fvd-form-grid{grid-template-columns:1fr}.fvd-form .full{grid-column:auto}.fvd-table{min-width:max-content}}

/* Booking workspace. Shared shell colours remain the source of truth. */
.fvd-booking{grid-template-columns:minmax(0,1fr);--fvd-teal:var(--shell-accent,#0b6672);--fvd-line:var(--shell-border,#dde9eb);--fvd-muted:var(--shell-muted,#60767c);font-size:14px;min-width:0;gap:18px}
.fvd-booking *{box-sizing:border-box}.fvd-booking h2{font-size:19px;letter-spacing:-.025em;margin:0 0 12px}.fvd-booking h3{font-size:16px}.fvd-booking p{line-height:1.55}.fvd-booking .button,.fvd-booking button{min-height:38px;font-size:13px;padding:8px 13px;border-radius:8px}.fvd-booking .button:not(.secondary),.fvd-booking button:not(.secondary):not(.fvd-icon-button){background:var(--fvd-teal);color:#fff;border:1px solid transparent}.fvd-booking .secondary{background:var(--shell-card,#fff);color:var(--shell-text,#294b52);border:1px solid var(--fvd-line)}.fvd-booking :is(input,select,textarea){font:inherit;min-height:38px;padding:8px 10px;border:1px solid var(--fvd-line);border-radius:7px;background:var(--shell-card,#fff);color:var(--shell-text,#183b43);max-width:100%}.fvd-booking input[type=checkbox],.fvd-booking input[type=radio]{min-height:0;width:auto;accent-color:var(--fvd-teal)}.fvd-booking textarea{min-height:86px;resize:vertical}.fvd-booking :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #5ab7c0;outline-offset:3px}.fvd-booking a{color:var(--fvd-teal)}
.fvd-booking-tabs{position:relative;z-index:5;width:max-content;max-width:100%;padding:0;gap:22px;background:transparent;border:0;border-bottom:1px solid var(--fvd-line);border-radius:0;overflow:visible;align-items:center}.fvd-booking-tabs>a,.fvd-more>summary{font-size:13px;line-height:1.4;padding:11px 0 13px;border-radius:0;color:var(--fvd-muted);border-bottom:2px solid transparent;white-space:nowrap}.fvd-booking-tabs a.is-active{background:transparent;border-bottom-color:var(--fvd-teal);color:var(--fvd-teal)}.fvd-more{position:relative}.fvd-more summary{list-style:none;cursor:pointer;display:flex;gap:18px}.fvd-more summary::-webkit-details-marker{display:none}.fvd-more>div{position:absolute;z-index:20;right:0;top:100%;width:210px;background:var(--shell-card,#fff);border:1px solid var(--fvd-line);border-radius:10px;padding:7px;box-shadow:0 12px 30px #062b331a}.fvd-more>div a{display:block;padding:10px;border-radius:6px}.fvd-more>div a:hover,.fvd-more>div a[aria-current]{background:var(--shell-accent-soft,#eaf5f4)}.fvd-panel,.fvd-stat{padding:20px;border-color:var(--fvd-line);border-radius:12px;box-shadow:0 2px 5px #062b3303}.fvd-stat strong{font-size:28px;letter-spacing:-.03em}.fvd-kicker,.fvd-stat span{color:var(--fvd-muted);font-size:11px;letter-spacing:.055em}.fvd-form{gap:16px}.fvd-form-grid{gap:14px 18px}.fvd-form label{font-size:12px;font-weight:600;gap:6px}.fvd-form>.button,.fvd-form>button{justify-self:start}.fvd-form .full{margin:0}.fvd-editor>summary{font-size:14px;list-style:none;display:flex;align-items:center;justify-content:space-between}.fvd-editor>summary::after{content:'+';font-size:20px;font-weight:400;color:var(--fvd-muted)}.fvd-editor[open]>summary::after{content:'−'}.fvd-editor[open]>summary{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--fvd-line)}.fvd-editor summary::-webkit-details-marker{display:none}.fvd-table{font-size:13px}.fvd-table :is(th,td){padding:13px 12px;vertical-align:middle}.fvd-table th{font-size:10px;font-weight:700;letter-spacing:.055em;background:var(--rz-color-surface-subtle,#f7fafb)}.fvd-table tr:last-child td{border-bottom:0}.fvd-table td small{display:inline-block;max-width:340px;overflow:hidden;text-overflow:ellipsis;color:var(--fvd-muted)}.fvd-status{font-size:10px;line-height:1.35;padding:4px 7px;background:var(--shell-accent-soft,#edf3f4);white-space:nowrap}.fvd-status[data-state=confirmed],.fvd-status[data-state=active]{background:#e6f6ec;color:#1e7546}.fvd-status[data-state=awaiting_payment],.fvd-status[data-state=held],.fvd-status[data-state=review]{background:#fff4d9;color:#865d12}.fvd-status[data-state=cancelled],.fvd-status[data-state=inactive]{background:#fbeae7;color:#a14130}.fvd-setup{background:var(--shell-accent-soft,#f0f8f7);border-style:solid}.fvd-booking-search{display:grid;grid-template-columns:minmax(160px,1.6fr) 1fr 1fr 1fr auto;gap:12px;align-items:end}.fvd-booking-search label{display:grid;gap:6px;font-size:12px}.fvd-grid.two:has(.fvd-timeline){grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr)}.fvd-grid.two dl{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:15px 0}.fvd-grid.two dt{font-size:12px;color:var(--fvd-muted)}.fvd-grid.two dd{margin:0;font-size:13px}.fvd-grid.two article>.fvd-form{padding-top:18px;margin-top:18px;border-top:1px solid var(--fvd-line)}
.fvd-calendar-workspace{min-width:0}.fvd-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:18px}.fvd-calendar-toolbar h2{margin:0;font-size:20px}.fvd-date-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fvd-date-nav h2{min-width:210px;text-align:center}.fvd-booking .fvd-icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;min-height:34px;padding:0;font-size:24px;line-height:1;text-decoration:none;background:var(--shell-card,#fff);border:1px solid var(--fvd-line);border-radius:8px;color:var(--shell-text,#44636b)}.fvd-view-switch{display:flex;gap:2px;padding:3px;border:1px solid var(--fvd-line);border-radius:8px;background:var(--shell-card,#fff)}.fvd-view-switch a{padding:7px 13px;text-decoration:none;border-radius:5px;color:var(--fvd-muted);font-size:12px;font-weight:600}.fvd-view-switch a[aria-current]{background:var(--shell-accent-soft,#e5f1f1);color:var(--fvd-teal)}.fvd-calendar-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.fvd-calendar-filters label{display:grid;gap:5px;font-size:11px;color:var(--fvd-muted)}.fvd-calendar-filters :is(input,select){font-size:12px;min-height:36px;min-width:135px;max-width:220px}.fvd-calendar-zone{margin-left:auto;align-self:center;color:var(--fvd-muted);font-size:11px}.fvd-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:18px;align-items:start}.fvd-calendar-main{min-width:0;border:1px solid var(--fvd-line);border-radius:12px;background:var(--shell-card,#fff);overflow:hidden}.fvd-calendar-timed{max-height:calc(100vh - 290px);min-height:380px;overflow:auto;scrollbar-width:thin}.fvd-calendar-grid{display:grid;grid-template-columns:54px repeat(var(--calendar-days),minmax(0,1fr));min-width:550px;position:relative}.fvd-calendar-corner,.fvd-calendar-day-heading{position:sticky;top:0;z-index:3;background:var(--shell-card,#fff);border-bottom:1px solid var(--fvd-line)}.fvd-calendar-day-heading{display:flex;flex-direction:column;align-items:center;gap:5px;padding:13px 0 12px;text-decoration:none;border-left:1px solid var(--fvd-line);color:var(--fvd-muted)!important}.fvd-calendar-day-heading span{font-size:10px;text-transform:uppercase;letter-spacing:.04em}.fvd-calendar-day-heading strong{font-size:18px;font-weight:600;width:31px;height:31px;display:grid;place-items:center}.fvd-calendar-day-heading.is-today strong{background:var(--fvd-teal);color:#fff;border-radius:50%}.fvd-calendar-hours{height:var(--calendar-height);position:relative;color:var(--fvd-muted);font-size:9px}.fvd-calendar-hours span{position:absolute;right:9px;transform:translateY(-50%)}.fvd-calendar-hours span:first-child{transform:translateY(4px)}.fvd-calendar-columns{height:var(--calendar-height);grid-column:2/-1;display:grid;grid-template-columns:repeat(var(--calendar-days),minmax(0,1fr));position:relative}.fvd-calendar-day{position:relative;border-left:1px solid var(--fvd-line);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--calendar-hour-height) - 1px),#edf2f3 calc(var(--calendar-hour-height) - 1px),#edf2f3 var(--calendar-hour-height))}.fvd-calendar-day.is-today{background-color:var(--rz-color-surface-subtle,#f5fbfa)}.fvd-calendar-event{position:absolute;z-index:1;display:flex;flex-direction:column;gap:3px;border:1px solid #b8ddd7;border-left:3px solid #218778;background:#e8f5ef;border-radius:6px;padding:6px;overflow:hidden;text-decoration:none;color:#174e47!important;font-size:10px;line-height:1.35;min-height:17px}.fvd-calendar-event>*{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.fvd-calendar-event strong{font-size:11px}.fvd-calendar-event small{font-size:9px}.fvd-calendar-event .fvd-event-time{font-size:9px;font-weight:600}.fvd-event-colour-1{background:#eaf2fa;border-color:#c7dcf0;border-left-color:#6195c0;color:#345771!important}.fvd-event-colour-2{background:#f5edf8;border-color:#e3d0ea;border-left-color:#ad7ac0;color:#704b7d!important}.fvd-event-colour-3{background:#fff5e3;border-color:#f1dfb8;border-left-color:#c89b40;color:#765a22!important}.fvd-calendar-event.is-selected,.fvd-calendar-event:hover{box-shadow:0 0 0 2px var(--fvd-teal);z-index:2}.fvd-calendar-event[data-state=cancelled]{opacity:.58;text-decoration:line-through}.fvd-calendar-empty{position:absolute;top:120px;left:20px;right:20px;text-align:center;color:var(--fvd-muted);font-size:13px;background:var(--shell-card,#fff);padding:15px;border-radius:8px}.fvd-booking-inspector{background:var(--shell-card,#fff);border:1px solid var(--fvd-line);border-radius:12px;padding:19px;min-width:0}.fvd-inspector-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.fvd-inspector-heading>a{font-size:23px;text-decoration:none;color:var(--fvd-muted)}.fvd-booking-inspector h3{font-size:19px;line-height:1.35;margin:12px 0 4px}.fvd-inspector-reference{color:var(--fvd-muted);font-size:11px;margin:0}.fvd-detail-list{display:grid;gap:17px;margin:22px 0}.fvd-detail-list dt{font-size:10px;color:var(--fvd-muted);margin-bottom:4px}.fvd-detail-list dd{margin:0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.fvd-booking-inspector>.button{display:flex;justify-content:center;width:100%;text-decoration:none}.fvd-inspector-empty{text-align:center;padding:38px 0}.fvd-inspector-empty h3{font-size:15px}.fvd-inspector-empty p{font-size:12px;color:var(--fvd-muted)}.fvd-inspector-icon{display:grid;place-items:center;width:47px;height:47px;margin:0 auto 15px;background:var(--shell-accent-soft,#edf5f5);color:var(--fvd-teal);border-radius:12px;font-size:27px}.fvd-calendar-agenda{display:none;padding:17px}.fvd-month-weekdays,.fvd-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.fvd-month-weekdays span{padding:13px 5px;text-align:center;font-size:10px;color:var(--fvd-muted);text-transform:uppercase}.fvd-month-day{min-width:0;min-height:120px;border-top:1px solid var(--fvd-line);border-left:1px solid var(--fvd-line);padding:7px 5px}.fvd-month-day:nth-child(7n+1){border-left:0}.fvd-month-day.is-outside{background:var(--rz-color-surface-subtle,#fafcfc)}.fvd-month-day.is-outside .fvd-month-date{color:var(--fvd-muted,#71888e)}.fvd-month-date{display:grid;place-items:center;width:25px;height:25px;font-size:12px;text-decoration:none;margin-bottom:5px}.fvd-month-day.is-today .fvd-month-date{background:var(--fvd-teal);color:#fff;border-radius:50%}.fvd-month-event{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:9px;padding:4px;margin-bottom:3px;text-decoration:none;background:var(--shell-accent-soft,#eaf5f2);border-radius:4px}.fvd-month-event time{font-weight:700}.fvd-month-event[data-state=cancelled]{opacity:.6;text-decoration:line-through}.fvd-month-more{font-size:10px;text-decoration:none;padding:3px}.fvd-agenda-event{display:flex;gap:10px;align-items:center;text-decoration:none;border-bottom:1px solid var(--fvd-line);padding:14px 0}.fvd-agenda-event>time{font-size:12px;font-weight:700;flex-shrink:0}.fvd-agenda-event>span:first-of-type{display:grid;gap:5px;min-width:0;flex:1}.fvd-agenda-event strong{font-size:12px}.fvd-agenda-event small{font-size:10px;color:var(--fvd-muted)}.fvd-agenda-event .fvd-status{font-size:9px}.fvd-booking-dialog{--fvd-teal:var(--shell-accent,#0b6672);--fvd-line:var(--shell-border,#dde9eb);--fvd-muted:var(--shell-muted,#60767c);width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:15px;box-shadow:0 25px 90px #062b3340;color:var(--shell-text,#183b43)}.fvd-booking-dialog::backdrop{background:#062b3366;backdrop-filter:blur(2px)}.fvd-booking-dialog .fvd-create-booking{border:0;margin:0;padding:25px}.fvd-booking-dialog .fvd-create-booking>summary{display:none}.fvd-dialog-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.fvd-dialog-heading h2{font-size:23px;margin:5px 0}.fvd-dialog-heading p{font-size:12px;color:var(--fvd-muted);margin:0}.fvd-create-booking:not([open]) .fvd-dialog-heading{display:none}.fvd-create-booking>summary+.fvd-dialog-heading [data-close-booking-dialog]{display:none}.fvd-booking-dialog .fvd-dialog-heading [data-close-booking-dialog]{display:inline-flex}.fvd-booking-dialog .fvd-create-booking .fvd-form-grid{gap:13px 18px}.fvd-booking-limit{font-size:12px;padding:10px 14px;background:#fff6df;border-radius:8px;color:#735717}
@media(min-width:1600px){.fvd-calendar-layout{grid-template-columns:minmax(0,1fr) 290px}.fvd-calendar-event{font-size:11px;padding:8px}.fvd-calendar-event strong{font-size:12px}}
@media(max-width:1180px){.fvd-calendar-layout{grid-template-columns:minmax(0,1fr)}.fvd-booking-inspector{display:none}.fvd-booking-inspector[data-selected-booking]{display:block;grid-row:1}.fvd-booking-inspector[data-selected-booking] .fvd-detail-list{grid-template-columns:repeat(3,minmax(0,1fr))}.fvd-booking-inspector>.button{width:max-content}.fvd-inspector-heading{margin-bottom:12px}.fvd-calendar-timed{max-height:650px}.fvd-booking-search{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.fvd-booking-search label:first-child{grid-column:span 2}}
@media(max-width:700px){.fvd-booking{gap:14px}.fvd-panel{padding:16px}.fvd-booking-tabs{width:100%;gap:18px}.fvd-booking-tabs>a,.fvd-more>summary{font-size:12px}.fvd-calendar-toolbar{align-items:stretch;gap:14px}.fvd-date-nav{width:100%;gap:6px}.fvd-date-nav h2{min-width:0;flex:1;font-size:16px}.fvd-calendar-toolbar>.fvd-actions{width:100%;justify-content:space-between}.fvd-calendar-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fvd-calendar-filters label{min-width:0}.fvd-calendar-filters :is(input,select){min-width:0;max-width:none;width:100%}.fvd-calendar-filters>button{align-self:end}.fvd-calendar-zone{grid-column:1/-1;margin:0}.fvd-calendar-timed,.fvd-month-calendar{display:none}.fvd-calendar-agenda{display:block}.fvd-calendar-agenda h3{margin-top:0}.fvd-calendar-agenda h4{font-size:12px;margin:20px 0 0}.fvd-booking-inspector[data-selected-booking] .fvd-detail-list{grid-template-columns:1fr 1fr}.fvd-booking-search{grid-template-columns:1fr 1fr}.fvd-booking-search label:first-child{grid-column:1/-1}.fvd-booking-search button{align-self:end}.fvd-grid.two:has(.fvd-timeline){grid-template-columns:1fr}.fvd-table{min-width:620px}.fvd-booking-dialog .fvd-create-booking{padding:20px}.fvd-booking-dialog .fvd-form-grid{grid-template-columns:1fr}.fvd-booking-dialog .fvd-form .full{grid-column:1}.fvd-calendar-event{min-height:20px}}
@media(prefers-reduced-motion:reduce){.fvd-booking *{scroll-behavior:auto!important}}
.fvd-form-disclosure{padding:13px 15px;border:1px solid var(--fvd-line);border-radius:8px;background:var(--rz-color-surface-subtle,#f8fbfb)}.fvd-form-disclosure>summary{cursor:pointer;font-size:12px;font-weight:600}.fvd-form-disclosure[open]>summary{margin-bottom:14px}.fvd-booking .fvd-notice{font-size:12px;margin-bottom:18px;background:var(--shell-accent-soft,#f2f8f7);border-left:3px solid var(--fvd-teal);padding:12px 14px;border-radius:0 7px 7px 0}.fvd-booking .fvd-notice p{margin-bottom:0}
.fvd-booking-dialog:not([open]){display:none}
.fvd-booking-dialog .fvd-create-booking .fvd-dialog-heading [data-close-booking-dialog]{display:inline-flex}

/* Timed event colours remain paired with their own dark text in both themes. */
body[data-shell-theme="dark"] .fvd-calendar-day{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--calendar-hour-height) - 1px),var(--fvd-line) calc(var(--calendar-hour-height) - 1px),var(--fvd-line) var(--calendar-hour-height))}
body[data-shell-theme="dark"] .fvd-calendar-day-heading.is-today strong,body[data-shell-theme="dark"] .fvd-month-day.is-today .fvd-month-date{background:var(--shell-accent-soft);color:var(--shell-text)}
body[data-shell-theme="dark"] .fvd-status:not([data-state]){background:var(--shell-accent-soft);color:var(--shell-text)}

/* Setup tables scroll within their panel, never widen the calendar workspace. */
.fvd-booking :is(.fvd-panel,.fvd-stat,.fvd-grid,.fvd-scroll){min-width:0;max-width:100%}

.booking-access { max-width: 76rem; }
.booking-access-editing { border: 0; margin: 0; padding: 0; min-width: 0; }
.booking-access-editing > .card { padding: 1rem; margin-block: 1rem; }
.booking-access-verification { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
body.admin-shell-route[data-admin-refresh] .admin-identity { max-width: 44rem; }
body.admin-shell-route[data-admin-refresh] .admin-identity > .card { max-width: 44rem; }
body.admin-shell-route[data-admin-refresh] .admin-identity h2 { font-size: 1rem; }
body.admin-shell-route[data-admin-refresh] .admin-identity form { display: grid; gap: .65rem; }
body.admin-shell-route[data-admin-refresh] .admin-identity .actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.booking-access h1 { font-size: 1.5rem; }
.booking-access h2 { margin: 0 0 .5rem; font-size: 1rem; }
.booking-access p { font-size: .875rem; }
.booking-access-row { border-bottom: 1px solid var(--shell-border, #d8e3e5); padding: .65rem 0; }
.booking-access-row > summary { display: flex; justify-content: space-between; gap: .75rem; cursor: pointer; font-size: .875rem; }
.booking-access-row > summary::after { content: '+'; }
.booking-access-row[open] > summary::after { content: '−'; }
.booking-access-row > summary span { margin-left: auto; color: var(--shell-muted, #5b7278); }
.booking-access-row form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; padding-top: .8rem; }
.booking-access-row label { display: grid; gap: .35rem; font-size: .875rem; }
.booking-access-row label:has(input[type=checkbox]) { display: flex; align-items: center; }
.booking-access-row input[type=checkbox] { width: 1rem; min-height: 1rem; margin: 0; }
.booking-access-row fieldset { border: 1px solid var(--shell-border, #d8e3e5); border-radius: 6px; padding: .65rem; display: flex; flex-wrap: wrap; gap: .65rem; }
.booking-access-row legend { font-size: .8125rem; padding-inline: .25rem; }
.booking-access-row button { justify-self: start; align-self: end; }
@media (max-width: 640px) { .booking-access-row form { grid-template-columns: 1fr; } }
/* This in-page header must not inherit the site's branded masthead gradient. */
body.admin-shell-route[data-admin-refresh] .booking-access > .workspace-page-header {
  background: none;
  box-shadow: none;
  border: 0;
  padding: 0;
  min-height: 0;
  gap: .75rem;
}
body.admin-shell-route[data-admin-refresh] .booking-access > .workspace-page-header h1 { display: none; }
body.admin-shell-route[data-admin-refresh] .booking-access > .workspace-page-header p { margin: 0; color: var(--shell-muted, #5b7278); }
body.admin-shell-route[data-admin-refresh] .booking-access h2 { font-size: 1rem; }
body.admin-shell-route[data-admin-refresh] .booking-access-row label { align-content: start; }
body.admin-shell-route[data-admin-refresh] .booking-access-row select,
body.admin-shell-route[data-admin-refresh] .booking-access-row input:not([type=hidden]):not([type=checkbox]) { min-height: 38px; height: 38px; }

/* Focused working views. Customer websites and Courses do not use these selectors. */
body.admin-shell-route[data-admin-refresh] main :is(.crm-module-tabs, .booking-module-tabs, .operations-module-tabs, .comms-module-tabs, .fvd-booking-tabs, .workspace-tabs, .settings-tabs) {
  display: flex; flex-wrap: wrap; gap: .25rem; padding: 0; margin: .75rem 0 1.25rem;
  background: transparent; border: 0; border-bottom: 1px solid var(--shell-border); border-radius: 0;
}
body.admin-shell-route[data-admin-refresh] main :is(.crm-module-tabs, .booking-module-tabs, .operations-module-tabs, .comms-module-tabs, .fvd-booking-tabs, .workspace-tabs, .settings-tabs) > a {
  padding: .7rem .85rem; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--shell-muted); text-decoration: none;
}
body.admin-shell-route[data-admin-refresh] main :is(.crm-module-tabs, .booking-module-tabs, .operations-module-tabs, .comms-module-tabs, .fvd-booking-tabs, .workspace-tabs, .settings-tabs) > a:is(.is-active, [aria-current="page"]) {
  color: var(--shell-link); border-bottom-color: var(--shell-link); font-weight: 650; background: transparent;
}
body.admin-shell-route[data-admin-refresh] .booking-setup-layout { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; gap: 1.25rem; align-items: start; }
body.admin-shell-route[data-admin-refresh] .booking-setup-content { min-width: 0; }
body.admin-shell-route[data-admin-refresh] .booking-setup-layout.is-minimised { grid-template-columns: minmax(0, 1fr); }
body.admin-shell-route[data-admin-refresh] .booking-setup-checklist {
  margin: 0; padding: 0; position: sticky; top: 1rem; background: var(--shell-panel); border: 1px solid var(--shell-border); border-radius: .65rem; box-shadow: 0 8px 24px #062b330b;
}
body.admin-shell-route[data-admin-refresh] .booking-setup-checklist > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; list-style: none; font-weight: 650; }
body.admin-shell-route[data-admin-refresh] .booking-setup-checklist > summary::-webkit-details-marker { display: none; }
body.admin-shell-route[data-admin-refresh] .booking-setup-checklist > summary::after { content: '+'; font-size: 1.25rem; line-height: 1; }
body.admin-shell-route[data-admin-refresh] .booking-setup-checklist[open] > summary::after { content: '−'; }
body.admin-shell-route[data-admin-refresh] .booking-setup-checklist > summary small { display: none; }
body.admin-shell-route[data-admin-refresh] .booking-setup-checklist ol { display: grid; grid-template-columns: 1fr; padding: 0 1rem 1rem 2.25rem; margin: 0; gap: .25rem; }
body.admin-shell-route[data-admin-refresh] .booking-setup-checklist li { padding: .6rem .25rem; }
body.admin-shell-route[data-admin-refresh] .booking-setup-checklist li a { font-weight: 500; }
body.admin-shell-route[data-admin-refresh] .booking-setup-layout.is-minimised > .booking-setup-checklist { position: fixed; right: 1.25rem; bottom: 1.25rem; top: auto; z-index: 25; max-width: calc(100vw - 2.5rem); box-shadow: 0 6px 24px #062b3320; }
body.admin-shell-route[data-admin-refresh] .booking-overview-actions { display: flex; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
body.admin-shell-route[data-admin-refresh] .booking-overview-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1rem; }
body.admin-shell-route[data-admin-refresh] .booking-overview-metrics > div { display: grid; align-content: start; gap: .35rem; padding: 1rem; border: 1px solid var(--shell-border); border-radius: .5rem; background: var(--shell-panel); }
body.admin-shell-route[data-admin-refresh] .booking-overview-metrics strong { font-size: 1.5rem; line-height: 1.2; }
body.admin-shell-route[data-admin-refresh] .booking-overview-metrics span { color: var(--shell-muted); }
body.admin-shell-route[data-admin-refresh] .booking-overview-metric { position: relative; }
body.admin-shell-route[data-admin-refresh] .booking-overview-metric > span:not(.booking-metric-icon) { min-height: 2.25rem; padding-right: 3rem; display: flex; align-items: center; }
body.admin-shell-route[data-admin-refresh] .booking-overview-metric > .booking-metric-icon { position: absolute; top: .9rem; right: 1rem; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: .65rem; background: #e3efed; color: var(--shell-link); }
body.admin-shell-route[data-admin-refresh] .booking-metric-icon svg { width: 1.6rem; height: 1.6rem; }
body.admin-shell-route[data-admin-refresh] .booking-work-panel { padding: 1rem; margin-bottom: 1rem; border: 1px solid var(--shell-border); border-radius: .5rem; background: var(--shell-panel); min-width: 0; }
body.admin-shell-route[data-admin-refresh] .booking-work-panel :is(td, th) small { display: block; color: var(--shell-muted); }
body.admin-shell-route[data-admin-refresh] .booking-start-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0; }
body.admin-shell-route[data-admin-refresh] .booking-start-card { display: grid; gap: .4rem; padding: 1rem; background: var(--shell-panel); border: 1px solid var(--shell-border); border-radius: .5rem; text-decoration: none; }
body.admin-shell-route[data-admin-refresh] .booking-start-card small { color: var(--shell-muted); }
body.admin-shell-route[data-admin-refresh] .booking-link-disclosure > summary { font-weight: 650; }
body.admin-shell-route[data-admin-refresh] .booking-link-disclosure form { display: grid; gap: 1rem; padding-top: 1rem; }
body.admin-shell-route[data-admin-refresh] .booking-link-disclosure form > button { justify-self: start; }
body.admin-shell-route[data-admin-refresh] .booking-link-disclosure label { display: grid; gap: .3rem; min-width: 0; }
body.admin-shell-route[data-admin-refresh] .booking-next-step { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; padding: .75rem 0; }
body.admin-shell-route[data-admin-refresh] .crm-workspace { grid-template-columns: minmax(0, 1fr) minmax(17rem, 21rem); }
body.admin-shell-route[data-admin-refresh] .crm-workspace.is-profile-closed { grid-template-columns: minmax(0, 1fr); }
body.admin-shell-route[data-admin-refresh] .crm-workspace.is-profile-closed > .crm-detail-panel { display: none; }
body.admin-shell-route[data-admin-refresh] .crm-heading { border: 0; margin-bottom: 0; }
body.admin-shell-route[data-admin-refresh] .crm-contact-filters { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: 1rem; }
body.admin-shell-route[data-admin-refresh] .crm-search-control { display: flex; flex: 1 1 13rem; min-width: 10rem; }
body.admin-shell-route[data-admin-refresh] .crm-search-control input { min-width: 0; width: 100%; border-radius: .375rem 0 0 .375rem; }
body.admin-shell-route[data-admin-refresh] .crm-search-control button { border-radius: 0 .375rem .375rem 0; border-left: 0; }
body.admin-shell-route[data-admin-refresh] .crm-search-control svg { width: 1rem; height: 1rem; stroke: currentColor; fill: none; stroke-width: 1.7; }
body.admin-shell-route[data-admin-refresh] .crm-contact-filters > select { width: auto; flex: 0 1 11rem; }
body.admin-shell-route[data-admin-refresh] .crm-advanced-filters { margin: 0; border-radius: .375rem; background: var(--shell-panel); }
body.admin-shell-route[data-admin-refresh] .crm-advanced-filters > summary { padding: .45rem .65rem; min-height: 2.25rem; white-space: nowrap; }
body.admin-shell-route[data-admin-refresh] .crm-advanced-filter-body { position: absolute; right: 0; top: calc(100% + .5rem); z-index: 20; width: min(38rem, 100%); max-height: min(36rem, 65vh); overflow: auto; padding: 1rem; background: var(--shell-panel); border: 1px solid var(--shell-border); border-radius: .5rem; box-shadow: 0 10px 30px #062b3320; }
body.admin-shell-route[data-admin-refresh] .crm-sort-menu .crm-advanced-filter-body { width: min(30rem, 100%); }
body.admin-shell-route[data-admin-refresh] .crm-activity-condition, body.admin-shell-route[data-admin-refresh] .crm-activity-sorts { margin-top: 0; }
body.admin-shell-route[data-admin-refresh] .crm-contact-selection.is-empty { border: 0; margin: 0; padding: 0; }
body.admin-shell-route[data-admin-refresh] .crm-contact-selection.is-empty > :is([data-contact-selection-count], .crm-selection-actions) { display: none; }
body.admin-shell-route[data-admin-refresh] .crm-data-table th .crm-selection-menu { text-transform: none; }
body.admin-shell-route[data-admin-refresh] .crm-data-table th .crm-selection-options { position: fixed; z-index: 30; }
body.admin-shell-route[data-admin-refresh] .crm-data-table th .crm-selection-menu > summary { padding: .25rem; min-height: 1.75rem; font-size: .75rem; }
body.admin-shell-route[data-admin-refresh] .crm-contact-identity { display: flex; align-items: center; gap: .75rem; min-width: 0; }
body.admin-shell-route[data-admin-refresh] .crm-contact-initials { display: grid; place-items: center; flex: 0 0 2.25rem; width: 2.25rem; height: 2.25rem; border: 1px solid #caddd9; border-radius: .6rem; background: #e3efed; color: #07515a; font-size: .8rem; font-weight: 650; line-height: 1; letter-spacing: .02em; }
body.admin-shell-route[data-admin-refresh] .crm-contact-summary .crm-contact-initials { flex-basis: 2.75rem; width: 2.75rem; height: 2.75rem; font-size: .95rem; }
body.admin-shell-route[data-admin-refresh] .crm-contact-summary .crm-contact-identity h2 { margin: 0; overflow-wrap: anywhere; min-width: 0; }
body.admin-shell-route[data-admin-refresh] .crm-contact-profile .crm-detail-grid > div { padding: .65rem 0; }
body.admin-shell-route[data-admin-refresh] .crm-contact-profile :is(.crm-detail-header, .crm-contact-profile-body, .crm-contact-section) { min-width: 0; }
body.admin-shell-route[data-admin-refresh] .crm-contact-profile .crm-detail-header { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
body.admin-shell-route[data-admin-refresh] .crm-contact-profile .crm-detail-actions { flex-wrap: wrap; }
body.admin-shell-route[data-admin-refresh] .crm-contact-profile .crm-contact-section { margin: 0; padding: .75rem 0; }
body.admin-shell-route[data-admin-refresh] .crm-contact-profile .crm-contact-section h3 { margin: 0 0 .75rem; }
body.admin-shell-route[data-admin-refresh] .crm-contact-section dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: .5rem; margin: .5rem 0; }
body.admin-shell-route[data-admin-refresh] .crm-contact-section dt { color: var(--shell-muted); }
body.admin-shell-route[data-admin-refresh] .crm-contact-section dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
body.admin-shell-route[data-admin-refresh] .crm-close-profile { margin-left: auto; }
@media (max-width: 1200px) {
  body.admin-shell-route[data-admin-refresh] .booking-overview-metrics, body.admin-shell-route[data-admin-refresh] .booking-start-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1050px) {
  body.admin-shell-route[data-admin-refresh] .booking-setup-layout { grid-template-columns: minmax(0, 1fr); }
  body.admin-shell-route[data-admin-refresh] .booking-setup-checklist[open] { grid-row: 1; position: static; }
  body.admin-shell-route[data-admin-refresh] .crm-workspace { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  body.admin-shell-route[data-admin-refresh] .crm-search-control { flex-basis: 100%; }
  body.admin-shell-route[data-admin-refresh] .crm-contact-filters > select { flex: 1 1 100%; }
  body.admin-shell-route[data-admin-refresh] .booking-link-disclosure .grid { grid-template-columns: minmax(0, 1fr); }
}

/* Marketing and Operations own their layouts; shared shell controls stay in admin_refresh. */
body.admin-shell-route :is(.comms-shell,.operations-landing) { min-width: 0; }
body.admin-shell-route :is(.comms-module-tabs,.operations-module-tabs) {
  display: flex; flex-wrap: wrap; gap: 4px; align-items: stretch; padding: 0;
  border: 0; border-bottom: 1px solid var(--shell-border); border-radius: 0;
  background: transparent; margin: 0 0 20px;
}
body.admin-shell-route :is(.comms-module-tabs,.operations-module-tabs) a {
  padding: 12px 14px; border: 0; border-bottom: 2px solid transparent;
  border-radius: 0; color: var(--shell-muted); background: transparent; font-size: 14px;
}
body.admin-shell-route :is(.comms-module-tabs,.operations-module-tabs) a:is(.is-active,[aria-current=page]) {
  border-bottom-color: var(--shell-link); color: var(--shell-link); background: transparent;
}
body.admin-shell-route :is(.comms-module-tabs,.operations-module-tabs) a:hover { color: var(--shell-link); background: var(--shell-accent-soft); }
body.admin-shell-route .comms-shell { display: grid; gap: 20px; }
body.admin-shell-route .comms-shell [hidden] { display: none !important; }
body.admin-shell-route .comms-shell .crm-heading { border: 0; gap: 16px; }
body.admin-shell-route .comms-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
body.admin-shell-route .comms-shell .comms-module-tabs { margin: 0; }
body.admin-shell-route .comms-shell .comms-overview { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; padding: 0; border: 0; background: transparent; }
body.admin-shell-route .comms-shell .comms-path-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
body.admin-shell-route .comms-shell .comms-path-grid a { padding: 22px; display: grid; gap: 8px; background: var(--shell-card); border: 1px solid var(--shell-border); border-radius: 8px; text-decoration: none; }
body.admin-shell-route .comms-shell .comms-path-grid svg { width: 32px; height: 32px; color: var(--shell-link); margin-bottom: 4px; }
body.admin-shell-route .comms-shell .comms-path-grid strong { font-size: 18px; color: var(--shell-text); }
body.admin-shell-route .comms-shell .comms-path-grid span { font-size: 14px; line-height: 1.5; }
body.admin-shell-route .comms-shell .comms-path-grid em { color: var(--shell-link); font-style: normal; font-size: 14px; font-weight: 650; margin-top: 8px; }
body.admin-shell-route .comms-shell .comms-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; padding: 16px 0; background: var(--shell-card); border: 1px solid var(--shell-border); border-radius: 8px; }
body.admin-shell-route .comms-shell .comms-summary-grid a { display: flex; flex-direction: column; gap: 4px; align-items: center; padding: 4px 16px; text-decoration: none; border-right: 1px solid var(--shell-border); }
body.admin-shell-route .comms-shell .comms-summary-grid a:last-child { border: 0; }
body.admin-shell-route .comms-shell .comms-summary-grid strong { font-size: 26px; line-height: 1.25; }
body.admin-shell-route .comms-shell .comms-summary-grid span { font-size: 13px; font-weight: 500; }
body.admin-shell-route .comms-shell .comms-recent { padding: 0; overflow: hidden; }
body.admin-shell-route .comms-shell .comms-recent .crm-panel-header { padding: 18px 20px; align-items: center; }
body.admin-shell-route .comms-shell .comms-recent :is(h2,.table-scroll) { margin: 0; }
body.admin-shell-route .comms-shell .comms-recent h2 { font-size: 18px; }
body.admin-shell-route .comms-shell .comms-permission-note { margin: -4px 0 0; font-size: 12px; }
body.admin-shell-route .comms-shell .comms-one-off { display: flex; justify-content: flex-end; padding-bottom: 16px; font-size: 14px; }
body.admin-shell-route .comms-shell .crm-panel-header:has(.comms-create-drawer[open]) { display: grid; grid-template-columns: minmax(0,1fr); }
body.admin-shell-route .comms-shell .comms-create-drawer[open] { width: 100%; max-width: none; }
body.admin-shell-route .comms-shell .comms-wizard-form :is(input,select,textarea) { max-width: 100%; }
body.admin-shell-route .comms-shell :is(.comms-path-grid a,.comms-summary-grid a):hover { background: var(--shell-accent-soft); }
body.admin-shell-route .operations-heading { margin-bottom: 20px; }
body.admin-shell-route .operations-heading .kicker { display: none; }
body.admin-shell-route .operations-heading h1 { margin: 0 0 8px; }
body.admin-shell-route .operations-heading p { margin: 0; }
body.admin-shell-route .operations-command-center { display: block; }
body.admin-shell-route .operations-command-center .operations-command-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
body.admin-shell-route .operations-command-center .operations-command-card {
  display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 20px;
  min-height: 172px; padding: 24px 16px; border: 1px solid var(--shell-border); border-radius: 8px;
  background: var(--shell-card); color: var(--shell-link); text-decoration: none; box-shadow: none;
}
body.admin-shell-route .operations-command-center .operations-command-card svg { width: 48px; height: 48px; flex-shrink: 0; }
body.admin-shell-route .operations-command-center .operations-command-card strong { font-size: 16px; line-height: 1.4; text-align: center; }
body.admin-shell-route .operations-command-center .operations-command-card:hover { background: var(--shell-accent-soft); border-color: var(--shell-link); transform: none; }
body.admin-shell-route :is(.comms-shell,.operations-landing) :is(a,summary,button):focus-visible { outline: 3px solid var(--shell-link); outline-offset: 3px; }
@media (max-width: 1050px) {
  body.admin-shell-route .operations-command-center .operations-command-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  body.admin-shell-route .operations-command-center .operations-command-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  body.admin-shell-route .operations-command-center .operations-command-card { min-height: 140px; padding: 18px 12px; gap: 14px; }
  body.admin-shell-route .comms-shell .comms-path-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  body.admin-shell-route .comms-shell .comms-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 16px; }
  body.admin-shell-route .comms-shell .comms-summary-grid a:nth-child(2) { border: 0; }
  body.admin-shell-route .comms-shell .comms-page-heading { align-items: flex-start; flex-wrap: wrap; }
  body.admin-shell-route .comms-shell .comms-recent .crm-panel-header { flex-wrap: wrap; gap: 10px; }
  body.admin-shell-route :is(.comms-module-tabs,.operations-module-tabs) a { padding: 10px; font-size: 13px; }
}
@media (max-width: 420px) {
  body.admin-shell-route .operations-command-center .operations-command-card strong { font-size: 14px; }
}

/* Permissions and assurance presenters share compact, progressively enhanced controls. */
body.admin-shell-route .settings-workspace { min-width: 0; }
body.admin-shell-route .settings-page-header,
body.admin-shell-route .settings-section-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
body.admin-shell-route .settings-section-heading { margin-bottom: .8rem; }
body.admin-shell-route .settings-section-heading h2 { margin: 0; }
body.admin-shell-route .settings-tabs { display: flex; flex-wrap: wrap; gap: .25rem; padding: 0; margin: .5rem 0 1.25rem; background: transparent; border: 0; border-bottom: 1px solid var(--shell-border); }
body.admin-shell-route .settings-tabs a { display: inline-block; padding: .65rem .85rem; color: var(--shell-link); text-decoration: none; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; }
body.admin-shell-route .settings-tabs a.is-active { border-bottom-color: var(--shell-link); font-weight: 650; }
body.admin-shell-route .settings-workspace [hidden] { display: none !important; }
body.admin-shell-route .settings-role-workspace.is-enhanced { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, 20rem); gap: 1rem; align-items: start; }
body.admin-shell-route .settings-role-workspace > * { min-width: 0; }
body.admin-shell-route .settings-role-list tr.is-selected { background: var(--shell-accent-soft); }
body.admin-shell-route .settings-role-select { padding: 0; min-height: 2rem; text-align: left; color: var(--shell-link); background: none; border: 0; font-weight: 600; }
body.admin-shell-route .settings-role-detail h2 { overflow-wrap: anywhere; }
body.admin-shell-route .settings-role-detail dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--shell-border); }
body.admin-shell-route .settings-role-detail dd { margin: 0; }
body.admin-shell-route .settings-compatibility > summary { font-weight: 600; }
body.admin-shell-route .settings-compatibility[open] > summary { margin-bottom: .75rem; }
body.admin-shell-route .settings-create { margin: 0; max-width: 100%; }
body.admin-shell-route .settings-create > summary { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.5rem; padding: .5rem .9rem; box-sizing: border-box; cursor: pointer; list-style: none; }
body.admin-shell-route .settings-create > summary::-webkit-details-marker { display: none; }
body.admin-shell-route .settings-create > summary:not(.secondary) { background: var(--rz-color-accent, #c8f638); color: #062b33; border: 1px solid var(--rz-color-accent, #c8f638); }
body.admin-shell-route .settings-create[open] { width: 100%; }
body.admin-shell-route .settings-create[open] > .settings-drawer-content { margin-top: 1rem; }
body.admin-shell-route .settings-workspace :is(.table-wrap, .table-scroll) { overflow-x: auto; max-width: 100%; }
body.admin-shell-route .settings-workspace table { width: 100%; }
body.admin-shell-route .settings-workspace th { white-space: nowrap; }
body.admin-shell-route .settings-workspace td { vertical-align: top; overflow-wrap: anywhere; }
body.admin-shell-route .settings-workspace .settings-empty-row { text-align: center; padding: 1.5rem; }
body.admin-shell-route .settings-profile-strip > p { margin: 0; }
body.admin-shell-route .settings-profile-strip > p + p { margin-top: .25rem; }
body.admin-shell-route .settings-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: .8rem 0 0; padding-top: .8rem; border-top: 1px solid var(--shell-border); }
body.admin-shell-route .settings-metrics > div { display: flex; flex-direction: column-reverse; gap: .1rem; }
body.admin-shell-route .settings-metrics dt { font-size: .8rem; color: var(--shell-muted); }
body.admin-shell-route .settings-metrics dd { font-size: 1.35rem; font-weight: 650; margin: 0; }
body.admin-shell-route .settings-record-details { margin-top: .4rem; font-size: .8rem; }
body.admin-shell-route .settings-row-actions summary { white-space: nowrap; color: var(--shell-link); }
body.admin-shell-route .settings-row-actions[open] { min-width: 13rem; max-width: 20rem; }
body.admin-shell-route .settings-row-actions form { display: grid; gap: .45rem; margin: .6rem 0; padding: .65rem; border: 1px solid var(--shell-border); border-radius: .4rem; }
body.admin-shell-route .settings-row-actions :is(input, button) { width: 100%; box-sizing: border-box; min-height: 2.25rem; }
body.admin-shell-route .settings-row-actions button { justify-self: start; width: auto; }
body.admin-shell-route.settings-modal-open { overflow: hidden; }
body.admin-shell-route .settings-drawer-dialog { box-sizing: border-box; inset: 0 0 0 auto; width: min(46rem, 100vw); height: 100dvh; max-width: 100vw; max-height: 100dvh; margin: 0; padding: 1.5rem; border: 0; border-left: 1px solid var(--shell-border); border-radius: 0; background: var(--shell-panel, #fff); color: var(--shell-text, #08323a); box-shadow: -8px 0 30px #082f3520; overflow-y: auto; overscroll-behavior: contain; }
body.admin-shell-route .settings-drawer-dialog::backdrop { background: #082f3526; }
body.admin-shell-route .settings-drawer-dialog > .settings-drawer-close { position: absolute; top: 1rem; right: 1rem; }
body.admin-shell-route .settings-drawer-dialog button.secondary { background: var(--shell-panel, #fff); color: var(--shell-text, #08323a); border: 1px solid var(--shell-border, #d5e4e6); box-shadow: none; }
body.admin-shell-route .settings-drawer-dialog [data-settings-drawer-title] { padding-right: 5rem; margin: 0 0 1.25rem; }
body.admin-shell-route :is(.settings-workspace, .settings-drawer-dialog) .settings-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1rem; }
body.admin-shell-route :is(.settings-workspace, .settings-drawer-dialog) .settings-form-grid label { display: grid; gap: .35rem; margin: 0; min-width: 0; }
body.admin-shell-route :is(.settings-workspace, .settings-drawer-dialog) .settings-form-grid label:has(input[type="checkbox"]) { display: flex; align-items: center; gap: .5rem; min-height: 2.5rem; }
body.admin-shell-route :is(.settings-workspace, .settings-drawer-dialog) .settings-form-grid :is(input:not([type="checkbox"]), select, textarea) { width: 100%; box-sizing: border-box; min-width: 0; }
body.admin-shell-route :is(.settings-workspace, .settings-drawer-dialog) .settings-form-grid textarea { min-height: 5rem; resize: vertical; }
body.admin-shell-route :is(.settings-workspace, .settings-drawer-dialog) .settings-form-grid > button { grid-column: 1 / -1; justify-self: end; align-self: start; min-height: 2.5rem; padding: .5rem 1rem; }
body.admin-shell-route .settings-drawer-dialog button:not(.secondary) { background: var(--rz-color-accent, #c8f638); color: #062b33; border: 1px solid var(--rz-color-accent, #c8f638); font-weight: 650; }
body.admin-shell-route .settings-drawer-content .guided-workflow-steps { display: grid; gap: 1rem; list-style: none; padding: 0; margin: 0; }
body.admin-shell-route .settings-drawer-content .guided-workflow-steps > li { padding: 0 0 1rem; border-bottom: 1px solid var(--shell-border); }
body.admin-shell-route .settings-drawer-content .grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1rem; }
body.admin-shell-route .settings-drawer-content :is(label, input, select, textarea) { box-sizing: border-box; min-width: 0; }
body.admin-shell-route .settings-drawer-content label.workspace-checkbox-row { display: flex; align-items: start; gap: .5rem; }
body.admin-shell-route .settings-drawer-content input[type="checkbox"] { flex: 0 0 auto; width: 1rem; height: 1rem; margin: .2rem 0 0; }
body.admin-shell-route .settings-workspace .access-control-permissions,
body.admin-shell-route .settings-drawer-dialog .access-control-permissions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
body.admin-shell-route :is(.settings-workspace, .settings-drawer-dialog) .access-control-permissions > :is(h2, p) { grid-column: 1 / -1; margin: 0; }
body.admin-shell-route :is(.settings-workspace, .settings-drawer-dialog) .access-control-package { margin: 0; }
body.admin-shell-route :is(.settings-workspace, .settings-drawer-dialog) .access-control-permission-description { margin: .4rem 0; font-size: .8125rem; }
body.admin-shell-route .settings-drawer-dialog .access-control-permission-choice { display: flex; gap: .5rem; align-items: start; }
@media (max-width: 1100px) {
  body.admin-shell-route .settings-role-workspace.is-enhanced { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  body.admin-shell-route .settings-drawer-dialog { padding: 1.1rem; }
  body.admin-shell-route :is(.settings-workspace, .settings-drawer-dialog) :is(.settings-form-grid, .access-control-permissions),
  body.admin-shell-route .settings-drawer-content .grid { grid-template-columns: minmax(0, 1fr); }
  body.admin-shell-route .settings-metrics { gap: .65rem; }
  body.admin-shell-route .settings-tabs a { padding: .55rem .65rem; }
}


.app-shell-workspaces-link {
  white-space: nowrap;
}

.client-site-workspaces {
  width: min(100%, 72rem);
}

.client-site-workspace-list {
  border-top: 1px solid var(--brand-border);
}

.client-site-workspace-list > h2 {
  margin: 0;
  padding: 1rem 0;
}

.client-site-workspace-list > ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.client-site-workspace-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid var(--brand-border);
}

.client-site-workspace-row:last-child {
  border-bottom: 1px solid var(--brand-border);
}

.client-site-workspace-row.is-current {
  border-left: 0.25rem solid var(--brand-cyan);
  padding-left: 0.75rem;
}

.client-site-workspace-copy,
.client-site-workspace-state {
  display: grid;
  gap: 0.25rem;
}

.client-site-workspace-copy span,
.client-site-workspace-copy small,
.client-site-workspace-state > span {
  color: var(--brand-muted);
}

.client-site-workspace-state {
  justify-items: end;
  text-align: right;
}

.client-site-workspace-state form {
  margin: 0;
}

.agency-access-workspace {
  width: min(100%, 72rem);
}

.agency-access-intro {
  max-width: 68ch;
  padding-bottom: 1rem;
}

.agency-access-intro h2 {
  margin-bottom: 0.5rem;
}

.agency-access-list > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--brand-border);
}

.agency-access-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--brand-border);
}

.agency-access-identity {
  display: grid;
  gap: 0.25rem;
}

.agency-access-identity span,
.agency-access-identity small {
  color: var(--brand-muted);
}

.agency-access-actions form {
  margin: 0;
}

.agency-access-actions .danger {
  white-space: nowrap;
}

.site-release-review-workspace {
  width: min(100%, 72rem);
  display: grid;
  gap: 1.5rem;
}

.site-release-review-header {
  margin-bottom: 0;
}

.site-release-claimed,
.site-release-summary,
.site-release-empty {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem;
  padding: 1.25rem;
  border: 1px solid var(--brand-border);
  border-radius: 0.75rem;
  background: var(--brand-surface);
}

.site-release-claimed h2,
.site-release-claimed p,
.site-release-empty h2,
.site-release-empty p {
  margin-top: 0;
}

.site-release-claimed p,
.site-release-empty p {
  margin-bottom: 0;
}

.site-release-state {
  display: inline-block;
  color: var(--brand-ink);
}

.site-release-state.is-ready,
.site-release-checklist li.is-ready .site-release-check-state {
  color: #176b4d;
}

.site-release-summary {
  align-items: start;
}

.site-release-summary-copy {
  max-width: 46ch;
}

.site-release-summary-copy > :first-child,
.site-release-summary-copy h2 {
  margin-top: 0;
}

.site-release-summary-copy > :last-child {
  margin-bottom: 0;
}

.site-release-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(10rem, 1fr));
  gap: 1rem 1.5rem;
  width: min(100%, 36rem);
  margin: 0;
}

.site-release-facts div {
  min-width: 0;
}

.site-release-facts dt {
  color: var(--brand-muted);
  font-size: 0.875rem;
}

.site-release-facts dd {
  margin: 0.25rem 0 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.site-release-manifest {
  grid-column: 1 / -1;
}

.site-release-manifest code {
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}

.site-release-section-heading {
  max-width: 68ch;
}

.site-release-section-heading h2 {
  margin-bottom: 0.5rem;
}

.site-release-section-heading p {
  margin-top: 0;
  color: var(--brand-muted);
}

.site-release-checklist > ul {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  border-top: 1px solid var(--brand-border);
}

.site-release-checklist li {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--brand-border);
}

.site-release-check-state {
  font-weight: 800;
  color: #9a3f3f;
}

.site-release-checklist h3,
.site-release-checklist p {
  margin: 0;
}

.site-release-checklist p {
  margin-top: 0.25rem;
  color: var(--brand-muted);
}

.site-release-checklist .site-release-state {
  margin-top: 0.5rem;
}

.site-release-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.site-release-action-grid article {
  padding: 1.25rem;
  border: 1px solid var(--brand-border);
  border-radius: 0.75rem;
  background: var(--brand-surface);
}

.site-release-action-grid h3 {
  margin-top: 0;
}

.site-release-action-grid form,
.site-release-launch form {
  display: grid;
  gap: 0.75rem;
  margin: 1rem 0 0;
}

.site-release-action-grid button,
.site-release-launch button {
  justify-self: start;
  white-space: nowrap;
}

.site-release-launch {
  display: grid;
  gap: 1rem;
  padding: 1.5rem;
  border: 2px solid var(--brand-ink);
  border-radius: 0.75rem;
  background: var(--brand-surface);
}

.site-release-launch.is-blocked {
  border-color: var(--brand-border);
}

.site-release-launch-copy {
  max-width: 68ch;
}

.site-release-launch-copy > :first-child,
.site-release-launch-copy h2 {
  margin-top: 0;
}

.site-release-launch-blocked {
  max-width: 68ch;
  padding-left: 1rem;
  border-left: 0.25rem solid #9a3f3f;
}

.site-release-launch-blocked p {
  margin-bottom: 0;
}

.site-release-launch-form {
  max-width: 38rem;
}

.site-release-launch-form input:disabled,
.site-release-launch-form button:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.site-release-reauthenticate {
  max-width: 34rem;
}

@media (max-width: 44rem) {
  .client-site-workspace-row,
  .agency-access-row,
  .site-release-claimed,
  .site-release-summary,
  .site-release-empty,
  .site-release-checklist li,
  .site-release-action-grid {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .client-site-workspace-state {
    justify-items: start;
    text-align: left;
  }

  .agency-access-actions .danger {
    width: 100%;
  }

  .site-release-facts {
    grid-template-columns: 1fr;
  }

  .site-release-manifest {
    grid-column: auto;
  }

  .site-release-checklist .button,
  .site-release-action-grid button,
  .site-release-launch button,
  .site-release-empty button {
    width: 100%;
  }
}
