@layer market-manager-settings {
  :root {
    --settings-surface: #ffffff;
    --settings-surface-soft: #f8fbff;
    --settings-border-soft: rgba(148, 163, 184, 0.18);
    --settings-text-muted: #6b7280;
    --settings-text-heading: #1f2937;
    --settings-accent: #2563eb;
    --settings-accent-strong: #1d4ed8;
    --settings-accent-soft: rgba(37, 99, 235, 0.14);
    --settings-card-shadow: 0 32px 60px -40px rgba(15, 23, 42, 0.35);
    --settings-card-shadow-soft: 0 20px 36px -24px rgba(15, 23, 42, 0.2);
    --settings-radius-lg: 24px;
    --settings-radius-md: 18px;
    --settings-radius-sm: 12px;
    --settings-grid-gap: 18px;
  }

  #settings_base {
    min-height: 0;
    height: 100%;
    padding: 0 0 10px;
    background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 82%);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: relative;
    box-sizing: border-box;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .settings-page {
    width: calc(100% - 80px);
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    min-height: 0;
    height: auto;
    min-height: 100%;
    gap: 24px;
    color: var(--settings-text-heading);
    padding-bottom: 32px;
  }

  .settings-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    border: none;
    gap: 16px;
  }

  .settings-headerInfo {
    display: flex;
    align-items: center;
    gap: 16px;
  }

  .settings-headerText {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .headerIconBox {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(37, 99, 235, 0.12);
    box-shadow: none;
  }

  .headerIcon {
    font-size: 1.25rem;
    color: var(--settings-accent);
  }

  .settings-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    gap: 12px;
    border-radius: var(--settings-radius-md);
    background: #ffffff;
    border: 1px solid var(--settings-border-soft);
    box-shadow: var(--settings-card-shadow-soft);
  }

  .settings-toolbarActions {
    display: flex;
    gap: 10px;
  }

  #settingsSaveBtn::part(base) {
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
    border: none;
    border-radius: 14px;
    color: #ffffff;
    font-weight: 600;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.35);
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  }

  #settingsSaveBtn::part(label),
  #settingsSaveBtn sl-icon {
    color: inherit;
  }

  #settingsSaveBtn::part(base):hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #6d28d9 100%);
    box-shadow: 0 16px 30px rgba(37, 99, 235, 0.4);
    transform: translateY(-1px);
  }

  #settingsSaveBtn::part(base):active {
    transform: translateY(0);
  }

  #settingsSaveBtn[disabled]::part(base) {
    background: rgba(148, 163, 184, 0.2);
    color: rgba(100, 116, 139, 0.9);
    box-shadow: none;
  }

  .settings-unsaved {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #b45309;
  }

  .settings-headerLeft {
    display: flex;
    align-items: stretch;
    gap: 18px;
  }

  .settings-iconWrap {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: rgba(37, 99, 235, 0.12);
    display: flex;
    align-items: stretch;
    justify-content: center;
    color: var(--settings-accent);
    border: 1px solid rgba(37, 99, 235, 0.18);
  }

  .settings-icon {
    font-size: 24px;
  }

  .settings-headerCopy {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .settings-title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    color: var(--sl-color-primary-600);
    letter-spacing: 0;
  }

  .settings-subtitle {
    margin: 0;
    color: var(--settings-text-muted);
    font-size: 0.95rem;
    max-width: 540px;
  }

  .settings-body {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    min-height: 0;
    height: auto;
    overflow: visible;
  }

  .settings-loader {
    display: grid;
    gap: 16px;
  }

  #settingsContent {
    flex: 0 0 auto;
    min-height: 0;
    display: flex;
    width: 100%;
    height: auto;
    overflow: visible;
  }

  .settings-workspace {
    background: #ffffff;
    border-radius: var(--settings-radius-lg);
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: var(--settings-card-shadow);
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    min-height: 0;
    width: 100%;
    height: auto;
    overflow: visible;
  }

  sl-tab-group.settings-tabs {
    display: block;
    width: 100%;
    min-width: 0;
    flex: 0 0 auto;
    min-height: 0;
    height: auto;
  }

  sl-tab-group.settings-tabs::part(base) {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    height: auto;
    background: transparent;
    align-items: stretch;
  }

  sl-tab-group.settings-tabs::part(nav) {
    display: flex;
    flex-direction: column;
    background: var(--settings-surface-soft);
    border-right: 1px solid rgba(148, 163, 184, 0.18);
    padding: 18px 12px;
    gap: 4px;
    min-height: 0;
    height: auto;
    overflow-y: auto;
  }

  .settings-tabs sl-tab::part(base) {
    border-radius: 12px;
    font-weight: 600;
    font-size: 14px;
    text-align: left;
    padding: 10px 12px;
    color: #425170;
    border: 1px solid transparent;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    letter-spacing: 0;
  }

  .settings-tabs sl-tab:hover::part(base) {
    background: rgba(37, 99, 235, 0.1);
    color: #1e3a8a;
  }

  .settings-tabs sl-tab[active]::part(base) {
    background: rgba(37, 99, 235, 0.18);
    color: #1e3a8a;
    border-color: rgba(37, 99, 235, 0.25);
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.16);
    transform: none;
  }

  sl-tab-group.settings-tabs::part(body) {
    background: #ffffff;
    padding: 16px 20px 24px;
    min-height: 0;
    height: auto;
    min-width: 0;
    overflow: visible;
  }

  sl-tab-panel {
    min-width: 0;
    box-sizing: border-box;
    width: 100%;
    min-height: 0;
  }

  .settings-tabs sl-tab-panel::part(base) {
    display: block;
    height: auto;
    min-height: 0;
    overflow: visible;
    padding: 0;
  }

  sl-tab-panel:not([hidden]) {
    animation: settings-panel-in 0.32s ease;
  }

  @keyframes settings-panel-in {
    from {
      opacity: 0;
      transform: translateY(8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  sl-tab-panel[hidden] {
    display: none !important;
  }

  sl-tab[hidden] {
    display: none;
  }

  .settings-sectionWrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .settings-panelHeader {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
  }

  .settings-panelBadges {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
  }

  .settings-panelHeader h3 {
    margin: 0;
    color: var(--settings-text-heading);
    font-size: 19px;
    font-weight: 600;
  }

  .settings-panelHeader sl-tag {
    align-self: flex-start;
  }

  .settings-panelHeader p {
    margin: 6px 0 0;
    color: var(--settings-text-muted);
    font-size: 14px;
    max-width: 520px;
  }

  .settings-templateHelpBtn::part(base) {
    border-radius: 12px;
    font-weight: 700;
  }

  .settings-section {
    display: flex;
    flex-direction: column;
    gap: 22px;
    padding: 24px;
    background: #ffffff;
    border-radius: var(--settings-radius-md);
    border: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: 0 12px 24px -16px rgba(15, 23, 42, 0.2);
  }

  .settings-section[data-section="emailTemplates"] {
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    gap: 0;
  }

  .settings-section__actions {
    display: flex;
    justify-content: flex-end;
  }

  .settings-subsection {
    display: grid;
    gap: 14px;
    padding-top: 4px;
  }

  .settings-subsectionHeader {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: var(--settings-radius-sm);
    background: var(--settings-surface-soft);
  }

  .settings-subsectionHeader h4 {
    margin: 0;
    color: var(--settings-text-heading);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0;
  }

  .settings-subsectionHeader p {
    margin: 0;
    max-width: 720px;
    color: var(--settings-text-muted);
    font-size: 13px;
    line-height: 1.5;
  }

  .settings-restore {
    display: inline-flex;
    align-items: stretch;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(37, 99, 235, 0.2);
    background: rgba(37, 99, 235, 0.08);
    color: #1e3a8a;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0;
    text-transform: none;
  }

  .settings-grid {
    display: grid;
    gap: var(--settings-grid-gap);
  }

  .settings-grid--two {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  }

  .settings-grid--three {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }

  .settings-grid--four {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }

  .settings-grid--uploads {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }

  .settings-colorPicker {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .settings-colorPicker label {
    color: var(--settings-text-muted);
    font-size: 0.9rem;
    font-weight: 600;
  }

  .settings-colorPicker sl-color-picker {
    width: 100%;
  }

  .settings-upload {
    border: 1px dashed rgba(148, 163, 184, 0.35);
    border-radius: var(--settings-radius-md);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: rgba(244, 248, 255, 0.72);
  }

  .settings-upload__preview {
    height: 120px;
    border-radius: var(--settings-radius-sm);
    background: rgba(229, 236, 255, 0.76);
    border: 1px solid rgba(148, 163, 184, 0.2);
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
  }

  .settings-upload__preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  .settings-upload__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }

  .settings-upload__actions sl-button[data-action="generate"]::part(base) {
    color: var(--settings-accent-strong);
    font-weight: 600;
  }

  .settings-cropDialog::part(panel) {
    width: min(760px, calc(100vw - 32px));
  }

  .settings-cropDialog__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .settings-cropDialog__description {
    margin: 0;
    color: var(--settings-text-muted);
    font-size: 0.95rem;
  }

  .settings-cropper {
    position: relative;
    height: 360px;
    border-radius: var(--settings-radius-md);
    overflow: hidden;
    background:
      linear-gradient(45deg, rgba(148, 163, 184, 0.14) 25%, transparent 25%, transparent 75%, rgba(148, 163, 184, 0.14) 75%, rgba(148, 163, 184, 0.14)),
      linear-gradient(45deg, rgba(148, 163, 184, 0.14) 25%, transparent 25%, transparent 75%, rgba(148, 163, 184, 0.14) 75%, rgba(148, 163, 184, 0.14));
    background-position: 0 0, 12px 12px;
    background-size: 24px 24px;
    border: 1px solid rgba(148, 163, 184, 0.3);
    touch-action: none;
    user-select: none;
  }

  .settings-cropper img {
    position: absolute;
    max-width: none;
    max-height: none;
    cursor: grab;
    user-select: none;
    -webkit-user-drag: none;
  }

  .settings-cropper:active img {
    cursor: grabbing;
  }

  .settings-cropper__frame {
    position: absolute;
    border: 2px solid rgba(255, 255, 255, 0.96);
    border-radius: 16px;
    box-shadow: 0 0 0 9999px rgba(15, 23, 42, 0.56);
    pointer-events: none;
  }

  .settings-cropDialog__controls {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
  }

  .settings-cropDialog__zoomLabel,
  .settings-cropDialog__zoomValue {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--settings-text-heading);
  }

  .settings-checkboxGroup {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .settings-checkboxGroup__row {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
  }

  .settings-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .settings-list__header {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }

  .settings-list__items {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .settings-list__item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: stretch;
  }

  .settings-templates {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    align-items: stretch;
    align-content: start;
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    box-shadow: 0 16px 28px rgba(15, 23, 42, 0.08);
    padding: 16px;
  }

  .settings-templateCard {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 120px;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
  }

  .settings-templateCard:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 32px rgba(15, 23, 42, 0.12);
  }

  .settings-templateHeader {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .settings-templateActions {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;
    align-self: flex-end;
  }

  .settings-templateActions sl-icon-button::part(base) {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    border: none;
    background: transparent;
    color: #1e3a8a;
    transition: color 0.2s ease;
  }

  .settings-templateActions sl-icon-button::part(base):hover {
    background: transparent;
    box-shadow: none;
    color: #1d4ed8;
  }

  .settings-templateTitle {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    color: var(--settings-text-heading);
    letter-spacing: -0.01em;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .settings-templates .settings-empty {
    grid-column: 1 / -1;
    padding: 26px;
    text-align: center;
    color: var(--settings-text-muted);
    border: 1px dashed rgba(148, 163, 184, 0.4);
    border-radius: 12px;
    background: var(--settings-surface-soft);
  }

  .settings-templateBody {
    border-radius: 12px;
    border: 1px dashed rgba(148, 163, 184, 0.35);
    padding: 12px 14px;
    background: #ffffff;
    color: #475569;
    font-size: 13px;
    line-height: 1.5;
    white-space: pre-wrap;
  }

  .settings-templateDialog {
    --width: min(980px, calc(100vw - 42px));
  }

  .settings-templateDialog::part(panel) {
    border-radius: 16px;
    overflow: hidden;
  }

  .settings-templateDialog::part(header) {
    min-height: 0;
    padding: 0;
    border: 0;
  }

  .settings-templateDialog::part(title),
  .settings-templateDialog::part(close-button) {
    display: none;
  }

  .settings-templateDialog::part(body) {
    padding: 22px 24px 8px;
  }

  .settings-templateDialog::part(footer) {
    padding: 14px 24px 22px;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
  }

  .settings-templateDialogShell {
    display: grid;
    gap: 16px;
  }

  .settings-templateDialogHero {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(191, 219, 254, 0.9);
    background: linear-gradient(135deg, #eef5ff 0%, #fff7fb 100%);
  }

  .settings-templateDialogIcon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: #ffffff;
    color: #2563eb;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.1);
  }

  .settings-templateDialogIcon span {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.02em;
  }

  .settings-templateDialogHero h3 {
    margin: 0;
    color: #1f2937;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.15;
  }

  .settings-templateDialogHero p {
    margin: 2px 0 0;
    color: #475569;
    font-size: 12px;
    line-height: 1.3;
  }

  .settings-templateDialogBody {
    display: grid;
    grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
  }

  .settings-templateDialogWildcards,
  .settings-templateDialogEditor {
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
  }

  .settings-templateDialogWildcards {
    padding: 14px;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .settings-templateDialogWildcards h4 {
    margin: 0;
    color: #1f2937;
    font-size: 14px;
    font-weight: 800;
  }

  .settings-templateDialogWildcards p {
    margin: 4px 0 12px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
  }

  .settings-templateDialogWildcardList {
    display: grid;
    gap: 8px;
    align-content: start;
    max-height: 460px;
    overflow: auto;
    padding-right: 2px;
  }

  .settings-templateDialogWildcardItem,
  .settings-templateDialogWildcardEmpty {
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: 9px 10px;
  }

  .settings-templateDialogWildcardItem {
    display: grid;
    gap: 5px;
  }

  .settings-templateDialogWildcardItem.is-present {
    border-color: #bbf7d0;
    background: #f0fdf4;
  }

  .settings-templateDialogWildcardItem.is-missing {
    border-color: #fecaca;
    background: #fff1f2;
  }

  .settings-templateDialogWildcardItem.is-optional {
    border-color: #e2e8f0;
    background: #f8fafc;
  }

  .settings-templateDialogWildcardMeta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }

  .settings-templateDialogWildcardItem code {
    justify-self: start;
    padding: 2px 6px;
    border-radius: 7px;
    background: #eff6ff;
    color: #db2777;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    font-weight: 800;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .settings-templateDialogWildcardItem.is-missing code {
    background: #fee2e2;
    color: #b91c1c;
  }

  .settings-templateDialogWildcardItem.is-present code {
    background: #dcfce7;
    color: #047857;
  }

  .settings-templateDialogWildcardStatus {
    justify-self: end;
    border-radius: 999px;
    padding: 2px 7px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.4;
    white-space: nowrap;
  }

  .settings-templateDialogWildcardStatus.is-present {
    color: #047857;
    background: #dcfce7;
  }

  .settings-templateDialogWildcardStatus.is-missing {
    color: #b91c1c;
    background: #fee2e2;
  }

  .settings-templateDialogWildcardStatus.is-optional {
    color: #475569;
    background: #e2e8f0;
  }

  .settings-templateDialogWildcardDescription,
  .settings-templateDialogWildcardEmpty {
    color: #475569;
    font-size: 12px;
    line-height: 1.35;
  }

  .settings-templateDialogEditor {
    padding: 14px;
    min-width: 0;
  }

  #settingsTemplateEditor::part(base) {
    border-radius: 12px;
  }

  #settingsTemplateEditor::part(textarea) {
    min-height: 460px;
    color: #1f2937;
    font-size: 14px;
    line-height: 1.45;
  }

  .settings-templateWildcardsDialog::part(panel) {
    width: min(680px, calc(100vw - 32px));
    border-radius: 16px;
    overflow: hidden;
  }

  .settings-templateWildcardsDialog::part(header) {
    min-height: 0;
    padding: 0;
    border: 0;
  }

  .settings-templateWildcardsDialog::part(title),
  .settings-templateWildcardsDialog::part(close-button) {
    display: none;
  }

  .settings-templateWildcardsDialog::part(body) {
    padding: 18px 22px 8px;
  }

  .settings-templateWildcardsDialog::part(footer) {
    padding: 14px 26px 22px;
    border-top: 0;
  }

  .settings-templateWildcards {
    display: grid;
    gap: 14px;
    color: #334155;
  }

  .settings-templateWildcardsHero {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 8px 10px;
    border-radius: 12px;
    border: 1px solid rgba(191, 219, 254, 0.9);
    background: linear-gradient(135deg, #eef5ff 0%, #fff7fb 100%);
  }

  .settings-templateWildcardsIcon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: #ffffff;
    color: #2563eb;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.1);
  }

  .settings-templateWildcardsIcon span {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -0.02em;
  }

  .settings-templateWildcardsHero h3 {
    margin: 0;
    color: #1f2937;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.15;
  }

  .settings-templateWildcardsHero p {
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.25;
  }

  .settings-templateWildcards p {
    margin: 0;
    color: #475569;
    font-size: 14px;
    line-height: 1.5;
  }

  .settings-templateWildcardExample {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    justify-self: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
  }

  .settings-templateWildcards code {
    padding: 2px 6px;
    border-radius: 7px;
    background: #eff6ff;
    color: #1d4ed8;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
  }

  .settings-templateWildcardGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .settings-templateWildcardGrid > div {
    display: grid;
    grid-template-columns: 165px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    font-size: 13px;
    line-height: 1.4;
  }

  .settings-templateWildcardGrid span {
    color: #475569;
  }

  .settings-templateWildcardNote {
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    background: rgba(37, 99, 235, 0.06);
  }

  @media (max-width: 820px) {
    .settings-templateWildcardGrid {
      grid-template-columns: 1fr;
    }

    .settings-templateWildcardGrid > div {
      grid-template-columns: 132px minmax(0, 1fr);
    }

    .settings-templateWildcardsHero {
      grid-template-columns: 1fr;
    }
  }

  .settings-empty {
    color: var(--settings-text-muted);
    font-size: 14px;
  }

  .settings-multilang {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .settings-multilang__header {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }

  .settings-multilang--embedded {
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: var(--settings-radius-sm);
    padding: 12px;
    background: rgba(245, 248, 255, 0.7);
  }

  .settings-translationOverrides header,
  .settings-webhooks header {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 16px;
  }

  .settings-translationOverrides header h4,
  .settings-webhooks header h4 {
    margin: 0;
    font-size: 16px;
    color: var(--settings-text-heading);
  }

  .settings-translationOverrides header p,
  .settings-webhooks header p {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--settings-text-muted);
  }

  .settings-translationOverrides__table,
  .settings-webhooks table {
    width: 100%;
    overflow-x: auto;
  }

  .settings-translationOverrides table,
  .settings-webhooks table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
  }

  .settings-translationOverrides table th,
  .settings-translationOverrides table td,
  .settings-webhooks table th,
  .settings-webhooks table td {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.24);
    font-size: 14px;
    text-align: left;
  }

  .settings-tableActions {
    display: flex;
    gap: 6px;
  }

  .settings-stripeStatus {
    display: grid;
    gap: 12px;
  }

  .settings-stripeStatus__chip {
    display: flex;
    align-items: stretch;
    gap: 10px;
    padding: 10px 12px;
    background: rgba(244, 248, 255, 0.85);
    border-radius: var(--settings-radius-sm);
    border: 1px solid rgba(148, 163, 184, 0.18);
  }

  .settings-stripeStatus__chip strong {
    color: var(--settings-text-heading);
    display: block;
    font-size: 15px;
    margin-bottom: 4px;
  }

  .settings-stripeStatus__chip p {
    color: var(--settings-text-muted);
    font-size: 13px;
    line-height: 1.45;
    margin: 0;
  }

  .settings-stripeStatus__capabilities {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .settings-stripeStatus__capabilities span,
  .settings-stripeSyncPrompt {
    align-items: center;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: var(--settings-radius-sm);
    color: var(--settings-text-muted);
    display: inline-flex;
    font-size: 13px;
    gap: 8px;
    min-height: 34px;
    padding: 7px 10px;
  }

  .settings-billingDiagnostics {
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    display: grid;
    gap: 12px;
    margin-top: 6px;
    padding-top: 14px;
  }

  .settings-billingDiagnostics .settings-grid > div {
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: var(--settings-radius-sm);
    display: grid;
    gap: 4px;
    min-height: 58px;
    padding: 9px 10px;
  }

  .settings-billingDiagnostics strong {
    color: var(--settings-text-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
  }

  .settings-billingDiagnostics span {
    color: var(--settings-text-heading);
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .settings-stripeSyncPrompt {
    background: rgba(37, 99, 235, 0.07);
    border-color: rgba(37, 99, 235, 0.18);
    color: var(--settings-text-heading);
  }

  .settings-stripeStatus__list {
    margin: 0;
    padding-left: 18px;
    color: var(--settings-text-muted);
    font-size: 13px;
  }

  .settings-stripeActions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }

  .settings-connectSocials {
    gap: 18px;
  }

  .settings-connectSocialsIntro {
    display: grid;
    gap: 6px;
    padding: 16px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: var(--settings-radius-sm);
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(20, 108, 67, 0.08));
  }

  .settings-connectSocialsIntro__eyebrow {
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .settings-connectSocialsIntro p {
    margin: 0;
    max-width: 780px;
    color: var(--settings-text-heading);
    font-size: 14px;
    line-height: 1.55;
  }

  .settings-socialGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .settings-socialCard {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 100%;
    padding: 18px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: var(--settings-radius-md);
    background: rgba(244, 248, 255, 0.86);
    box-shadow: var(--settings-card-shadow-soft);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  }

  .settings-socialCard--active:hover {
    transform: translateY(-2px);
    border-color: rgba(37, 99, 235, 0.28);
    box-shadow: 0 20px 36px -24px rgba(37, 99, 235, 0.5);
  }

  .settings-socialCard--soon {
    opacity: 0.72;
    background: rgba(248, 250, 252, 0.72);
  }

  .settings-socialCard--meta {
    max-width: 980px;
  }

  .settings-socialCard__top {
    display: flex;
    align-items: flex-start;
    gap: 12px;
  }

  .settings-socialCard__top h4 {
    margin: 0 0 6px;
    color: var(--settings-text-heading);
    font-size: 16px;
    font-weight: 750;
    letter-spacing: 0;
  }

  .settings-socialCard__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    color: #1d4ed8;
    background: rgba(37, 99, 235, 0.12);
    border: 1px solid rgba(37, 99, 235, 0.16);
    font-size: 20px;
  }

  .settings-socialCard__icon--facebook {
    color: #1877f2;
    background: rgba(24, 119, 242, 0.12);
    border-color: rgba(24, 119, 242, 0.18);
  }

  .settings-socialCard__icon--instagram {
    color: #c13584;
    background: rgba(193, 53, 132, 0.12);
    border-color: rgba(193, 53, 132, 0.18);
  }

  .settings-socialCard p {
    margin: 0;
    color: var(--settings-text-muted);
    font-size: 14px;
    line-height: 1.55;
  }

  .settings-socialNote {
    padding: 10px 12px;
    border: 1px solid rgba(161, 98, 7, 0.18);
    border-radius: var(--settings-radius-sm);
    background: rgba(254, 243, 199, 0.45);
    color: #92400e;
    font-size: 13px;
    line-height: 1.45;
  }

  .settings-socialMeta {
    display: grid;
    gap: 6px;
    padding: 12px;
    border: 1px solid rgba(20, 108, 67, 0.16);
    border-radius: var(--settings-radius-sm);
    background: rgba(20, 108, 67, 0.06);
    color: var(--settings-text-heading);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.45;
  }

  .settings-socialMeta[hidden] {
    display: none;
  }

  .settings-socialPermissions {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .settings-socialPermissions li {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--settings-text-heading);
    font-size: 13px;
    font-weight: 650;
  }

  .settings-socialPermissions li::before {
    content: "";
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: rgba(20, 108, 67, 0.12);
    border: 1px solid rgba(20, 108, 67, 0.22);
    box-shadow: inset 0 0 0 4px #ffffff;
  }

  .settings-socialPlatformRows {
    display: grid;
    gap: 12px;
  }

  .settings-socialPlatformRow {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(20, 108, 67, 0.16);
    border-radius: var(--settings-radius-sm);
    background: rgba(255, 255, 255, 0.68);
  }

  .settings-socialPlatformRow__heading {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .settings-socialPlatformRow__heading h5 {
    margin: 0 0 4px;
    color: var(--settings-text-heading);
    font-size: 14px;
    font-weight: 760;
  }

  .settings-socialPlatformRow__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    font-size: 18px;
  }

  .settings-socialPlatformRow__icon--facebook {
    color: #1877f2;
    background: rgba(24, 119, 242, 0.12);
    border: 1px solid rgba(24, 119, 242, 0.18);
  }

  .settings-socialPlatformRow__icon--instagram {
    color: #c13584;
    background: rgba(193, 53, 132, 0.12);
    border: 1px solid rgba(193, 53, 132, 0.18);
  }

  .settings-socialPlatformSummary {
    display: grid;
    gap: 4px;
    color: var(--settings-text-heading);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.45;
  }

  .settings-socialPlatformSummary[hidden] {
    display: none;
  }

  .settings-socialAdvanced {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: var(--settings-radius-sm);
    background: rgba(248, 250, 252, 0.78);
  }

  .settings-socialAdvanced summary {
    cursor: pointer;
    padding: 10px 12px;
    color: var(--settings-text-heading);
    font-size: 13px;
    font-weight: 750;
  }

  .settings-socialAdvanced__body {
    display: grid;
    gap: 10px;
    padding: 0 12px 12px;
  }

  .settings-socialAdvanced__group {
    display: grid;
    gap: 4px;
    padding-top: 10px;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
    color: var(--settings-text-muted);
    font-size: 12px;
    line-height: 1.45;
  }

  .settings-socialAdvanced__group strong {
    color: var(--settings-text-heading);
    font-size: 12px;
  }

  .settings-socialCard__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
  }

  .settings-socialDataNote {
    margin: -2px 0 0;
    color: var(--settings-text-muted);
    font-size: 12px;
    line-height: 1.45;
  }

  .settings-socialDialogBody {
    display: grid;
    gap: 10px;
    color: var(--settings-text-heading);
    font-size: 14px;
    line-height: 1.5;
  }

  .settings-socialDialogBody p {
    margin: 0;
  }

  .settings-socialDialogBody ul {
    margin: 0;
    padding-left: 20px;
  }

  .settings-socialDialog--meta::part(panel) {
    width: min(640px, calc(100vw - 32px));
    border-radius: 12px;
    overflow: hidden;
  }

  .settings-socialDialog--meta::part(header) {
    padding: 22px 24px 10px;
  }

  .settings-socialDialog--meta::part(title) {
    color: var(--settings-text-heading);
    font-size: 22px;
    font-weight: 760;
    letter-spacing: 0;
  }

  .settings-socialDialog--meta::part(body) {
    padding: 8px 24px 20px;
  }

  .settings-socialDialog--meta::part(footer) {
    padding: 14px 24px 22px;
    border-top: 1px solid var(--settings-border-soft);
    background: rgba(248, 250, 252, 0.8);
  }

  .settings-socialDialog--pages::part(panel) {
    width: min(680px, calc(100vw - 32px));
    border-radius: 12px;
    overflow: hidden;
  }

  .settings-socialDialog--pages::part(header) {
    padding: 24px 28px 10px;
  }

  .settings-socialDialog--pages::part(title) {
    color: var(--settings-text-heading);
    font-size: 24px;
    font-weight: 790;
    letter-spacing: 0;
  }

  .settings-socialDialog--pages::part(body) {
    display: grid;
    gap: 16px;
    padding: 12px 28px 24px;
  }

  .settings-socialDialog--pages::part(footer) {
    padding: 14px 28px 22px;
    border-top: 1px solid var(--settings-border-soft);
    background: rgba(248, 250, 252, 0.8);
  }

  .settings-socialDialog--disconnect::part(panel) {
    width: min(600px, calc(100vw - 32px));
    border-radius: 12px;
    overflow: hidden;
  }

  .settings-socialDialog--disconnect::part(header) {
    padding: 22px 24px 10px;
  }

  .settings-socialDialog--disconnect::part(title) {
    color: var(--settings-text-heading);
    font-size: 22px;
    font-weight: 760;
    letter-spacing: 0;
  }

  .settings-socialDialog--disconnect::part(body) {
    padding: 8px 24px 22px;
  }

  .settings-socialDialog--disconnect::part(footer) {
    padding: 14px 24px 22px;
    border-top: 1px solid rgba(220, 38, 38, 0.12);
    background: rgba(254, 242, 242, 0.72);
  }

  .settings-socialDialogBody--disconnect {
    gap: 14px;
  }

  .settings-metaDisconnectHero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(220, 38, 38, 0.16);
    border-radius: var(--settings-radius-md);
    background: linear-gradient(135deg, rgba(254, 242, 242, 0.92), rgba(255, 251, 235, 0.76));
  }

  .settings-metaDisconnectHero__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    color: #dc2626;
    background: #ffffff;
    border: 1px solid rgba(220, 38, 38, 0.16);
    box-shadow: 0 12px 26px -18px rgba(127, 29, 29, 0.65);
    font-size: 21px;
  }

  .settings-metaDisconnectHero strong {
    display: block;
    margin-bottom: 3px;
    color: var(--settings-text-heading);
    font-size: 14px;
    font-weight: 780;
  }

  .settings-metaDisconnectHero p {
    margin: 0;
    color: var(--settings-text-muted);
    font-size: 13px;
    line-height: 1.45;
  }

  .settings-metaDisconnectImpacts {
    display: grid;
    gap: 8px;
  }

  .settings-metaDisconnectImpact {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 11px 12px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: var(--settings-radius-sm);
    background: rgba(255, 255, 255, 0.82);
    color: var(--settings-text-heading);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
  }

  .settings-metaDisconnectImpact span:first-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    color: #dc2626;
    background: rgba(254, 226, 226, 0.9);
  }

  .settings-metaDisconnectNote {
    margin: 0;
    color: var(--settings-text-muted);
    font-size: 13px;
    line-height: 1.45;
  }

  .settings-socialPagePickerIntro {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    min-height: 118px;
    padding: 16px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: var(--settings-radius-md);
    background: linear-gradient(135deg, rgba(24, 119, 242, 0.07), rgba(193, 53, 132, 0.06));
  }

  .settings-socialPagePickerIntro__icons {
    display: flex;
    align-items: center;
  }

  .settings-socialPagePickerIntro__icons span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: #ffffff;
    border: 2px solid #ffffff;
    box-shadow: 0 12px 26px -18px rgba(15, 23, 42, 0.65);
    font-size: 22px;
  }

  .settings-socialPagePickerIntro__icons span:first-child {
    color: #1877f2;
  }

  .settings-socialPagePickerIntro__icons span:last-child {
    margin-left: -10px;
    color: #c13584;
  }

  .settings-socialPagePickerIntro strong {
    display: block;
    margin-bottom: 5px;
    color: var(--settings-text-heading);
    font-size: 18px;
    font-weight: 760;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .settings-socialPagePickerIntro p {
    margin: 0;
    color: var(--settings-text-muted);
    font-size: 13px;
    line-height: 1.45;
  }

  .settings-socialDialogBody--connect {
    gap: 16px;
  }

  .settings-metaConnectHero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(37, 99, 235, 0.14);
    border-radius: var(--settings-radius-md);
    background: linear-gradient(135deg, rgba(24, 119, 242, 0.08), rgba(193, 53, 132, 0.08));
  }

  .settings-metaConnectHero__icons {
    display: flex;
    align-items: center;
  }

  .settings-metaConnectHero__icons span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 2px solid #ffffff;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 0 12px 26px -18px rgba(15, 23, 42, 0.65);
    font-size: 21px;
  }

  .settings-metaConnectHero__icons span:first-child {
    color: #1877f2;
  }

  .settings-metaConnectHero__icons span:last-child {
    margin-left: -10px;
    color: #c13584;
  }

  .settings-metaConnectHero h3 {
    margin: 0 0 4px;
    color: var(--settings-text-heading);
    font-size: 16px;
    font-weight: 780;
    letter-spacing: 0;
  }

  .settings-metaConnectHero p {
    margin: 0;
    color: var(--settings-text-muted);
    font-size: 13px;
    line-height: 1.45;
  }

  .settings-metaConnectBenefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .settings-metaConnectBenefits div {
    display: grid;
    gap: 8px;
    min-height: 92px;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: var(--settings-radius-sm);
    background: rgba(255, 255, 255, 0.78);
  }

  .settings-metaConnectBenefits i {
    color: var(--settings-accent);
    font-size: 19px;
  }

  .settings-metaConnectBenefits span {
    color: var(--settings-text-heading);
    font-size: 13px;
    font-weight: 720;
    line-height: 1.3;
  }

  .settings-metaConnectNotes {
    display: grid;
    gap: 8px;
  }

  .settings-metaConnectNotes p {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: var(--settings-radius-sm);
    background: var(--settings-surface-soft);
    color: var(--settings-text-muted);
    font-size: 13px;
    line-height: 1.45;
  }

  .settings-metaConnectNotes strong {
    color: var(--settings-text-heading);
  }

  .settings-socialDialogLinks {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 2px;
    font-size: 13px;
  }

  .settings-socialDialogLinks a {
    color: var(--settings-accent);
    font-weight: 700;
    text-decoration: underline;
  }

  .settings-socialPageList {
    display: grid;
    gap: 14px;
  }

  .settings-socialPageList__empty {
    margin: 0;
    color: var(--settings-text-muted);
    font-size: 14px;
  }

  .settings-socialPage {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 104px;
    padding: 16px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: var(--settings-radius-md);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  }

  .settings-socialPage:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, 0.24);
    box-shadow: 0 18px 34px -30px rgba(15, 23, 42, 0.55);
  }

  .settings-socialPage__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    color: #1877f2;
    background: rgba(24, 119, 242, 0.1);
    border: 1px solid rgba(24, 119, 242, 0.14);
    font-size: 24px;
  }

  .settings-socialPage__info {
    display: grid;
    gap: 7px;
    min-width: 0;
  }

  .settings-socialPage__info strong {
    color: var(--settings-text-heading);
    font-size: 17px;
    line-height: 1.25;
  }

  .settings-socialPage__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  .settings-socialPage__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.1);
    color: var(--settings-text-muted);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
  }

  .settings-socialPage__instagram {
    color: var(--settings-text-muted);
    font-size: 13px;
    line-height: 1.35;
  }

  .settings-socialPage__instagram--connected {
    color: #166534;
    font-weight: 700;
  }

  .settings-socialPage__action {
    display: flex;
    justify-content: flex-end;
  }

  .settings-roleMatrix {
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: var(--settings-radius-sm);
    overflow: hidden;
  }

  .settings-roleMatrix__header,
  .settings-roleMatrix__row {
    display: grid;
    grid-template-columns: 2fr repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 10px;
    padding: 12px 16px;
  }

  .settings-roleMatrix__header {
    background: rgba(234, 240, 255, 0.85);
    font-weight: 600;
  }

  .settings-roleMatrix__row {
    border-top: 1px solid rgba(148, 163, 184, 0.2);
  }

  .settings-communication__layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr) 220px;
    gap: 16px;
  }

  .settings-triggerList {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .settings-triggerList__item {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: var(--settings-radius-sm);
    background: rgba(244, 248, 255, 0.92);
    border: 1px solid transparent;
    cursor: pointer;
  }

  .settings-triggerList__item:hover,
  .settings-triggerList__item[aria-pressed="true"] {
    border-color: rgba(37, 99, 235, 0.24);
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.16);
  }

  .settings-communication__editor {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 16px;
    background: rgba(244, 248, 255, 0.72);
    border-radius: var(--settings-radius-md);
    border: 1px solid rgba(148, 163, 184, 0.26);
  }

  .settings-communication__editorHeader {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }

  .settings-communication__sidebar {
    padding: 16px;
    border-radius: var(--settings-radius-md);
    background: rgba(244, 248, 255, 0.92);
    border: 1px solid rgba(148, 163, 184, 0.28);
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .settings-variableList {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .settings-variableList li {
    padding: 10px 12px;
    background: var(--settings-surface);
    border-radius: 12px;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.3);
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 13px;
    color: var(--settings-text-muted);
  }

  .settings-variableList code {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
    font-size: 12px;
    color: var(--settings-text-heading);
  }

  .settings-integrations {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
  }

  .settings-integrationCard {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 14px;
    padding: 16px;
    border-radius: var(--settings-radius-md);
    background: rgba(244, 248, 255, 0.86);
    border: 1px solid rgba(148, 163, 184, 0.24);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }

  .settings-integrationCard:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 32px rgba(15, 23, 42, 0.1);
  }

  .settings-apiActions {
    display: flex;
    gap: 10px;
  }

  .settings-footer {
    position: sticky;
    bottom: 0;
    margin-top: 24px;
    padding: 18px 28px;
    border-radius: 20px 20px 0 0;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(14px);
    box-shadow: 0 -16px 34px rgba(15, 23, 42, 0.12);
    display: none;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
  }

  .settings-unsaved {
    display: inline-flex;
    align-items: stretch;
    gap: 10px;
    font-weight: 600;
    color: #c15700;
  }

  .settings-footer__actions {
    display: flex;
    gap: 12px;
  }

  .settings-previewDrawer .settings-previewContent {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .settings-previewCard {
    background: var(--settings-surface);
    border-radius: var(--settings-radius-md);
    padding: 20px;
    box-shadow: var(--settings-card-shadow);
  }

  .settings-fontScaling {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .settings-fontScaling__value {
    font-size: 14px;
    font-weight: 600;
    color: var(--settings-text-heading);
  }

  @media (max-width: 1100px) {
    #settings_base {
      padding: 0 0 10px;
    }

    .settings-page {
      width: calc(100% - 56px);
    }

    sl-tab-group.settings-tabs {
      grid-template-columns: 1fr;
    }

    sl-tab-group.settings-tabs::part(nav) {
      flex-direction: row;
      flex-wrap: wrap;
      border-right: none;
      border-bottom: 1px solid var(--settings-border-soft);
      padding: 12px;
      gap: 8px;
    }

    .settings-tabs sl-tab::part(base) {
      flex: 1 1 160px;
    }

    .settings-communication__layout {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .settings-socialGrid {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 768px) {
    #settings_base {
      padding: 0 0 10px;
    }

    .settings-page {
      width: calc(100% - 40px);
    }

    .settings-header {
      flex-direction: column;
      align-items: flex-start;
    }

    .settings-communication__layout {
      grid-template-columns: 1fr;
    }

    .settings-footer {
      flex-direction: column;
      align-items: stretch;
    }

    .settings-socialCard__actions {
      flex-direction: column;
    }

    .settings-socialCard__actions sl-button {
      width: 100%;
    }

    .settings-socialDialog--meta::part(header),
    .settings-socialDialog--meta::part(body),
    .settings-socialDialog--meta::part(footer),
    .settings-socialDialog--pages::part(header),
    .settings-socialDialog--pages::part(body),
    .settings-socialDialog--pages::part(footer),
    .settings-socialDialog--disconnect::part(header),
    .settings-socialDialog--disconnect::part(body),
    .settings-socialDialog--disconnect::part(footer) {
      padding-left: 18px;
      padding-right: 18px;
    }

    .settings-socialDialog--pages::part(header) {
      padding-top: 24px;
    }

    .settings-metaConnectHero,
    .settings-metaDisconnectHero,
    .settings-socialPagePickerIntro {
      grid-template-columns: 1fr;
    }

    .settings-metaConnectBenefits {
      grid-template-columns: 1fr;
    }

    .settings-socialPage {
      align-items: stretch;
      grid-template-columns: 1fr;
      min-height: 0;
    }

    .settings-socialPage__icon {
      display: none;
    }

    .settings-socialPage__action {
      justify-content: stretch;
    }

    .settings-socialPage__action sl-button {
      width: 100%;
    }
  }

  @media (max-width: 520px) {
    .settings-filters__grid {
      grid-template-columns: 1fr;
    }

    .settings-checkboxGroup__row {
      flex-direction: column;
      align-items: flex-start;
    }
  }

  :root.sl-theme-dark {
    --settings-surface: var(--mm-dark-surface, #0f172a);
    --settings-surface-soft: var(--mm-dark-surface-2, #111827);
    --settings-border-soft: var(--mm-dark-border-soft, rgba(148, 163, 184, 0.12));
    --settings-text-muted: var(--mm-dark-muted, #94a3b8);
    --settings-text-heading: var(--mm-dark-text, #f8fafc);
    --settings-accent: var(--sl-color-primary-400, #60a5fa);
    --settings-accent-strong: var(--sl-color-primary-300, #93c5fd);
    --settings-accent-soft: rgba(59, 130, 246, 0.2);
    --settings-card-shadow: 0 28px 52px -32px rgba(2, 6, 23, 0.8);
    --settings-card-shadow-soft: 0 18px 36px -24px rgba(2, 6, 23, 0.7);
  }

  :root.sl-theme-dark #settings_base {
    background: linear-gradient(180deg, var(--mm-dark-bg, #0b1120) 0%, var(--mm-dark-surface, #0f172a) 100%);
  }

  :root.sl-theme-dark .settings-header .headerIconBox,
  :root.sl-theme-dark .settings-iconWrap {
    background: rgba(148, 163, 184, 0.16);
    border-color: rgba(148, 163, 184, 0.24);
    color: var(--settings-text-heading);
  }

  :root.sl-theme-dark .settings-title {
    color: var(--settings-text-heading);
  }

  :root.sl-theme-dark .settings-subtitle {
    color: var(--settings-text-muted);
  }

  :root.sl-theme-dark .settings-toolbar,
  :root.sl-theme-dark .settings-workspace,
  :root.sl-theme-dark .settings-section,
  :root.sl-theme-dark .settings-subsectionHeader,
  :root.sl-theme-dark .settings-socialCard,
  :root.sl-theme-dark .settings-socialPage,
  :root.sl-theme-dark .settings-templates,
  :root.sl-theme-dark .settings-templateCard,
  :root.sl-theme-dark .settings-templateBody,
  :root.sl-theme-dark .settings-upload,
  :root.sl-theme-dark .settings-upload__preview,
  :root.sl-theme-dark .settings-multilang--embedded,
  :root.sl-theme-dark .settings-communication__editor,
  :root.sl-theme-dark .settings-communication__sidebar,
  :root.sl-theme-dark .settings-triggerList__item,
  :root.sl-theme-dark .settings-stripeStatus__chip,
  :root.sl-theme-dark .settings-variableList li,
  :root.sl-theme-dark .settings-integrationCard,
  :root.sl-theme-dark .settings-previewCard {
    background: var(--settings-surface);
    border-color: var(--settings-border-soft);
    box-shadow: var(--settings-card-shadow-soft);
  }

  :root.sl-theme-dark sl-tab-group.settings-tabs::part(nav) {
    background: var(--settings-surface-soft);
    border-right-color: var(--settings-border-soft);
  }

  :root.sl-theme-dark .settings-tabs sl-tab::part(base) {
    color: var(--settings-text-muted);
  }

  :root.sl-theme-dark .settings-tabs sl-tab:hover::part(base) {
    background: rgba(148, 163, 184, 0.16);
    color: var(--settings-text-heading);
  }

  :root.sl-theme-dark .settings-tabs sl-tab[active]::part(base) {
    background: var(--settings-surface);
    color: var(--settings-text-heading);
    border-color: rgba(148, 163, 184, 0.35);
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.2);
  }

  :root.sl-theme-dark sl-tab-group.settings-tabs::part(body) {
    background: var(--settings-surface);
  }

  :root.sl-theme-dark .settings-panelHeader {
    border-bottom-color: var(--settings-border-soft);
  }

  :root.sl-theme-dark .settings-panelHeader h3,
  :root.sl-theme-dark .settings-subsectionHeader h4,
  :root.sl-theme-dark .settings-socialCard__top h4,
  :root.sl-theme-dark .settings-socialPermissions li,
  :root.sl-theme-dark .settings-socialPage__info strong,
  :root.sl-theme-dark .settings-templateTitle,
  :root.sl-theme-dark .settings-translationOverrides header h4,
  :root.sl-theme-dark .settings-webhooks header h4,
  :root.sl-theme-dark .settings-fontScaling__value {
    color: var(--settings-text-heading);
  }

  :root.sl-theme-dark .settings-panelHeader p,
  :root.sl-theme-dark .settings-subsectionHeader p,
  :root.sl-theme-dark .settings-socialCard p,
  :root.sl-theme-dark .settings-socialPage__info span,
  :root.sl-theme-dark .settings-socialPageList__empty,
  :root.sl-theme-dark .settings-empty,
  :root.sl-theme-dark .settings-templateDescription,
  :root.sl-theme-dark .settings-templateBody,
  :root.sl-theme-dark .settings-variableList li,
  :root.sl-theme-dark .settings-translationOverrides header p,
  :root.sl-theme-dark .settings-webhooks header p,
  :root.sl-theme-dark .settings-stripeStatus__list {
    color: var(--settings-text-muted);
  }

  :root.sl-theme-dark .settings-stripeStatus__capabilities span,
  :root.sl-theme-dark .settings-stripeSyncPrompt {
    background: rgba(15, 23, 42, 0.24);
    border-color: var(--settings-border-soft);
    color: var(--settings-text-muted);
  }

  :root.sl-theme-dark .settings-billingDiagnostics {
    border-top-color: var(--settings-border-soft);
  }

  :root.sl-theme-dark .settings-billingDiagnostics .settings-grid > div {
    background: rgba(15, 23, 42, 0.24);
    border-color: var(--settings-border-soft);
  }

  :root.sl-theme-dark .settings-billingDiagnostics span {
    color: var(--settings-text-heading);
  }

  :root.sl-theme-dark .settings-restore {
    background: rgba(148, 163, 184, 0.16);
    border-color: rgba(148, 163, 184, 0.35);
    color: var(--settings-text-heading);
  }

  :root.sl-theme-dark .settings-connectSocialsIntro {
    background: rgba(148, 163, 184, 0.12);
    border-color: var(--settings-border-soft);
  }

  :root.sl-theme-dark .settings-connectSocialsIntro__eyebrow {
    color: #93c5fd;
  }

  :root.sl-theme-dark .settings-connectSocialsIntro p {
    color: var(--settings-text-heading);
  }

  :root.sl-theme-dark .settings-socialPlatformRow,
  :root.sl-theme-dark .settings-socialAdvanced {
    background: var(--settings-surface-soft);
    border-color: var(--settings-border-soft);
    color: var(--settings-text-heading);
  }

  :root.sl-theme-dark .settings-socialPlatformRow__heading h5,
  :root.sl-theme-dark .settings-socialAdvanced summary,
  :root.sl-theme-dark .settings-socialAdvanced__group strong,
  :root.sl-theme-dark .settings-socialPlatformSummary {
    color: var(--settings-text-heading);
  }

  :root.sl-theme-dark .settings-socialPlatformSummary,
  :root.sl-theme-dark .settings-socialAdvanced__group,
  :root.sl-theme-dark .settings-socialDataNote {
    color: var(--settings-text-muted);
  }

  :root.sl-theme-dark .settings-socialAdvanced__group {
    border-top-color: var(--settings-border-soft);
  }

  :root.sl-theme-dark .settings-socialCard__actions sl-button[variant="default"]::part(base) {
    background: var(--settings-surface-soft);
    border-color: var(--settings-border-soft);
    color: var(--settings-text-heading);
  }

  :root.sl-theme-dark .settings-socialCard__actions sl-button[variant="default"]::part(label),
  :root.sl-theme-dark .settings-socialCard__actions sl-button[variant="default"] sl-icon {
    color: inherit;
  }

  :root.sl-theme-dark .settings-socialCard__actions sl-button[variant="default"]:not([disabled])::part(base):hover {
    background: rgba(148, 163, 184, 0.16);
    border-color: rgba(148, 163, 184, 0.35);
  }

  :root.sl-theme-dark .settings-socialCard--soon {
    background: rgba(15, 23, 42, 0.22);
  }

  :root.sl-theme-dark .settings-socialNote {
    background: rgba(161, 98, 7, 0.14);
    border-color: rgba(251, 191, 36, 0.18);
    color: #facc15;
  }

  :root.sl-theme-dark .settings-socialMeta {
    background: rgba(34, 197, 94, 0.08);
    border-color: rgba(34, 197, 94, 0.2);
    color: rgba(226, 232, 240, 0.92);
  }

  :root.sl-theme-dark .settings-socialPermissions li::before {
    box-shadow: inset 0 0 0 4px var(--settings-surface);
  }

  :root.sl-theme-dark .settings-upload {
    background: var(--settings-surface-soft);
  }

  :root.sl-theme-dark .settings-upload__preview {
    background: var(--settings-surface-soft);
  }

  :root.sl-theme-dark .settings-cropper {
    border-color: var(--settings-border-soft);
    background:
      linear-gradient(45deg, rgba(148, 163, 184, 0.12) 25%, transparent 25%, transparent 75%, rgba(148, 163, 184, 0.12) 75%, rgba(148, 163, 184, 0.12)),
      linear-gradient(45deg, rgba(148, 163, 184, 0.12) 25%, transparent 25%, transparent 75%, rgba(148, 163, 184, 0.12) 75%, rgba(148, 163, 184, 0.12));
    background-position: 0 0, 12px 12px;
    background-size: 24px 24px;
  }

  :root.sl-theme-dark .settings-cropDialog__description,
  :root.sl-theme-dark .settings-cropDialog__zoomLabel,
  :root.sl-theme-dark .settings-cropDialog__zoomValue {
    color: var(--settings-text-muted);
  }

  :root.sl-theme-dark .settings-tabs sl-tab::part(base),
  :root.sl-theme-dark .settings-colorPicker label {
    color: var(--settings-text-muted);
  }

  :root.sl-theme-dark .settings-section sl-input::part(base),
  :root.sl-theme-dark .settings-section sl-select::part(combobox),
  :root.sl-theme-dark .settings-section sl-textarea::part(base),
  :root.sl-theme-dark .settings-toolbar sl-input::part(base),
  :root.sl-theme-dark .settings-toolbar sl-select::part(combobox) {
    background: var(--settings-surface-soft);
    color: var(--settings-text-heading);
    border: 1px solid var(--settings-border-soft);
  }

  :root.sl-theme-dark #settingsSaveBtn::part(base),
  :root.sl-theme-dark #settingsStripeReconnect::part(base),
  :root.sl-theme-dark #settingsStripePayoutSchedule::part(base),
  :root.sl-theme-dark #settingsStripeDashboard::part(base),
  :root.sl-theme-dark .settings-upload__actions sl-button::part(base) {
    background: #1c2530;
    border: 1px solid rgba(148, 163, 184, 0.25);
    color: #f8fafc;
    box-shadow: 0 12px 24px rgba(2, 6, 23, 0.6);
  }

  :root.sl-theme-dark #settingsSaveBtn::part(base):hover,
  :root.sl-theme-dark #settingsStripeReconnect::part(base):hover,
  :root.sl-theme-dark #settingsStripePayoutSchedule::part(base):hover,
  :root.sl-theme-dark #settingsStripeDashboard::part(base):hover,
  :root.sl-theme-dark .settings-upload__actions sl-button::part(base):hover {
    background: #273241;
    border-color: rgba(148, 163, 184, 0.4);
    box-shadow: 0 16px 30px rgba(2, 6, 23, 0.7);
  }

  :root.sl-theme-dark #settingsSaveBtn[disabled]::part(base) {
    background: rgba(148, 163, 184, 0.12);
    color: rgba(148, 163, 184, 0.6);
    border-color: transparent;
    box-shadow: none;
  }

  :root.sl-theme-dark .settings-templateActions sl-icon-button::part(base) {
    color: var(--settings-text-muted);
  }

  :root.sl-theme-dark .settings-templateActions sl-icon-button::part(base):hover {
    color: var(--settings-text-heading);
  }

  :root.sl-theme-dark .settings-templates .settings-empty,
  :root.sl-theme-dark .settings-templates {
    background: var(--settings-surface);
    border-color: var(--settings-border-soft);
  }

  :root.sl-theme-dark .settings-roleMatrix {
    border-color: var(--settings-border-soft);
  }

  :root.sl-theme-dark .settings-roleMatrix__header {
    background: var(--settings-surface-soft);
  }

  :root.sl-theme-dark .settings-roleMatrix__row {
    border-top-color: var(--settings-border-soft);
  }

  :root.sl-theme-dark .settings-triggerList__item {
    background: var(--settings-surface-soft);
  }

  :root.sl-theme-dark .settings-triggerList__item:hover,
  :root.sl-theme-dark .settings-triggerList__item[aria-pressed="true"] {
    border-color: rgba(148, 163, 184, 0.35);
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.2);
  }

  :root.sl-theme-dark .settings-communication__editor,
  :root.sl-theme-dark .settings-communication__sidebar {
    background: var(--settings-surface-soft);
  }

  :root.sl-theme-dark .settings-variableList code {
    color: var(--settings-text-heading);
  }

  :root.sl-theme-dark .settings-footer {
    background: rgba(15, 23, 42, 0.92);
    border-top: 1px solid var(--settings-border-soft);
    box-shadow: 0 -16px 34px rgba(2, 6, 23, 0.6);
  }

  :root.sl-theme-dark .settings-unsaved {
    color: #fbbf24;
  }

  :root.sl-theme-dark .settings-translationOverrides table th,
  :root.sl-theme-dark .settings-translationOverrides table td,
  :root.sl-theme-dark .settings-webhooks table th,
  :root.sl-theme-dark .settings-webhooks table td {
    border-bottom-color: var(--settings-border-soft);
    color: var(--settings-text-muted);
  }
}

.settings_panel{
    height:100%;
    overflow-y: scroll;
}


.settings-templateDescription{
  font-size: 12px;
}

/* Keep these overrides outside the settings layer so app-wide shell and Shoelace tab CSS cannot
   force the settings workspace into a fixed, non-scrollable panel. */
#settings_base.settings-page {
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

#settings_base .settings-body,
#settings_base #settingsContent,
#settings_base .settings-workspace,
#settings_base sl-tab-group.settings-tabs {
  flex: 0 0 auto;
  height: auto;
  min-height: 0;
  overflow: visible;
}

#settings_base sl-tab-group.settings-tabs::part(base) {
  height: auto;
  align-items: stretch;
}

#settings_base sl-tab-group.settings-tabs::part(nav) {
  height: auto;
  min-height: 0;
}

#settings_base sl-tab-group.settings-tabs::part(body),
#settings_base .settings-tabs sl-tab-panel::part(base) {
  display: block;
  height: auto;
  min-height: 0;
  overflow: visible;
}

/* Post-layer override: keep the template wildcard dialog header compact even when
   older layered styles or cached rules are still present. */
#settingsTemplateWildcardsDialog .settings-templateWildcardsHero {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  min-height: 0 !important;
}

#settingsTemplateWildcardsDialog .settings-templateWildcardsIcon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  align-self: center !important;
}

#settingsTemplateWildcardsDialog .settings-templateWildcardsIcon span {
  font-size: 14px !important;
}

#settingsTemplateWildcardsDialog .settings-templateWildcardsHero h3 {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.15 !important;
}

#settingsTemplateWildcardsDialog .settings-templateWildcardsHero p {
  margin: 2px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

/* Post-layer override: keep the template edit/preview dialog header compact and horizontal. */
#settingsTemplateDialog .settings-templateDialogHero {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  min-height: 0 !important;
}

#settingsTemplateDialog .settings-templateDialogIcon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  align-self: center !important;
}

#settingsTemplateDialog .settings-templateDialogIcon span {
  font-size: 14px !important;
}

#settingsTemplateDialog .settings-templateDialogHero h3 {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.15 !important;
}

#settingsTemplateDialog .settings-templateDialogHero p {
  margin: 2px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}
