
.ft-theme-menu-button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:calc(100% - 28px) !important;
  min-height:48px !important;
  margin:14px 14px 18px !important;
  padding:0 14px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:14px !important;
  color:#fff !important;
  background:linear-gradient(135deg,#5977d9,#d96c7b) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.16) !important;
  font:700 14px/1.2 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  cursor:pointer !important;
  z-index:2 !important;
}

.ft-theme-overlay {
  --ts-ink:#202735;
  --ts-muted:#6f7888;
  --ts-line:rgba(42,56,78,.12);
  --ts-blue:#5977d9;
  --ts-pink:#d96c7b;
  position:fixed !important;
  inset:0 !important;
  z-index:99990 !important;
  display:none !important;
  overflow-y:auto !important;
  padding:clamp(14px,2.6vw,38px) !important;
  color:var(--ts-ink) !important;
  background:
    radial-gradient(circle at 8% 10%,rgba(155,199,255,.34),transparent 32%),
    radial-gradient(circle at 92% 8%,rgba(224,102,122,.22),transparent 30%),
    linear-gradient(135deg,#f9fbff,#f7f4fa 52%,#fff7f8) !important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
}

.ft-theme-overlay.is-open { display:block !important; }
.ft-theme-overlay *, .ft-theme-overlay *::before, .ft-theme-overlay *::after { box-sizing:border-box !important; }
.ft-theme-overlay__shell { width:min(1480px,100%) !important; margin:0 auto !important; }

.ft-theme-overlay__topbar {
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin-bottom:20px !important;
  padding:18px 20px !important;
  border:1px solid var(--ts-line) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 20px 60px rgba(53,69,103,.10) !important;
  backdrop-filter:blur(20px) !important;
}

.ft-theme-overlay__title small {
  display:block !important;
  margin-bottom:5px !important;
  color:#a5753d !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.18em !important;
}

.ft-theme-overlay__title h2 {
  margin:0 !important;
  color:var(--ts-ink) !important;
  font-size:clamp(27px,3vw,44px) !important;
  font-weight:800 !important;
  letter-spacing:-.045em !important;
  line-height:1 !important;
}

.ft-theme-overlay__top-actions { display:flex !important; flex-wrap:wrap !important; gap:9px !important; }

.ft-theme-overlay button {
  min-height:44px !important;
  padding:0 16px !important;
  border:1px solid var(--ts-line) !important;
  border-radius:13px !important;
  color:var(--ts-ink) !important;
  background:#fff !important;
  font:700 14px/1.2 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  cursor:pointer !important;
}

.ft-theme-overlay button.primary {
  color:#fff !important;
  border-color:transparent !important;
  background:linear-gradient(135deg,var(--ts-blue),var(--ts-pink)) !important;
}

.ft-theme-overlay__layout {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 430px !important;
  gap:22px !important;
  align-items:start !important;
}

.ft-theme-overlay__panel {
  min-width:0 !important;
  padding:clamp(18px,2.4vw,28px) !important;
  border:1px solid var(--ts-line) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.91) !important;
  box-shadow:0 22px 70px rgba(53,69,103,.09) !important;
}

.ft-theme-overlay__section + .ft-theme-overlay__section { margin-top:30px !important; }
.ft-theme-overlay__section h3 { margin:0 0 10px !important; color:var(--ts-ink) !important; font-size:20px !important; }
.ft-theme-overlay__section p { margin:0 0 15px !important; color:var(--ts-muted) !important; font-size:14px !important; line-height:1.55 !important; }

.ft-theme-presets {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
}

.ft-theme-preset {
  display:flex !important;
  min-height:168px !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  padding:16px !important;
  overflow:hidden !important;
  text-align:left !important;
  border:1px solid color-mix(in srgb,var(--p-ink) 12%,transparent) !important;
  border-radius:19px !important;
  background:
    radial-gradient(circle at 8% 10%,color-mix(in srgb,var(--p-g1) 48%,transparent),transparent 36%),
    radial-gradient(circle at 92% 10%,color-mix(in srgb,var(--p-g2) 38%,transparent),transparent 34%),
    linear-gradient(135deg,var(--p-bg1),var(--p-bg2)) !important;
}

.ft-theme-preset.active { outline:3px solid rgba(89,119,217,.18) !important; border-color:var(--ts-blue) !important; }
.ft-theme-preset__mock { display:grid !important; width:100% !important; grid-template-columns:1.35fr .65fr !important; gap:8px !important; }
.ft-theme-preset__mock span { height:46px !important; border-radius:12px !important; background:color-mix(in srgb,var(--p-surface) 82%,transparent) !important; }
.ft-theme-preset__copy strong { display:block !important; color:var(--p-ink) !important; font-size:15px !important; }
.ft-theme-preset__copy small { display:block !important; margin-top:5px !important; color:color-mix(in srgb,var(--p-ink) 64%,transparent) !important; font-size:12px !important; line-height:1.35 !important; }

.ft-theme-controls { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
.ft-theme-control {
  display:grid !important;
  grid-template-columns:1fr auto !important;
  align-items:center !important;
  gap:8px !important;
  min-height:70px !important;
  padding:12px 14px !important;
  border:1px solid var(--ts-line) !important;
  border-radius:15px !important;
  background:#fff !important;
}
.ft-theme-control span { font-size:13px !important; font-weight:650 !important; }
.ft-theme-control input[type="color"] { width:46px !important; height:36px !important; padding:2px !important; }
.ft-theme-control input[type="range"] { grid-column:1/-1 !important; width:100% !important; }
.ft-theme-control output { color:var(--ts-muted) !important; font-size:12px !important; }

.ft-theme-selects { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; margin-top:14px !important; }
.ft-theme-selects label { display:grid !important; gap:7px !important; font-size:13px !important; font-weight:650 !important; }
.ft-theme-selects select { min-height:46px !important; padding:0 12px !important; border:1px solid var(--ts-line) !important; border-radius:12px !important; background:#fff !important; }
.ft-theme-check { display:flex !important; align-items:center !important; gap:9px !important; min-height:46px !important; padding:10px 12px !important; border:1px solid var(--ts-line) !important; border-radius:12px !important; background:#fff !important; }

.ft-theme-preview {
  min-height:510px !important;
  padding:16px !important;
  border:1px solid var(--pv-line) !important;
  border-radius:22px !important;
  color:var(--pv-ink) !important;
  background:
    radial-gradient(circle at 8% 8%,color-mix(in srgb,var(--pv-g1) 48%,transparent),transparent 35%),
    radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--pv-g2) 38%,transparent),transparent 33%),
    linear-gradient(135deg,var(--pv-bg1),var(--pv-bg2)) !important;
}

.ft-theme-preview__nav { display:flex !important; align-items:center !important; justify-content:space-between !important; padding:13px 14px !important; border-radius:15px !important; background:color-mix(in srgb,var(--pv-surface) 78%,transparent) !important; }
.ft-theme-preview__nav button, .ft-theme-preview__hero button { color:var(--pv-button-text) !important; background:var(--pv-button) !important; border-color:transparent !important; }
.ft-theme-preview__hero { padding:54px 10px 34px !important; }
.ft-theme-preview__hero small { color:var(--pv-accent) !important; font-size:11px !important; font-weight:800 !important; letter-spacing:.16em !important; }
.ft-theme-preview__hero h4 { margin:10px 0 !important; color:var(--pv-ink) !important; font-size:34px !important; line-height:1.05 !important; }
.ft-theme-preview__hero p { color:var(--pv-muted) !important; }
.ft-theme-preview__products { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:10px !important; }
.ft-theme-preview__product { height:118px !important; border:1px solid var(--pv-line) !important; border-radius:15px !important; background:color-mix(in srgb,var(--pv-surface) 82%,transparent) !important; }

.ft-theme-history { display:grid !important; gap:8px !important; }
.ft-theme-version { display:flex !important; justify-content:space-between !important; gap:12px !important; padding:12px 0 !important; border-bottom:1px solid var(--ts-line) !important; }
.ft-theme-version small { display:block !important; margin-top:4px !important; color:var(--ts-muted) !important; }

#ft-theme-toast {
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  z-index:100000 !important;
  padding:14px 18px !important;
  border-radius:14px !important;
  color:#fff !important;
  background:#28785a !important;
  opacity:0 !important;
  transform:translateY(12px) !important;
  pointer-events:none !important;
  transition:.2s !important;
}
#ft-theme-toast.show { opacity:1 !important; transform:none !important; }
#ft-theme-toast.error { background:#a83e4d !important; }

@media(max-width:1120px) {
  .ft-theme-overlay__layout { grid-template-columns:1fr !important; }
  .ft-theme-presets { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media(max-width:640px) {
  .ft-theme-overlay { padding:10px !important; }
  .ft-theme-overlay__topbar { position:static !important; display:block !important; }
  .ft-theme-overlay__top-actions { margin-top:16px !important; }
  .ft-theme-presets, .ft-theme-controls, .ft-theme-selects { grid-template-columns:1fr !important; }
}
