:root {
  color-scheme: light;
  --ch-bg: #f4f4f6;
  --ch-surface: #ffffff;
  --ch-surface-soft: #faf8ff;
  --ch-surface-muted: #f8f7fb;
  --ch-text: #231f20;
  --ch-text-soft: #433e51;
  --ch-text-muted: #6f677d;
  --ch-brand: #7558bc;
  --ch-brand-dark: #50378a;
  --ch-brand-ink: #362856;
  --ch-info: #37548a;
  --ch-info-soft: #ccd7eb;
  --ch-success: #57bc86;
  --ch-success-dark: #205037;
  --ch-success-soft: #ccebda;
  --ch-danger: #bc5957;
  --ch-danger-dark: #8b3937;
  --ch-danger-soft: #ebcccc;
  --ch-warning: #9a6c00;
  --ch-warning-soft: #fff3cf;
  --ch-border: #e9e8ed;
  --ch-border-strong: #dfdce4;
  --ch-border-muted: #bebaca;
  --ch-radius-sm: 12px;
  --ch-radius-md: 16px;
  --ch-radius-lg: 20px;
  --ch-shadow-soft: 0 1px 4px rgba(12, 12, 13, 0.05);
  --ch-shadow-card: 0 16px 32px -4px rgba(12, 12, 13, 0.1), 0 4px 4px -4px rgba(12, 12, 13, 0.05);
  --ch-shell-width: 1576px;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
}

h2{
      font-family: "Aldrich", "Instrument Sans", sans-serif;
}

body {
  margin: 0;
  font-family: "Albert Sans", "Segoe UI", sans-serif;
  color: var(--ch-text);
  background: var(--ch-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.app-layout {
  position: relative;
  background:
    linear-gradient(180deg, rgba(117, 88, 188, 0.2) 0%, rgba(244, 244, 246, 0) 28%),
    radial-gradient(circle at 88% 0%, rgba(219, 204, 255, 0.7) 0%, rgba(255, 255, 255, 0) 22%),
    radial-gradient(circle at 12% -12%, rgba(203, 188, 241, 0.6) 0%, rgba(255, 255, 255, 0) 28%),
    var(--ch-bg);
}

body.auth-layout {
  background: linear-gradient(180deg, #7558BC -31.62%, #FFF 48.88%), #FFF;


}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
}

button,
input,
textarea,
select {
  font: inherit;
}

[hidden] {
  display: none !important;
}

.muted {
  color: var(--ch-text-muted);
}

.small {
  font-size: 13px;
  color: var(--ch-text-muted);
}

.list-reset {
  list-style: none;
  margin: 0;
  padding: 0;
}

.shell {
  width: min(calc(100% - 40px), var(--ch-shell-width));
  margin: 0 auto;
}

.auth-wrap {
  min-height: 100vh;
  padding: 32px 20px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.auth-stage {
  width: min(100%, 680px);
  display: grid;
  gap: 28px;
}

.auth-login-page .auth-stage {
  width: min(100%, 680px);
  gap: 39px;
}

.auth-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.auth-login-page .auth-toolbar {
  min-height: 44px;
  justify-content: flex-end;
}

.auth-login-page .locale-form {
  margin-left: auto;
}

.brand-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}

.brand-mark {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 12px 24px rgba(49, 28, 96, 0.16);
  backdrop-filter: blur(10px);
}

.brand-mark img {
  width: 42px;
  height: 42px;
  display: block;
}

.brand-lockup {
  display: grid;
  gap: 4px;
}

.brand-title {
  font-size: 33px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.04em;
}

.brand-title .brand-title-accent {
  color: var(--ch-brand);
}

.brand-subtitle {
  color: var(--ch-text-soft);
  font-size: 11px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.auth-card {
  width: min(100%, 608px);
  margin: 0 auto;
  padding: 40px;
  border: 1px solid var(--ch-border);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--ch-shadow-card);
}

.auth-card-login {
  border-radius: 16px;
}

.auth-card h1 {
  margin: 0;
  font-size: 31px;
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.03em;
}

.auth-card p {
  margin: 0;
}

.auth-form {
  display: grid;
  gap: 18px;
}

.auth-form-intro {
  display: grid;
  gap: 12px;
  margin-bottom: 28px;
}

.auth-form-intro-login {
  justify-items: center;
  gap: 0;
  margin-bottom: 24px;
  text-align: center;
}

.auth-form-intro-login h1 {
  font-size: 29px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
}

.auth-divider {
  display: flex;
  align-items: center;
  gap: 18px;
  color: var(--ch-text-soft);
  font-size: 14px;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--ch-border-muted);
}

.auth-actions {
  display: grid;
  gap: 12px;
  margin-top: 8px;
}

.auth-actions-login .btn.primary {
  width: 100%;
  min-height: 48px;
  border-radius: 8px;
}

.auth-secondary-link {
  color: var(--ch-brand);
  font-weight: 600;
}

.auth-footer {
  display: grid;
  justify-items: center;
  gap: 14px;
}

.auth-layout .auth-footer {
  justify-items: end;
}

.legal-links {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  color: var(--ch-text-soft);
  font-size: 13px;
}

.auth-layout .legal-links {
  width: 100%;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 12px;
  text-align: right;
  margin-right:20px;
}

.auth-panel-note {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--ch-border-strong);
  border-radius: 999px;
  background: var(--ch-surface-soft);
  color: var(--ch-brand-dark);
  font-size: 14px;
  font-weight: 600;
}

.auth-login-stack {
  display: grid;
  gap: 39px;
}

.auth-login-form {
  gap: 24px;
}

.auth-login-form label {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 400;
  color: var(--ch-text);
}

#auth-logo-login{ width:100%; text-align:center; }
#auth-logo-login img{ width:300px; }

.auth-login-form input {
  min-height: 46px;
  border-color: #d9d9d9;
  border-radius: 8px;
  padding: 12px 16px;
}

.auth-login-alt {
  display: grid;
  gap: 12px;
  justify-items: center;
  text-align: center;
}

.auth-login-alt p {
  margin: 0;
  color: var(--ch-text);
  font-size: 16px;
  line-height: 1.4;
}

.auth-login-create {
  # width: 100%;
  min-height: 48px;
  border-radius: 8px;
  border-color: var(--ch-border-strong);
  color: var(--ch-brand);
  background: #fff;
}

.app-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(223, 220, 228, 0.92);
}

.app-header-inner {
  width: min(calc(100% - 40px), var(--ch-shell-width));
  margin: 0 auto;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 0;
}

.app-brand .brand-mark {
  width: 48px;
  height: 48px;
  background: linear-gradient(180deg, #f6f2ff 0%, #ffffff 100%);
  border: 1px solid rgba(223, 220, 228, 0.85);
  box-shadow: none;
  backdrop-filter: none;
}

.app-brand .brand-mark img {
  width: 34px;
  height: 34px;
}

.app-brand .brand-title {
  font-size: 27px;
}

.app-brand .brand-subtitle {
  color: var(--ch-text-muted);
}

.app-header-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  flex-wrap: wrap;
}

.plan-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 14px;
  background: var(--ch-info-soft);
  color: var(--ch-info);
  font-weight: 600;
}

.plan-badge.is-paid {
  background: var(--ch-success-soft);
  color: var(--ch-success-dark);
}

.plan-badge.is-pending {
  background: var(--ch-warning-soft);
  color: var(--ch-warning);
}

.topbar-user {
  position: relative;
}

.user-menu summary {
  list-style: none;
}

.user-menu summary::-webkit-details-marker {
  display: none;
}

.user-trigger {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 8px 12px;
  border-radius: 16px;
  border: 1px solid var(--ch-border-strong);
  background: var(--ch-surface);
  cursor: pointer;
}

.user-avatar {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(135deg, #cfc1f4 0%, #7558bc 100%);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}

.user-label {
  display: grid;
  gap: 2px;
  text-align: left;
}

.user-label strong {
  font-size: 14px;
  line-height: 1.2;
}

.user-label span {
  font-size: 12px;
  line-height: 1.2;
  color: var(--ch-text-muted);
}

.user-menu-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  min-width: 240px;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid var(--ch-border-strong);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--ch-shadow-card);
  display: grid;
  gap: 6px;
  z-index: 70;
}

.menu-link,
.menu-logout {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--ch-text-soft);
  font-weight: 600;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
}

.menu-link:hover,
.menu-logout:hover {
  background: var(--ch-surface-muted);
}

.menu-logout {
  border-color: rgba(188, 89, 87, 0.2);
  color: var(--ch-danger-dark);
}

.tabs {
  width: min(calc(100% - 40px), var(--ch-shell-width));
  margin: 0 auto 6px;
  padding: 0 0 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 12px;
  color: var(--ch-brand);
  font-weight: 600;
}

.tab.active {
  background: var(--ch-brand-dark);
  color: #fff;
  box-shadow: 0 16px 32px -8px rgba(80, 55, 138, 0.45);
}

.page-shell {
  width: min(calc(100% - 40px), var(--ch-shell-width));
  margin: 0 auto;
  padding: 34px 0 84px;
}

.page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.page-head > div {
  display: grid;
  gap: 8px;
}

.page-head h1 {
  margin: 0;
  font-size: 40px;
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: -0.04em;
}

.page-head p {
  margin: 0;
  color: var(--ch-text-soft);
  font-size: 16px;
  line-height: 1.44;
}

.page-head-badge-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.card {
  margin-bottom: 16px;
  padding: 24px;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-lg);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--ch-shadow-soft);
}

.card h2,
.card h3 {
  margin: 0;
  color: var(--ch-text);
}

.card h2 {
  font-size: 24px;
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.card h3 {
  font-size: 18px;
  line-height: 1.2;
  font-weight: 600;
}

.section-caption {
  margin: 0 0 8px;
  color: var(--ch-text-muted);
  font-size: 14px;
  line-height: 1.44;
}

.grid {
  display: grid;
  gap: 16px;
}

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

.grid.cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid.cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, 0.9fr);
  gap: 18px;
  margin-bottom: 18px;
}

.dashboard-hero-copy {
  padding: 28px;
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.06) 100%),
    linear-gradient(135deg, #ffffff 0%, #f8f4ff 56%, #efe6ff 100%);
  border: 1px solid rgba(223, 220, 228, 0.8);
  box-shadow: var(--ch-shadow-soft);
}

.dashboard-hero-copy h2,
.dashboard-hero-copy h1 {
  margin: 0;
}

.dashboard-hero-copy h2 {
  color: var(--ch-text-soft);
  font-size: 16px;
  font-weight: 400;
}

.dashboard-hero-copy h1 {
  margin-top: 10px;
  font-size: 48px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.05em;
}

.dashboard-hero-copy h1 strong {
  font-weight: 700;
}

.dashboard-hero-copy p {
  margin: 14px 0 0;
  max-width: 760px;
  color: var(--ch-text-soft);
  font-size: 16px;
  line-height: 1.44;
}

.dashboard-status-panel {
  padding: 24px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(223, 220, 228, 0.9);
  box-shadow: var(--ch-shadow-soft);
  display: grid;
  gap: 18px;
  align-content: space-between;
}

.status-list {
  display: grid;
  gap: 12px;
}

.status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.status-row span {
  color: var(--ch-text-soft);
}

.kpi {
  position: relative;
  overflow: hidden;
  padding: 24px;
  border-radius: 20px;
  border: 1px solid var(--ch-border);
  background: #fff;
  box-shadow: var(--ch-shadow-soft);
}

.kpi::after {
  content: "";
  position: absolute;
  inset: auto -24px -30px auto;
  width: 118px;
  height: 118px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(117, 88, 188, 0.12) 0%, rgba(117, 88, 188, 0) 72%);
  pointer-events: none;
}

.kpi small {
  display: block;
  color: var(--ch-text-soft);
  font-size: 14px;
  line-height: 1.2;
}

.kpi strong {
  display: block;
  margin-top: 14px;
  font-size: 48px;
  line-height: 1;
  font-weight: 500;
  color: var(--ch-text);
  letter-spacing: -0.05em;
}

.kpi .small {
  display: inline-flex;
  align-items: center;
  margin-top: 12px;
}

.dashboard-main-grid,
.metrics-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.95fr);
  gap: 16px;
}

.dashboard-insight-list,
.recommendations-list {
  display: grid;
  gap: 14px;
}

.item-line,
.reco-card {
  border: 1px solid var(--ch-border);
  border-radius: 18px;
  background: #fff;
  padding: 20px;
}

.reco-card {
  display: grid;
  gap: 14px;
}

.reco-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.reco-card-meta {
  display: grid;
  gap: 8px;
}

.reco-card-meta strong {
  font-size: 18px;
  line-height: 1.2;
}

.reco-card-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.reco-card-footer {
  padding-top: 14px;
  border-top: 1px solid var(--ch-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
  font-weight: 600;
  border: 1px solid transparent;
}

.badge.plan-free,
.badge.low {
  background: var(--ch-info-soft);
  color: var(--ch-info);
  border-color: rgba(55, 84, 138, 0.16);
}

.badge.plan-paid {
  background: var(--ch-success-soft);
  color: var(--ch-success-dark);
  border-color: rgba(87, 188, 134, 0.18);
}

.badge.pending,
.badge.medium {
  background: var(--ch-warning-soft);
  color: var(--ch-warning);
  border-color: rgba(154, 108, 0, 0.18);
}

.badge.high {
  background: var(--ch-danger-soft);
  color: var(--ch-danger-dark);
  border-color: rgba(188, 89, 87, 0.18);
}

.filters-card,
.settings-section,
.data-stack,
.form-stack {
  display: grid;
  gap: 16px;
}

label {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--ch-text);
  font-size: 15px;
  line-height: 1.2;
}

input,
textarea,
select {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--ch-border-strong);
  border-radius: 12px;
  background: #fff;
  color: var(--ch-text);
  padding: 11px 16px;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

textarea {
  min-height: 128px;
  resize: vertical;
}

select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--ch-text-soft) 50%),
    linear-gradient(135deg, var(--ch-text-soft) 50%, transparent 50%);
  background-position:
    calc(100% - 20px) calc(50% - 2px),
    calc(100% - 14px) calc(50% - 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 38px;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: rgba(117, 88, 188, 0.65);
  box-shadow: 0 0 0 4px rgba(117, 88, 188, 0.14);
}

.row,
.row-3,
.filters-grid {
  display: grid;
  gap: 16px;
}

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

.row-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.actions {
  margin-top: 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 11px 18px;
  border-radius: 12px;
  border: 1px solid var(--ch-border-strong);
  background: #fff;
  color: var(--ch-brand);
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background-color 0.16s ease;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px -16px rgba(35, 31, 32, 0.45);
}

.btn.primary {
  border-color: var(--ch-brand);
  background: linear-gradient(135deg, var(--ch-brand) 0%, var(--ch-brand-dark) 100%);
  color: #fff;
  box-shadow: 0 16px 32px -12px rgba(117, 88, 188, 0.45);
}

.btn.accent {
  border-color: var(--ch-brand-dark);
  background: linear-gradient(135deg, var(--ch-brand) 0%, var(--ch-brand-ink) 100%);
  color: #fff;
  box-shadow: 0 16px 32px -12px rgba(80, 55, 138, 0.45);
}

.btn.warn {
  border-color: rgba(188, 89, 87, 0.2);
  background: var(--ch-danger-soft);
  color: var(--ch-danger-dark);
}

.btn.small {
  min-height: 36px;
  padding: 8px 12px;
  font-size: 13px;
}

.btn:disabled {
  cursor: wait;
  opacity: 0.72;
  transform: none;
  box-shadow: none;
}

.flash-wrap {
  width: 100%;
  display: grid;
  gap: 10px;
  margin-bottom: 32px;
}

.flash {
  padding: 14px 16px;
  border-radius: 16px;
  font-weight: 600;
  border: 1px solid var(--ch-border);
  background: #fff;
}

.flash.error {
  border-color: rgba(188, 89, 87, 0.18);
  background: rgba(235, 204, 204, 0.65);
  color: var(--ch-danger-dark);
}

.flash.success {
  border-color: rgba(87, 188, 134, 0.18);
  background: rgba(204, 235, 218, 0.72);
  color: var(--ch-success-dark);
}

.locale-form {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
}

.topbar-locale-form .locale-trigger {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  gap: 6px;
}

.topbar-locale-form .locale-code {
  order: 1;
  color: #433e51;
  font-family: "Albert Sans", "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: 0.012em;
  text-transform: none;
}

.topbar-locale-form .flag-badge--lang {
  order: 2;
  width: 20px;
  height: 20px;
  border: 0;
  box-shadow: none;
}

.topbar-locale-form .flag-badge--lang .fflag.ff-sm {
  transform: scale(1.66);
}

.topbar-locale-form .locale-trigger::after {
  width: 8px;
  height: 8px;
  margin-left: 2px;
  border-right-width: 1.5px;
  border-bottom-width: 1.5px;
  color: #433e51;
}

.locale-picker {
  position: relative;
}

.locale-picker[open] {
  z-index: 30;
}

.locale-picker summary {
  list-style: none;
}

.locale-picker summary::-webkit-details-marker {
  display: none;
}

.locale-trigger {
  min-height: 44px;
  padding: 9px 14px 9px 11px;
  border-radius: 16px;
  border: 1px solid var(--ch-border-strong);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px -20px rgba(53, 36, 92, 0.55);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

.locale-trigger::after {
  content: "";
  width: 9px;
  height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transform-origin: center;
  color: var(--ch-text-soft);
  margin-left: 2px;
}

.locale-picker[open] .locale-trigger::after {
  transform: rotate(-135deg) translateY(-1px);
}

.locale-code,
.locale-option-code {
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.locale-code {
  color: var(--ch-text);
}

.locale-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 184px;
  padding: 8px;
  border-radius: 18px;
  border: 1px solid var(--ch-border);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 44px -26px rgba(39, 24, 72, 0.45);
  display: grid;
  gap: 4px;
}

.locale-option {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 12px;
  border-radius: 14px;
  color: var(--ch-text);
  text-decoration: none;
}

.locale-option:hover,
.locale-option:focus-visible,
.locale-option.is-active {
  background: rgba(100, 71, 180, 0.08);
}

.locale-option-copy {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.locale-option-label {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 13px;
  color: var(--ch-text-soft);
}

.flag-badge {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid rgba(88, 72, 127, 0.14);
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.58);
}

.flag-badge--round {
  border-radius: 999px;
}

.flag-badge .fflag.ff-sm {
  transform: scale(1.58);
  transform-origin: center;
}

.flag-badge--lang {
  width: 20px;
  height: 20px;
}

.flag-badge--lang .fflag.ff-sm {
  transform: scale(1.72);
}

.flag-badge--empty {
  color: var(--ch-text-soft);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.store-switcher-picker {
  position: relative;
}

.store-switcher-picker[open] {
  z-index: 30;
}

.store-switcher-picker summary {
  list-style: none;
}

.store-switcher-picker summary::-webkit-details-marker {
  display: none;
}

.store-switcher-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 43px;
  padding: 7px 12px;
  border: 1px solid #dfdce4;
  border-radius: 8px;
  background: #f4f4f6;
  cursor: pointer;
}

.store-switcher-trigger::after {
  content: "";
  width: 8px;
  height: 8px;
  margin-left: 2px;
  border-right: 1.5px solid #433e51;
  border-bottom: 1.5px solid #433e51;
  transform: rotate(45deg) translateY(-1px);
  transform-origin: center;
}

.store-switcher-picker[open] .store-switcher-trigger::after {
  transform: rotate(-135deg) translateY(-1px);
}

.store-switcher-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff 0%, #ece8f7 100%);
  border: 1px solid rgba(117, 88, 188, 0.12);
  color: #7558bc;
  font-family: "Albert Sans", "Segoe UI", sans-serif;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
}

.store-switcher-avatar.is-option {
  width: 32px;
  height: 32px;
  font-size: 14px;
}

.store-switcher-name {
  color: #231f20;
  font-family: "Albert Sans", "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0.012em;
}

.header-store-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 4px 8px;
  border-radius: 8px;
  background: #ccd7eb;
  color: #37548a;
  font-family: "Albert Sans", "Segoe UI", sans-serif;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: 0.012em;
}

.header-store-chip.is-info {
  background: #ece8f7;
  color: #7558bc;
}

.store-switcher-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 290px;
  padding: 8px;
  border: 1px solid #dfdce4;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 44px -26px rgba(39, 24, 72, 0.45);
  display: grid;
  gap: 4px;
}

.store-switcher-option-form {
  margin: 0;
}

.store-switcher-option {
  width: 100%;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.store-switcher-option:hover,
.store-switcher-option:focus-visible,
.store-switcher-option.is-active {
  background: rgba(100, 71, 180, 0.08);
}

.store-switcher-option-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.store-switcher-option-copy strong,
.store-switcher-option-copy span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.store-switcher-option-copy strong {
  color: #231f20;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 600;
}

.store-switcher-option-copy span {
  color: #433e51;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 300;
}

.header-add-store-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 43px;
  padding: 12px;
  border: 1px solid #dfdce4;
  border-radius: 8px;
  background: #fff;
  color: #7558bc;
  font-family: "Albert Sans", "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0.012em;
  text-decoration: none;
}

.header-add-store-btn:hover {
  background: #faf8ff;
}

.header-add-store-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  color: inherit;
  font-size: 18px;
  line-height: 1;
  font-weight: 400;
}

.header-add-store-icon .plus-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  # border: 2px solid #7558bc;
  color: #7558bc;
  font-size: 16px;
  font-weight: 400;
  width: 22px;
  height: 22px;
}

.header-control-divider {
  width: 1px;
  align-self: stretch;
  background: #d9d9d9;
}

.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;
}

.dashboard-link-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.dashboard-link-row .btn {
  min-height: 42px;
}

body.app-layout .page-shell {
  padding-top: 0;
}

body.app-layout .app-header {
  background: rgba(255, 255, 255, 0.94);
  border-bottom-color: var(--ch-border);
}

body.app-layout .app-header-controls {
  gap: 14px;
}

body.app-layout .app-header-controls > .btn {
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 8px;
  font-family: "Albert Sans", "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 400;
}

body.app-layout .store-switcher select {
  min-width: 220px;
  min-height: 40px;
  border-radius: 8px;
  border-color: var(--ch-border);
  padding: 9px 14px;
  font-family: "Albert Sans", "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 400;
}

body.app-layout .topbar-user .user-trigger {
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
}

body.app-layout .topbar-user .user-label {
  display: none;
}

body.app-layout .topbar-user .user-avatar {
  width: 38px;
  height: 38px;
  box-shadow: none;
}

.dashboard-summary-surface {
  position: relative;
  display: grid;
  gap: 32px;
  margin: 0 0 32px;
  padding: 32px 0 30px;
  font-family: "Albert Sans", "Segoe UI", sans-serif;
}

.dashboard-summary-surface::before {
  content: "";
  position: absolute;
  inset: 0 calc(50% - 50vw);
  z-index: -1;
  background:
    radial-gradient(circle at 24% 4%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0) 34%),
    radial-gradient(circle at 88% 14%, rgba(214, 203, 244, 0.9) 0%, rgba(214, 203, 244, 0) 24%),
    linear-gradient(180deg, rgba(237, 232, 252, 0.96) 0%, rgba(244, 244, 246, 0.92) 78%, rgba(244, 244, 246, 0) 100%);
  border-bottom: 1px solid var(--ch-border);
}

.dashboard-summary-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
}

.dashboard-summary-copy {
  display: grid;
  gap: 8px;
  max-width: 540px;
}

.dashboard-summary-store {
  margin: 0;
  color: #433e51;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.dashboard-summary-copy h1 {
  margin: 0;
  color: #231f20;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 39px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.dashboard-summary-description {
  margin: 0;
  color: #433e51;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.dashboard-subscription-banner {
  margin: 0 calc(50% - 50vw);
  border-radius: 0;
  border-left: 0;
  border-right: 0;
  padding: 12px max(20px, calc((100vw - var(--ch-shell-width)) / 2 + 20px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}

.dashboard-subscription-banner-cta,
.dashboard-subscription-banner-cta:hover,
.dashboard-subscription-banner-cta:focus,
.dashboard-subscription-banner-cta:visited {
  color: #fff;
}

.dashboard-summary-meta {
  display: grid;
  justify-items: end;
  gap: 24px;
}

.dashboard-summary-status-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  flex-wrap: wrap;
}

.dashboard-summary-status {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #231f20;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.dashboard-summary-divider {
  width: 1px;
  height: 35px;
  background: #dfdce4;
}

.dashboard-summary-date {
  margin: 0;
  color: #231f20;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.dashboard-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 35px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.dashboard-chip.is-info {
  background: #ccd7eb;
  color: #37548a;
}

.dashboard-chip.is-success {
  background: #ccebda;
  color: #205037;
}

.dashboard-chip.is-muted {
  min-height: 32px;
  padding: 6px 10px;
  background: #e9e8ed;
  color: #2c2c2c;
  font-size: 14px;
}

.dashboard-inline-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.dashboard-inline-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.dashboard-inline-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 12px;
  border-radius: 8px;
  color: var(--ch-brand);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.012em;
      font-family: "Aldrich", "Instrument Sans", sans-serif;
}

.dashboard-inline-tab.is-active {
  background: #50378a;
  color: #fff;
}

.dashboard-inline-divider {
  width: 1px;
  height: 43px;
  background: #dfdce4;
}

.dashboard-upgrade-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 43px;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid #7558bc;
  background: linear-gradient(135deg, #7558bc 0%, #362856 100%);
  box-shadow: 0 16px 32px -4px rgba(117, 88, 188, 0.4);
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.dashboard-upgrade-link::after {
  content: "\2197";
  font-size: 14px;
}

.dashboard-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.dashboard-kpi-section {
  margin: 0 0 32px;
}

.dashboard-stat-card {
  min-height: 224px;
  padding: 24px;
  border: 1px solid var(--ch-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--ch-shadow-soft);
  display: grid;
  gap: 16px;
}

.dashboard-stat-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.dashboard-stat-head h2 {
  margin: 0;
  color: #231f20;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.dashboard-stat-value-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.dashboard-stat-value-row strong {
  font-family: "Instrument Sans", "Segoe UI", sans-serif;
  font-size: 49px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.dashboard-stat-card.is-positive .dashboard-stat-value-row strong {
  color: #205037;
}

.dashboard-stat-card.is-negative .dashboard-stat-value-row strong {
  color: #bc5957;
}

.dashboard-stat-card.is-neutral .dashboard-stat-value-row strong {
  color: #231f20;
}

.dashboard-trend-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.dashboard-trend-badge.is-positive {
  background: #ccebda;
  color: #205037;
}

.dashboard-trend-badge.is-negative {
  background: #ebcccc;
  color: #8b3937;
}

.dashboard-trend-badge.is-neutral {
  background: #e9e8ed;
  color: #433e51;
}

.dashboard-stat-compare {
  margin: 0;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.dashboard-stat-compare strong {
  color: #433e51;
  font-weight: 700;
}

.dashboard-text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: var(--ch-brand);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.dashboard-text-link::after {
  content: "\2192";
}

.dashboard-text-link-button {
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.dashboard-figma-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.97fr);
  gap: 24px;
  align-items: start;
}

.dashboard-widget {
  border: 1px solid var(--ch-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--ch-shadow-soft);
  overflow: hidden;
}

.dashboard-widget-header {
  padding: 24px;
  display: grid;
  gap: 6px;
}

.dashboard-widget-header h2 {
  margin: 0;
  color: #231f20;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.dashboard-widget-header p {
  margin: 0;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.dashboard-recommendations-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 144px 113px;
  gap: 12px;
  padding: 14px 24px;
  border-top: 1px solid var(--ch-border);
  border-bottom: 1px solid var(--ch-border);
  background: #f4f4f6;
  color: #433e51;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.dashboard-recommendations-head span:nth-child(2),
.dashboard-recommendations-head span:nth-child(3) {
  border-left: 1px solid #d4d1dc;
  padding-left: 12px;
}

.dashboard-recommendations-body {
  display: grid;
}

.dashboard-recommendation-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 144px 113px;
  gap: 12px;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid var(--ch-border);
}

.dashboard-recommendation-row:last-child {
  border-bottom: 0;
}

.dashboard-recommendation-copy {
  min-width: 0;
  color: #231f20;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-recommendation-impact {
  color: #231f20;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.dashboard-recommendation-action {
  display: flex;
  justify-content: flex-start;
}

.dashboard-widget-footer {
  display: flex;
  justify-content: center;
  padding: 24px;
}

.recommendations-board-widget {
  display: grid;
}

.recommendations-board-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 24px 24px 0;
}

.recommendations-board-tab {
  min-height: 38px;
  padding: 8px 12px 14px;
  border: 0;
  border-bottom: 1px solid #e9e8ed;
  background: transparent;
  color: #433e51;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.012em;
  cursor: pointer;
  transition: color 0.16s ease, box-shadow 0.16s ease;
}

.recommendations-board-tab.is-active {
  color: #50378a;
  box-shadow: inset 0 -2px 0 #50378a;
}

.recommendations-board-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 24px 16px;
}

.recommendations-period-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.recommendations-period-label {
  color: #231f20;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.recommendations-period-tabs {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.recommendations-period-tab {
  min-height: 43px;
  padding: 12px;
  border: 1px solid #dfdce4;
  border-radius: 8px;
  background: #fff;
  color: #7558bc;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.012em;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background-color 0.16s ease;
}

.recommendations-period-tab:hover {
  transform: translateY(-1px);
}

.recommendations-period-tab.is-active {
  border-color: #50378a;
  background: #50378a;
  color: #fff;
  box-shadow: 0 16px 32px -12px rgba(80, 55, 138, 0.4);
}

.recommendations-search-field {
  position: relative;
  width: min(100%, 400px);
}

.recommendations-search-field input {
  min-height: 40px;
  padding-right: 44px;
  border-radius: 999px;
  border-color: #d9d9d9;
}

.recommendations-search-icon {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  color: #231f20;
  font-size: 16px;
  line-height: 1;
  pointer-events: none;
}

.recommendations-board-copy {
  padding: 0 24px 24px;
}

.recommendations-board-copy p {
  margin: 0;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.recommendations-board-body {
  padding: 0 24px 24px;
}

.recommendations-figma-list {
  display: grid;
  gap: 16px;
}

.recommendation-card {
  border: 1px solid #eaeaea;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

.recommendation-card.is-favorite {
  border-color: rgba(188, 162, 87, 0.42);
  box-shadow: 0 20px 36px -26px rgba(188, 162, 87, 0.45);
}

.recommendation-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 12px 24px;
  border-bottom: 1px solid #e9e8ed;
}

.recommendation-card-headline {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.recommendation-card-month {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px;
  border-radius: 8px;
  background: #e9e8ed;
  color: #2c2c2c;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
  white-space: nowrap;
}

.recommendation-card-title {
  margin: 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #231f20;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.recommendation-card-actions {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 16px;
  flex-wrap: wrap;
}

.recommendation-action-btn,
.recommendation-toggle-btn,
.recommendations-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 43px;
  padding: 12px;
  border: 1px solid #dfdce4;
  border-radius: 8px;
  background: #fff;
  color: #7558bc;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.012em;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}

.recommendation-action-btn:hover,
.recommendation-toggle-btn:hover,
.recommendations-page-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px -20px rgba(35, 31, 32, 0.45);
}

.recommendation-action-btn svg,
.recommendation-toggle-btn svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

.recommendation-action-btn.is-primary {
  border-color: #7558bc;
  background: #7558bc;
  color: #f5f5f5;
}

.recommendation-action-btn.is-icon {
  width: 40px;
  min-width: 40px;
  padding-left: 0;
  padding-right: 0;
}

.recommendation-action-btn.is-icon.is-favorite {
  color: #bca257;
  border-color: rgba(188, 162, 87, 0.35);
}

.recommendation-card-body {
  display: grid;
  gap: 8px;
  padding: 24px;
}

.recommendation-card-note {
  margin: 0;
  color: #433e51;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.recommendation-card-description {
  margin: 0;
  color: #000;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
  white-space: pre-wrap;
  word-break: break-word;
}

.recommendation-card-divider {
  width: 100%;
  height: 1px;
  background: #e9e8ed;
}

.recommendation-card-footer {
  display: flex;
  justify-content: flex-start;
}

.recommendation-toggle-btn.is-expanded,
.recommendations-page-btn.is-current {
  border-color: #50378a;
  background: #50378a;
  color: #fff;
}

.recommendations-page-btn[disabled] {
  cursor: default;
  opacity: 0.54;
  transform: none;
  box-shadow: none;
}

.recommendations-board-footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 0 24px 24px;
}

.recommendations-pagination {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.recommendations-page-size-field {
  display: grid;
  gap: 8px;
  min-width: 121px;
}

.recommendations-page-size-field label {
  margin: 0;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.recommendations-page-size-field select {
  min-height: 40px;
  border-radius: 8px;
  border-color: #d9d9d9;
  padding-top: 8px;
  padding-bottom: 8px;
}

.dashboard-table-empty {
  padding: 32px 24px 40px;
}

.dashboard-table-empty p {
  margin: 0;
  color: #433e51;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.dashboard-chart-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.dashboard-chart-period {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 10px 16px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  background: #fff;
  color: #231f20;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

.dashboard-chart-period::after {
  content: "\2304";
  font-size: 12px;
  line-height: 1;
}

.dashboard-chart-canvas-wrap {
  padding: 8px 24px 0;
}

.dashboard-comparison-chart {
  display: block;
  width: 100%;
  height: 320px;
}

.dashboard-chart-legend {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 24px;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.dashboard-chart-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.dashboard-chart-legend-line {
  display: inline-block;
  width: 16px;
  height: 2px;
  border-radius: 16px;
}

.dashboard-chart-legend-line.is-previous {
  background: #231f20;
}

.dashboard-chart-legend-line.is-current {
  background: #57bc86;
}

.chart {
  width: 100%;
  height: 286px;
  border: 1px solid var(--ch-border);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfaff 100%);
  padding: 12px;
}

@media (max-width: 1280px) {
  .dashboard-summary-top,
  .dashboard-inline-nav,
  .dashboard-chart-header,
  .recommendations-board-toolbar,
  .recommendations-board-footer,
  .recommendation-card-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-summary-meta {
    justify-items: start;
  }

  .dashboard-summary-status-row {
    justify-content: flex-start;
  }

  .dashboard-figma-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 960px) {
  .dashboard-kpi-grid {
    grid-template-columns: 1fr;
  }

  .recommendations-board-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-summary-copy h1 {
    font-size: 32px;
  }

  .dashboard-stat-value-row strong {
    font-size: 42px;
  }

  .dashboard-recommendations-head {
    display: none;
  }

  .dashboard-recommendation-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .dashboard-recommendation-impact::before {
    content: attr(data-label) ": ";
    color: #433e51;
  }
}

@media (max-width: 720px) {
  body.app-layout .app-header-inner,
  body.app-layout .page-shell,
  body.app-layout .flash-wrap {
    width: min(calc(100% - 24px), var(--ch-shell-width));
  }

  .dashboard-summary-surface {
    gap: 24px;
    padding: 24px 0;
  }

  .dashboard-subscription-banner {
    padding: 12px max(12px, calc((100vw - var(--ch-shell-width)) / 2 + 12px));
  }

  .dashboard-inline-divider {
    display: none;
  }

  .dashboard-widget-header,
  .dashboard-widget-footer,
  .dashboard-table-empty,
  .dashboard-recommendations-head,
  .dashboard-recommendation-row,
  .dashboard-chart-canvas-wrap,
  .dashboard-chart-legend {
    padding-left: 16px;
    padding-right: 16px;
  }

  .dashboard-chart-legend {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .recommendations-board-tabs,
  .recommendations-board-toolbar,
  .recommendations-board-copy,
  .recommendations-board-body,
  .recommendations-board-footer,
  .recommendation-card-header,
  .recommendation-card-body {
    padding-left: 16px;
    padding-right: 16px;
  }

  .recommendations-board-tabs {
    grid-template-columns: 1fr;
  }

  .recommendations-search-field {
    width: 100%;
  }

  .recommendation-card-title {
    white-space: normal;
  }
}

.metrics-filter-card,
.new-store-card,
.checkout-layout,
.settings-layout,
.utility-grid {
  display: grid;
  gap: 16px;
}

.products-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, 0.75fr);
  gap: 16px;
  align-items: start;
}

.products-layout > .card {
  margin-bottom: 0;
}

.products-main {
  display: grid;
  gap: 16px;
}

.products-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 16px;
  align-items: end;
}

.products-intro {
  display: grid;
  gap: 10px;
}

.products-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 12px;
  align-items: end;
}

.products-page-size-box {
  min-width: 0;
}

.products-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-card {
  border: 1px solid var(--ch-border);
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.product-thumb-wrap {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: linear-gradient(180deg, #f7f4ff 0%, #ffffff 100%);
  border-bottom: 1px solid var(--ch-border);
}

.product-thumb {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.product-card-link {
  color: inherit;
}

.product-body {
  display: grid;
  gap: 10px;
  padding: 16px;
  flex: 1;
  align-content: start;
}

.product-title {
  margin: 0;
  font-size: 15px;
  line-height: 1.38;
  font-weight: 600;
}

.product-price {
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--ch-success-dark);
}

.product-boost-btn {
  width: 100%;
}

.product-boost-btn.active {
  background: var(--ch-danger-soft);
  border-color: rgba(188, 89, 87, 0.2);
  color: var(--ch-danger-dark);
}

.products-boosted-panel {
  position: sticky;
  top: 114px;
}

.products-boosted-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.products-boosted-item {
  display: block;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--ch-border);
  background: var(--ch-surface-muted);
}

.products-boosted-content {
  width: 100%;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.products-boosted-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.products-boosted-thumb {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid var(--ch-border);
  background: #fff;
}

.products-boosted-unboost-btn {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--ch-brand);
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  border: none;
  cursor: pointer;
  margin-left: auto;
  justify-self: end;
}

.products-boosted-unboost-btn:hover {
  opacity: 0.9;
}

.products-boosted-title,
.products-boosted-price {
  margin: 0;
}

.products-boosted-title {
  font-size: 14px;
  line-height: 1.32;
  font-weight: 600;
}

.products-boosted-price {
  margin-top: 4px;
  color: var(--ch-success-dark);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
}

.products-empty,
.products-boosted-empty,
.conv-empty {
  padding: 18px;
  border-radius: 16px;
  border: 1px dashed rgba(117, 88, 188, 0.28);
  background: rgba(245, 239, 255, 0.72);
  color: var(--ch-brand-dark);
  font-weight: 600;
}

.products-pagination,
.conv-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.conversation-history-board,
.conversation-thread-card,
.conversation-detail-card {
  padding: 0;
  overflow: hidden;
}

.conversation-history-toolbar {
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.conversation-history-filters {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.conversation-history-period {
  min-width: 0;
}

.conversation-history-source {
  min-width: 176px;
}

.conversation-history-source select {
  min-height: 43px;
  border-radius: 10px;
  border: 1px solid var(--ch-border-strong);
  background: #fff;
  color: var(--ch-brand-dark);
  font-weight: 600;
}

.conversation-history-search {
  width: min(100%, 400px);
  margin-left: auto;
}

.conversation-history-search-field {
  position: relative;
}

.conversation-history-search-field input {
  min-height: 40px;
  padding-right: 46px;
  border-radius: 999px;
}

.conversation-history-search-icon {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  color: var(--ch-text-soft);
  pointer-events: none;
}

.conversation-history-search-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.conv-period-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.conv-period-btn {
  min-height: 43px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid var(--ch-border-strong);
  background: var(--ch-surface);
  color: var(--ch-brand-dark);
  font-weight: 600;
  cursor: pointer;
}

.conv-period-btn.active {
  background: linear-gradient(135deg, var(--ch-brand) 0%, var(--ch-brand-dark) 100%);
  border-color: transparent;
  color: #fff;
}

.conv-table-wrap {
  overflow: auto;
  border-top: 1px solid var(--ch-border);
  background: transparent;
}

.conversation-history-board .conv-empty {
  margin: 0 24px 24px;
}

.conv-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
}

.conv-table th,
.conv-table td {
  padding: 16px 24px;
  border-bottom: 1px solid var(--ch-border);
  vertical-align: middle;
}

.conv-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8f7fb;
  color: var(--ch-text-soft);
  font-size: 13px;
  line-height: 1;
  font-weight: 600;
  text-align: left;
  white-space: nowrap;
}

.conv-th-sort {
  display: inline-flex;
  margin-left: 6px;
  color: var(--ch-border-muted);
  font-size: 11px;
  transform: translateY(-1px);
}

.conv-row {
  cursor: pointer;
  transition: background-color 0.14s ease;
}

.conv-row:hover {
  background: rgba(117, 88, 188, 0.04);
}

.conv-row:focus-visible {
  outline: 2px solid rgba(117, 88, 188, 0.28);
  outline-offset: -2px;
}

.conv-message-col {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 188px;
}

.conv-message-stat {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ch-text);
  font-weight: 700;
}

.conv-message-icon {
  width: 16px;
  height: 16px;
  color: var(--ch-text-soft);
}

.conv-message-icon svg,
.conv-device-icon svg,
.conv-chat-role-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.conv-message-count {
  font-size: 15px;
}

.conv-seen {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.conv-seen.is-seen {
  color: var(--ch-brand-dark);
}

.conv-seen.is-unseen {
  color: var(--ch-text-muted);
}

.conv-seen .sym {
  letter-spacing: -0.12em;
}

.conv-conversion-badge,
.conv-conversion-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 29px;
  padding: 5px 10px;
  border-radius: 10px;
  font-size: 12px;
  line-height: 1;
  font-weight: 600;
  border: 1px solid transparent;
}

.conv-conversion-badge.yes,
.conv-conversion-pill.yes {
  background: var(--ch-success-soft);
  color: var(--ch-success-dark);
  border-color: rgba(87, 188, 134, 0.18);
}

.conv-conversion-badge.no,
.conv-conversion-pill.no {
  background: var(--ch-danger-soft);
  color: var(--ch-danger-dark);
  border-color: rgba(188, 89, 87, 0.18);
}

.conv-option {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  border: 1px solid var(--ch-border-strong);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ch-brand-dark);
  background: #fff;
  font-size: 17px;
  font-weight: 700;
}

.conv-pais-cell,
.conv-device-badge,
.conv-detail-country,
.conv-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.conv-device-badge,
.conv-type-badge {
  min-height: 33px;
  padding: 7px 10px;
  border-radius: 10px;
  border: 1px solid var(--ch-border);
  background: var(--ch-surface-muted);
  color: var(--ch-text-soft);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.conv-type-badge.is-tienda {
  background: #f5f4f8;
  border-color: #dfdce4;
  color: #4e4a58;
}

.conv-type-badge.is-whatsapp {
  background: #e8f7ef;
  border-color: #c9ebd8;
  color: #1f6a3f;
}

.conv-type-badge.is-gmail {
  background: #fdeeed;
  border-color: #f2d1cd;
  color: #8f2f24;
}

.conv-type-badge.is-instagram {
  background: #f3ecff;
  border-color: #dacaf8;
  color: #5a3298;
}

.conv-device-badge.is-empty {
  border: 0;
  background: transparent;
  padding: 0;
}

.conv-device-icon,
.conv-chat-role-icon {
  width: 16px;
  height: 16px;
  color: inherit;
}

.conv-pais-cell {
  max-width: 180px;
  min-width: 0;
}

.conv-pais-name {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.conv-detail-head {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.conv-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 35px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid var(--ch-border-strong);
  background: #fff;
  color: var(--ch-brand-dark);
  font-weight: 600;
}

.conv-detail-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ch-text-soft);
  font-weight: 600;
}

.conv-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.95fr) minmax(320px, 0.96fr);
  gap: 24px;
  align-items: start;
}

.conversation-thread-head,
.conversation-detail-summary {
  padding: 24px;
  border-bottom: 1px solid var(--ch-border);
}

.conv-thread-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.conversation-thread-head h2,
.conversation-detail-summary h2 {
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 29px;
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.conversation-detail-summary p {
  margin: 12px 0 0;
  color: var(--ch-text-soft);
  font-size: 15px;
  line-height: 1.55;
}

.conv-chat-log {
  display: grid;
  gap: 24px;
  padding: 24px;
}

.conv-chat-item {
  display: flex;
}

.conv-chat-item.user {
  justify-content: flex-end;
}

.conv-chat-stack {
  display: grid;
  gap: 10px;
  max-width: min(100%, 78%);
}

.conv-chat-item.user .conv-chat-stack {
  justify-items: end;
}

.conv-chat-bubble {
  width: fit-content;
  max-width: min(100%, 720px);
  padding: 14px 16px;
  border: 1px solid var(--ch-border);
  border-radius: 16px;
  background: #fff;
}

.conv-chat-item.user .conv-chat-bubble {
  background: linear-gradient(135deg, var(--ch-brand) 0%, var(--ch-brand-dark) 100%);
  border-color: transparent;
  color: #fff;
}

.conv-chat-item.system .conv-chat-bubble {
  background: var(--ch-surface-soft);
}

.conv-chat-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ch-text-soft);
  font-size: 12px;
  font-weight: 600;
}

.conv-chat-item.user .conv-chat-meta {
  justify-content: flex-end;
}

.conv-chat-role-icon.is-assistant {
  color: var(--ch-brand-dark);
}

.conv-chat-role-icon.is-system {
  color: var(--ch-text-muted);
}

.conv-chat-role-icon.is-user {
  color: var(--ch-brand-dark);
}

.conv-chat-meta-dot {
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
}

.conv-chat-content {
  white-space: pre-wrap;
  word-break: break-word;
  line-height: 1.5;
}

.conv-products-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
}

.conv-product-card .product-thumb-wrap {
  aspect-ratio: 4 / 3;
  padding: 12px;
}

.conv-product-card .product-body {
  padding: 12px;
}

.conv-system-products {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.conv-system-chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--ch-surface-muted);
  border: 1px solid var(--ch-border);
  font-size: 12px;
  font-weight: 700;
}

.conv-quality {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.conv-quality-label {
  color: var(--ch-text-soft);
  font-size: 12px;
  font-weight: 600;
}

.conv-quality-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.conv-quality-btn {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid var(--ch-border-strong);
  background: #fff;
  color: var(--ch-text-soft);
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
}

.conv-quality-btn.is-good.is-active {
  background: var(--ch-success-soft);
  border-color: rgba(87, 188, 134, 0.18);
  color: var(--ch-success-dark);
}

.conv-quality-btn.is-bad.is-active {
  background: var(--ch-danger-soft);
  border-color: rgba(188, 89, 87, 0.18);
  color: var(--ch-danger-dark);
}

.conv-quality-btn.is-pending {
  opacity: 0.72;
}

.conv-quality-preview-bubble {
  margin: 0;
  padding: 24px;
  border: 0;
  background: transparent;
}

.conv-quality-preview-card {
  padding: 20px 24px;
  border-radius: 16px;
  border: 1px solid var(--ch-border);
  background: var(--ch-surface-muted);
}

.conv-quality-preview-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ch-text-soft);
  font-size: 13px;
  line-height: 1.2;
}

.conv-quality-preview-message {
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--ch-border);
  background: #fff;
  white-space: pre-wrap;
  word-break: break-word;
  line-height: 1.55;
}

.conv-details-grid {
  display: grid;
  gap: 14px;
  padding: 24px;
}

.conv-detail-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.conv-details-grid dt {
  margin: 0;
  color: var(--ch-text-muted);
  font-weight: 500;
}

.conv-details-grid dd {
  margin: 0;
  color: var(--ch-text);
  font-weight: 500;
  text-align: right;
  word-break: break-word;
}

.conv-detail-country .conv-detail-flag-badge {
  width: 24px;
  height: 24px;
}

.conv-detail-country .conv-detail-flag-badge .fflag.ff-sm {
  transform: scale(2.02);
}

.conversation-history-footer {
  padding: 18px 24px 24px;
}

.conversation-history-pagination {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.conv-page-nav {
  min-height: 39px;
  border-radius: 10px;
  border: 1px solid var(--ch-border-strong);
  background: #fff;
  color: var(--ch-text-soft);
  font-weight: 600;
  cursor: pointer;
}

.conv-page-nav {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
}

.conv-page-number {
  min-width: 32px;
  padding: 0 8px;
  border: 0;
  background: transparent;
  color: var(--ch-text-soft);
  font-weight: 600;
  cursor: pointer;
}

.conv-page-number.is-active {
  border-radius: 8px;
  background: var(--ch-brand);
  color: #fff;
}

.conv-page-nav:disabled,
.conv-page-number:disabled {
  cursor: default;
  opacity: 0.46;
}

.conv-page-ellipsis {
  color: var(--ch-text-muted);
  font-weight: 600;
  padding: 0 2px;
}

.conversation-history-page-size {
  width: 121px;
}

.conversation-history-page-size select {
  min-height: 40px;
}

.channels-figma-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(320px, 0.94fr);
  gap: 24px;
  margin-bottom: 24px;
  align-items: start;
}

.channels-main-column,
.channels-side-column {
  min-width: 0;
}

.channels-cards {
  display: grid;
  gap: 16px;
}

.channels-card {
  display: grid;
  gap: 16px;
  padding: 20px;
  border: 1px solid var(--ch-border);
  border-radius: 18px;
  box-shadow: var(--ch-shadow-soft);
}

.channels-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.channels-card-head h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.channels-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.channels-status-badge.is-desconectado {
  color: #5a5569;
  background: #f2f1f6;
  border-color: #d9d7e2;
}

.channels-status-badge.is-conectado,
.channels-status-badge.is-simulado {
  color: #1f6a3f;
  background: #e8f7ef;
  border-color: #c9ebd8;
}

.channels-status-badge.is-error {
  color: #8f2f24;
  background: #fdeeed;
  border-color: #f2d1cd;
}

.channels-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.channels-switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  color: var(--ch-text-soft);
  cursor: pointer;
}

.channels-switch input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.channels-switch-control {
  position: relative;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid var(--ch-border-muted);
  background: #fff;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.channels-switch-control::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--ch-brand-dark);
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.channels-switch input[type="checkbox"]:checked + .channels-switch-control {
  border-color: rgba(117, 88, 188, 0.32);
  background: rgba(117, 88, 188, 0.18);
}

.channels-switch input[type="checkbox"]:checked + .channels-switch-control::after {
  transform: translateX(20px);
  background: var(--ch-brand);
}

.channels-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.channels-form-field {
  display: grid;
  gap: 6px;
}

.channels-form-field-full {
  grid-column: 1 / -1;
}

.channels-form-field label {
  color: var(--ch-text-soft);
  font-size: 13px;
  font-weight: 600;
}

.channels-form-field input {
  min-height: 40px;
}

.channels-card-helper {
  margin: 0;
}

.channels-card-actions {
  gap: 8px;
  flex-wrap: wrap;
}

.channels-card.is-loading {
  opacity: 0.88;
}

.channels-inline-feedback {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid transparent;
  font-size: 13px;
  font-weight: 600;
}

.channels-inline-feedback.is-info {
  color: #31426d;
  background: #ecf1fb;
  border-color: #cfdaef;
}

.channels-inline-feedback.is-success {
  color: #1f6a3f;
  background: #e8f7ef;
  border-color: #c9ebd8;
}

.channels-inline-feedback.is-error {
  color: #8f2f24;
  background: #fdeeed;
  border-color: #f2d1cd;
}

.channels-feedback-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.channels-side-card {
  display: grid;
  gap: 18px;
  padding: 20px;
  border: 1px solid var(--ch-border);
  border-radius: 18px;
  box-shadow: var(--ch-shadow-soft);
  position: sticky;
  top: 18px;
}

.channels-side-head h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1.15;
}

.channels-side-head p {
  margin: 8px 0 0;
}

.channels-video-placeholder {
  min-height: 140px;
  padding: 16px;
  border-radius: 16px;
  border: 1px dashed rgba(117, 88, 188, 0.36);
  background: linear-gradient(135deg, rgba(117, 88, 188, 0.12), rgba(117, 88, 188, 0.04));
  display: flex;
  align-items: center;
  gap: 12px;
}

.channels-video-placeholder strong {
  display: block;
  margin-bottom: 4px;
}

.channels-video-placeholder p {
  margin: 0;
  color: var(--ch-text-soft);
  line-height: 1.45;
}

.channels-video-placeholder-play {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: #fff;
  color: var(--ch-brand-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--ch-shadow-soft);
}

.channels-video-placeholder-play svg {
  width: 18px;
  height: 18px;
  margin-left: 2px;
}

.channels-checklist {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
  color: var(--ch-text-soft);
}

.channels-checklist li {
  line-height: 1.45;
}

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

.channels-diagnostics-item {
  min-height: 82px;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid var(--ch-border);
  background: #fff;
  display: grid;
  gap: 6px;
}

.channels-diagnostics-item span {
  color: var(--ch-text-muted);
  font-size: 12px;
  font-weight: 600;
}

.channels-diagnostics-item strong {
  color: var(--ch-brand-dark);
  font-size: 15px;
  line-height: 1.35;
}

.channels-tech-summary {
  padding: 12px;
  border-radius: 12px;
  border: 1px solid var(--ch-border);
  background: #fff;
  display: grid;
  gap: 8px;
}

.channels-tech-summary h3 {
  margin: 0;
  font-size: 16px;
}

.channels-tech-summary p {
  margin: 0;
  line-height: 1.45;
}

.channels-toast-stack {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 70;
  display: grid;
  gap: 10px;
  width: min(360px, calc(100vw - 28px));
}

.channels-toast {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid transparent;
  box-shadow: var(--ch-shadow-soft);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  transform: translateY(0);
  opacity: 1;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.channels-toast.is-info {
  color: #31426d;
  background: #ecf1fb;
  border-color: #cfdaef;
}

.channels-toast.is-success {
  color: #1f6a3f;
  background: #e8f7ef;
  border-color: #c9ebd8;
}

.channels-toast.is-error {
  color: #8f2f24;
  background: #fdeeed;
  border-color: #f2d1cd;
}

.channels-toast.is-leaving {
  opacity: 0;
  transform: translateY(4px);
}

.reco-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(28, 21, 46, 0.42);
  backdrop-filter: blur(8px);
}

.reco-modal.open {
  display: flex;
}

.reco-modal-card {
  width: min(100%, 720px);
  padding: 24px;
  border-radius: 24px;
  border: 1px solid var(--ch-border);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--ch-shadow-card);
}

.conv-quality-modal-card {
  width: min(100%, 610px);
  padding: 0;
  overflow: hidden;
}

.conv-quality-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--ch-border);
}

.conv-quality-modal-head h3 {
  margin: 0;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 20px;
  line-height: 1.2;
}

.conv-quality-modal-close {
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ch-text-soft);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.conv-quality-modal-card textarea {
  width: calc(100% - 48px);
  min-height: 100px;
  margin: 0 24px;
  border-radius: 14px;
}

.conv-quality-modal-actions {
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.settings-layout {
  grid-template-columns: minmax(0, 1.3fr) minmax(340px, 0.8fr);
  align-items: start;
}

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

.settings-section {
  padding-top: 4px;
}

.settings-section + .settings-section {
  padding-top: 18px;
  border-top: 1px solid var(--ch-border);
}

.settings-section-heading {
  display: grid;
  gap: 6px;
}

.settings-preview-card {
  position: sticky;
  top: 114px;
}

.settings-preview-surface {
  padding: 20px;
  border-radius: 20px;
  background: linear-gradient(180deg, #f4f4f6 0%, #ebe7f5 100%);
  min-height: 620px;
  display: grid;
  gap: 16px;
  align-content: start;
}

.settings-preview-browser {
  border-radius: 18px;
  border: 1px solid var(--ch-border);
  background: #fff;
  overflow: hidden;
  box-shadow: var(--ch-shadow-soft);
}

.settings-preview-toolbar {
  height: 46px;
  border-bottom: 1px solid var(--ch-border);
  background: var(--ch-surface-muted);
}

.settings-preview-body {
  min-height: 280px;
  padding: 24px;
  display: grid;
  align-content: space-between;
  gap: 24px;
}

.settings-preview-placeholder {
  width: 100%;
  min-height: 160px;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(117, 88, 188, 0.18), rgba(255, 255, 255, 0.2)),
    rgba(244, 244, 246, 0.8);
}

.settings-preview-chat {
  margin-left: auto;
  width: min(100%, 318px);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 30px -18px rgba(35, 31, 32, 0.45);
  background: #fff;
}

.settings-preview-chat-head {
  padding: 14px 16px;
  color: #fff;
}

.settings-preview-chat-body {
  padding: 16px;
  display: grid;
  gap: 12px;
  background: #fff;
}

.settings-preview-msg {
  max-width: 85%;
  padding: 12px 14px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.4;
}

.settings-preview-msg.user {
  margin-left: auto;
  background: var(--ch-surface-muted);
}

.settings-preview-msg.assistant {
  background: var(--ch-surface-soft);
}

.color-picker-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.color-picker-wrap input[type="text"] {
  flex: 1;
}

.color-picker-wrap input[type="color"] {
  width: 52px;
  min-width: 52px;
  padding: 4px;
  border-radius: 12px;
}

.color-swatches {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.color-swatch {
  width: 26px;
  height: 26px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: var(--swatch);
  box-shadow: 0 0 0 1px var(--ch-border);
  cursor: pointer;
  padding: 0;
}

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

.plan-card {
  display: grid;
  gap: 14px;
}

.plan-card-price {
  font-size: 42px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.05em;
}

.plan-card-copy {
  margin: 0;
  color: var(--ch-text-soft);
}

.plan-feature-list {
  display: grid;
  gap: 10px;
}

.plan-feature {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ch-text-soft);
}

.plan-feature::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--ch-brand);
}

.table-card {
  overflow: auto;
}

.app-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
}

.app-table th,
.app-table td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--ch-border);
  text-align: left;
}

.app-table th {
  color: var(--ch-text-soft);
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.support-thread {
  margin-top: 14px;
  display: grid;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--ch-border);
}

.msg {
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid var(--ch-border);
  background: #fff;
}

.msg.user {
  background: rgba(117, 88, 188, 0.08);
}

.msg.agent {
  background: var(--ch-surface-muted);
}

@media (max-width: 1280px) {
  .dashboard-hero,
  .dashboard-main-grid,
  .metrics-main-grid,
  .settings-layout,
  .products-layout,
  .conv-detail-layout,
  .channels-figma-grid {
    grid-template-columns: 1fr;
  }

  .products-boosted-panel,
  .settings-preview-card,
  .channels-side-card {
    position: static;
    top: auto;
  }

  .products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .grid.cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grid.cols-3,
  .grid.cols-2,
  .upgrade-grid,
  .account-grid,
  .row,
  .row-3,
  .filters-grid,
  .products-header,
  .products-toolbar,
  .conv-toolbar {
    grid-template-columns: 1fr;
  }

  .app-header-inner {
    align-items: flex-start;
  }

  .app-header-controls {
    justify-content: flex-start;
    gap: 16px;
  }

  .tabs {
    padding-bottom: 16px;
  }

  .conversation-history-toolbar,
  .conversation-history-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .conversation-history-filters {
    width: 100%;
    justify-content: space-between;
  }

  .conversation-history-search {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .auth-wrap {
    padding-inline: 16px;
  }

  .auth-card,
  .card,
  .reco-modal-card,
  .dashboard-hero-copy,
  .dashboard-status-panel {
    padding: 20px;
  }

  .conversation-history-board,
  .conversation-thread-card,
  .conversation-detail-card,
  .conv-quality-modal-card {
    padding: 0;
  }

  .conversation-history-toolbar,
  .conversation-history-footer,
  .conversation-thread-head,
  .conversation-detail-summary,
  .conv-chat-log,
  .conv-details-grid,
  .conv-quality-preview-bubble,
  .conv-quality-modal-actions {
    padding: 20px;
  }

  .conv-quality-modal-card textarea {
    width: calc(100% - 40px);
    margin: 0 20px;
  }

  .brand-title,
  .app-brand .brand-title {
    font-size: 24px;
  }

  .page-shell,
  .shell,
  .app-header-inner,
  .tabs,
  .flash-wrap {
    width: min(calc(100% - 24px), 100%);
  }

  .page-head h1,
  .dashboard-hero-copy h1 {
    font-size: 32px;
  }

  .kpi strong,
  .plan-card-price {
    font-size: 36px;
  }

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

  .store-switcher select {
    min-width: 100%;
  }

  .conversation-thread-head h2,
  .conversation-detail-summary h2 {
    font-size: 24px;
  }

  .conv-chat-stack {
    max-width: 100%;
  }

  .channels-card,
  .channels-side-card {
    padding: 18px;
  }

  .channels-form-grid {
    grid-template-columns: 1fr;
  }

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

  .channels-toast-stack {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
  }
}

@media (max-width: 560px) {
  .auth-stage,
  .auth-toolbar,
  .app-header-inner,
  .app-header-controls,
  .status-row,
  .page-head,
  .reco-card-head,
  .reco-card-footer,
  .actions {
    gap: 12px;
  }

  .auth-toolbar,
  .app-header-inner,
  .page-head,
  .page-head-badge-row,
  .dashboard-link-row,
  .status-row,
  .actions {
    flex-direction: column;
    align-items: stretch;
  }

  .user-menu-panel {
    left: 0;
    right: 0;
    min-width: 0;
  }

  .store-switcher-menu {
    left: 0;
    right: auto;
    min-width: min(290px, calc(100vw - 48px));
  }

  .store-switcher-trigger,
  .header-add-store-btn {
    width: 100%;
    justify-content: flex-start;
  }

  .header-control-divider {
    display: none;
  }

  .products-grid {
    grid-template-columns: 1fr;
  }

  .grid.cols-4 {
    grid-template-columns: 1fr;
  }

  .auth-layout .legal-links {
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .conv-message-col,
  .conv-detail-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .conv-details-grid dd {
    text-align: left;
  }

  .conversation-history-pagination {
    align-items: flex-start;
  }

  .conversation-history-filters {
    flex-direction: column;
    align-items: stretch;
  }

  .conversation-history-source {
    width: 100%;
  }

  .conversation-history-source select {
    width: 100%;
  }

  .conv-table {
    min-width: 920px;
  }

  .channels-diagnostics {
    grid-template-columns: 1fr;
  }
}

.products-figma-page .products-summary-surface {
  margin-bottom: 24px;
}

.products-figma-page .products-figma-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.5fr) minmax(320px, 1fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 24px;
}

.products-figma-page .products-filter-widget,
.products-figma-page .products-boosted-panel,
.products-figma-page .products-catalog-widget {
  border-color: #e9e8ed;
}

.products-figma-page .products-controls-body {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) 1px minmax(220px, 0.72fr);
  gap: 24px;
  padding: 0 24px 24px;
  align-items: end;
}

.products-figma-page .products-controls-divider {
  width: 1px;
  height: 100%;
  min-height: 70px;
  background: #dfdce4;
}

.products-figma-page .products-control-field {
  display: grid;
  gap: 8px;
}

.products-figma-page .products-control-field label {
  color: #231f20;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.products-figma-page .products-control-field input,
.products-figma-page .products-control-field select {
  min-height: 43px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  background: #fff;
  padding: 10px 16px;
  color: #231f20;
  font-family: "Albert Sans", "Segoe UI", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.products-figma-page .products-controls-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
  align-items: end;
  padding: 0 24px 24px;
}

.products-figma-page .products-controls-helper,
.products-figma-page .products-controls-meta {
  margin: 0;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.products-figma-page .products-controls-meta {
  text-align: right;
}

.products-figma-page .products-boosted-panel {
  position: static;
  top: auto;
}

.products-figma-page .products-boosted-body {
  display: grid;
  gap: 16px;
  padding: 0 24px 24px;
}

.products-figma-page .products-boosted-count {
  width: fit-content;
  max-width: 100%;
}

.products-figma-page .products-boosted-list {
  display: grid;
  gap: 12px;
  max-height: 292px;
  margin: 0;
  overflow: auto;
  padding-right: 4px;
}

.products-figma-page .products-boosted-item {
  display: block;
  padding: 12px;
  border: 1px solid #e9e8ed;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--ch-shadow-soft);
}

.products-figma-page .products-boosted-content {
  width: 100%;
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.products-figma-page .products-boosted-thumb {
  width: 60px;
  height: 60px;
  border-radius: 14px;
  border: 1px solid #e9e8ed;
  background: #fff;
}

.products-figma-page .products-boosted-title {
  font-family: "Instrument Sans", "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
}

.products-figma-page .products-boosted-price {
  margin-top: 4px;
  color: #231f20;
  font-family: "Instrument Sans", "Segoe UI", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
}

.products-figma-page .products-boosted-empty {
  padding: 18px;
  border: 1px solid #e9e8ed;
  border-radius: 16px;
  background: #f4f4f6;
  color: #433e51;
  font-weight: 300;
}

.products-figma-page .products-catalog-widget {
  overflow: hidden;
  margin-bottom: 32px;
}

.products-figma-page .products-catalog-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 24px;
}

.products-figma-page .products-catalog-copy {
  display: grid;
  gap: 6px;
}

.products-figma-page .products-catalog-copy h2 {
  margin: 0;
  color: #231f20;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.products-figma-page .products-catalog-copy p {
  margin: 0;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.products-figma-page .products-catalog-body {
  padding: 0 24px 24px;
}

.products-figma-page .products-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.products-figma-page .product-card {
  position: relative;
  border: 1px solid #eaeaea;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--ch-shadow-soft);
  overflow: hidden;
  display: flex;
  min-height: 100%;
  flex-direction: column;
}

.products-figma-page .product-card.is-boosted {
  border-color: #dcebdd;
}

.products-figma-page .product-card-chip {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 35px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #ccebda;
  color: #205037;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.products-figma-page .product-card-chip.is-boosted {
  justify-content: center;
  width: 40px;
  padding-left: 8px;
  padding-right: 8px;
}

.products-figma-page .product-card-chip.is-negative {
  background: #ebcccc;
  color: #8b3937;
}

.products-figma-page .product-card-chip.is-neutral {
  background: #e9e8ed;
  color: #433e51;
}

.products-figma-page .product-card-chip-icon {
  font-size: 13px;
  line-height: 1;
}

.products-figma-page .product-card-chip-text {
  white-space: nowrap;
}

.products-figma-page .product-thumb-wrap {
  aspect-ratio: auto;
  min-height: 253px;
  padding: 36px 32px 20px;
  border-bottom: 0;
  background: linear-gradient(180deg, #ffffff 0%, #fcfcfd 100%);
}

.products-figma-page .product-thumb {
  width: 100%;
  height: 197px;
  object-fit: contain;
}

.products-figma-page .product-body {
  width: 100%;
  gap: 16px;
  padding: 12px;
  text-align: center;
}

.products-figma-page .product-title {
  min-height: 38px;
  color: #000;
  font-family: "Instrument Sans", "Segoe UI", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
}

.products-figma-page .product-price {
  color: #000;
  font-family: "Instrument Sans", "Segoe UI", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
}

.products-figma-page .product-boost-btn {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 43px;
  border: 1px solid #dfdce4;
  border-radius: 8px;
  background: #fff;
  color: #7558bc;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.012em;
}

.products-figma-page .product-boost-btn:hover:not(:disabled) {
  background: #f8f5ff;
}

.products-figma-page .product-boost-btn.active {
  background: #fdf2f2;
  border-color: rgba(188, 89, 87, 0.22);
  color: #8b3937;
}

.products-figma-page .product-boost-btn-icon {
  font-size: 13px;
  line-height: 1;
}

.products-figma-page .products-empty {
  padding: 32px 24px;
  border: 1px solid #e9e8ed;
  border-radius: 16px;
  background: #f4f4f6;
  color: #433e51;
  font-weight: 300;
}

.products-figma-page .products-pagination {
  padding: 0 24px 24px;
}

.products-figma-page .products-pagination .btn {
  min-height: 43px;
  border-radius: 8px;
}

@media (max-width: 1280px) {
  .products-figma-page .products-figma-grid {
    grid-template-columns: 1fr;
  }

  .products-figma-page .products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .products-figma-page .products-controls-body,
  .products-figma-page .products-controls-footer {
    grid-template-columns: 1fr;
  }

  .products-figma-page .products-controls-divider {
    display: none;
  }

  .products-figma-page .products-catalog-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .products-figma-page .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .products-figma-page .products-figma-grid,
  .products-figma-page .products-grid {
    gap: 16px;
  }

  .products-figma-page .products-controls-body,
  .products-figma-page .products-controls-footer,
  .products-figma-page .products-catalog-header,
  .products-figma-page .products-catalog-body,
  .products-figma-page .products-pagination,
  .products-figma-page .products-boosted-body {
    padding-left: 16px;
    padding-right: 16px;
  }

  .products-figma-page .products-grid {
    grid-template-columns: 1fr;
  }

  .products-figma-page .product-thumb-wrap {
    min-height: 228px;
    padding-left: 24px;
    padding-right: 24px;
  }
}

.metrics-figma-page .metrics-top-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.68fr) minmax(320px, 0.68fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 24px;
}

.metrics-figma-page .metrics-filter-widget,
.metrics-figma-page .metrics-share-widget,
.metrics-figma-page .metrics-products-widget,
.metrics-figma-page .metrics-chart-widget,
.metrics-figma-page .metrics-ranking-widget,
.metrics-figma-page .metrics-urls-widget {
  border-color: #e9e8ed;
}

.metrics-figma-page .metrics-filter-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px 171px;
  gap: 24px;
  padding: 0 24px 24px;
  align-items: start;
}

.metrics-figma-page .metrics-filter-main {
  display: grid;
  gap: 16px;
}

.metrics-figma-page .metrics-filter-field,
.metrics-figma-page .metrics-filter-date-field,
.metrics-figma-page .metrics-filter-side {
  display: grid;
  gap: 8px;
}

.metrics-figma-page .metrics-filter-field label,
.metrics-figma-page .metrics-filter-date-field label,
.metrics-figma-page .metrics-filter-side label,
.metrics-figma-page .metrics-compare-box span,
.metrics-figma-page .metrics-compare-box p,
.metrics-figma-page .metrics-share-toggle span,
.metrics-figma-page .metrics-share-help {
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-filter-field label,
.metrics-figma-page .metrics-filter-date-field label,
.metrics-figma-page .metrics-filter-side label {
  color: #231f20;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
}

.metrics-figma-page .metrics-filter-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.metrics-figma-page .metrics-filter-chip,
.metrics-figma-page .metrics-share-copy-btn {
  display: inline-flex;
  min-height: 43px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  border: 1px solid #dfdce4;
  border-radius: 8px;
  background: #fff;
  color: #7558bc;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.012em;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.metrics-figma-page .metrics-filter-chip:hover,
.metrics-figma-page .metrics-share-copy-btn:hover {
  background: #f8f5ff;
  border-color: #cfc7dc;
}

.metrics-figma-page .metrics-filter-chip.is-active,
.metrics-figma-page .metrics-filter-chip.is-primary,
.metrics-figma-page .metrics-share-copy-btn {
  border-color: #50378a;
  background: #50378a;
  color: #fff;
}

.metrics-figma-page .metrics-filter-chip.is-primary:hover,
.metrics-figma-page .metrics-share-copy-btn:hover {
  background: #3f2a71;
  border-color: #3f2a71;
}

.metrics-figma-page .metrics-filter-custom {
  display: none;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 16px;
  align-items: end;
}

.metrics-figma-page .metrics-filter-custom.is-visible {
  display: grid;
}

.metrics-figma-page .metrics-filter-date-field input,
.metrics-figma-page .metrics-language-pill,
.metrics-figma-page .metrics-share-link-row input {
  min-height: 43px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  background: #fff;
  color: #231f20;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-filter-date-field input,
.metrics-figma-page .metrics-share-link-row input {
  padding: 10px 16px;
}

.metrics-figma-page .metrics-compare-box {
  display: grid;
  gap: 8px;
}

.metrics-figma-page .metrics-checkbox {
  display: inline-flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 40px;
  color: #231f20;
  cursor: pointer;
}

.metrics-figma-page .metrics-checkbox input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: #7558bc;
}

.metrics-figma-page .metrics-compare-box span {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
}

.metrics-figma-page .metrics-compare-box p {
  margin: 0 0 0 28px;
  color: #433e51;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.44;
}

.metrics-figma-page .metrics-filter-divider {
  width: 1px;
  min-height: 126px;
  background: #dfdce4;
}

.metrics-figma-page .metrics-filter-side {
  align-content: start;
}

.metrics-figma-page .metrics-language-pill {
  display: inline-flex;
  width: 100%;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
}

.metrics-figma-page .metrics-language-pill span:last-child {
  flex: 1 1 auto;
}

.metrics-figma-page .metrics-share-body {
  display: grid;
  gap: 24px;
  width: 100%;
  padding: 0 24px 24px;
}

.metrics-figma-page .metrics-share-toggle {
  display: inline-flex;
  align-items: flex-start;
  gap: 12px;
  color: #433e51;
  cursor: pointer;
}

.metrics-figma-page .metrics-share-toggle input {
  width: 40px;
  height: 24px;
  margin-top: 2px;
  accent-color: #7558bc;
}

.metrics-figma-page .metrics-share-toggle span {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.4;
}

.metrics-figma-page .metrics-share-link-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
}

.metrics-figma-page .metrics-share-link-row input {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  color: #587bbc;
  text-decoration: underline;
}

.metrics-figma-page .metrics-share-copy-btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  white-space: nowrap;
}

.metrics-figma-page .metrics-share-help {
  margin: 0;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
}

.metrics-figma-page .metrics-share-widget.is-disabled .metrics-share-link-row {
  opacity: 0.5;
}

.metrics-figma-page .metrics-products-widget {
  margin-bottom: 24px;
  overflow: hidden;
}

.metrics-figma-page .metrics-products-header,
.metrics-figma-page .metrics-ranking-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 24px;
}

.metrics-figma-page .metrics-products-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  padding: 0 24px 24px;
}

.metrics-figma-page .metrics-product-card {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #eaeaea;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--ch-shadow-soft);
}

.metrics-figma-page .metrics-product-thumb-wrap {
  position: relative;
  display: flex;
  min-height: 253px;
  align-items: center;
  justify-content: center;
  padding: 24px 32px 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fcfcfd 100%);
}

.metrics-figma-page .metrics-product-thumb,
.metrics-figma-page .metrics-product-list-thumb {
  width: 100%;
  object-fit: contain;
}

.metrics-figma-page .metrics-product-thumb {
  height: 197px;
}

.metrics-figma-page .metrics-product-thumb-placeholder,
.metrics-figma-page .metrics-product-list-thumb.is-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e9e8ed;
  border-radius: 14px;
  background: #f4f4f6;
  color: #433e51;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.4;
  text-align: center;
}

.metrics-figma-page .metrics-product-thumb-placeholder {
  width: 100%;
  height: 197px;
}

.metrics-figma-page .metrics-product-card-chip,
.metrics-figma-page .metrics-product-list-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 8px;
  background: #ccebda;
  color: #205037;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-product-card-chip {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 8px 10px;
}

.metrics-figma-page .metrics-product-card-body {
  display: grid;
  gap: 16px;
  padding: 12px;
  text-align: center;
}

.metrics-figma-page .metrics-product-card-body h3,
.metrics-figma-page .metrics-product-list-copy strong {
  margin: 0;
  color: #000;
  font-family: "Instrument Sans", "Segoe UI", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
}

.metrics-figma-page .metrics-product-card-body p,
.metrics-figma-page .metrics-product-list-copy span {
  margin: 0;
  color: #000;
  font-family: "Instrument Sans", "Segoe UI", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
}

.metrics-figma-page .metrics-product-list-copy span {
  font-size: 15px;
}

.metrics-figma-page .metrics-product-link {
  display: inline-flex;
  min-height: 43px;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  border: 1px solid #dfdce4;
  border-radius: 8px;
  background: #fff;
  color: #7558bc;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-product-link.is-muted {
  color: #9a95a7;
}

.metrics-figma-page .metrics-compare-panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.metrics-figma-page .metrics-compare-panels-products {
  border-top: 1px solid #dfdce4;
}

.metrics-figma-page .metrics-period-panel {
  min-width: 0;
}

.metrics-figma-page .metrics-period-panel + .metrics-period-panel {
  border-left: 1px solid #dfdce4;
}

.metrics-figma-page .metrics-period-panel-header {
  display: flex;
  align-items: center;
  padding: 24px;
}

.metrics-figma-page .metrics-period-panel-header h3 {
  margin: 0;
  color: #231f20;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-ranking-widget .metrics-compare-panels > .metrics-period-panel:first-child > .metrics-period-panel-header,
.metrics-figma-page .metrics-urls-widget .metrics-compare-panels > .metrics-period-panel:first-child > .metrics-period-panel-header {
  background: #d5ccea;
}

.metrics-figma-page .metrics-ranking-widget .metrics-compare-panels > .metrics-period-panel:last-child > .metrics-period-panel-header,
.metrics-figma-page .metrics-urls-widget .metrics-compare-panels > .metrics-period-panel:last-child > .metrics-period-panel-header {
  background: #afc1de;
}

.metrics-figma-page .metrics-product-list {
  display: grid;
  gap: 0;
  padding: 0 24px 24px;
}

.metrics-figma-page .metrics-product-list-row {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  border-top: 1px solid #efedf3;
}

.metrics-figma-page .metrics-product-list-row:first-child {
  border-top: 1px solid #dfdce4;
}

.metrics-figma-page .metrics-product-list-thumb {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  border: 1px solid #e9e8ed;
  background: #fff;
}

.metrics-figma-page .metrics-product-list-copy {
  display: grid;
  gap: 6px;
}

.metrics-figma-page .metrics-product-list-chip {
  min-height: 35px;
  padding: 8px 12px;
  white-space: nowrap;
}

.metrics-figma-page .metrics-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.metrics-figma-page .metrics-kpi-card {
  display: grid;
  gap: 16px;
  min-height: 200px;
  padding: 24px;
  border: 1px solid #e9e8ed;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--ch-shadow-soft);
}

.metrics-figma-page .metrics-kpi-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.metrics-figma-page .metrics-kpi-head h2 {
  margin: 0;
  color: #231f20;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-kpi-copy {
  min-height: 34px;
  margin: 0;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-kpi-divider {
  width: 128px;
  height: 1px;
  background: #e9e8ed;
}

.metrics-figma-page .metrics-kpi-value-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.metrics-figma-page .metrics-kpi-value-row strong {
  color: #231f20;
  font-family: "Instrument Sans", "Segoe UI", sans-serif;
  font-size: 39px;
  font-weight: 400;
  line-height: 1.2;
}

.metrics-figma-page .metrics-kpi-card.is-positive .metrics-kpi-value-row strong {
  color: #205037;
}

.metrics-figma-page .metrics-kpi-card.is-negative .metrics-kpi-value-row strong {
  color: #bc5957;
}

.metrics-figma-page .metrics-kpi-trend {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-kpi-trend.is-positive {
  background: #ccebda;
  color: #205037;
}

.metrics-figma-page .metrics-kpi-trend.is-negative {
  background: #ebcccc;
  color: #8b3937;
}

.metrics-figma-page .metrics-charts-grid,
.metrics-figma-page .metrics-rankings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 24px;
}

.metrics-figma-page .metrics-chart-widget {
  overflow: hidden;
}

.metrics-figma-page .metrics-chart-widget .dashboard-widget-header {
  display: grid;
  gap: 6px;
  padding: 24px 24px 0;
}

.metrics-figma-page .metrics-chart-widget .dashboard-widget-header p {
  margin: 0;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-chart-wrap {
  padding: 24px 24px 0;
}

.metrics-figma-page .metrics-chart-canvas {
  display: block;
  width: 100%;
  height: 315px;
}

.metrics-figma-page .metrics-chart-footer {
  display: none;
  align-items: center;
  gap: 16px;
  padding: 24px;
}

.metrics-figma-page .metrics-chart-footer.is-visible {
  display: flex;
}

.metrics-figma-page .metrics-chart-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-chart-legend-line {
  width: 16px;
  height: 2px;
  border-radius: 16px;
}

.metrics-figma-page .metrics-chart-legend-line.is-current {
  background: #57bc86;
}

.metrics-figma-page .metrics-chart-legend-line.is-previous {
  background: #a491d4;
}

.metrics-figma-page .metrics-empty-state {
  display: grid;
  place-items: center;
  min-height: 339px;
  gap: 12px;
  padding: 24px;
  text-align: center;
}

.metrics-figma-page .metrics-empty-icon {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border: 1px solid #dfe7f3;
  border-radius: 50%;
  color: #7f9ed7;
  font-size: 24px;
  background: #f8fbff;
}

.metrics-figma-page .metrics-empty-state p {
  max-width: 340px;
  margin: 0;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-ranking-widget,
.metrics-figma-page .metrics-urls-widget {
  overflow: hidden;
}

.metrics-figma-page .metrics-ranking-header .dashboard-widget-header {
  display: grid;
  gap: 6px;
}

.metrics-figma-page .metrics-ranking-header .dashboard-widget-header p {
  margin: 0;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-search-box {
  padding: 0 24px 24px;
}

.metrics-figma-page .metrics-search-box input {
  width: 100%;
  min-height: 43px;
  padding: 10px 16px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  background: #fff;
  color: #231f20;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-ranking-table {
  display: grid;
}

.metrics-figma-page .metrics-ranking-head,
.metrics-figma-page .metrics-ranking-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 24px;
}

.metrics-figma-page .metrics-ranking-head {
  padding: 14px 24px;
  border-top: 1px solid #dfdce4;
  border-bottom: 1px solid #dfdce4;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-ranking-body {
  padding-bottom: 24px;
}

.metrics-figma-page .metrics-ranking-row {
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid #f1eff5;
}

.metrics-figma-page .metrics-ranking-label {
  min-width: 0;
  color: #231f20;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-ranking-value {
  position: relative;
  display: flex;
  min-height: 19px;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
}

.metrics-figma-page .metrics-ranking-bar {
  position: absolute;
  left: 0;
  top: 50%;
  height: 19px;
  min-width: 18px;
  border-radius: 999px;
  background: #d5ccea;
  transform: translateY(-50%);
}

.metrics-figma-page .metrics-ranking-count {
  position: relative;
  z-index: 1;
  padding-left: 12px;
  color: #433e51;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-ranking-no-results {
  padding: 24px;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-url-panel-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 246px;
  gap: 32px;
  align-items: center;
  min-height: 483px;
  padding: 24px;
}

.metrics-figma-page .metrics-url-legend {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 32px;
}

.metrics-figma-page .metrics-url-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #433e51;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0.012em;
}

.metrics-figma-page .metrics-url-legend-dot {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  border-radius: 40px;
}

.metrics-figma-page .metrics-url-pie {
  width: 246px;
  height: 246px;
  margin-left: auto;
  border-radius: 50%;
  background: conic-gradient(#e9e8ed 0deg 360deg);
}

@media (max-width: 1380px) {
  .metrics-figma-page .metrics-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .metrics-figma-page .metrics-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1180px) {
  .metrics-figma-page .metrics-top-grid,
  .metrics-figma-page .metrics-charts-grid,
  .metrics-figma-page .metrics-rankings-grid {
    grid-template-columns: 1fr;
  }

  .metrics-figma-page .metrics-filter-body {
    grid-template-columns: 1fr;
  }

  .metrics-figma-page .metrics-filter-divider {
    display: none;
  }

  .metrics-figma-page .metrics-compare-panels {
    grid-template-columns: 1fr;
  }

  .metrics-figma-page .metrics-period-panel + .metrics-period-panel {
    border-left: 0;
    border-top: 1px solid #dfdce4;
  }
}

@media (max-width: 960px) {
  .metrics-figma-page .metrics-filter-custom,
  .metrics-figma-page .metrics-ranking-head,
  .metrics-figma-page .metrics-ranking-row,
  .metrics-figma-page .metrics-url-panel-body,
  .metrics-figma-page .metrics-url-legend {
    grid-template-columns: 1fr;
  }

  .metrics-figma-page .metrics-share-link-row {
    grid-template-columns: 1fr;
  }

  .metrics-figma-page .metrics-share-link-row input,
  .metrics-figma-page .metrics-share-copy-btn {
    border-radius: 8px;
  }

  .metrics-figma-page .metrics-url-pie {
    margin-right: auto;
  }

  .metrics-figma-page .metrics-ranking-value {
    justify-content: flex-start;
  }

  .metrics-figma-page .metrics-ranking-count {
    padding-left: 0;
    padding-right: 12px;
  }
}

@media (max-width: 720px) {
  .metrics-figma-page .metrics-products-grid,
  .metrics-figma-page .metrics-kpi-grid {
    grid-template-columns: 1fr;
  }

  .metrics-figma-page .metrics-products-header,
  .metrics-figma-page .metrics-ranking-header,
  .metrics-figma-page .metrics-period-panel-header,
  .metrics-figma-page .metrics-chart-wrap,
  .metrics-figma-page .metrics-chart-footer,
  .metrics-figma-page .metrics-search-box,
  .metrics-figma-page .metrics-url-panel-body,
  .metrics-figma-page .metrics-share-body,
  .metrics-figma-page .metrics-filter-body,
  .metrics-figma-page .metrics-products-grid,
  .metrics-figma-page .metrics-product-list,
  .metrics-figma-page .metrics-chart-widget .dashboard-widget-header {
    padding-left: 16px;
    padding-right: 16px;
  }

  .metrics-figma-page .metrics-product-thumb-wrap {
    min-height: 220px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .metrics-figma-page .metrics-product-list-row {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .metrics-figma-page .metrics-product-list-chip {
    grid-column: 1 / -1;
    justify-self: flex-start;
  }

  .metrics-figma-page .metrics-chart-canvas {
    height: 280px;
  }
}

.app-page-upgrade .upgrade-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.app-page-upgrade .plan-card {
  height: 100%;
}

.app-page-upgrade .settings-section-heading h2 {
  color: #231f20;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 39px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0;
}

.plan-card-tax {
  margin: -6px 0 0;
  color: #433e51;
  font-size: 14px;
  line-height: 1.44;
  font-weight: 300;
}

.plan-card-note {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  color: #433e51;
  font-size: 14px;
  line-height: 1.44;
  font-weight: 600;
}

@media (max-width: 1240px) {
  .app-page-upgrade .upgrade-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .app-page-upgrade .upgrade-grid {
    grid-template-columns: 1fr;
  }

  .app-page-upgrade .settings-section-heading h2 {
    font-size: 32px;
  }
}

.settings-figma-page .settings-figma-shell {
  display: grid;
}

.settings-figma-page .settings-figma-card {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
  border: 1px solid #dfdce4;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 20px 48px -32px rgba(35, 31, 32, 0.32);
}

.settings-figma-page .settings-figma-panel {
  min-width: 0;
  padding: 24px;
}

.settings-figma-page .settings-figma-form-panel {
  display: grid;
  gap: 24px;
  border-right: 1px solid #dfdce4;
}

.settings-figma-page .settings-figma-preview-panel {
  display: grid;
  gap: 16px;
  align-content: start;
}

.settings-figma-page .settings-installation-panel {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border: 1px solid #dfdce4;
  border-radius: 10px;
  background: #faf9fd;
}

.settings-figma-page .settings-installation-panel h3 {
  margin: 0;
  color: #231f20;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0.01em;
}

.settings-figma-page .settings-installation-panel p {
  margin: 0;
  color: #433e51;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 400;
}

.settings-figma-page .settings-installation-panel a {
  color: #7558bc;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  word-break: break-all;
}

.settings-figma-page .settings-installation-upgrade {
  justify-self: start;
}

.settings-figma-page .settings-figma-heading h2 {
  margin: 0;
  color: #231f20;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 29px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0.012em;
}

.settings-figma-page .settings-figma-section {
  display: grid;
  gap: 20px;
}

.settings-figma-page .settings-figma-section-title {
  display: flex;
  align-items: center;
  gap: 24px;
}

.settings-figma-page .settings-figma-section-title span {
  flex: 0 0 auto;
  color: #433e51;
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0.012em;
}

.settings-figma-page .settings-figma-section-title i {
  flex: 1 1 auto;
  height: 1px;
  background: #e9e8ed;
}

.settings-figma-page .settings-figma-form-panel label {
  margin-bottom: 0;
  color: #231f20;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: 0.012em;
}

.settings-figma-page .settings-figma-form-panel input:not(.settings-check-box):not([type="color"]),
.settings-figma-page .settings-figma-form-panel select,
.settings-figma-page .settings-figma-form-panel textarea {
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  background: #fff;
  color: #433e51;
  font-family: "Albert Sans", "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.44;
  font-weight: 300;
  letter-spacing: 0.012em;
}

.settings-figma-page .settings-figma-form-panel input:not(.settings-check-box):not([type="color"]),
.settings-figma-page .settings-figma-form-panel select {
  min-height: 40px;
  padding: 10px 16px;
}

.settings-figma-page .settings-figma-form-panel textarea {
  min-height: 300px;
  padding: 12px 16px;
}

.settings-figma-page .settings-figma-form-panel input::placeholder,
.settings-figma-page .settings-figma-form-panel textarea::placeholder {
  color: #9a95a6;
}

.settings-figma-page .settings-field-help {
  margin: 4px 0 0;
  color: #433e51;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 300;
  letter-spacing: 0;
}

.settings-figma-page .settings-logo-field {
  display: grid;
  gap: 8px;
}

.settings-figma-page .settings-logo-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

.settings-figma-page .settings-logo-badge {
  display: grid;
  width: 120px;
  height: 120px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #d9d9d9;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff 0%, #faf9fd 100%);
  color: #3152f0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.settings-figma-page .settings-logo-badge img {
  display: block;
  max-width: calc(100% - 24px);
  max-height: calc(100% - 24px);
  width: auto;
  height: auto;
  object-fit: contain;
}

.settings-figma-page .settings-logo-badge span {
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 48px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.settings-figma-page .settings-logo-meta {
  display: grid;
  gap: 8px;
}

.settings-figma-page .settings-logo-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.settings-figma-page .settings-logo-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 12px;
  border: 1px solid #dfdce4;
  border-radius: 8px;
  background: #fff;
  color: #7558bc;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0.012em;
  user-select: none;
  cursor: pointer;
  appearance: none;
  font: inherit;
  text-decoration: none;
}

.settings-figma-page .settings-logo-action.is-primary {
  border-color: #7558bc;
  background: #7558bc;
  color: #fff;
}

.settings-figma-page .settings-logo-action:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.settings-figma-page .settings-logo-specs {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  color: #433e51;
  font-size: 14px;
  line-height: 1.44;
  font-weight: 300;
  letter-spacing: 0.012em;
}

.settings-figma-page .settings-logo-specs i {
  width: 1px;
  height: 16px;
  background: #e9e8ed;
}

.settings-figma-page .settings-color-control {
  display: flex;
  align-items: center;
  gap: 12px;
}

.settings-figma-page .settings-color-control input[type="text"] {
  flex: 1 1 auto;
}

.settings-figma-page .settings-color-control input[type="color"] {
  flex: 0 0 auto;
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  padding: 0;
  border: 0;
  border-radius: 3px;
  background: transparent;
  cursor: pointer;
  overflow: hidden;
}

.settings-figma-page .settings-color-control input[type="color"]::-webkit-color-swatch-wrapper {
  padding: 0;
}

.settings-figma-page .settings-color-control input[type="color"]::-webkit-color-swatch {
  border: 0;
  border-radius: 3px;
}

.settings-figma-page .settings-check-row {
  display: grid;
  gap: 4px;
  width: 100%;
  margin: 0;
}

.settings-figma-page .settings-check-row.is-disabled {
  opacity: 0.72;
}

.settings-figma-page .settings-check-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.settings-figma-page .settings-check-head > span:last-child {
  color: #231f20;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: 0.012em;
}

.settings-figma-page .settings-check-box {
  flex: 0 0 auto;
  width: 16px;
  min-width: 16px;
  height: 16px;
  min-height: 16px;
  margin: 2px 0 0;
  padding: 0;
  border-radius: 4px;
  accent-color: #7558bc;
}

.settings-figma-page .settings-check-help {
  padding-left: 28px;
  color: #433e51;
  font-size: 16px;
  line-height: 1.44;
  font-weight: 300;
  letter-spacing: 0.012em;
}

.settings-figma-page .settings-figma-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.settings-figma-page .settings-figma-actions .btn.primary {
  min-height: 42px;
  padding: 11px 14px;
  border-radius: 8px;
  box-shadow: none;
}

.settings-figma-page .settings-preview-stage {
  --settings-preview-header: #7558bc;
  --settings-preview-accent: #7558bc;
  min-height: 732px;
  padding: 22px;
  border-radius: 8px;
  background: #f4f4f6;
  display: grid;
  overflow: hidden;
}

.settings-figma-page .settings-preview-centered,
.settings-figma-page .settings-preview-floating {
  min-height: 100%;
}

.settings-figma-page .settings-preview-centered {
  display: grid;
  place-items: center;
}

.settings-figma-page .settings-preview-window {
  width: 90%;
  border-radius: 22px;
  background: linear-gradient(180deg, var(--settings-preview-header) 0px, #ededed 20px, #f8f8f8 44px, #ffffff 84px);
  overflow: hidden;
  box-shadow: 0 28px 48px -32px rgba(35, 31, 32, 0.42);
}

.settings-figma-page .settings-preview-window-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 14px 10px;
  color: #212121;
  background: transparent;
  border-bottom: 1px solid #dddddd;
}

.settings-figma-page .settings-preview-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.settings-figma-page .settings-preview-brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  flex: 0 0 35px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.46);
  font-family: "Aldrich", "Instrument Sans", sans-serif;
  font-size: 16px;
  line-height: 1;
  overflow: hidden;
}

.settings-figma-page .settings-preview-brand-logo {
  display: block;
  max-width: 35px;
  max-height: 35px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.settings-figma-page .settings-preview-brand-copy {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.settings-figma-page .settings-preview-brand-copy strong,
.settings-figma-page .settings-preview-brand-copy span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-figma-page .settings-preview-brand-copy strong {
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
  color: #212121;
}

.settings-figma-page .settings-preview-brand-copy span {
  font-size: 11px;
  line-height: 1.2;
  color: #767676;
  display:none;
}

.settings-figma-page .settings-preview-close {
  flex: 0 0 auto;
  color: #474747;
  font-size: 20px;
  line-height: 1;
  opacity: 0.9;
}

.settings-figma-page .settings-preview-window-body {
  display: grid;
  gap: 14px;
  padding: 12px 15px 16px;
  background: #fff;
}

.settings-figma-page .settings-preview-message {
  max-width: 86%;
  padding: 10px 14px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.44;
  font-weight: 400;
  border: 1px solid #e6e6e6;
}

.settings-figma-page .settings-preview-message p {
  margin: 0;
}

.settings-figma-page .settings-preview-message.assistant {
  justify-self: start;
  background: #fff;
  color: #231f20;
  border-top-left-radius: 0;
}

.settings-figma-page .settings-preview-message.user {
  justify-self: end;
  background: var(--settings-preview-accent);
  color: #fff;
  border-color: transparent;
  border-top-right-radius: 0;
  border-top-left-radius: 14px;
}

.settings-figma-page .settings-preview-inputbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid #eaeaea;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 20px -18px rgba(35, 31, 32, 0.32);
}

.settings-figma-page .settings-preview-inputbar span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #646464;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 400;
}

.settings-figma-page .settings-preview-inputbar i {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #7b7b7b;
  position: relative;
}

.settings-figma-page .settings-preview-inputbar i::before {
  content: "↑";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 14px;
  line-height: 1;
}

.settings-figma-page .settings-preview-floating {
  display: grid;
  align-content: end;
  gap: 28px;
}

.settings-figma-page .settings-preview-floating-prompts {
  display: grid;
  justify-items: end;
  gap: 8px;
  padding-top: 120px;
}

.settings-figma-page .settings-preview-floating-prompts span {
  display: inline-flex;
  align-items: center;
  max-width: min(100%, 270px);
  padding: 12px 16px;
  border: 1px solid #eaeaea;
  border-radius: 16px 16px 2px 16px;
  background: #fff;
  color: #231f20;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 400;
  box-shadow: 0 1px 4px rgba(12, 12, 13, 0.05);
}

.settings-figma-page .settings-preview-launcher {
  width: min(100%, 440px);
  margin: 0 auto;
  padding: 10px;
  border-radius: 20px;
  background:
    radial-gradient(120px 18px at 50% 0%, rgba(123, 123, 123, 0.24), rgba(123, 123, 123, 0)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.98));
  box-shadow: 0 22px 48px -36px rgba(35, 31, 32, 0.42);
}

.settings-figma-page .settings-preview-launcher-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.settings-figma-page .settings-preview-launcher-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(0, 0, 0, 0.64);
  font-family: "Instrument Sans", "Albert Sans", sans-serif;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 500;
}

.settings-figma-page .settings-preview-launcher-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--settings-preview-accent);
}

.settings-figma-page .settings-preview-launcher-expand {
  color: rgba(0, 0, 0, 0.72);
  font-size: 14px;
  line-height: 1;
}

.settings-figma-page .settings-preview-launcher-input {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
  padding: 12px 16px;
  border: 1px solid #eaeaea;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

.settings-figma-page .settings-preview-launcher-input > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #646464;
  font-family: "Instrument Sans", "Albert Sans", sans-serif;
  font-size: 19px;
  line-height: 1.1;
  font-weight: 400;
}

.settings-figma-page .settings-preview-launcher-tools {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex: 0 0 auto;
}

.settings-figma-page .settings-preview-launcher-tools i,
.settings-figma-page .settings-preview-launcher-tools b {
  display: inline-block;
}

.settings-figma-page .settings-preview-launcher-tools i {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 1.5px solid #7b7b7b;
}

.settings-figma-page .settings-preview-launcher-tools i + i {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: transparent;
}

.settings-figma-page .settings-preview-launcher-tools b {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #7b7b7b;
  position: relative;
}

.settings-figma-page .settings-preview-launcher-tools b::before {
  content: "↑";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 14px;
  line-height: 1;
}

.settings-figma-page .settings-preview-launcher-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding-top: 8px;
  color: rgba(0, 0, 0, 0.64);
  font-family: "Instrument Sans", "Albert Sans", sans-serif;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 500;
}

.settings-figma-page .settings-preview-launcher-footer strong {
  color: #7558bc;
  font-weight: 600;
}

.settings-figma-page .settings-voice-section.is-locked {
  opacity: 0.8;
}

.settings-figma-page .settings-voice-lock-help {
  margin-top: -8px;
}

.settings-figma-page .settings-voice-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.settings-figma-page .settings-voice-controls.is-disabled {
  opacity: 0.68;
}

.settings-figma-page .settings-voice-preview-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  background: #fff;
  color: #7558bc;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.settings-figma-page .settings-voice-preview-btn span {
  font-size: 16px;
  line-height: 1;
  transform: translateX(1px);
}

.settings-figma-page .settings-voice-preview-btn:hover:not(:disabled) {
  border-color: #7558bc;
  background: #f8f4ff;
}

.settings-figma-page .settings-voice-preview-btn:disabled {
  cursor: not-allowed;
  color: #9a95a6;
  background: #f3f3f5;
}

.settings-figma-page .settings-voice-preview-btn.is-loading {
  opacity: 0.75;
  pointer-events: none;
}

@media (max-width: 1240px) {
  .settings-figma-page .settings-figma-card {
    grid-template-columns: 1fr;
  }

  .settings-figma-page .settings-figma-form-panel {
    border-right: 0;
    border-bottom: 1px solid #dfdce4;
  }
}

@media (max-width: 760px) {
  .settings-figma-page .settings-figma-panel {
    padding: 20px 16px;
  }

  .settings-figma-page .settings-logo-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .settings-figma-page .settings-logo-meta,
  .settings-figma-page .settings-logo-actions {
    width: 100%;
  }

  .settings-figma-page .settings-color-control {
    gap: 10px;
  }

  .settings-figma-page .settings-preview-stage {
    min-height: 560px;
    padding: 16px;
  }

  .settings-figma-page .settings-preview-window {
    width: 90%;
  }

  .settings-figma-page .settings-preview-floating-prompts {
    justify-items: stretch;
    padding-top: 48px;
  }

  .settings-figma-page .settings-preview-floating-prompts span {
    max-width: 100%;
  }

  .settings-figma-page .settings-preview-launcher {
    width: 100%;
  }

  .settings-figma-page .settings-preview-launcher-input > span {
    font-size: 16px;
  }

  .settings-figma-page .settings-voice-controls {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .settings-figma-page .settings-voice-preview-btn {
    width: 100%;
  }
}

/* Password Recovery Styles */
.auth-forgot-link {
  display: block;
  text-align: center;
  color: var(--ch-brand);
  font-size: 14px;
  text-decoration: none;
  margin-bottom: 8px;
  transition: color 0.2s ease;
}

.auth-forgot-link:hover {
  color: var(--ch-brand-dark);
  text-decoration: underline;
}

.auth-forgot-password-form,
.auth-reset-password-form {
  max-width: 400px;
}

.auth-success-message {
  background: #f0fdf4;
  border: 1px solid #dcfce7;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 20px;
}

.auth-success-message p {
  margin: 0 0 8px 0;
  color: #166534;
  font-size: 15px;
  line-height: 1.5;
}

.auth-success-note {
  margin: 0;
  color: #15803d;
  font-size: 14px;
  font-style: italic;
}

.auth-error-message {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 20px;
}

.auth-error-message p {
  margin: 0;
  color: #991b1b;
  font-size: 15px;
  line-height: 1.5;
}

.auth-card-forgot-password,
.auth-card-reset-password {
  border-radius: 16px;
}

.auth-card-forgot-password .auth-form-intro,
.auth-card-reset-password .auth-form-intro {
  justify-items: center;
  gap: 0;
  margin-bottom: 24px;
  text-align: center;
}

.auth-card-forgot-password h1,
.auth-card-reset-password h1 {
  font-size: 29px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0;
}

.auth-actions-forgot-password,
.auth-actions-reset-password {
  display: grid;
  gap: 12px;
  margin-top: 8px;
}

.auth-actions-forgot-password .btn.primary,
.auth-actions-reset-password .btn.primary {
  width: 100%;
  min-height: 48px;
  border-radius: 8px;
}

/* Auth Footer */
.auth-footer {
  margin-top: 24px;
  padding-top: 24px;
  padding-bottom: 24px;
  text-align: center;
}

.legal-links {
  display: flex;
  gap: 32px;
  justify-content: center;
  align-items: center;
}

.legal-links a {
  color: var(--ch-text-soft);
  font-size: 13px;
  text-decoration: none;
  transition: color 0.2s ease;
}

.legal-links a:hover {
  color: var(--ch-text);
  text-decoration: underline;
}

/* Align language switcher to right */
.auth-toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 30px;
}

.topbar-locale-form {
  margin-left: auto;
}
