:root {
  --bg: #070709;
  --panel: rgba(22, 22, 26, .78);
  --panel-2: rgba(255, 255, 255, .045);
  --panel-3: rgba(255, 255, 255, .068);
  --border: rgba(255, 255, 255, .105);
  --border-strong: rgba(231, 198, 111, .28);
  --text: #f6f0e5;
  --muted: #9e998f;
  --muted-2: #c9c0ae;
  --gold: #e8c76e;
  --gold-dark: #b8892d;
  --green: #23c26b;
  --blue: #38bdf8;
  --rose: #fb7185;
  --red: #ef4444;
  --warning: #f59e0b;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(1050px 480px at 12% -18%, rgba(232, 199, 110, .13), transparent 58%),
    radial-gradient(900px 430px at 100% 3%, rgba(251, 113, 133, .09), transparent 50%),
    linear-gradient(180deg, #111114 0%, #08080a 58%, #050506 100%);
}

button, input, select { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }

.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 26px;
  background:
    radial-gradient(600px 320px at 50% 34%, rgba(232,199,110,.10), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent);
}
.login-card {
  width: min(100%, 390px);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 30px;
  padding: 32px;
  background: linear-gradient(180deg, rgba(255,255,255,.072), rgba(255,255,255,.038));
  box-shadow: 0 32px 100px rgba(0,0,0,.56);
  backdrop-filter: blur(18px);
}
.login-brand { display: flex; justify-content: center; margin-bottom: 28px; }
.login-brand img { width: 178px; max-height: 66px; object-fit: contain; }
.login-card h1 {
  margin: 0 0 22px;
  text-align: center;
  font-size: 42px;
  line-height: 1;
  letter-spacing: -.065em;
}
.login-form { display: grid; gap: 12px; }
.login-input { height: 52px; background: #eef3fb; color: #101014; border-color: transparent; border-radius: 16px; }
.login-input::placeholder { color: #606776; }
.login-submit { height: 52px; margin-top: 2px; border-radius: 16px; }
.loader { border: 1px solid var(--border); background: var(--panel); border-radius: 22px; padding: 22px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 278px 1fr; }
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 26px 18px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  background: rgba(6,6,8,.73);
  backdrop-filter: blur(20px);
  border-right: 1px solid rgba(255,255,255,.09);
}
.sidebar-brand { display: grid; gap: 12px; padding: 6px 8px 16px; border-bottom: 1px solid rgba(255,255,255,.08); }
.sidebar-brand img { width: 205px; max-height: 58px; object-fit: contain; }
.sidebar-brand span { color: var(--muted); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 800; }
.nav-group { display: grid; gap: 8px; }
.nav-btn {
  border: 1px solid transparent;
  background: transparent;
  min-height: 48px;
  border-radius: 16px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  color: var(--muted-2);
  transition: .18s ease;
}
.nav-btn:hover, .nav-btn.active { color: var(--text); background: rgba(232,199,110,.09); border-color: rgba(232,199,110,.23); }
.sidebar-footer { margin-top: auto; display: grid; gap: 10px; }
.user-pill {
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 12px 13px;
  color: var(--muted-2);
  font-size: 12px;
  background: rgba(255,255,255,.04);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.main { min-width: 0; padding: 34px; }

.page-header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 24px;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(232,199,110,.27);
  background: rgba(232,199,110,.08);
  color: var(--gold);
  font-size: 11px;
  line-height: 1;
  letter-spacing: .14em;
  font-weight: 900;
}
.page-header h1 {
  margin: 12px 0 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .92;
  letter-spacing: -.07em;
}
.page-header p { margin: 8px 0 0; color: var(--muted); max-width: 650px; }

.btn-primary, .btn-secondary, .icon-btn {
  border: 1px solid var(--border);
  min-height: 44px;
  padding: 0 16px;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: rgba(255,255,255,.055);
  color: var(--text);
  cursor: pointer;
  transition: .18s ease;
}
.btn-primary { background: linear-gradient(135deg, #f1dc99, #c99634); color: #11100b; border-color: rgba(255,227,143,.45); font-weight: 900; }
.btn-secondary:hover, .icon-btn:hover, .btn-primary:hover { transform: translateY(-1px); filter: brightness(1.06); }
.btn-secondary.selected { background: rgba(232,199,110,.1); border-color: var(--border-strong); color: var(--gold); }
.icon-btn { width: 42px; padding: 0; }
.full-btn { width: 100%; }
.spin { animation: spin .9s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.kpi-card {
  min-height: 118px;
  padding: 19px;
  border-radius: 24px;
  border: 1px solid var(--border);
  background: linear-gradient(150deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
  box-shadow: 0 24px 70px rgba(0,0,0,.25);
  position: relative;
  overflow: hidden;
}
.kpi-card::after { content:""; position: absolute; width: 145px; height: 145px; border-radius: 999px; right: -48px; bottom: -70px; opacity: .12; background: currentColor; }
.kpi-card.gold { color: var(--gold); }
.kpi-card.green { color: var(--green); }
.kpi-card.blue { color: var(--blue); }
.kpi-card.rose { color: var(--rose); }
.kpi-card strong { display: block; margin-top: 14px; color: var(--text); font-size: 30px; letter-spacing: -.055em; line-height: 1; }
.kpi-top { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--muted-2); }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(340px, .72fr); gap: 18px; align-items: start; }
.panel, .app-card {
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.066), rgba(255,255,255,.035));
  box-shadow: 0 24px 80px rgba(0,0,0,.28);
  backdrop-filter: blur(16px);
  border-radius: 26px;
}
.panel { padding: 22px; }
.panel-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.panel-title-row h2 { margin: 0; font-size: 22px; letter-spacing: -.035em; }
.counter { border: 1px solid rgba(232,199,110,.22); background: rgba(232,199,110,.07); color: var(--gold); border-radius: 999px; padding: 5px 9px; font-size: 11px; font-weight: 900; }

.toolbar { display: grid; grid-template-columns: 1fr 190px auto; gap: 10px; margin-bottom: 16px; }
.search { position: relative; }
.search svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--muted); }
.input, .select {
  width: 100%;
  height: 46px;
  border: 1px solid var(--border);
  border-radius: 15px;
  padding: 0 14px;
  outline: none;
  background: rgba(255,255,255,.055);
  color: var(--text);
}
.search .input { padding-left: 44px; }
.select option { color: #111; }
label { display: block; color: var(--muted-2); font-weight: 800; font-size: 12px; margin-bottom: 7px; }

.app-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.app-card { padding: 17px; min-height: 172px; display: grid; gap: 11px; transition: .18s ease; }
.app-card:hover { transform: translateY(-2px); border-color: rgba(232,199,110,.24); background: rgba(255,255,255,.075); }
.app-card.disabled { opacity: .58; }
.app-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.app-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; border: 1px solid rgba(255,255,255,.09); }
.app-mark.gold { background: rgba(232,199,110,.13); color: var(--gold); }
.app-mark.green { background: rgba(35,194,107,.13); color: var(--green); }
.app-mark.blue { background: rgba(56,189,248,.13); color: var(--blue); }
.app-mark.rose { background: rgba(251,113,133,.13); color: var(--rose); }
.app-badges { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.app-badges span { border: 1px solid rgba(232,199,110,.18); color: var(--gold); background: rgba(232,199,110,.07); border-radius: 999px; padding: 4px 8px; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.app-card h3 { margin: 0; font-size: 17px; letter-spacing: -.025em; }
.app-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.35; min-height: 34px; }
.app-actions { display: flex; gap: 8px; margin-top: auto; }
.app-open { flex: 1; min-height: 40px; font-size: 13px; border-radius: 14px; }

.right-stack { display: grid; gap: 16px; }
.mini-panel { padding: 19px; }
.mini-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.mini-metrics div { border: 1px solid var(--border); border-radius: 16px; padding: 13px; background: rgba(255,255,255,.035); }
.mini-metrics span { display: block; color: var(--muted); font-size: 11px; }
.mini-metrics strong { display: block; margin-top: 5px; font-size: 17px; }
.chart-box { height: 205px; }
.quick-list, .status-list { display: grid; gap: 10px; }
.quick-list a, .status-list div {
  min-height: 48px;
  padding: 0 13px;
  border: 1px solid var(--border);
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255,255,255,.035);
  color: var(--muted-2);
  font-size: 13px;
}
.dot { width: 9px; height: 9px; border-radius: 50%; margin-right: 9px; display: inline-block; }
.dot.ok { background: var(--green); box-shadow: 0 0 0 5px rgba(35,194,107,.12); }
.dot.warn { background: var(--warning); box-shadow: 0 0 0 5px rgba(245,158,11,.12); }
.empty { min-height: 100%; border: 1px dashed var(--border); border-radius: 18px; display: grid; place-items: center; color: var(--muted); font-size: 13px; }

.admin-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.admin-form .full { grid-column: 1 / -1; }
.table-wrap { overflow-x: auto; margin-top: 20px; }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { border-bottom: 1px solid var(--border); padding: 13px 10px; text-align: left; font-size: 13px; }
.table th { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .09em; }
.row-actions { display: flex; justify-content: flex-end; gap: 8px; }
.error, .notice {
  border-radius: 15px;
  padding: 12px 14px;
  font-size: 13px;
  border: 1px solid rgba(239,68,68,.30);
  color: #fecaca;
  background: rgba(239,68,68,.10);
}
.notice { border-color: rgba(232,199,110,.30); color: #fde68a; background: rgba(232,199,110,.10); }
.slim { padding: 10px 12px; }
.compact-notice { margin-top: 12px; }
.toast {
  position: fixed;
  right: 24px;
  top: 24px;
  z-index: 100;
  border: 1px solid rgba(35,194,107,.28);
  background: rgba(18, 45, 31, .92);
  color: #dcfce7;
  border-radius: 17px;
  padding: 13px 14px;
  box-shadow: 0 24px 70px rgba(0,0,0,.36);
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: min(520px, calc(100vw - 32px));
}
.toast.error { border-color: rgba(239,68,68,.35); background: rgba(64, 20, 20, .92); color: #fee2e2; }
.toast button { border: 0; background: transparent; color: currentColor; cursor: pointer; padding: 2px; display: grid; place-items: center; }

@media (max-width: 1220px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; padding: 16px; flex-direction: row; align-items: center; flex-wrap: wrap; border-right: 0; border-bottom: 1px solid var(--border); }
  .sidebar-brand { border: 0; padding: 0; }
  .sidebar-brand img { width: 150px; }
  .sidebar-brand span { display: none; }
  .nav-group { grid-auto-flow: column; overflow: auto; }
  .sidebar-footer { margin-left: auto; margin-top: 0; display: flex; align-items: center; }
  .dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 920px) {
  .main { padding: 20px; }
  .kpi-grid, .app-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .toolbar { grid-template-columns: 1fr; }
  .page-header { flex-direction: column; }
}
@media (max-width: 620px) {
  .kpi-grid, .app-grid, .admin-form, .mini-metrics { grid-template-columns: 1fr; }
  .sidebar { align-items: stretch; }
  .nav-group, .sidebar-footer { width: 100%; grid-auto-flow: row; display: grid; margin-left: 0; }
  .page-header h1 { font-size: 42px; }
}

.goal-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 4px 0 10px;
  color: var(--muted-2);
  font-size: 13px;
}
.goal-line strong { color: var(--gold); font-size: 18px; }
.progress {
  height: 9px;
  border-radius: 99px;
  overflow: hidden;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.08);
  margin-bottom: 14px;
}
.progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--gold-dark), var(--gold));
  box-shadow: 0 0 24px rgba(232,199,110,.22);
}
.finance-mini .mini-metrics strong { font-size: 15px; }

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

.finance-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 15px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}

.finance-list span {
  color: var(--muted);
  font-size: 13px;
}

.finance-list strong {
  color: var(--text);
  font-size: 16px;
  white-space: nowrap;
}

.mini-link {
  border: 0;
  background: transparent;
  color: var(--gold);
  font-weight: 800;
  cursor: pointer;
  font-size: 12px;
  letter-spacing: .02em;
}
.quick-list, .system-list, .task-list, .system-table {
  display: grid;
  gap: 10px;
}
.quick-row, .task-row, .system-list > div, .system-table > div {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}
.quick-row strong, .task-row strong, .system-list strong, .system-table strong {
  display: block;
  color: var(--text);
  font-size: 14px;
}
.quick-row small, .task-row small, .system-table small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-top: 2px;
}
.system-list em, .system-table em {
  color: var(--muted-2);
  font-style: normal;
  font-size: 12px;
  text-align: right;
}
.dot.danger { background: #ef4444; box-shadow: 0 0 18px rgba(239,68,68,.35); }
.task-row.done { opacity: .55; }
.task-row.done strong { text-decoration: line-through; }
.ops-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr);
  gap: 18px;
}
.full-span { grid-column: 1 / -1; }
.inline-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(130px, 160px) minmax(130px, 160px) auto;
  gap: 10px;
  margin-bottom: 16px;
}
.inline-form > * {
  min-width: 0;
}
.inline-form .btn-primary {
  white-space: nowrap;
}
.system-form {
  grid-template-columns: minmax(160px, 1fr) minmax(126px, 150px) minmax(130px, .8fr) minmax(104px, auto);
}
@media (max-width: 1240px) {
  .system-form { grid-template-columns: 1fr 150px; }
  .system-form .btn-primary { grid-column: 1 / -1; }
}
.note-form {
  display: grid;
  gap: 12px;
}
.note-area {
  min-height: 130px;
  resize: vertical;
  padding-top: 14px;
  line-height: 1.5;
}
.tiny-select {
  min-width: 132px;
  height: 38px;
  padding: 0 12px;
  font-size: 12px;
}
.ops-quick .empty.compact {
  padding: 18px;
}
@media (max-width: 980px) {
  .ops-grid { grid-template-columns: 1fr; }
  .inline-form, .system-form { grid-template-columns: 1fr; }
  .system-form .btn-primary { grid-column: auto; }
}

.auto-refresh-pill {
  min-height: 38px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.095);
  background: rgba(255,255,255,.042);
  color: var(--muted-2);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  white-space: nowrap;
}
.auto-refresh-pill svg { color: var(--green); }
.auto-refresh-pill strong { color: var(--gold); font-size: 12px; }
.status-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
}
.small-icon {
  width: 38px;
  min-height: 38px;
  border-radius: 13px;
}
.system-table > div {
  grid-template-columns: auto minmax(150px, 1fr) minmax(100px, .7fr) auto;
}
@media (max-width: 720px) {
  .auto-refresh-pill { align-self: flex-start; }
  .system-table > div { grid-template-columns: auto 1fr; }
  .status-actions { grid-column: 1 / -1; justify-content: stretch; }
  .status-actions .tiny-select { flex: 1; }
}

.orders-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .55fr);
  gap: 18px;
}
.orders-kpis {
  grid-column: 1 / -1;
  margin-bottom: 0;
}
.orders-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 10px;
}
.orders-form .btn-primary {
  min-width: 140px;
}
.orders-table td, .orders-table th {
  white-space: nowrap;
}
.orders-mini .finance-list strong {
  font-size: 15px;
}
@media (max-width: 1040px) {
  .orders-layout { grid-template-columns: 1fr; }
  .orders-form { grid-template-columns: 1fr 1fr; }
  .orders-form .btn-primary { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .orders-form { grid-template-columns: 1fr; }
}

.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 86px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(227, 195, 111, 0.24);
  background: rgba(227, 195, 111, 0.08);
  color: #f3df9f;
  font-weight: 900;
  font-size: 0.88rem;
}
.status-pill.paid {
  border-color: rgba(52, 211, 153, 0.24);
  background: rgba(52, 211, 153, 0.10);
  color: #c9f7e3;
}

.period-fields {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.commission-panel {
  min-height: 100%;
}

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

.commission-grid > div {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  padding: 13px 14px;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}

.commission-grid span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 5px;
}

.commission-grid strong {
  display: block;
  color: var(--text);
  font-size: 15px;
  letter-spacing: -.02em;
}

.muted-line {
  display: block;
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 720px) {
  .period-fields,
  .commission-grid { grid-template-columns: 1fr; }
}
.danger-text { color: #fca5a5; }

.commission-cycles-panel {
  grid-column: 1 / -1;
}

.commission-table th,
.commission-table td {
  white-space: nowrap;
}

.status-pill.compact {
  min-width: 0;
  padding: 7px 11px;
  font-size: 0.76rem;
}

.status-pill.warn {
  border-color: rgba(227, 195, 111, 0.26);
  background: rgba(227, 195, 111, 0.10);
  color: #f5dc93;
}

.status-pill.danger {
  border-color: rgba(248, 113, 113, 0.24);
  background: rgba(248, 113, 113, 0.10);
  color: #fecaca;
}

.tiny-action {
  min-height: 34px;
  padding: 0 13px;
  font-size: 0.78rem;
  border-radius: 12px;
}

.muted-table {
  color: var(--muted);
}

/* Financeiro integrado */
.finance-page-grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.finance-page-grid .full-span { grid-column: 1 / -1; }
.finance-page-grid .finance-kpis { margin-bottom: 0; }
.finance-actions .panel-title-row { margin-bottom: 0; }
.account-list { gap: 10px; }
.finance-table-wrap { margin-top: 0; }
.finance-table th, .finance-table td { white-space: nowrap; }
.finance-table td:nth-child(3) { white-space: normal; min-width: 220px; }
.compact-table th:nth-child(3), .compact-table td:nth-child(3) { display: none; }
.positive-value { color: #bdf8d5; font-weight: 900; }
.negative-value { color: #ff9aa6; font-weight: 900; }
.status-pill.compact {
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 900;
  border: 1px solid var(--border);
}
.status-pill.paid { background: rgba(35,194,107,.14); border-color: rgba(35,194,107,.28); color: #bdf8d5; }
.status-pill.warn { background: rgba(232,199,110,.10); border-color: rgba(232,199,110,.26); color: var(--gold); }
.status-pill.danger { background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.25); color: #fecaca; }
@media (max-width: 1180px) {
  .finance-page-grid { grid-template-columns: 1fr; }
}

/* Financeiro v23 */
.finance-toolbar {
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}
.finance-period-fields {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(320px, 1.2fr);
  gap: 12px;
  align-items: end;
}
.quick-periods {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.finance-mini-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}
.finance-mini-grid > div {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 13px 14px;
  background: rgba(255,255,255,.035);
}
.finance-mini-grid span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 6px;
}
.finance-mini-grid strong {
  color: var(--text);
  font-size: 17px;
  letter-spacing: -.02em;
}
.finance-highlight-panel .finance-list > div {
  min-height: 66px;
}
.finance-filter-row {
  margin-bottom: 12px;
}
.source-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  color: var(--gold);
  border: 1px solid rgba(227,195,111,.23);
  background: rgba(227,195,111,.08);
  white-space: nowrap;
}
@media (max-width: 1180px) {
  .finance-period-fields,
  .finance-mini-grid { grid-template-columns: 1fr; }
  .quick-periods { grid-template-columns: 1fr; }
}

/* Financeiro v24 — contraste, acabamento e tema claro */
.panel-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.finance-filter-row.chip-row,
.chip-row.finance-filter-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.chip {
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.045);
  color: var(--muted-2);
  cursor: pointer;
  font-size: 12px;
  font-weight: 850;
  transition: .16s ease;
}
.chip:hover {
  color: var(--text);
  border-color: rgba(232,199,110,.25);
  background: rgba(232,199,110,.075);
}
.chip.active {
  color: #15120a;
  border-color: rgba(245,215,132,.55);
  background: linear-gradient(135deg, #f3dda0, #c99634);
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}
.finance-actions-compact {
  padding: 18px 20px;
}
.compact-mini-grid {
  margin-top: 12px;
}
.finance-queue-panel {
  min-height: 0;
}
.finance-queue-panel .table-wrap {
  margin-top: 10px;
}
.finance-queue-panel .table td {
  padding-top: 11px;
  padding-bottom: 11px;
}
.traffic-compact-panel .finance-list > div {
  min-height: 56px;
}
.theme-toggle {
  justify-content: center;
}

body.theme-light {
  --bg: #f4efe5;
  --panel: rgba(255,255,255,.82);
  --panel-2: rgba(20,18,14,.045);
  --panel-3: rgba(20,18,14,.068);
  --border: rgba(38,31,20,.13);
  --border-strong: rgba(184,137,45,.30);
  --text: #18150f;
  --muted: #756d60;
  --muted-2: #4f473a;
  --gold: #9a6c1d;
  --gold-dark: #7e5414;
  --green: #087f47;
  --blue: #0369a1;
  --rose: #be123c;
  --red: #b91c1c;
  --warning: #b45309;
  background:
    radial-gradient(900px 420px at 10% -10%, rgba(184,137,45,.16), transparent 60%),
    radial-gradient(820px 380px at 100% 0%, rgba(190,18,60,.07), transparent 54%),
    linear-gradient(180deg, #fbf7ef 0%, #f1eadf 58%, #e8dfd2 100%);
}
body.theme-light html { background: var(--bg); }
body.theme-light .login-page {
  background:
    radial-gradient(600px 320px at 50% 34%, rgba(184,137,45,.12), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.6), transparent);
}
body.theme-light .login-card,
body.theme-light .panel,
body.theme-light .app-card,
body.theme-light .kpi-card,
body.theme-light .finance-toolbar {
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.62));
  border-color: rgba(38,31,20,.13);
  box-shadow: 0 24px 70px rgba(56,43,24,.13);
}
body.theme-light .sidebar {
  background: rgba(253,249,241,.82);
  border-right-color: rgba(38,31,20,.12);
}
body.theme-light .sidebar-brand,
body.theme-light .table th,
body.theme-light .table td,
body.theme-light .quick-list a,
body.theme-light .status-list div,
body.theme-light .finance-list > div,
body.theme-light .finance-mini-grid > div {
  border-color: rgba(38,31,20,.11);
}
body.theme-light .btn-secondary,
body.theme-light .icon-btn,
body.theme-light .input,
body.theme-light .select,
body.theme-light .auto-refresh-pill,
body.theme-light .user-pill,
body.theme-light .finance-mini-grid > div,
body.theme-light .finance-list > div,
body.theme-light .quick-list a,
body.theme-light .status-list div,
body.theme-light .chip {
  background: rgba(255,255,255,.62);
  color: var(--text);
  border-color: rgba(38,31,20,.13);
}
body.theme-light .btn-secondary:hover,
body.theme-light .icon-btn:hover,
body.theme-light .chip:hover {
  background: rgba(184,137,45,.10);
  border-color: rgba(184,137,45,.32);
}
body.theme-light .nav-btn:hover,
body.theme-light .nav-btn.active {
  color: var(--text);
  background: rgba(184,137,45,.12);
  border-color: rgba(184,137,45,.28);
}
body.theme-light .notice {
  color: #7c4a03;
  background: rgba(245,158,11,.12);
  border-color: rgba(180,83,9,.28);
}
body.theme-light .error {
  color: #991b1b;
  background: rgba(239,68,68,.09);
  border-color: rgba(185,28,28,.25);
}
body.theme-light .status-pill.paid {
  color: #05603a;
  background: rgba(5,150,105,.12);
  border-color: rgba(5,150,105,.25);
}
body.theme-light .status-pill.warn,
body.theme-light .source-pill,
body.theme-light .counter,
body.theme-light .eyebrow {
  color: var(--gold-dark);
  background: rgba(184,137,45,.09);
  border-color: rgba(184,137,45,.24);
}
body.theme-light .negative-value { color: #be123c; }
body.theme-light .positive-value { color: #087f47; }
body.theme-light .select option { color: #18150f; background: #fffaf2; }
body.theme-light .toast {
  background: rgba(236,253,245,.96);
  color: #065f46;
  box-shadow: 0 24px 70px rgba(56,43,24,.16);
}

@media (prefers-color-scheme: light) {
  body:not(.theme-light) {
    color-scheme: dark;
  }
}

.marketing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.marketing-card {
  border: 1px solid var(--border);
  background: var(--card-soft);
  border-radius: 22px;
  padding: 18px;
  min-height: 140px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
}

.marketing-card span {
  display: block;
  color: var(--muted);
  font-weight: 800;
  margin-bottom: 8px;
}

.marketing-card strong {
  color: var(--text);
  font-size: 28px;
  letter-spacing: -0.04em;
}

.marketing-card em {
  align-self: flex-start;
  font-style: normal;
  color: var(--gold-strong);
  border: 1px solid rgba(214, 177, 82, .28);
  background: rgba(214, 177, 82, .1);
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 900;
}

.marketing-card p {
  color: var(--muted);
  margin: 0;
}

.notice-line {
  margin-top: 18px;
  border: 1px solid rgba(214, 177, 82, .25);
  background: rgba(214, 177, 82, .08);
  color: var(--gold-strong);
  border-radius: 18px;
  padding: 14px 16px;
  font-weight: 800;
}

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

@media (max-width: 680px) {
  .marketing-grid { grid-template-columns: 1fr; }
}
.error-card { display: grid; gap: 14px; }
.error-detail { color: var(--muted-2); line-height: 1.5; text-align: center; margin: -8px 0 4px; }
body.theme-light .error-detail { color: #6b6257; }

/* Marketing v29 */
.marketing-period-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(360px, 1.4fr);
  gap: 12px;
  align-items: end;
  margin-top: 18px;
}
.marketing-period-form label span {
  display: block;
  font-size: 12px;
  font-weight: 900;
  color: var(--muted);
  margin: 0 0 8px;
}
.period-buttons {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.mini-table {
  display: grid;
  gap: 8px;
}
.mini-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) .65fr .45fr;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(255,255,255,.035);
}
.mini-row.head {
  border-color: transparent;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding-bottom: 4px;
}
.mini-row span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mini-row strong {
  color: var(--text);
  font-weight: 900;
  text-align: right;
}
.empty-line {
  border: 1px dashed var(--border);
  border-radius: 16px;
  color: var(--muted);
  padding: 18px;
  text-align: center;
}
body.theme-light .mini-row {
  background: rgba(255,255,255,.72);
}
@media (max-width: 1180px) {
  .marketing-period-form { grid-template-columns: 1fr; }
  .period-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .period-buttons { grid-template-columns: 1fr; }
  .mini-row { grid-template-columns: 1fr; }
  .mini-row strong { text-align: left; }
}

/* Marketing v30 - leitura executiva e validação dos dados */
.marketing-dashboard {
  align-items: start;
}
.marketing-hero-panel .panel-title-row {
  align-items: flex-start;
}
.panel-subtitle {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}
.status-pill {
  align-self: flex-start;
  border-radius: 999px;
  padding: 8px 12px;
  border: 1px solid var(--border);
  font-weight: 900;
  font-size: 12px;
  white-space: nowrap;
}
.status-pill.ok {
  color: #5de091;
  border-color: rgba(93,224,145,.22);
  background: rgba(13,145,80,.11);
}
.status-pill.warn {
  color: var(--gold-strong);
  border-color: rgba(214,177,82,.25);
  background: rgba(214,177,82,.09);
}
.executive-marketing-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.marketing-card.metric-gold { background: linear-gradient(145deg, rgba(214,177,82,.14), rgba(255,255,255,.025)); }
.marketing-card.metric-green { background: linear-gradient(145deg, rgba(34,197,94,.12), rgba(255,255,255,.025)); }
.marketing-card.metric-blue { background: linear-gradient(145deg, rgba(56,189,248,.11), rgba(255,255,255,.025)); }
.marketing-card.metric-rose { background: linear-gradient(145deg, rgba(244,114,182,.10), rgba(255,255,255,.025)); }
.marketing-card.metric-gold strong,
.marketing-card.metric-green strong,
.marketing-card.metric-blue strong,
.marketing-card.metric-rose strong {
  font-size: clamp(24px, 2vw, 34px);
}
.marketing-quality-strip {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.marketing-quality-strip > div {
  border: 1px solid var(--border);
  background: rgba(255,255,255,.035);
  border-radius: 16px;
  padding: 12px 14px;
}
.marketing-quality-strip span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 4px;
}
.marketing-quality-strip strong {
  color: var(--text);
  font-size: 14px;
}
.marketing-alert-panel,
.marketing-google-panel {
  min-height: 230px;
}
.wide-marketing-table .mini-row {
  grid-template-columns: minmax(240px, 1.6fr) .65fr .75fr .45fr .45fr .55fr;
}
.wide-marketing-table .mini-row strong {
  font-variant-numeric: tabular-nums;
}
body.theme-light .marketing-quality-strip > div,
body.theme-light .mini-row,
body.theme-light .marketing-card {
  background: rgba(255,255,255,.72);
}
body.theme-light .status-pill.ok {
  color: #047857;
  background: rgba(16,185,129,.10);
  border-color: rgba(16,185,129,.22);
}
@media (max-width: 1180px) {
  .executive-marketing-grid,
  .marketing-quality-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wide-marketing-table { overflow-x: auto; }
  .wide-marketing-table .mini-row { min-width: 980px; }
}
@media (max-width: 720px) {
  .executive-marketing-grid,
  .marketing-quality-strip { grid-template-columns: 1fr; }
}

/* Marketing v31 - tabelas alinhadas e métricas adicionais */
.marketing-grid.executive-marketing-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.table-scroll {
  width: 100%;
  overflow-x: auto;
  padding-bottom: 4px;
}
.marketing-data-table {
  display: grid;
  gap: 8px;
  min-width: 1180px;
}
.marketing-data-row {
  display: grid;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(255,255,255,.035);
}
.marketing-data-row.head {
  background: transparent;
  border-color: transparent;
  padding-top: 0;
  padding-bottom: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.marketing-data-row span,
.marketing-data-row strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.marketing-data-row strong {
  color: var(--text);
  font-weight: 900;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.meta-campaign-table .marketing-data-row {
  grid-template-columns: minmax(300px, 1.7fr) .7fr .8fr .55fr .65fr .7fr .55fr .55fr .65fr;
}
.meta-sales-table {
  min-width: 980px;
}
.meta-sales-table .marketing-data-row {
  grid-template-columns: minmax(340px, 1.8fr) .85fr .55fr .75fr .75fr .55fr;
}
.sales-report-note {
  margin: -4px 0 14px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
body.theme-light .marketing-data-row {
  background: rgba(255,255,255,.72);
}
@media (max-width: 1280px) {
  .marketing-grid.executive-marketing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .marketing-grid.executive-marketing-grid { grid-template-columns: 1fr; }
}

/* Marketing v32 - ajuste de filtros e tabelas sem rolagem horizontal no desktop */
.marketing-period-form {
  grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr);
  align-items: end;
}
.marketing-period-form .period-buttons {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 10px;
  margin-top: 2px;
}
.marketing-period-form .period-buttons .btn-secondary {
  min-height: 44px;
  padding: 10px 14px;
  line-height: 1.12;
}
.marketing-dashboard .table-scroll {
  overflow-x: visible;
  padding-bottom: 0;
}
.marketing-dashboard .marketing-data-table {
  min-width: 0;
  width: 100%;
  gap: 9px;
}
.marketing-dashboard .marketing-data-row {
  gap: 8px;
  padding: 11px 12px;
  border-radius: 15px;
}
.marketing-dashboard .marketing-data-row.head {
  padding-left: 12px;
  padding-right: 12px;
  font-size: 10px;
  letter-spacing: .07em;
}
.marketing-dashboard .marketing-data-row span,
.marketing-dashboard .marketing-data-row strong {
  font-size: 13px;
}
.marketing-dashboard .marketing-data-row strong {
  text-align: right;
}
.marketing-dashboard .meta-campaign-table .marketing-data-row {
  grid-template-columns:
    minmax(220px, 1.65fr)
    minmax(76px, .62fr)
    minmax(82px, .68fr)
    minmax(54px, .46fr)
    minmax(64px, .52fr)
    minmax(66px, .54fr)
    minmax(48px, .42fr)
    minmax(50px, .42fr)
    minmax(64px, .52fr);
}
.marketing-dashboard .meta-sales-table {
  min-width: 0;
}
.marketing-dashboard .meta-sales-table .marketing-data-row {
  grid-template-columns:
    minmax(240px, 1.8fr)
    minmax(104px, .85fr)
    minmax(58px, .45fr)
    minmax(106px, .82fr)
    minmax(88px, .68fr)
    minmax(58px, .45fr);
}
@media (max-width: 1360px) {
  .marketing-dashboard .marketing-data-row span,
  .marketing-dashboard .marketing-data-row strong {
    font-size: 12px;
  }
  .marketing-dashboard .meta-campaign-table .marketing-data-row {
    grid-template-columns:
      minmax(190px, 1.55fr)
      minmax(70px, .58fr)
      minmax(76px, .62fr)
      minmax(48px, .42fr)
      minmax(56px, .46fr)
      minmax(60px, .48fr)
      minmax(44px, .38fr)
      minmax(46px, .38fr)
      minmax(56px, .46fr);
  }
}
@media (max-width: 980px) {
  .marketing-dashboard .table-scroll {
    overflow-x: auto;
    padding-bottom: 4px;
  }
  .marketing-dashboard .marketing-data-table {
    min-width: 980px;
  }
}
@media (max-width: 760px) {
  .marketing-period-form { grid-template-columns: 1fr; }
  .marketing-period-form .period-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* CRM focus */
.crm-flow-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.crm-flow-card { border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.035); border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 12px; min-height: 150px; }
.crm-flow-card > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.crm-flow-card strong { font-size: 15px; }
.crm-flow-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
@media (max-width: 1180px) { .crm-flow-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .crm-flow-grid { grid-template-columns: 1fr; } }

/* CRM navigation and modules */
.nav-subgroup {
  display: grid;
  gap: 6px;
  margin: -2px 0 6px 30px;
  padding-left: 12px;
  border-left: 1px solid rgba(232,199,110,.22);
}
.nav-subbtn {
  border: 1px solid transparent;
  background: transparent;
  min-height: 36px;
  border-radius: 12px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--muted-2);
  cursor: pointer;
  font-size: 12px;
  text-align: left;
  transition: .18s ease;
}
.nav-subbtn:hover,
.nav-subbtn.active {
  color: var(--text);
  background: rgba(232,199,110,.08);
  border-color: rgba(232,199,110,.18);
}
.crm-flow-card.clickable {
  width: 100%;
  text-align: left;
  cursor: pointer;
  color: var(--text);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.crm-flow-card.clickable:hover {
  transform: translateY(-2px);
  border-color: rgba(232,199,110,.34);
  background: rgba(232,199,110,.055);
}
.crm-card-action {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: auto;
  color: var(--gold-2);
  font-size: 12px;
  font-weight: 800;
}
.crm-sequence-grid,
.crm-rules-grid,
.crm-inline-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.crm-sequence-card,
.rule-card,
.empty-state-panel,
.crm-inline-stats > div,
.crm-placeholder-panel {
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.035);
  border-radius: 18px;
}
.crm-sequence-card {
  min-height: 140px;
  padding: 16px;
  display: grid;
  align-content: start;
  gap: 10px;
}
.crm-sequence-card strong { font-size: 15px; }
.crm-sequence-card p,
.crm-placeholder-panel p { margin: 0; color: var(--muted); line-height: 1.5; }
.rule-card {
  padding: 15px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--muted-2);
  line-height: 1.45;
}
.rule-card svg { color: var(--green); flex: 0 0 auto; margin-top: 1px; }
.empty-state-panel {
  padding: 16px;
  display: flex;
  gap: 13px;
  align-items: flex-start;
  margin-bottom: 14px;
}
.empty-state-panel svg { color: var(--gold-2); flex: 0 0 auto; }
.empty-state-panel strong { display: block; margin-bottom: 5px; }
.empty-state-panel p { margin: 0; color: var(--muted); line-height: 1.5; }
.crm-inline-stats > div {
  padding: 16px;
  display: grid;
  gap: 6px;
}
.crm-inline-stats span { color: var(--muted); font-size: 13px; }
.crm-inline-stats strong { font-size: 24px; }

@media (max-width: 1180px) {
  .crm-sequence-grid,
  .crm-rules-grid,
  .crm-inline-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .crm-sequence-grid,
  .crm-rules-grid,
  .crm-inline-stats { grid-template-columns: 1fr; }
  .nav-subgroup { margin-left: 8px; }
}

/* Compactação CRM */
.main { padding: 24px 28px; }
.page-header { margin-bottom: 14px; }
.page-header h1 { font-size: clamp(30px, 3.8vw, 48px); letter-spacing: -.055em; }
.page-header p { font-size: 13px; }
.eyebrow { padding: 5px 10px; font-size: 10px; }
.marketing-dashboard { gap: 10px; }
.panel { border-radius: 22px; padding: 18px; }
.marketing-hero-panel { padding: 18px; }
.panel-title-row { margin-bottom: 12px; }
.panel-title-row h2 { font-size: 20px; }
.panel-subtitle { margin-top: 4px; font-size: 13px; }
.marketing-grid.executive-marketing-grid { gap: 10px; }
.marketing-card { min-height: 92px; padding: 14px 15px; border-radius: 17px; }
.marketing-card span { font-size: 13px; }
.marketing-card strong { font-size: 26px; margin-top: 6px; }
.marketing-card p { font-size: 12px; line-height: 1.25; margin-top: 10px; }
.crm-flow-grid { gap: 10px; }
.crm-flow-card { min-height: 112px; padding: 13px; border-radius: 16px; gap: 8px; }
.crm-flow-card strong { font-size: 14px; line-height: 1.18; }
.crm-flow-card p { font-size: 12px; line-height: 1.28; }
.crm-card-action { font-size: 11px; }
.nav-subbtn { min-height: 32px; font-size: 11.5px; }
.compact-panel { padding: 16px 18px; }
.crm-sequence-grid, .crm-rules-grid, .crm-inline-stats { gap: 10px; }
.crm-sequence-card { min-height: 92px; padding: 13px; border-radius: 15px; gap: 7px; }
.crm-sequence-card strong { font-size: 18px; }
.crm-sequence-card p { font-size: 12px; line-height: 1.25; }
.rule-card { padding: 12px; border-radius: 14px; align-items: center; font-size: 13px; }
.compact-action { min-height: 36px; padding: 0 12px; border-radius: 12px; font-size: 12px; }
.compact-table-wrap { margin-top: 8px; }
.compact-crm-table th, .compact-crm-table td { padding: 9px 10px; font-size: 12px; }
.crm-inline-stats > div { padding: 12px; border-radius: 14px; }
.crm-inline-stats strong { font-size: 20px; }
@media (max-width: 1180px) { .main { padding: 18px; } }

/* CRM carrinhos - triagem operacional */
.crm-toolbar {
  display: grid;
  gap: 10px;
  margin: 6px 0 10px;
}
.crm-filter-fields {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 190px;
  gap: 10px;
}
.compact-field span {
  font-size: 10px;
  margin-bottom: 5px;
}
.compact-field .input,
.compact-field .select {
  min-height: 36px;
  height: 36px;
  font-size: 12px;
}
.compact-sequence-grid .crm-sequence-card {
  min-height: 78px;
}
.crm-action-table td small {
  display: block;
  color: var(--muted);
  margin-top: 3px;
  font-size: 10.5px;
}
.crm-action-table td strong {
  font-size: 12px;
}
.row-actions {
  display: flex;
  gap: 5px;
  align-items: center;
  flex-wrap: wrap;
  min-width: 280px;
}
.btn-mini {
  min-height: 27px;
  padding: 0 8px;
  border-radius: 9px;
  border: 1px solid rgba(232,199,110,.18);
  background: rgba(232,199,110,.075);
  color: var(--text);
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: .16s ease;
}
.btn-mini:hover {
  border-color: rgba(232,199,110,.34);
  background: rgba(232,199,110,.13);
}
.btn-mini.muted {
  color: var(--muted-2);
  background: rgba(255,255,255,.035);
  border-color: var(--border);
}
.muted-row {
  opacity: .62;
}
.crm-action-table th:nth-child(7),
.crm-action-table td:nth-child(7) {
  min-width: 300px;
}
.crm-action-table th:nth-child(2),
.crm-action-table td:nth-child(2) {
  min-width: 220px;
}
@media (max-width: 900px) {
  .crm-filter-fields { grid-template-columns: 1fr; }
  .row-actions { min-width: 220px; }
}

/* CRM carrinhos - seleção, status editável e fila IA */
.crm-bulk-bar {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
}
.crm-bulk-bar span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  margin-right: auto;
}
.crm-check {
  width: 15px;
  height: 15px;
  accent-color: #e8c76e;
  cursor: pointer;
}
.crm-check:disabled {
  cursor: not-allowed;
  opacity: .35;
}
.status-select {
  min-height: 29px;
  border-radius: 999px;
  border: 1px solid rgba(232,199,110,.25);
  background: rgba(232,199,110,.10);
  color: var(--text);
  font-size: 11px;
  font-weight: 900;
  padding: 0 9px;
  outline: none;
}
.status-select.paid {
  border-color: rgba(30,214,115,.32);
  background: rgba(30,214,115,.14);
}
.status-select.danger {
  border-color: rgba(255,91,91,.34);
  background: rgba(255,91,91,.12);
}
.crm-action-table th:nth-child(1),
.crm-action-table td:nth-child(1) {
  width: 34px;
  min-width: 34px;
}
.crm-action-table th:nth-child(8),
.crm-action-table td:nth-child(8) {
  min-width: 310px;
}
.crm-action-table th:nth-child(3),
.crm-action-table td:nth-child(3) {
  min-width: 240px;
}

/* CRM Carrinhos Yampi - versão compacta 100% zoom */
.crm-carts-panel { padding: 14px 16px; }
.compact-title-row { margin-bottom: 8px; }
.compact-title-row h2 { font-size: 18px; }
.compact-crm-toolbar { gap: 7px; margin: 2px 0 8px; }
.compact-chip-row { gap: 6px; }
.compact-chip-row .chip { min-height: 28px; padding: 0 12px; font-size: 11px; border-radius: 999px; }
.crm-filter-line { display: grid; grid-template-columns: minmax(260px, 1fr) 170px; gap: 8px; align-items: end; }
.search-field .input, .status-field .select { height: 33px; min-height: 33px; }
.compact-bulk-bar { min-height: 34px; padding: 5px 8px; border-radius: 12px; }
.compact-bulk-bar .btn-mini { min-height: 24px; padding: 0 7px; font-size: 10px; }
.crm-table-viewport { margin-top: 6px; overflow-x: hidden; }
.crm-carts-table { table-layout: fixed; }
.crm-carts-table th, .crm-carts-table td { padding: 7px 8px; font-size: 11.5px; vertical-align: middle; }
.crm-carts-table th { font-size: 10px; letter-spacing: .08em; }
.crm-carts-table th:nth-child(1), .crm-carts-table td:nth-child(1) { width: 34px; min-width: 34px; }
.crm-carts-table th:nth-child(2), .crm-carts-table td:nth-child(2) { width: 35%; min-width: 0; }
.crm-carts-table th:nth-child(3), .crm-carts-table td:nth-child(3) { width: 120px; min-width: 0; }
.crm-carts-table th:nth-child(4), .crm-carts-table td:nth-child(4) { width: 105px; min-width: 0; }
.crm-carts-table th:nth-child(5), .crm-carts-table td:nth-child(5) { width: 140px; min-width: 0; }
.crm-carts-table th:nth-child(6), .crm-carts-table td:nth-child(6) { width: 260px; min-width: 0; }
.client-cell strong, .client-cell span, .client-cell small, .step-cell strong, .step-cell small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.client-cell span { color: var(--text); opacity: .9; margin-top: 2px; }
.client-cell small, .step-cell small { color: var(--muted); margin-top: 2px; font-size: 10px; }
.paid-note { color: #1ed673 !important; font-weight: 900; }
.step-cell strong { font-size: 11px; }
.value-cell { white-space: nowrap; font-weight: 850; }
.compact-row-actions { min-width: 0; gap: 4px; flex-wrap: nowrap; }
.compact-row-actions .btn-mini { min-height: 24px; padding: 0 6px; font-size: 10px; border-radius: 8px; white-space: nowrap; }
.crm-carts-table .status-select { min-height: 27px; width: 116px; max-width: 116px; font-size: 10.5px; padding: 0 6px; }
.crm-carts-table .crm-check { width: 14px; height: 14px; }
.ai-queue-panel { padding: 14px 16px; }
.ai-queue-list { display: grid; gap: 8px; }
.ai-queue-item { display: grid; grid-template-columns: minmax(180px, 260px) minmax(280px, 1fr) auto; gap: 10px; align-items: center; border: 1px solid var(--border); background: rgba(255,255,255,.025); border-radius: 14px; padding: 9px 10px; }
.ai-queue-item strong, .ai-queue-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-queue-item small { color: var(--muted); margin-top: 2px; font-size: 10.5px; }
.ai-queue-item p { margin: 0; color: var(--muted-2); font-size: 11px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ai-queue-footer { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 11px; }
.compact-empty { padding: 10px 12px; }
.compact-empty p { font-size: 12px; }

@media (max-width: 1280px) {
  .crm-carts-table th:nth-child(6), .crm-carts-table td:nth-child(6) { width: 220px; }
  .compact-row-actions .btn-mini { padding: 0 5px; font-size: 9.5px; }
}
@media (max-width: 980px) {
  .crm-table-viewport { overflow-x: auto; }
  .crm-carts-table { min-width: 960px; }
  .ai-queue-item { grid-template-columns: 1fr; align-items: start; }
  .crm-filter-line { grid-template-columns: 1fr; }
}

/* Ajuste CRM - busca/status compactos e próxima etapa IA */
.crm-carts-panel .crm-filter-line {
  grid-template-columns: minmax(240px, 520px) 140px;
  justify-content: start;
  align-items: end;
  gap: 8px;
}
.crm-carts-panel .search-field,
.crm-carts-panel .status-field {
  max-width: 100%;
}
.crm-carts-panel .search-field .input,
.crm-carts-panel .status-field .select {
  height: 29px;
  min-height: 29px;
  border-radius: 11px;
  font-size: 11px;
  padding: 0 12px;
}
.crm-carts-panel .compact-field span {
  font-size: 9.5px;
  margin-bottom: 3px;
}
.ai-config-panel { padding: 12px 16px; }
.ai-config-grid {
  display: grid;
  grid-template-columns: 140px 190px 110px minmax(260px, 1fr);
  gap: 8px;
  align-items: end;
}
.ai-config-grid .input,
.ai-config-grid .select {
  height: 30px;
  min-height: 30px;
  font-size: 11px;
  border-radius: 11px;
}
.ai-instruction-field .input {
  width: 100%;
}
@media (max-width: 980px) {
  .crm-carts-panel .crm-filter-line,
  .ai-config-grid { grid-template-columns: 1fr; }
}

/* CRM - status Em fila + Central/Fila IA compactas */
.status-select.queue {
  border-color: rgba(96, 165, 250, .36);
  background: rgba(96, 165, 250, .14);
}
.ai-slim-title {
  margin-bottom: 6px;
}
.ai-slim-title h2 {
  font-size: 17px;
}
.ai-slim-title .panel-subtitle {
  font-size: 12px;
  margin-top: 2px;
}
.ai-config-panel {
  padding: 10px 14px;
}
.ai-config-grid {
  grid-template-columns: 135px 180px 100px minmax(320px, 1fr);
  gap: 7px;
}
.ai-config-grid .compact-field span {
  font-size: 9px;
  margin-bottom: 2px;
}
.ai-config-grid .input,
.ai-config-grid .select {
  height: 28px;
  min-height: 28px;
  font-size: 10.5px;
  border-radius: 10px;
}
.ai-queue-panel {
  padding: 10px 14px;
}
.ai-queue-list {
  gap: 6px;
}
.ai-queue-item {
  grid-template-columns: minmax(180px, 240px) minmax(360px, 1fr) auto;
  gap: 8px;
  padding: 7px 8px;
  border-radius: 12px;
}
.ai-queue-item strong {
  font-size: 13px;
}
.ai-queue-item small {
  font-size: 10px;
}
.ai-queue-item p {
  font-size: 10.5px;
  line-height: 1.18;
  -webkit-line-clamp: 1;
}
.ai-queue-footer {
  margin-top: 2px;
  font-size: 10.5px;
}
.ai-queue-footer .btn-mini {
  min-height: 24px;
}
.crm-carts-panel .compact-chip-row .chip {
  min-width: 0;
  padding: 0 11px;
}
@media (max-width: 1280px) {
  .ai-config-grid { grid-template-columns: 130px 170px 95px minmax(260px, 1fr); }
  .ai-queue-item { grid-template-columns: minmax(160px, 220px) minmax(280px, 1fr) auto; }
}
@media (max-width: 980px) {
  .ai-config-grid,
  .ai-queue-item { grid-template-columns: 1fr; }
}

/* CRM - histórico por carrinho e modal de atendimento */
.cart-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(0, 0, 0, .62);
  backdrop-filter: blur(10px);
  display: flex;
  justify-content: flex-end;
  padding: 18px;
}
.cart-modal {
  width: min(860px, calc(100vw - 36px));
  max-height: calc(100vh - 36px);
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(30,30,32,.98), rgba(12,12,14,.98));
  box-shadow: var(--shadow);
  padding: 16px;
}
.cart-modal-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
.cart-modal-header h2 {
  margin: 0;
  font-size: 22px;
  letter-spacing: -.035em;
}
.cart-modal-header p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
}
.cart-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 12px 0;
}
.cart-detail-grid article {
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
  padding: 10px 11px;
}
.cart-detail-grid span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.cart-detail-grid strong {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cart-modal-columns {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 10px;
}
.cart-modal-block {
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(255,255,255,.022);
  padding: 12px;
}
.block-title-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.block-title-line h3 {
  margin: 0;
  font-size: 14px;
}
.textarea {
  width: 100%;
  min-height: 84px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: rgba(255,255,255,.04);
  color: var(--text);
  padding: 10px;
  font: inherit;
  font-size: 12px;
  line-height: 1.35;
  outline: none;
  resize: vertical;
}
.ai-message-preview { min-height: 104px; color: var(--muted-2); }
.note-textarea { min-height: 104px; }
.modal-actions { margin-top: 8px; }
.history-block {
  margin-top: 10px;
  padding-bottom: 10px;
}
.history-list {
  position: relative;
  display: grid;
  gap: 8px;
  max-height: 260px;
  overflow: auto;
  padding-right: 4px;
}
.history-list::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: rgba(218, 170, 77, .22);
}
.history-item {
  position: relative;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  border: 0;
  padding: 0;
  background: transparent;
}
.history-marker {
  width: 9px;
  height: 9px;
  margin: 12px 0 0 4px;
  border-radius: 999px;
  background: var(--gold);
  box-shadow: 0 0 0 4px rgba(218, 170, 77, .10);
  z-index: 1;
}
.history-content {
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 12px;
  padding: 9px 11px;
  background: rgba(0,0,0,.18);
}
.history-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.history-head strong {
  font-size: 12px;
}
.history-head time {
  color: var(--muted);
  font-size: 10.5px;
  white-space: nowrap;
}
.history-list p {
  margin: 5px 0 0;
  color: var(--muted-2);
  font-size: 11px;
  line-height: 1.35;
  word-break: break-word;
}
@media (max-width: 900px) {
  .cart-modal-backdrop { padding: 10px; }
  .cart-modal { width: 100%; max-height: calc(100vh - 20px); }
  .cart-detail-grid { grid-template-columns: repeat(2, 1fr); }
  .cart-modal-columns { grid-template-columns: 1fr; }
}

/* CRM cloud persistence */
.crm-sync-badges {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.counter.success {
  color: #6df0a0;
  border-color: rgba(37, 211, 102, .35);
  background: rgba(37, 211, 102, .12);
}

/* CRM - Fila IA operacional, métricas e bloqueio anti-reenvio */
.status-select.attempt {
  border-color: rgba(59, 130, 246, .34);
  background: rgba(59, 130, 246, .12);
}
.queue-metrics-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  margin: 2px 0 8px;
}
.queue-metrics-grid article {
  border: 1px solid var(--border);
  background: rgba(255,255,255,.025);
  border-radius: 12px;
  padding: 8px 10px;
  min-width: 0;
}
.queue-metrics-grid span {
  display: block;
  color: var(--muted);
  font-size: 9.5px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.queue-metrics-grid strong {
  display: block;
  margin-top: 3px;
  font-size: 15px;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.operational-queue-list {
  gap: 7px;
}
.operational-queue-item {
  grid-template-columns: minmax(160px, 230px) 86px 120px 150px 98px minmax(420px, auto);
  padding: 8px;
  align-items: center;
}
.queue-contact strong,
.queue-contact small,
.queue-meta strong,
.queue-meta span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.queue-meta span {
  color: var(--muted);
  font-size: 8.8px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.queue-meta strong {
  margin-top: 2px;
  font-size: 10.5px;
  color: var(--text);
}
.queue-actions {
  justify-content: flex-end;
  min-width: 0;
  flex-wrap: wrap;
  gap: 4px;
}
.queue-actions .btn-mini {
  min-height: 23px;
  font-size: 9.5px;
  padding: 0 6px;
}
.cart-detail-grid {
  grid-template-columns: repeat(5, 1fr);
}
@media (max-width: 1420px) {
  .operational-queue-item {
    grid-template-columns: minmax(160px, 220px) 78px 108px 130px 88px minmax(340px, auto);
  }
  .queue-actions .btn-mini { font-size: 9px; padding: 0 5px; }
}
@media (max-width: 1100px) {
  .queue-metrics-grid { grid-template-columns: repeat(2, 1fr); }
  .operational-queue-item { grid-template-columns: 1fr 1fr; align-items: start; }
  .queue-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .cart-detail-grid { grid-template-columns: repeat(2, 1fr); }
}

/* CRM - seletor de status escuro e geração IA assistida */
.status-menu-wrap {
  position: relative;
  width: 118px;
  z-index: 5;
}
.status-menu-trigger {
  width: 100%;
  min-height: 28px;
  border: 1px solid var(--border-strong);
  border-radius: 999px;
  background: rgba(218, 170, 77, .12);
  color: var(--text);
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 0 10px;
  font-size: 10.5px;
  font-weight: 900;
  cursor: pointer;
}
.status-menu-trigger svg {
  transform: rotate(90deg);
  opacity: .72;
  flex: 0 0 auto;
}
.status-menu-trigger.paid {
  color: #a8ffd0;
  border-color: rgba(37, 211, 102, .36);
  background: rgba(37, 211, 102, .14);
}
.status-menu-trigger.danger {
  color: #ffc4c4;
  border-color: rgba(248, 113, 113, .32);
  background: rgba(248, 113, 113, .12);
}
.status-menu-trigger.queue {
  color: #cfe6ff;
  border-color: rgba(96, 165, 250, .38);
  background: rgba(96, 165, 250, .16);
}
.status-menu-trigger.attempt {
  color: #d9e8ff;
  border-color: rgba(59, 130, 246, .34);
  background: rgba(59, 130, 246, .12);
}
.status-menu-list {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  width: 150px;
  max-height: 232px;
  overflow: auto;
  padding: 6px;
  border: 1px solid rgba(218, 170, 77, .28);
  border-radius: 12px;
  background: #171717;
  box-shadow: 0 18px 45px rgba(0,0,0,.55);
  z-index: 30;
}
.status-menu-list button {
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #f4eddf;
  text-align: left;
  padding: 7px 8px;
  font-size: 10.5px;
  font-weight: 800;
  cursor: pointer;
}
.status-menu-list button:hover,
.status-menu-list button.active {
  background: rgba(218, 170, 77, .18);
  color: var(--gold);
}
.status-menu-list::-webkit-scrollbar,
.history-list::-webkit-scrollbar,
.cart-modal::-webkit-scrollbar {
  width: 8px;
}
.status-menu-list::-webkit-scrollbar-thumb,
.history-list::-webkit-scrollbar-thumb,
.cart-modal::-webkit-scrollbar-thumb {
  background: rgba(218, 170, 77, .42);
  border-radius: 999px;
}
.btn-mini:disabled,
button:disabled {
  cursor: not-allowed;
  opacity: .58;
}
.ai-message-preview {
  color: var(--text);
}
.operational-queue-item {
  grid-template-columns: minmax(150px, 220px) 76px 108px 132px 90px minmax(470px, auto);
}
@media (max-width: 1420px) {
  .operational-queue-item {
    grid-template-columns: minmax(150px, 210px) 72px 102px 120px 82px minmax(380px, auto);
  }
}

/* CRM clean recovery screen */
.crm-clean-layout { display: grid; gap: 14px; }
.clean-crm-panel { padding: 18px 20px; max-width: 100%; }
.clean-crm-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.clean-crm-header h2 { margin: 0; font-size: 22px; letter-spacing: -0.04em; }
.clean-crm-header p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.clean-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.clean-stats-grid { display: grid; grid-template-columns: repeat(4, minmax(140px, 1fr)); gap: 10px; margin-bottom: 14px; }
.clean-stat-card { border: 1px solid var(--border); border-radius: 14px; background: rgba(255,255,255,.025); padding: 12px 14px; min-height: 76px; }
.clean-stat-card span { display: block; color: var(--muted); font-weight: 800; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.clean-stat-card strong { display: block; font-size: 28px; line-height: 1.05; margin-top: 5px; letter-spacing: -0.04em; }
.clean-stat-card small { display: block; color: var(--muted-2); margin-top: 6px; font-size: 11px; }
.clean-controls { display: grid; grid-template-columns: minmax(260px, 1fr) 190px; gap: 10px; align-items: end; margin-bottom: 10px; }
.clean-controls .field span { font-size: 10px; }
.clean-controls .input, .clean-controls .select { height: 34px; border-radius: 11px; font-size: 12px; }
.clean-bulkbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--border); background: rgba(255,255,255,.025); border-radius: 14px; padding: 8px 10px; margin-bottom: 10px; }
.clean-bulkbar strong { font-size: 12px; }
.clean-bulkbar span { color: var(--muted); font-size: 12px; margin-right: auto; }
.clean-bulkbar div { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.btn-mini.primary-action { background: linear-gradient(135deg, var(--gold), #f1d986); border-color: rgba(232,199,110,.45); color: #17130a; }
.clean-table-wrap { overflow-x: auto; border-top: 1px solid var(--border); }
.clean-crm-table { width: 100%; border-collapse: collapse; min-width: 980px; }
.clean-crm-table th { color: var(--muted); text-align: left; font-size: 10.5px; text-transform: uppercase; letter-spacing: .12em; padding: 10px 8px 8px; white-space: nowrap; }
.clean-crm-table td { border-top: 1px solid rgba(255,255,255,.08); padding: 9px 8px; vertical-align: middle; font-size: 12px; }
.clean-crm-table td:first-child, .clean-crm-table th:first-child { width: 34px; }
.clean-crm-table td strong { display: block; font-size: 12.5px; }
.clean-crm-table td small { display: block; color: var(--muted); margin-top: 2px; font-size: 11px; }
.clean-warning { color: var(--gold) !important; font-weight: 800; }
.clean-status-select { width: 150px; height: 32px; border-radius: 999px; border: 1px solid rgba(232,199,110,.28); background: rgba(232,199,110,.08); color: var(--text); font-size: 11px; font-weight: 850; padding: 0 10px; outline: none; }
.clean-status-select.info { border-color: rgba(69,146,255,.42); background: rgba(69,146,255,.13); }
.clean-status-select.success { border-color: rgba(35,194,107,.42); background: rgba(35,194,107,.13); }
.clean-status-select.muted { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.055); color: var(--muted); }
.clean-ai-note { margin-top: 12px; padding: 10px 12px; border: 1px dashed rgba(232,199,110,.22); border-radius: 13px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.clean-ai-note strong { color: var(--gold); }
.empty-table-cell { text-align: center; color: var(--muted); padding: 20px !important; }
@media (max-width: 1180px) {
  .clean-crm-header { flex-direction: column; }
  .clean-header-actions { justify-content: flex-start; }
  .clean-stats-grid { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
  .clean-controls { grid-template-columns: 1fr; }
  .clean-bulkbar { align-items: flex-start; flex-direction: column; }
}
.clean-status-select.danger { border-color: rgba(239,68,68,.42); background: rgba(239,68,68,.13); color: #fecaca; }
.clean-bulkbar .btn-mini:disabled { opacity: .55; cursor: wait; }

.sendpulse-debug-box {
  margin-top: 12px;
  border: 1px solid rgba(239, 68, 68, .25);
  background: rgba(127, 29, 29, .10);
  border-radius: 14px;
  overflow: hidden;
}
.sendpulse-debug-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.sendpulse-debug-head strong {
  display: block;
  color: #fecaca;
  font-size: 13px;
}
.sendpulse-debug-head span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-top: 2px;
}
.sendpulse-debug-box pre {
  margin: 0;
  max-height: 260px;
  overflow: auto;
  padding: 12px;
  color: #f5f5f4;
  font-size: 11px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}

/* Production CRM refinements */
.clean-status-select,
.clean-controls .select {
  background-color: #1f1d1a !important;
  color: #f7f0df !important;
  border-color: rgba(232,199,110,.34) !important;
}
.clean-status-select option,
.clean-controls .select option,
.select option {
  background: #171717 !important;
  color: #f7f0df !important;
}
.clean-status-select.info,
.clean-status-select.success,
.clean-status-select.danger,
.clean-status-select.muted,
.clean-status-select.neutral {
  color: #f7f0df !important;
}
.clean-status-select.info { background: rgba(42,96,171,.36) !important; }
.clean-status-select.success { background: rgba(22,101,52,.34) !important; }
.clean-status-select.danger { background: rgba(127,29,29,.38) !important; }
.clean-status-select.muted { background: rgba(80,80,80,.32) !important; }
.clean-note-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.last-send-label { color: var(--muted); font-size: 11.5px; font-weight: 800; white-space: nowrap; }
.logs-stats-grid { grid-template-columns: repeat(4, minmax(120px, 1fr)); }
.log-last-time { font-size: 16px !important; letter-spacing: -0.03em; }
.sendpulse-log-layout { display: grid; grid-template-columns: minmax(260px, 360px) minmax(0, 1fr); gap: 12px; margin-top: 10px; }
.sendpulse-log-list { border: 1px solid var(--border); border-radius: 14px; background: rgba(255,255,255,.02); padding: 8px; max-height: 560px; overflow: auto; }
.sendpulse-log-item { width: 100%; border: 1px solid transparent; border-radius: 12px; background: transparent; color: var(--text); padding: 10px; text-align: left; cursor: pointer; display: grid; gap: 3px; }
.sendpulse-log-item:hover,
.sendpulse-log-item.active { border-color: rgba(232,199,110,.28); background: rgba(232,199,110,.09); }
.sendpulse-log-item strong { font-size: 12px; }
.sendpulse-log-item span { color: var(--muted); font-size: 11px; }
.sendpulse-log-item small { color: var(--muted-2); font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sendpulse-log-detail { border: 1px solid rgba(239, 68, 68, .18); background: rgba(127, 29, 29, .08); border-radius: 14px; overflow: hidden; min-height: 420px; }
.sendpulse-log-detail pre { margin: 0; max-height: 520px; overflow: auto; padding: 12px; color: #f5f5f4; font-size: 11px; line-height: 1.45; white-space: pre-wrap; word-break: break-word; }
@media (max-width: 1100px) {
  .sendpulse-log-layout { grid-template-columns: 1fr; }
  .clean-note-row { align-items: flex-start; flex-direction: column; }
}

/* Custom CRM status dropdown: avoids Chrome native light dropdown on dark theme */
.clean-status-menu {
  position: relative;
  display: inline-flex;
  width: 150px;
  z-index: 20;
}
.clean-status-button {
  width: 150px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(232,199,110,.34);
  background: rgba(232,199,110,.10);
  color: #f7f0df;
  font-size: 11px;
  font-weight: 850;
  padding: 0 10px 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  cursor: pointer;
  text-align: left;
}
.clean-status-button.info { border-color: rgba(69,146,255,.52); background: rgba(42,96,171,.36); }
.clean-status-button.success { border-color: rgba(35,194,107,.50); background: rgba(22,101,52,.34); }
.clean-status-button.danger { border-color: rgba(239,68,68,.50); background: rgba(127,29,29,.38); color: #fecaca; }
.clean-status-button.muted { border-color: rgba(255,255,255,.16); background: rgba(80,80,80,.32); color: #d6d3d1; }
.clean-status-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  width: 190px;
  padding: 6px;
  border: 1px solid rgba(232,199,110,.30);
  border-radius: 14px;
  background: #181512;
  box-shadow: 0 18px 40px rgba(0,0,0,.50);
  display: grid;
  gap: 3px;
  z-index: 9999;
}
.clean-status-dropdown button {
  border: 0;
  width: 100%;
  border-radius: 10px;
  background: transparent;
  color: #f7f0df;
  font-size: 12px;
  font-weight: 800;
  padding: 8px 10px;
  text-align: left;
  cursor: pointer;
}
.clean-status-dropdown button:hover,
.clean-status-dropdown button.active {
  background: rgba(232,199,110,.16);
  color: #ffe8a3;
}
.clean-crm-table tbody tr { position: relative; }
.clean-table-wrap { overflow: visible; }
.clean-crm-panel { overflow: visible; }
@media (max-width: 1180px) {
  .clean-table-wrap { overflow-x: auto; }
}

/* Status dropdown visual fix */
.clean-status-menu {
  isolation: isolate;
}
.clean-status-dropdown {
  width: 176px !important;
  padding: 6px !important;
  background: #15120f !important;
  border: 1px solid rgba(232,199,110,.32) !important;
  border-radius: 14px !important;
  box-shadow: 0 20px 42px rgba(0,0,0,.62) !important;
  gap: 2px !important;
}
.clean-status-option {
  min-height: 30px;
  width: 100%;
  border-radius: 10px;
  color: #f8f1e4;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
  padding: 9px 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
  user-select: none;
  outline: none;
}
.clean-status-option:hover,
.clean-status-option:focus,
.clean-status-option.active {
  background: rgba(232,199,110,.16);
  color: #ffe8a3;
}
.clean-status-option span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.clean-status-dropdown button,
.clean-status-dropdown select {
  display: none !important;
}


/* Definitive fix: keep the opened status menu above every status pill in lower rows */
.clean-status-menu {
  z-index: 1 !important;
}
.clean-status-menu.open {
  z-index: 2147483000 !important;
}
.clean-status-menu.open .clean-status-dropdown {
  z-index: 2147483001 !important;
  background: #15110d !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.clean-status-menu:not(.open) .clean-status-button {
  position: relative;
  z-index: 0;
}
.clean-crm-table tbody tr {
  z-index: auto !important;
}
.clean-crm-table tbody tr:has(.clean-status-menu.open) {
  position: relative;
  z-index: 2147482000 !important;
}

/* Refinamento operacional da recuperação de carrinho */
.clean-header-actions .test-toggle {
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.045);
  color: var(--muted);
}
.clean-header-actions .test-toggle.active {
  border-color: rgba(232,199,110,.52);
  background: rgba(232,199,110,.16);
  color: #ffe39a;
  box-shadow: 0 0 0 1px rgba(232,199,110,.12), 0 12px 26px rgba(232,199,110,.08);
}
.clean-bulkbar.refined {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
  padding: 10px;
  background: rgba(255,255,255,.018);
}
.bulk-selection-summary {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(0,0,0,.16);
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 6px;
}
.bulk-selection-summary strong { font-size: 24px; line-height: 1; color: var(--text); }
.bulk-selection-summary span { color: var(--text); margin: 0; font-weight: 800; }
.bulk-selection-summary small { grid-column: 1 / -1; color: var(--muted); margin-top: 6px; font-size: 11px; line-height: 1.25; }
.bulk-action-grid {
  display: grid !important;
  grid-template-columns: minmax(210px, .9fr) minmax(310px, 1.35fr) minmax(220px, .9fr);
  gap: 10px !important;
  align-items: stretch;
}
.bulk-action-group {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 7px !important;
  flex-wrap: wrap;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 8px;
  background: rgba(0,0,0,.12);
}
.bulk-action-group small {
  width: 100%;
  display: block;
  color: var(--muted-2);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 1px;
}
.bulk-action-group.featured {
  border-color: rgba(232,199,110,.18);
  background: linear-gradient(180deg, rgba(232,199,110,.055), rgba(0,0,0,.12));
}
.bulk-action-group .btn-mini { min-height: 31px; }
.btn-mini.coupon-action {
  background: rgba(232,199,110,.12);
  border-color: rgba(232,199,110,.38);
  color: #ffe39a;
}
.btn-mini.coupon-action:hover { background: rgba(232,199,110,.20); }
.clean-stats-grid { grid-template-columns: repeat(5, minmax(140px, 1fr)); }
.clean-crm-table { min-width: 900px; }
.clean-crm-table th:nth-child(4),
.clean-crm-table td:nth-child(4) { text-align: left; }
.clean-crm-table th:nth-child(6),
.clean-crm-table td:nth-child(6) { min-width: 170px; }
.growth-dashboard { grid-template-columns: minmax(0, 1.45fr) minmax(340px, .75fr); }
@media (max-width: 1380px) {
  .clean-stats-grid { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
  .clean-bulkbar.refined { grid-template-columns: 1fr; }
  .bulk-action-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .clean-stats-grid { grid-template-columns: 1fr; }
  .bulk-selection-summary { grid-template-columns: 1fr; }
  .bulk-action-group .btn-mini { width: 100%; justify-content: center; }
}

/* Growth Hub cleanup v2 */
.main { padding-top: 24px; }
.page-header { margin-bottom: 14px; }
.page-header .eyebrow { display: none; }
.page-header h1 { margin-top: 0; font-size: clamp(28px, 3.2vw, 44px); letter-spacing: -0.055em; }
.page-header p { display: none; }

.growth-home { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.section-head.compact { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.section-head.compact h2 { margin: 0; font-size: 22px; letter-spacing: -0.04em; }
.section-head.compact p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.growth-summary-panel, .growth-flows-panel, .growth-orders-panel { padding: 18px 20px; }
.growth-metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 10px; }
.growth-metric { border: 1px solid var(--border); border-radius: 15px; background: rgba(255,255,255,.025); padding: 14px 16px; min-height: 92px; }
.growth-metric span { display:block; color: var(--muted); text-transform: uppercase; font-size: 11px; letter-spacing: .09em; font-weight: 900; }
.growth-metric strong { display:block; margin-top: 8px; font-size: clamp(22px, 2.5vw, 34px); line-height: 1; letter-spacing: -0.05em; }
.growth-metric small { display:block; margin-top: 8px; color: var(--muted-2); }
.growth-flow-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.growth-flow-item { min-height: 118px; border: 1px solid var(--border); border-radius: 16px; background: rgba(255,255,255,.025); color: var(--text); padding: 14px; text-align: left; display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: start; cursor: pointer; transition: .18s ease; }
.growth-flow-item:hover { transform: translateY(-1px); border-color: rgba(232,199,110,.38); background: rgba(232,199,110,.07); }
.growth-flow-item.priority { border-color: rgba(232,199,110,.35); background: linear-gradient(135deg, rgba(232,199,110,.12), rgba(255,255,255,.025)); }
.growth-flow-item strong { display:block; font-size: 16px; line-height: 1.08; margin-bottom: 8px; }
.growth-flow-item span { display:block; color: var(--muted); font-size: 12px; line-height: 1.35; }
.growth-flow-item em { justify-self: end; border: 1px solid rgba(232,199,110,.24); border-radius: 999px; color: var(--gold); background: rgba(232,199,110,.08); padding: 5px 8px; font-size: 10px; font-style: normal; font-weight: 900; max-width: 92px; text-align: center; }
.compact-table-wrap { max-height: 360px; overflow: auto; }
.compact-orders th, .compact-orders td { padding-top: 10px; padding-bottom: 10px; }

.clean-crm-panel { padding: 18px 22px; }
.compact-recovery-head { margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.07); }
.compact-recovery-head h2 { font-size: 24px; }
.clean-header-actions .counter { padding: 7px 10px; font-size: 11px; }
.clean-header-actions .btn-mini { min-height: 30px; }
.clean-stats-grid { grid-template-columns: repeat(6, minmax(120px, 1fr)); gap: 10px; }
.clean-stat-card { min-height: 70px; padding: 11px 13px; }
.clean-stat-card strong { font-size: 26px; }
.clean-controls { grid-template-columns: minmax(260px, 1fr) 220px; margin-bottom: 10px; }
.clean-bulkbar.refined.channel-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  align-items: stretch;
  padding: 9px;
}
.bulk-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(118px, 150px));
  gap: 7px !important;
  justify-content: start !important;
}
.bulk-summary-grid article {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.16);
  border-radius: 10px;
  padding: 8px 10px;
  min-width: 0;
}
.bulk-summary-grid strong {
  display: block;
  font-size: 20px;
  line-height: 1;
  color: var(--text);
}
.bulk-summary-grid span {
  display: block;
  margin: 5px 0 0 !important;
  color: var(--muted) !important;
  font-size: 10px !important;
  font-weight: 900;
  line-height: 1.2;
}
.bulk-channel-actions {
  display: grid !important;
  grid-template-columns: minmax(170px, .85fr) minmax(270px, 1.35fr) minmax(300px, 1.45fr) minmax(170px, .85fr);
  gap: 8px !important;
}
.bulk-action-section {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 7px !important;
  flex-wrap: wrap;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  padding: 8px 9px;
  background: rgba(0,0,0,.12);
  min-width: 0;
}
.bulk-action-section small {
  width: 100%;
  display: block;
  color: var(--muted-2);
  font-size: 9.5px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.bulk-action-section.featured {
  border-color: rgba(232,199,110,.18);
  background: linear-gradient(180deg, rgba(232,199,110,.055), rgba(0,0,0,.12));
}
.bulk-action-section.email-channel {
  border-color: rgba(96,165,250,.18);
  background: linear-gradient(180deg, rgba(96,165,250,.05), rgba(0,0,0,.12));
}
.bulk-action-section .btn-mini { min-height: 29px; padding: 0 9px; font-size: 10.5px; }
.btn-mini.combined-action {
  border-color: rgba(34,197,94,.34);
  background: rgba(34,197,94,.12);
  color: #b9f6cf;
}
.inline-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 31px;
  padding: 0 9px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.09);
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.inline-toggle input { width: 13px; height: 13px; accent-color: #d9b45f; }
.email-template-shortcut {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  background: rgba(255,255,255,.015);
  padding: 8px 11px;
  margin: 0 0 10px;
}
.email-template-shortcut span {
  color: var(--muted);
  font-size: 11.5px;
}
.email-template-shortcut strong {
  color: var(--text);
}
.email-settings-layout {
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.email-template-list-panel,
.email-template-editor-panel {
  min-width: 0;
}
.email-template-list {
  display: grid;
  gap: 8px;
}
.email-template-item {
  width: 100%;
  border: 1px solid rgba(255,255,255,.075);
  background: rgba(255,255,255,.018);
  color: var(--text);
  border-radius: 12px;
  padding: 11px 12px;
  text-align: left;
  cursor: pointer;
  display: grid;
  gap: 4px;
}
.email-template-item strong {
  font-size: 13px;
}
.email-template-item span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.email-template-item em {
  justify-self: start;
  margin-top: 2px;
  color: #ffe39a;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.email-template-item.active {
  border-color: rgba(232,199,110,.35);
  background: linear-gradient(180deg, rgba(232,199,110,.08), rgba(255,255,255,.018));
}
.email-editor-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.email-save-state {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid rgba(34,197,94,.22);
  color: #b9f6cf;
  background: rgba(34,197,94,.08);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.email-save-state.pending {
  border-color: rgba(232,199,110,.28);
  color: #ffe39a;
  background: rgba(232,199,110,.08);
}
.email-layout-panel {
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 14px;
  background: rgba(255,255,255,.018);
  margin: 0 0 12px;
  overflow: hidden;
}
.email-layout-toggle {
  width: 100%;
  min-height: 42px;
  border: 0;
  background: transparent;
  color: var(--text);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 14px;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}
.email-layout-toggle span { color: var(--text); }
.email-layout-toggle strong { color: #ffe39a; font-size: 12px; }
.email-layout-config { padding: 0 14px 14px; }
.email-layout-config.standalone { padding: 0; }
.email-config-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
}
.email-config-head small {
  color: var(--muted);
  font-size: 11px;
  text-align: right;
}
.email-editor-tabs {
  display: inline-flex;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 11px;
  background: rgba(0,0,0,.14);
  padding: 3px;
}
.email-editor-tabs button {
  border: 0;
  border-radius: 8px;
  min-height: 28px;
  padding: 0 12px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}
.email-editor-tabs button.active {
  background: rgba(232,199,110,.18);
  color: #ffe39a;
}
.email-layout-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}
.email-layout-grid .wide { grid-column: span 2; }
.email-layout-grid .textarea-field { grid-column: span 2; }
.email-layout-grid textarea.input {
  min-height: 76px;
  height: auto;
  padding-top: 9px;
  resize: vertical;
  line-height: 1.35;
}
.email-html-editor {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.email-html-editor .html-field { grid-column: 1 / -1; }
.email-html-editor textarea.code-input {
  min-height: 260px;
  height: auto;
  padding: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  line-height: 1.45;
  resize: vertical;
}
.email-preview-workspace {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.email-preview-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 12px;
  background: rgba(255,255,255,.018);
  padding: 10px 12px;
}
.email-preview-toolbar > div:first-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.email-preview-toolbar small {
  color: var(--muted-2);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.email-preview-toolbar strong {
  color: var(--text);
  font-size: 14px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.email-preview-frame {
  width: 100%;
  min-height: 620px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: #f6f2eb;
}
.email-test-box {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1.1fr) 150px auto;
  align-items: end;
  gap: 9px;
  border: 1px solid rgba(96,165,250,.18);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(96,165,250,.055), rgba(0,0,0,.12));
  padding: 11px;
}
.email-test-box > div:first-child {
  display: grid;
  gap: 3px;
  align-self: center;
}
.email-test-box strong {
  color: var(--text);
  font-size: 13px;
}
.email-test-box span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.clean-crm-table { min-width: 860px; }
.clean-crm-table th, .clean-crm-table td { padding-left: 10px; padding-right: 10px; }
.clean-ai-note.clean-note-row { margin-top: 10px; padding: 9px 11px; }
.clean-ai-note.clean-note-row span { font-size: 11.5px; }

@media (max-width: 1280px) {
  .growth-metrics-grid, .growth-flow-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clean-stats-grid { grid-template-columns: repeat(3, minmax(130px, 1fr)); }
  .clean-bulkbar.refined.channel-actions { grid-template-columns: 1fr; }
  .bulk-channel-actions { grid-template-columns: repeat(2, minmax(230px, 1fr)); }
  .email-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .email-settings-layout { grid-template-columns: 1fr; }
  .email-test-box { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .growth-metrics-grid, .growth-flow-list, .clean-stats-grid { grid-template-columns: 1fr; }
  .clean-controls, .clean-bulkbar.refined.channel-actions, .bulk-summary-grid, .bulk-channel-actions, .email-layout-grid, .email-html-editor, .email-test-box { grid-template-columns: 1fr; }
  .email-layout-grid .wide, .email-layout-grid .textarea-field { grid-column: span 1; }
  .email-config-head, .email-preview-toolbar { align-items: flex-start; flex-direction: column; }
  .email-config-head small { text-align: left; }
  .email-template-shortcut { align-items: flex-start; flex-direction: column; }
  .email-editor-actions { justify-content: flex-start; }
  .email-preview-frame { min-height: 540px; }
}

/* Cashback report */
.cashback-report-page { gap: 16px; }
.cashback-summary-panel { padding: 22px 24px; }
.cashback-toolbar,
.cashback-list-header { gap: 14px; align-items: center; justify-content: space-between; }
.cashback-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.cashback-search { width: min(430px, 100%); min-width: 260px; }
.cashback-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.cashback-kpis .kpi-card { min-height: 106px; padding: 18px 20px; }
.cashback-list-panel { padding: 22px; min-width: 0; }
.cashback-table-wrap {
  overflow-x: auto;
  margin-top: 14px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.025);
  max-width: 100%;
}
.cashback-table { width: 100%; min-width: 1220px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.cashback-table th:nth-child(1), .cashback-table td:nth-child(1) { width: 36px; }
.cashback-table th:nth-child(2), .cashback-table td:nth-child(2) { width: 17%; }
.cashback-table th:nth-child(3), .cashback-table td:nth-child(3) { width: 20%; }
.cashback-table th:nth-child(4), .cashback-table td:nth-child(4) { width: 10%; }
.cashback-table th:nth-child(5), .cashback-table td:nth-child(5) { width: 8%; }
.cashback-table th:nth-child(6), .cashback-table td:nth-child(6) { width: 9%; }
.cashback-table th:nth-child(7), .cashback-table td:nth-child(7) { width: 9%; }
.cashback-table th:nth-child(8), .cashback-table td:nth-child(8) { width: 8%; }
.cashback-table th:nth-child(9), .cashback-table td:nth-child(9) { width: 11%; }
.cashback-table th:nth-child(10), .cashback-table td:nth-child(10) { width: 8%; }
.cashback-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 12px 10px;
  text-align: left;
  color: var(--muted);
  background: rgba(255,255,255,.045);
  font-size: 11px;
  letter-spacing: .09em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(255,255,255,.08);
  white-space: nowrap;
}
.cashback-table td {
  padding: 12px 10px;
  color: var(--text);
  font-size: 12.5px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  vertical-align: middle;
}
.cashback-sort {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  max-width: 100%;
}
.cashback-sort span { color: var(--gold); font-size: 12px; line-height: 1; }
.cashback-table td:nth-child(4),
.cashback-table td:nth-child(6),
.cashback-table td:nth-child(7),
.cashback-table td:nth-child(8),
.cashback-table td:nth-child(9) { white-space: nowrap; }
.cashback-table td:nth-child(10) .btn-mini {
  padding: 8px 10px;
  min-width: 78px;
  line-height: 1.05;
  white-space: normal;
}
.cashback-table tbody tr:hover { background: rgba(232,199,110,.045); }
.cashback-table tbody tr.selected-row { background: rgba(232,199,110,.075); }
.cashback-select-col { text-align: center !important; }
.cashback-select-col input { width: 16px; height: 16px; accent-color: var(--gold); cursor: pointer; }
.cashback-table tbody tr:last-child td { border-bottom: 0; }
.cashback-client-name { font-weight: 850; color: var(--text); max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cashback-email { color: var(--muted-2); max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cashback-balance {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  padding: 6px 10px;
  border-radius: 999px;
  color: #17130a;
  background: linear-gradient(135deg, var(--gold), #f1d986);
  font-weight: 900;
}
.cashback-days-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  color: var(--muted-2);
  background: rgba(255,255,255,.04);
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}
.cashback-days-pill.danger { color: #fff2f2; background: rgba(190, 42, 42, .32); border-color: rgba(255, 104, 104, .34); }
.cashback-days-pill.warning { color: #2a1900; background: rgba(255, 159, 64, .86); border-color: rgba(255, 176, 80, .48); }
.cashback-days-pill.notice { color: #17130a; background: #f1d986; border-color: rgba(232,199,110,.40); }
.cashback-days-pill.expired { color: #fff; background: rgba(150, 31, 31, .52); border-color: rgba(255, 104, 104, .40); }
.cashback-last-notice { color: var(--muted-2); font-size: 11.5px; }
.cashback-expiry-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 4px 0 14px;
}
.cashback-expiry-filters button {
  appearance: none;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: var(--muted-2);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.cashback-expiry-filters button.active {
  color: #17130a;
  background: linear-gradient(135deg, var(--gold), #f1d986);
  border-color: rgba(232,199,110,.45);
}
.cashback-empty { padding: 28px 14px !important; color: var(--muted) !important; text-align: center; }
@media (max-width: 1500px) {
  .cashback-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cashback-table { min-width: 1220px; }
}
@media (max-width: 1180px) {
  .cashback-table { min-width: 1180px; }
  .cashback-table th, .cashback-table td { padding-left: 8px; padding-right: 8px; }
  .cashback-table td:nth-child(10) .btn-mini { min-width: 68px; padding: 7px 8px; }
}
@media (max-width: 920px) {
  .cashback-kpis { grid-template-columns: 1fr; }
  .cashback-toolbar { align-items: flex-start; }
  .cashback-actions { width: 100%; justify-content: flex-start; }
  .cashback-search { width: 100%; }
}
.cashback-metrics-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 14px;
}
.cashback-metrics-strip > div {
  border: 1px solid rgba(232,199,110,.18);
  background: rgba(232,199,110,.055);
  border-radius: 16px;
  padding: 12px 14px;
  min-width: 0;
}
.cashback-metrics-strip span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.cashback-metrics-strip strong {
  display: block;
  color: var(--text);
  font-size: 18px;
  letter-spacing: -.03em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 1500px) {
  .cashback-metrics-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
  .cashback-metrics-strip { grid-template-columns: 1fr; }
}
.cashback-period-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 14px 0 10px;
}
.cashback-period-tabs button {
  appearance: none;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: var(--muted-2);
  border-radius: 12px;
  padding: 9px 13px;
  font-weight: 850;
  cursor: pointer;
}
.cashback-period-tabs button.active {
  color: #17130a;
  background: linear-gradient(135deg, var(--gold), #f1d986);
  border-color: rgba(232,199,110,.45);
}
.cashback-period-tabs button:disabled { opacity: .65; cursor: progress; }
.cashback-metrics-strip.yampi-metrics-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cashback-metrics-warning { align-items: center; gap: 10px; flex-wrap: wrap; }
.cashback-debug-box {
  margin: 10px 0 14px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(0,0,0,.25);
  color: var(--muted-2);
  max-height: 320px;
  overflow: auto;
}
.cashback-debug-box pre { margin: 0; white-space: pre-wrap; font-size: 11px; line-height: 1.45; }
@media (max-width: 1500px) {
  .cashback-metrics-strip.yampi-metrics-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
  .cashback-metrics-strip.yampi-metrics-strip { grid-template-columns: 1fr; }
  .cashback-period-tabs button { flex: 1 1 120px; }
}

.recurring-report-page .cashback-kpis {
  grid-template-columns: repeat(6, minmax(150px, 1fr));
}
.recurring-table-wrap { overflow-x: auto; }
.recurring-table { min-width: 1420px; }
.recurring-table th:nth-child(1), .recurring-table td:nth-child(1) { width: 36px; }
.recurring-table th:nth-child(2), .recurring-table td:nth-child(2) { width: 15%; }
.recurring-table th:nth-child(3), .recurring-table td:nth-child(3) { width: 18%; }
.recurring-table th:nth-child(4), .recurring-table td:nth-child(4) { width: 10%; }
.recurring-table th:nth-child(5), .recurring-table td:nth-child(5) { width: 7%; text-align:center; }
.recurring-table th:nth-child(6), .recurring-table td:nth-child(6) { width: 9%; }
.recurring-table th:nth-child(7), .recurring-table td:nth-child(7) { width: 9%; white-space:nowrap; }
.recurring-table th:nth-child(8), .recurring-table td:nth-child(8) { width: 9%; white-space:nowrap; }
.recurring-table th:nth-child(9), .recurring-table td:nth-child(9) { width: 9%; white-space:nowrap; }
.recurring-table th:nth-child(10), .recurring-table td:nth-child(10) { width: 10%; white-space:nowrap; }
.recurring-table th:nth-child(11), .recurring-table td:nth-child(11) { width: 8%; }
@media (max-width: 1500px) {
  .recurring-report-page .cashback-kpis { grid-template-columns: repeat(3, minmax(160px, 1fr)); }
}
@media (max-width: 900px) {
  .recurring-report-page .cashback-kpis { grid-template-columns: 1fr; }
}

.recurring-primary-kpis { grid-template-columns: repeat(6, minmax(150px, 1fr)); }
.recurring-insights-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr 1fr;
  gap: 12px;
  margin: 16px 0 4px;
}
.recurring-insight-card {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  padding: 14px 16px;
  min-height: 110px;
}
.recurring-insight-card h3 {
  margin: 0 0 10px;
  font-size: 14px;
  color: var(--text);
  letter-spacing: -.02em;
}
.rfm-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cashback-days-pill.neutral { background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.09); color: var(--muted-2); }
.top-customers-list { margin: 0; padding-left: 18px; display: grid; gap: 7px; }
.top-customers-list li { color: var(--muted-2); font-size: 12px; }
.top-customers-list li span { display: inline-block; max-width: 68%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.top-customers-list li strong { float: right; color: var(--gold); font-size: 12px; }
.monthly-recurrence-list { display: grid; gap: 8px; }
.monthly-recurrence-list div { display: flex; justify-content: space-between; gap: 10px; color: var(--muted-2); font-size: 12px; border-bottom: 1px solid rgba(255,255,255,.06); padding-bottom: 7px; }
.monthly-recurrence-list strong { color: var(--text); }
.muted { color: var(--muted); font-size: 12px; }
.recurring-advanced-table { min-width: 1780px; }
.recurring-advanced-table th, .recurring-advanced-table td { padding-left: 12px; padding-right: 12px; }
.recurring-products { max-width: 260px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--muted-2); }
@media (max-width: 1550px) {
  .recurring-primary-kpis { grid-template-columns: repeat(3, minmax(160px, 1fr)); }
  .recurring-insights-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .recurring-primary-kpis { grid-template-columns: 1fr; }
}

/* Ajustes de densidade e responsividade — Clientes recorrentes */
.recurring-report-page .panel.full-span { max-width: 100%; }
.recurring-report-page .cashback-list-panel { padding: 20px 18px; }
.recurring-primary-kpis .kpi-card strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.recurring-table-wrap {
  overflow-x: auto;
  scrollbar-gutter: stable;
}
.recurring-advanced-table {
  min-width: 1240px;
  width: 100%;
  table-layout: fixed;
}
.recurring-advanced-table th,
.recurring-advanced-table td {
  padding-left: 8px;
  padding-right: 8px;
  font-size: 11.8px;
}
.recurring-advanced-table th { font-size: 10px; letter-spacing: .075em; }
.recurring-advanced-table .col-client { width: 19%; }
.recurring-advanced-table .col-phone { width: 10%; }
.recurring-advanced-table .col-orders { width: 5%; }
.recurring-advanced-table .col-money { width: 8%; }
.recurring-advanced-table .col-ticket { width: 7%; }
.recurring-advanced-table .col-date { width: 8%; }
.recurring-advanced-table .col-days { width: 7%; }
.recurring-advanced-table .col-average { width: 7%; }
.recurring-advanced-table .col-probability { width: 9%; }
.recurring-advanced-table .col-rfm { width: 9%; }
.recurring-advanced-table .col-products { width: 11%; }
.recurring-client-cell { min-width: 0; display: grid; gap: 3px; }
.recurring-client-cell .cashback-client-name { font-size: 12px; }
.recurring-client-cell .cashback-email { font-size: 11.5px; }
.recurring-phone,
.nowrap-cell { white-space: nowrap; }
.numeric-cell { text-align: center; white-space: nowrap; }
.cashback-balance.compact-money {
  min-width: 70px;
  padding: 5px 8px;
  font-size: 11.5px;
}
.cashback-days-pill.compact-pill {
  min-width: 58px;
  padding: 5px 7px;
  font-size: 11px;
}
.recurring-products {
  max-width: 100%;
  font-size: 11.5px;
}
.recurring-report-page .cashback-search { width: min(380px, 100%); }
.recurring-report-page .cashback-expiry-filters button {
  padding: 7px 10px;
  font-size: 11.5px;
}
@media (max-width: 1600px) {
  .recurring-advanced-table { min-width: 1180px; }
  .recurring-advanced-table th,
  .recurring-advanced-table td { padding-left: 7px; padding-right: 7px; }
  .cashback-days-pill.compact-pill { min-width: 52px; }
  .recurring-products { max-width: 110px; }
}
@media (max-width: 1380px) {
  .recurring-advanced-table { min-width: 1120px; }
  .recurring-advanced-table .col-products { width: 9%; }
  .recurring-advanced-table .col-probability { width: 8%; }
}

/* Layout final — Clientes recorrentes no padrão compacto do mockup */
.recurring-report-page {
  --recurring-card-bg: linear-gradient(145deg, rgba(35,35,36,.96), rgba(22,23,23,.96));
}
.recurring-report-page .cashback-summary-panel {
  padding: 18px 22px 20px;
}
.recurring-report-page .panel-title-row h2 {
  font-size: 20px;
}
.recurring-report-page .recurring-primary-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.recurring-report-page .recurring-primary-kpis .kpi-card {
  min-height: 98px;
  padding: 16px 18px;
  background: var(--recurring-card-bg);
  border-color: rgba(255,255,255,.085);
}
.recurring-report-page .recurring-primary-kpis .kpi-card span {
  font-size: 13px;
}
.recurring-report-page .recurring-primary-kpis .kpi-card strong {
  font-size: clamp(22px, 1.7vw, 30px);
  line-height: 1.05;
}
.recurring-report-page .recurring-insights-grid {
  grid-template-columns: 1.05fr 1fr 1.45fr;
  gap: 12px;
  margin-top: 14px;
}
.recurring-report-page .recurring-insight-card {
  min-height: 134px;
  padding: 14px 16px;
  background: rgba(255,255,255,.028);
}
.recurring-report-page .rfm-chips {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px 10px;
}
.recurring-report-page .rfm-chips .cashback-days-pill {
  display: flex;
  justify-content: space-between;
  min-width: 0;
  width: 100%;
}
.recurring-report-page .top-customers-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}
.recurring-report-page .top-customers-list li strong { float: none; }
.recurring-report-page .top-customers-list li span { max-width: 100%; }
.recurring-report-page .cashback-list-panel {
  padding: 22px 24px 18px;
}
.recurring-report-page .cashback-list-header {
  align-items: end;
  gap: 14px;
}
.recurring-report-page .cashback-search {
  width: min(420px, 100%);
}
.recurring-report-page .cashback-expiry-filters {
  margin: 12px 0 14px;
  gap: 7px;
}
.recurring-report-page .cashback-expiry-filters button {
  border-radius: 14px;
  padding: 8px 12px;
}
.recurring-report-page .recurring-table-wrap {
  overflow-x: visible;
  border-radius: 16px;
}
.recurring-report-page .recurring-advanced-table {
  min-width: 0 !important;
  width: 100%;
  table-layout: fixed;
}
.recurring-report-page .recurring-advanced-table col.col-client { width: 21%; }
.recurring-report-page .recurring-advanced-table col.col-phone { width: 12%; }
.recurring-report-page .recurring-advanced-table col.col-orders { width: 5.5%; }
.recurring-report-page .recurring-advanced-table col.col-money { width: 9%; }
.recurring-report-page .recurring-advanced-table col.col-ticket { width: 8%; }
.recurring-report-page .recurring-advanced-table col.col-date { width: 8.5%; }
.recurring-report-page .recurring-advanced-table col.col-days { width: 7%; }
.recurring-report-page .recurring-advanced-table col.col-average { width: 8%; }
.recurring-report-page .recurring-advanced-table col.col-probability { width: 10.5%; }
.recurring-report-page .recurring-advanced-table col.col-rfm { width: 10.5%; }
.recurring-report-page .recurring-advanced-table th,
.recurring-report-page .recurring-advanced-table td {
  padding: 10px 10px;
  font-size: 12px;
  vertical-align: middle;
}
.recurring-report-page .recurring-advanced-table th {
  font-size: 10px;
  letter-spacing: .08em;
  white-space: nowrap;
}
.recurring-client-cell {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}
.recurring-avatar {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #f2d678, #c89d35);
  color: #15110b;
  font-size: 13px;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 8px 18px rgba(0,0,0,.22);
}
.recurring-client-text { min-width: 0; }
.recurring-client-cell .cashback-client-name,
.recurring-client-cell .cashback-email,
.recurring-phone,
.nowrap-cell {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.recurring-phone {
  letter-spacing: .01em;
}
.recurring-report-page .cashback-balance.compact-money {
  min-width: 72px;
  padding: 5px 9px;
}
.recurring-report-page .cashback-days-pill.compact-pill {
  min-width: 0;
  max-width: 100%;
  padding: 5px 9px;
  white-space: nowrap;
}
.recurring-report-page .cashback-table tbody tr:hover {
  background: rgba(255,255,255,.035);
}
@media (max-width: 1650px) {
  .recurring-report-page .recurring-primary-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .recurring-report-page .recurring-insights-grid { grid-template-columns: 1fr 1fr; }
  .recurring-report-page .recurring-insights-grid .recurring-insight-card:last-child { grid-column: 1 / -1; }
  .recurring-report-page .recurring-table-wrap { overflow-x: auto; }
  .recurring-report-page .recurring-advanced-table { min-width: 1180px !important; }
}
@media (max-width: 1100px) {
  .recurring-report-page .recurring-primary-kpis,
  .recurring-report-page .recurring-insights-grid { grid-template-columns: 1fr; }
  .recurring-report-page .cashback-list-header { align-items: stretch; }
  .recurring-report-page .cashback-actions { width: 100%; }
  .recurring-report-page .cashback-search { width: 100%; }
}

/* Layout final - Clientes recorrentes no padrão do mockup aprovado */
.recurring-mockup-page {
  --mock-gold:#e0b84e;
  --mock-gold-2:#ffd86f;
  --mock-bg:#0a0d0d;
  --mock-card:linear-gradient(145deg, rgba(31,33,34,.98), rgba(18,20,20,.98));
  --mock-card-soft:linear-gradient(145deg, rgba(28,30,31,.96), rgba(15,17,17,.96));
  --mock-border:rgba(255,255,255,.075);
  display:block;
  max-width:100%;
  padding:20px 24px 28px;
}
.recurring-mockup-page .cashback-summary-panel,
.recurring-mockup-page .cashback-list-panel {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.recurring-mockup-page .cashback-summary-panel { margin-bottom:18px; }
.recurring-mockup-page .cashback-toolbar {
  margin:0 0 12px;
  align-items:center;
}
.recurring-mockup-page .cashback-toolbar h2 {
  font-size:22px !important;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
}
.recurring-mockup-page .cashback-toolbar .cashback-actions .btn-secondary,
.recurring-mockup-page .cashback-toolbar .cashback-actions .btn-primary {
  height:42px;
  border-radius:10px;
  padding:0 16px;
  font-weight:900;
}
.recurring-mock-kpis {
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:10px;
  margin-bottom:14px;
}
.recurring-mock-kpi {
  min-height:82px;
  display:grid;
  grid-template-columns:28px minmax(0, 1fr);
  align-items:center;
  gap:8px;
  padding:12px 14px;
  border:1px solid var(--mock-border);
  border-radius:14px;
  background:var(--mock-card);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 18px 42px rgba(0,0,0,.22);
  overflow:hidden;
  position:relative;
}
.recurring-mock-kpi:after {
  content:"";
  position:absolute;
  right:-18px;
  bottom:-30px;
  width:78px;
  height:78px;
  border-radius:50%;
  background:rgba(255,255,255,.09);
  pointer-events:none;
}
.recurring-kpi-icon {
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--mock-gold);
  font-size:17px;
  font-weight:900;
  line-height:1;
  filter:drop-shadow(0 8px 14px rgba(224,184,78,.12));
}
.recurring-mock-kpi span:not(.recurring-kpi-icon) {
  display:block;
  color:#f2eee5;
  font-size:11.5px;
  line-height:1.15;
  font-weight:800;
  margin-bottom:6px;
}
.recurring-mock-kpi strong {
  display:block;
  color:#fff8ee;
  font-size:24px;
  line-height:.98;
  letter-spacing:-.045em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.recurring-mock-kpi:nth-child(3) strong,
.recurring-mock-kpi:nth-child(4) strong {
  color:var(--mock-gold-2);
}
.recurring-mock-kpi.best strong { max-width:100%; }
.recurring-mock-kpi.best em {
  display:block;
  margin-top:5px;
  color:var(--mock-gold-2);
  font-style:normal;
  font-size:11px;
  font-weight:900;
}
.recurring-mock-insights {
  display:grid;
  grid-template-columns:1.05fr 1fr 1.42fr;
  gap:14px;
}
.recurring-mock-card {
  min-height:154px;
  padding:16px 18px;
  border:1px solid var(--mock-border);
  border-radius:14px;
  background:var(--mock-card-soft);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), 0 16px 38px rgba(0,0,0,.2);
}
.recurring-mock-card h3 {
  margin:0 0 14px;
  color:#fff8ee;
  font-size:16px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.02em;
}
.rfm-grid-exact {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 12px;
}
.rfm-row-exact {
  min-height:26px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:8px;
  padding:3px 8px 3px 0;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.rfm-row-exact strong {
  color:#fff8ee;
  font-size:13px;
  font-weight:900;
}
.rfm-badge-exact {
  width:max-content;
  max-width:100%;
  padding:4px 10px;
  border-radius:9px;
  font-size:11px;
  font-weight:900;
  line-height:1;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.rfm-badge-exact.safe { color:#75ec76; border-color:rgba(101,236,116,.38); background:rgba(41,152,67,.13); }
.rfm-badge-exact.warn { color:#ffd958; border-color:rgba(255,217,88,.32); background:rgba(189,142,31,.12); }
.rfm-badge-exact.danger { color:#ff6868; border-color:rgba(255,104,104,.38); background:rgba(190,47,47,.14); }
.rfm-badge-exact.soon { color:#76c8ff; border-color:rgba(118,200,255,.34); background:rgba(47,124,190,.13); }
.rfm-badge-exact.lost { color:#d79bff; border-color:rgba(215,155,255,.34); background:rgba(123,66,181,.14); }
.top-customers-exact {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:9px;
}
.top-customers-exact li {
  display:grid;
  grid-template-columns:18px minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
  color:#eee6d8;
  font-size:13px;
  line-height:1.1;
}
.top-customers-exact li:before {
  counter-increment:topc;
  content:counter(topc) ".";
  color:var(--mock-gold-2);
  font-weight:900;
}
.top-customers-exact { counter-reset:topc; }
.top-customers-exact span {
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.top-customers-exact strong {
  color:#fff8ee;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.recurrence-chart-exact {
  position:relative;
  height:112px;
  padding:4px 10px 20px;
}
.recurrence-chart-exact svg {
  width:100%;
  height:88px;
  overflow:visible;
}
.recurrence-chart-exact .grid-lines-exact line {
  stroke:rgba(255,255,255,.08);
  stroke-width:.35;
  stroke-dasharray:2 2;
}
.recurrence-chart-exact path {
  fill:none;
  stroke:var(--mock-gold);
  stroke-width:1.3;
  filter:drop-shadow(0 4px 10px rgba(224,184,78,.2));
}
.recurrence-chart-exact circle {
  fill:var(--mock-gold-2);
  stroke:#2b1d05;
  stroke-width:.35;
}
.chart-values-exact span {
  position:absolute;
  transform:translate(-50%, -18px);
  color:#fff8ee;
  font-size:11px;
  font-weight:900;
}
.chart-labels-exact {
  position:absolute;
  left:10px;
  right:10px;
  bottom:0;
  display:flex;
  justify-content:space-between;
  color:#eee6d8;
  font-size:11px;
  font-weight:700;
}
.recurring-mockup-page .cashback-list-panel {
  padding:0 8px 0 !important;
}
.recurring-mockup-page .cashback-list-header {
  margin:0 0 12px;
  align-items:center;
}
.recurring-mockup-page .cashback-list-header h2 {
  font-size:20px;
  font-weight:900;
  letter-spacing:-.03em;
}
.recurring-mockup-page .cashback-list-header .cashback-actions {
  display:flex;
  align-items:center;
  gap:12px;
}
.recurring-mockup-page .cashback-search {
  width:330px !important;
  height:42px;
  border-radius:12px;
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.1);
  font-size:13px;
}
.recurring-mockup-page .cashback-list-header .btn-primary {
  height:42px;
  border-radius:12px;
  padding:0 18px;
  font-weight:900;
}
.recurring-mockup-page .cashback-expiry-filters {
  margin:0 0 14px;
  gap:8px;
}
.recurring-mockup-page .cashback-expiry-filters button {
  min-height:36px;
  padding:0 14px;
  border-radius:13px;
  font-size:11px;
  font-weight:900;
}
.recurring-mockup-page .cashback-expiry-filters button.active,
.recurring-mockup-page .btn-secondary.active {
  background:#f0cf69 !important;
  color:#100e0a !important;
  border-color:#f0cf69 !important;
}
.recurring-mockup-page .recurring-table-wrap {
  overflow:hidden !important;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.025);
}
.recurring-mockup-page .recurring-advanced-table {
  min-width:0 !important;
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
}
.recurring-mockup-page .recurring-advanced-table col.col-client { width:24%; }
.recurring-mockup-page .recurring-advanced-table col.col-phone { width:10%; }
.recurring-mockup-page .recurring-advanced-table col.col-orders { width:4%; }
.recurring-mockup-page .recurring-advanced-table col.col-money { width:9%; }
.recurring-mockup-page .recurring-advanced-table col.col-ticket { width:8%; }
.recurring-mockup-page .recurring-advanced-table col.col-date { width:9%; }
.recurring-mockup-page .recurring-advanced-table col.col-days { width:7%; }
.recurring-mockup-page .recurring-advanced-table col.col-average { width:7%; }
.recurring-mockup-page .recurring-advanced-table col.col-probability { width:12%; }
.recurring-mockup-page .recurring-advanced-table col.col-rfm { width:10%; }
.recurring-mockup-page .recurring-advanced-table thead tr {
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}
.recurring-mockup-page .recurring-advanced-table th,
.recurring-mockup-page .recurring-advanced-table td {
  padding:8px 7px !important;
  height:40px;
  border-bottom:1px solid rgba(255,255,255,.055);
  vertical-align:middle;
  font-size:12px;
}
.recurring-mockup-page .recurring-advanced-table th {
  color:#a9a39a;
  font-size:9.5px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase;
  font-weight:900;
  white-space:nowrap;
}
.recurring-mockup-page .cashback-sort {
  color:#a9a39a;
  font-size:9.5px;
  letter-spacing:.075em;
  text-transform:uppercase;
  font-weight:900;
  white-space:nowrap;
}
.recurring-mockup-page .cashback-sort span { color:var(--mock-gold-2); font-size:14px; }
.recurring-mockup-page .recurring-client-cell {
  display:grid;
  grid-template-columns:30px minmax(0, 1fr);
  gap:8px;
  align-items:center;
  min-width:0;
}
.recurring-mockup-page .recurring-avatar {
  width:28px;
  height:28px;
  border-radius:50%;
  background:linear-gradient(135deg,#f5db76,#c69b34);
  color:#17130b;
  font-size:13px;
  font-weight:950;
  box-shadow:0 7px 16px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.35);
}
.recurring-mockup-page .recurring-client-cell .cashback-client-name {
  color:#fff8ee;
  font-size:11px;
  font-weight:900;
  line-height:1.2;
}
.recurring-mockup-page .recurring-client-cell .cashback-email {
  color:#9f988f;
  font-size:11.5px;
  font-weight:700;
  line-height:1.25;
}
.recurring-mockup-page .recurring-phone,
.recurring-mockup-page .nowrap-cell,
.recurring-mockup-page .numeric-cell {
  color:#f0e8db;
  font-size:12px;
  font-weight:750;
}
.recurring-mockup-page .numeric-cell { text-align:center; }
.recurring-mockup-page .cashback-balance.compact-money {
  min-width:76px;
  display:inline-flex;
  justify-content:center;
  padding:5px 8px;
  border-radius:999px;
  background:#f0cf69;
  color:#080807;
  font-size:12px;
  font-weight:950;
}
.recurring-mockup-page .cashback-days-pill.compact-pill {
  min-width:58px;
  display:inline-flex;
  justify-content:center;
  padding:5px 8px;
  border-radius:999px;
  font-size:11.5px;
  font-weight:900;
  border:1px solid rgba(255,255,255,.08);
}
.recurring-mockup-page .cashback-days-pill.safe { background:rgba(54,135,57,.34); color:#bff6b9; }
.recurring-mockup-page .cashback-days-pill.warn { background:rgba(187,143,36,.22); color:#ffe18a; }
.recurring-mockup-page .cashback-days-pill.danger { background:rgba(177,54,54,.28); color:#ffb0ad; }
.recurring-mockup-page .cashback-days-pill.neutral { background:rgba(85,112,132,.28); color:#c7e6ff; }
.recurring-mockup-page .cashback-days-pill.soon { background:rgba(67,120,152,.34); color:#c8ebff; }
.recurring-mockup-page .cashback-days-pill.lost { background:rgba(123,73,163,.32); color:#e4c5ff; }
.recurring-table-footer {
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 4px 0;
  color:#aaa39a;
  font-size:12px;
  font-weight:700;
}
.recurring-table-footer .btn-secondary {
  margin-left:20px;
  height:34px;
  border-radius:9px;
}
.recurring-pager {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:7px;
}
.recurring-pager button,
.recurring-pager strong {
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  color:#d8d0c4;
  font-weight:900;
}
.recurring-pager strong {
  background:rgba(240,207,105,.12);
  border-color:rgba(240,207,105,.5);
  color:#f0cf69;
}
@media (max-width:1500px) {
  .recurring-mockup-page { padding:18px 18px 24px; }
  .recurring-mock-kpis { gap:10px; }
  .recurring-mock-kpi { padding:14px 12px; grid-template-columns:30px minmax(0,1fr); min-height:96px; }
  .recurring-kpi-icon { width:26px; font-size:18px; }
  .recurring-mock-kpi span:not(.recurring-kpi-icon) { font-size:12px; }
  .recurring-mock-kpi strong { font-size:23px; }
  .recurring-mock-card { padding:13px 14px; }
  .recurring-mockup-page .recurring-advanced-table th,
  .recurring-mockup-page .recurring-advanced-table td { padding-left:7px !important; padding-right:7px !important; }
}
@media (max-width:1250px) {
  .recurring-mock-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .recurring-mock-insights { grid-template-columns:1fr; }
  .recurring-mockup-page .recurring-table-wrap { overflow-x:auto !important; }
  .recurring-mockup-page .recurring-advanced-table { min-width:1180px !important; }
}


/* Ajustes finais - Clientes recorrentes: cards compactos e tabela 100% */
.recurring-mockup-page .recurring-mock-kpi span:not(.recurring-kpi-icon){max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.recurring-mockup-page .recurring-mock-kpi strong{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.recurring-mockup-page .recurring-mock-kpi.best strong{font-size:22px;}
.recurring-mockup-page .recurring-mock-kpi.best em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.recurring-mockup-page .recurring-advanced-table .numeric-cell{width:auto;text-align:center;}
.recurring-mockup-page .recurring-advanced-table th:nth-child(3),
.recurring-mockup-page .recurring-advanced-table td:nth-child(3){padding-left:3px!important;padding-right:3px!important;text-align:center;}
.recurring-mockup-page .recurring-advanced-table th:nth-child(8),
.recurring-mockup-page .recurring-advanced-table td:nth-child(8){padding-left:4px!important;padding-right:4px!important;text-align:center;}
.recurring-mockup-page .cashback-days-pill.compact-pill{min-width:54px;padding:5px 8px;}
.recurring-mockup-page .recurring-client-cell .cashback-client-name,
.recurring-mockup-page .recurring-client-cell .cashback-email{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.recurring-mockup-page .recurring-phone{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* Ajustes finais - Clientes recorrentes: cards compactos e tabela sem sobreposição */
.recurring-mockup-page .recurring-mock-kpis {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 9px;
}
.recurring-mockup-page .recurring-mock-kpi {
  min-height: 74px;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  padding: 10px 12px;
}
.recurring-mockup-page .recurring-mock-kpi:after {
  width: 64px;
  height: 64px;
  right: -18px;
  bottom: -24px;
}
.recurring-mockup-page .recurring-kpi-icon {
  width: 20px;
  height: 20px;
  font-size: 15px;
}
.recurring-mockup-page .recurring-mock-kpi span:not(.recurring-kpi-icon) {
  font-size: 10.5px;
  margin-bottom: 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.recurring-mockup-page .recurring-mock-kpi strong {
  font-size: 21px;
  max-width: 128px;
}
.recurring-mockup-page .recurring-mock-kpi.best strong {
  font-size: 22px;
  max-width: 92px;
}
.recurring-mockup-page .recurring-mock-kpi.best em {
  font-size: 10px;
}

.recurring-mockup-page .recurring-advanced-table col.col-client { width: 22%; }
.recurring-mockup-page .recurring-advanced-table col.col-phone { width: 10%; }
.recurring-mockup-page .recurring-advanced-table col.col-orders { width: 6%; }
.recurring-mockup-page .recurring-advanced-table col.col-money { width: 9%; }
.recurring-mockup-page .recurring-advanced-table col.col-ticket { width: 8%; }
.recurring-mockup-page .recurring-advanced-table col.col-date { width: 8%; }
.recurring-mockup-page .recurring-advanced-table col.col-days { width: 8%; }
.recurring-mockup-page .recurring-advanced-table col.col-average { width: 8%; }
.recurring-mockup-page .recurring-advanced-table col.col-probability { width: 11%; }
.recurring-mockup-page .recurring-advanced-table col.col-rfm { width: 10%; }
.recurring-mockup-page .recurring-advanced-table th,
.recurring-mockup-page .recurring-advanced-table td {
  padding: 8px 10px !important;
}
.recurring-mockup-page .recurring-advanced-table th {
  overflow: visible;
}
.recurring-mockup-page .cashback-sort {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  min-width: 0;
  line-height: 1;
}
.recurring-mockup-page .cashback-sort .sort-text {
  display: inline-block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.recurring-mockup-page .cashback-sort .sort-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 12px;
  width: 12px;
  color: var(--mock-gold-2);
  font-size: 13px;
  line-height: 1;
}
.recurring-mockup-page .recurring-advanced-table th:nth-child(3),
.recurring-mockup-page .recurring-advanced-table td:nth-child(3) {
  text-align: center;
}
.recurring-mockup-page .recurring-advanced-table th:nth-child(3) .cashback-sort {
  justify-content: center;
}
.recurring-mockup-page .recurring-advanced-table th:nth-child(7) .cashback-sort,
.recurring-mockup-page .recurring-advanced-table th:nth-child(8) .cashback-sort {
  justify-content: center;
}
.recurring-mockup-page .cashback-balance.compact-money {
  min-width: 78px;
  max-width: 92px;
}
.recurring-mockup-page .nowrap-cell {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.recurring-mockup-page .cashback-days-pill.compact-pill {
  min-width: 0;
  max-width: 112px;
  padding: 5px 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 10.8px;
}
.recurring-mockup-page .recurring-advanced-table td:nth-child(9) .cashback-days-pill.compact-pill,
.recurring-mockup-page .recurring-advanced-table td:nth-child(10) .cashback-days-pill.compact-pill {
  width: 100%;
  max-width: 118px;
}

@media (max-width: 1500px) {
  .recurring-mockup-page .recurring-mock-kpi { min-height: 70px; padding: 9px 10px; }
  .recurring-mockup-page .recurring-mock-kpi strong { font-size: 19px; max-width: 112px; }
  .recurring-mockup-page .recurring-mock-kpi.best strong { font-size: 20px; max-width: 78px; }
  .recurring-mockup-page .recurring-advanced-table th,
  .recurring-mockup-page .recurring-advanced-table td { padding: 7px 8px !important; }
  .recurring-mockup-page .recurring-advanced-table col.col-client { width: 23%; }
  .recurring-mockup-page .recurring-advanced-table col.col-phone { width: 10%; }
  .recurring-mockup-page .recurring-advanced-table col.col-orders { width: 6%; }
  .recurring-mockup-page .recurring-advanced-table col.col-money { width: 9%; }
  .recurring-mockup-page .recurring-advanced-table col.col-ticket { width: 8%; }
  .recurring-mockup-page .recurring-advanced-table col.col-date { width: 8%; }
  .recurring-mockup-page .recurring-advanced-table col.col-days { width: 8%; }
  .recurring-mockup-page .recurring-advanced-table col.col-average { width: 8%; }
  .recurring-mockup-page .recurring-advanced-table col.col-probability { width: 10%; }
  .recurring-mockup-page .recurring-advanced-table col.col-rfm { width: 10%; }
}

/* Ajuste final: cabeçalhos legíveis e colunas padronizadas no módulo Clientes recorrentes */
.recurring-report-page .recurring-advanced-table col.col-client { width: 22% !important; }
.recurring-report-page .recurring-advanced-table col.col-phone { width: 11% !important; }
.recurring-report-page .recurring-advanced-table col.col-orders { width: 6% !important; }
.recurring-report-page .recurring-advanced-table col.col-money { width: 9% !important; }
.recurring-report-page .recurring-advanced-table col.col-ticket { width: 9% !important; }
.recurring-report-page .recurring-advanced-table col.col-date { width: 8.5% !important; }
.recurring-report-page .recurring-advanced-table col.col-days { width: 9% !important; }
.recurring-report-page .recurring-advanced-table col.col-average { width: 10% !important; }
.recurring-report-page .recurring-advanced-table col.col-probability { width: 8% !important; }
.recurring-report-page .recurring-advanced-table col.col-rfm { width: 7.5% !important; }

.recurring-report-page .recurring-advanced-table th,
.recurring-report-page .recurring-advanced-table td {
  padding-left: 9px !important;
  padding-right: 9px !important;
}

.recurring-report-page .recurring-advanced-table th {
  font-size: 9px !important;
  letter-spacing: .075em !important;
  line-height: 1.15 !important;
  color: rgba(248,243,234,.68) !important;
}

.recurring-report-page .recurring-advanced-table .cashback-sort {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

.recurring-report-page .recurring-advanced-table .cashback-sort .sort-text {
  display: inline-block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: rgba(248,243,234,.72) !important;
  font-size: 9px !important;
  line-height: 1.15 !important;
  letter-spacing: .075em !important;
}

.recurring-report-page .recurring-advanced-table .cashback-sort .sort-icon {
  flex: 0 0 auto !important;
  width: 12px !important;
  color: var(--gold) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  text-align: center !important;
}

.recurring-report-page .recurring-advanced-table th:nth-child(3),
.recurring-report-page .recurring-advanced-table td:nth-child(3) {
  text-align: center !important;
}

.recurring-report-page .recurring-advanced-table th:nth-child(4),
.recurring-report-page .recurring-advanced-table th:nth-child(5),
.recurring-report-page .recurring-advanced-table th:nth-child(6),
.recurring-report-page .recurring-advanced-table th:nth-child(7),
.recurring-report-page .recurring-advanced-table th:nth-child(8) {
  text-align: left !important;
}

.recurring-report-page .recurring-advanced-table .compact-pill {
  min-width: 82px;
  max-width: 100%;
  justify-content: center;
}

.recurring-report-page .recurring-advanced-table td:nth-child(10) .compact-pill {
  min-width: 86px;
}

/* Campanhas e ajustes finais de Clientes Recorrentes */
.recurring-mockup-page .recurring-advanced-table col.col-client { width:25%; }
.recurring-mockup-page .recurring-advanced-table col.col-phone { width:11%; }
.recurring-mockup-page .recurring-advanced-table col.col-orders { width:7%; }
.recurring-mockup-page .recurring-advanced-table col.col-money { width:10%; }
.recurring-mockup-page .recurring-advanced-table col.col-ticket { width:10%; }
.recurring-mockup-page .recurring-advanced-table col.col-date { width:9%; }
.recurring-mockup-page .recurring-advanced-table col.col-days { width:9%; }
.recurring-mockup-page .recurring-advanced-table col.col-average { width:10%; }
.recurring-mockup-page .recurring-advanced-table col.col-probability { width:10%; }
.recurring-mockup-page .recurring-advanced-table col.col-rfm { width:9%; }
.recurring-mockup-page .recurring-advanced-table th { font-size:10px !important; letter-spacing:.055em !important; }
.recurring-mockup-page .cashback-sort { display:inline-flex; align-items:center; justify-content:center; gap:5px; max-width:100%; min-width:0; color:#b9b1a5; }
.recurring-mockup-page .cashback-sort .sort-text { color:#b9b1a5; font-size:10px; line-height:1.15; white-space:normal; overflow:visible; text-overflow:clip; }
.recurring-mockup-page .cashback-sort .sort-icon { color:var(--mock-gold-2); font-size:13px; width:12px; flex:0 0 12px; text-align:center; }
.recurring-mockup-page .recurring-advanced-table th:nth-child(3),
.recurring-mockup-page .recurring-advanced-table td:nth-child(3) { text-align:center; }
.recurring-mockup-page .recurring-advanced-table th:nth-child(8),
.recurring-mockup-page .recurring-advanced-table td:nth-child(8) { text-align:center; }
.recurring-mockup-page .cashback-days-pill.compact-pill { min-width:84px; padding:5px 10px; }
.recurring-mockup-page td:nth-child(7) .cashback-days-pill.compact-pill { min-width:58px; }
.recurring-mockup-page td:nth-child(10) .cashback-days-pill.compact-pill { min-width:92px; }

.campaign-modal-backdrop { position:fixed; inset:0; z-index:80; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(0,0,0,.68); backdrop-filter:blur(7px); }
.campaign-modal { width:min(860px, 96vw); max-height:88vh; overflow:auto; padding:22px !important; border-radius:22px !important; background:linear-gradient(145deg, rgba(31,31,31,.98), rgba(17,17,17,.98)) !important; }
.campaign-form-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; margin:16px 0; }
.campaign-form-grid label,
.campaign-message-label { display:grid; gap:7px; color:#bfb6aa; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.campaign-message { min-height:170px; resize:vertical; line-height:1.55; white-space:pre-wrap; }
.campaign-modal-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; }
.campaigns-hero .panel-subtitle { margin-top:4px; }
.campaign-kpis { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; margin-top:18px; }
.campaign-kpis article { border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:16px; background:linear-gradient(145deg, rgba(35,35,35,.9), rgba(19,19,19,.9)); }
.campaign-kpis span { display:block; color:#aaa39a; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.campaign-kpis strong { display:block; margin-top:8px; color:#fff8ee; font-size:28px; font-weight:950; }
.campaigns-table td strong { display:block; color:#fff8ee; }
.campaigns-table td small { display:block; margin-top:4px; color:#9d958a; max-width:360px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.campaign-actions-cell { display:flex; gap:6px; flex-wrap:wrap; }
.tiny-action.danger { color:#ffb3ad !important; border-color:rgba(255,90,90,.28) !important; }
@media (max-width: 1180px) { .campaign-form-grid { grid-template-columns:1fr 1fr; } .campaign-kpis { grid-template-columns:1fr 1fr; } }
@media (max-width: 720px) { .campaign-form-grid, .campaign-kpis { grid-template-columns:1fr; } .campaign-modal-footer { flex-direction:column; align-items:stretch; } }

/* Campanhas - segmentação avançada sem selects nativos */
.recurring-campaign-modal { width:min(980px, 96vw) !important; }
.campaign-form-grid-main { grid-template-columns:1.1fr .7fr .7fr 1.2fr; align-items:end; }
.campaign-wide-field { grid-column:auto; }
.campaign-segmentation-box { margin:12px 0; padding:14px; border:1px solid rgba(255,255,255,.08); border-radius:16px; background:rgba(255,255,255,.025); }
.campaign-segmentation-box.compact { margin-top:10px; }
.campaign-section-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; color:#fff8ee; }
.campaign-section-title strong { font-size:14px; }
.campaign-section-title span { color:#d9c485; font-size:12px; font-weight:800; }
.campaign-chip-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:9px 0; }
.campaign-chip-row > span { flex:0 0 58px; color:#a69d91; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.campaign-chip { border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); color:#d8d0c4; border-radius:999px; padding:8px 12px; font-size:12px; font-weight:900; cursor:pointer; transition:.18s ease; }
.campaign-chip:hover { border-color:rgba(232,193,87,.45); color:#fff3d0; }
.campaign-chip.active { background:linear-gradient(135deg, #f6df87, #d8a83e); border-color:rgba(255,220,117,.65); color:#111; }
.campaign-range-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:10px; }
.campaign-range-row label { display:grid; gap:7px; color:#bfb6aa; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
@media (max-width:1180px){ .campaign-form-grid-main { grid-template-columns:1fr 1fr; } .campaign-wide-field { grid-column:1 / -1; } }
@media (max-width:720px){ .campaign-form-grid-main, .campaign-range-row { grid-template-columns:1fr; } .campaign-chip-row > span { flex-basis:100%; } }

/* Campaign builder workflow */
.campaign-builder-backdrop {
  align-items: stretch;
  justify-content: center;
  padding: 34px 22px;
  overflow: auto;
}
.campaign-builder-page {
  width: min(1360px, calc(100vw - 44px));
  max-height: calc(100vh - 68px);
  overflow: auto;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.campaign-builder-header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
}
.campaign-builder-header .eyebrow {
  margin: 0 0 4px;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 800;
}
.campaign-builder-header h2 { margin: 0 0 4px; font-size: 28px; }
.campaign-builder-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.campaign-builder-steps button {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: var(--muted);
  border-radius: 14px;
  padding: 12px 14px;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 10px;
}
.campaign-builder-steps button span {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.08);
  color: var(--text);
}
.campaign-builder-steps button.active {
  background: linear-gradient(135deg, rgba(244,213,117,.92), rgba(214,164,56,.96));
  color: #111;
  border-color: rgba(244,213,117,.7);
}
.campaign-builder-steps button.active span { background: rgba(0,0,0,.18); color: #111; }
.campaign-builder-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(280px, .7fr);
  gap: 14px;
}
.campaign-builder-grid.content-step { grid-template-columns: 380px minmax(0, 1fr); }
.campaign-builder-grid.preview-step { grid-template-columns: minmax(0, 1.5fr) 360px; }
.campaign-builder-grid.review-step { grid-template-columns: minmax(0, 1.2fr) 360px; }
.campaign-builder-card {
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border-radius: 18px;
  padding: 16px;
  min-width: 0;
}
.campaign-builder-card h3 { margin: 0 0 12px; font-size: 18px; }
.campaign-builder-card.wide { min-width: 0; }
.campaign-big-number {
  display: block;
  font-size: 56px;
  line-height: 1;
  margin: 16px 0 8px;
  color: var(--gold);
}
.campaign-form-grid.single {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.campaign-chip-row.inline { margin-top: 14px; }
.campaign-html-editor {
  min-height: 360px;
  width: 100%;
  font-family: Consolas, Menlo, Monaco, monospace;
  font-size: 12px;
  line-height: 1.55;
  resize: vertical;
}
.campaign-builder-page .campaign-message {
  min-height: 130px;
  font-family: Consolas, Menlo, Monaco, monospace;
}
.campaign-email-preview {
  border: 1px solid rgba(255,255,255,.10);
  background: #080808;
  border-radius: 14px;
  overflow: auto;
  max-height: 620px;
  padding: 0;
}
.whatsapp-preview-bubble {
  white-space: pre-wrap;
  background: rgba(14, 95, 55, .28);
  border: 1px solid rgba(96, 207, 132, .28);
  border-radius: 18px 18px 4px 18px;
  color: #eaf8ee;
  padding: 16px;
  line-height: 1.55;
}
.campaign-review-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}
.campaign-review-list div {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 12px;
  background: rgba(0,0,0,.18);
}
.campaign-review-list dt {
  color: var(--muted-2);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .1em;
  font-weight: 900;
  margin-bottom: 6px;
}
.campaign-review-list dd { margin: 0; color: var(--text); font-weight: 800; }
.campaign-builder-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 14px;
}
@media (max-width: 980px) {
  .campaign-builder-grid,
  .campaign-builder-grid.content-step,
  .campaign-builder-grid.preview-step,
  .campaign-builder-grid.review-step { grid-template-columns: 1fr; }
  .campaign-builder-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .campaign-builder-footer { flex-direction: column; align-items: stretch; }
}


/* Campaign builder UX refresh */
.campaign-builder-backdrop {
  align-items: flex-start;
  overflow: auto;
}
.campaign-builder-page {
  width: min(1440px, calc(100vw - 32px));
  max-height: none;
  overflow: visible;
  padding: 22px;
}
.campaign-builder-grid.content-live-step {
  grid-template-columns: 330px minmax(0, 1fr) 420px;
  align-items: start;
}
.campaign-builder-grid.preview-expanded-step {
  grid-template-columns: minmax(0, 1.35fr) 300px;
  align-items: start;
}
.sticky-card {
  position: sticky;
  top: 0;
}
.campaign-settings-card,
.campaign-live-preview-card {
  align-self: start;
}
.campaign-editor-card {
  min-width: 0;
}
.campaign-mini-message {
  min-height: 88px;
  resize: vertical;
  line-height: 1.55;
}
.campaign-message-lg {
  min-height: 260px;
}
.campaign-builder-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 16px;
}
.campaign-builder-inline-actions.compact {
  margin: 10px 0 12px;
}
.active-chip {
  background: linear-gradient(135deg, rgba(244,213,117,.92), rgba(214,164,56,.96)) !important;
  color: #111 !important;
  border-color: rgba(244,213,117,.7) !important;
}
.campaign-assistant-box {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.campaign-helper-list {
  border: 1px dashed rgba(244,213,117,.32);
  background: rgba(244,213,117,.06);
  border-radius: 16px;
  padding: 16px;
  color: var(--muted);
}
.campaign-helper-list strong {
  display: block;
  color: var(--text);
  margin-bottom: 8px;
}
.campaign-helper-list p {
  margin: 0 0 10px;
  line-height: 1.55;
}
.campaign-helper-list ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}
.campaign-helper-list.plain {
  background: rgba(255,255,255,.03);
  border-style: solid;
  border-color: rgba(255,255,255,.08);
}
.campaign-preview-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.campaign-preview-toolbar.large {
  align-items: flex-start;
}
.campaign-preview-toolbar-actions {
  display: grid;
  gap: 10px;
}
.campaign-preview-tabs {
  display: inline-flex;
  gap: 6px;
  padding: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
}
.campaign-preview-tabs button {
  border: 0;
  background: transparent;
  color: var(--muted);
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 800;
}
.campaign-preview-tabs button.active {
  background: linear-gradient(135deg, rgba(244,213,117,.92), rgba(214,164,56,.96));
  color: #111;
}
.campaign-preview-shell {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  padding: 18px;
}
.campaign-preview-shell.mobile {
  max-width: 430px;
  margin: 0 auto;
}
.campaign-email-preview {
  border: 1px solid rgba(255,255,255,.08);
  background: #080808;
  border-radius: 18px;
  overflow: hidden;
  max-height: none;
}
.campaign-email-preview.mobile {
  max-width: 390px;
  margin: 0 auto;
  box-shadow: 0 18px 48px rgba(0,0,0,.28);
}
.campaign-whatsapp-frame {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  background: #0f1f18;
  overflow: hidden;
}
.campaign-whatsapp-frame.mobile {
  max-width: 390px;
  margin: 0 auto;
}
.campaign-whatsapp-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 16px;
  background: rgba(255,255,255,.04);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.campaign-whatsapp-topbar strong {
  color: #f5f6f3;
  font-size: 14px;
}
.campaign-whatsapp-topbar span {
  color: #a7bbb0;
  font-size: 12px;
}
.campaign-whatsapp-body {
  padding: 18px;
  background:
    linear-gradient(rgba(6, 35, 24, .84), rgba(6, 35, 24, .84)),
    radial-gradient(circle at top left, rgba(115, 186, 135, .12), transparent 40%);
}
.preview-stage-card .campaign-preview-shell,
.preview-stage-card .campaign-whatsapp-frame {
  min-height: 560px;
}
@media (max-width: 1240px) {
  .campaign-builder-grid.content-live-step {
    grid-template-columns: 1fr;
  }
  .sticky-card {
    position: static;
  }
}
@media (max-width: 980px) {
  .campaign-builder-grid.preview-expanded-step {
    grid-template-columns: 1fr;
  }
  .campaign-preview-toolbar,
  .campaign-preview-toolbar.large {
    flex-direction: column;
    align-items: stretch;
  }
  .campaign-preview-toolbar-actions {
    grid-template-columns: 1fr;
  }
}

/* Campanhas em tela dedicada - sem modal */
.campaign-builder-fullpage {
  display: grid;
  gap: 18px;
  width: 100%;
}
.campaign-builder-topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.campaign-builder-topbar .eyebrow {
  margin: 0 0 6px;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 900;
}
.campaign-builder-topbar h2 {
  margin: 0 0 6px;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.08;
}
.campaign-builder-workspace {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(620px, 1fr);
  gap: 16px;
  align-items: start;
}
.campaign-builder-workspace.preview-hidden .campaign-builder-editor {
  min-height: 760px;
}
.campaign-builder-column {
  min-width: 0;
}
.campaign-builder-config,
.campaign-builder-preview-panel {
  position: sticky;
  top: 18px;
}
.campaign-source-card {
  border: 1px solid rgba(244,213,117,.22);
  background: linear-gradient(135deg, rgba(244,213,117,.08), rgba(255,255,255,.025));
  border-radius: 16px;
  padding: 14px;
  margin-bottom: 14px;
}
.campaign-source-card span {
  display: block;
  color: var(--muted-2);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: 10px;
  font-weight: 900;
  margin-bottom: 5px;
}
.campaign-source-card strong {
  display: block;
  color: var(--text);
  font-size: 15px;
  margin-bottom: 6px;
}
.campaign-source-card p {
  margin: 0 0 10px;
  color: var(--muted);
  line-height: 1.45;
}
.compact-channel-row {
  margin-top: 4px;
}
.campaign-editor-grid-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.campaign-editor-grid-two label,
.campaign-builder-fullpage .campaign-form-grid label {
  display: grid;
  gap: 7px;
  color: #bfb6aa;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.campaign-html-editor.full {
  min-height: 520px;
}
.campaign-builder-preview-panel .campaign-preview-shell,
.campaign-builder-preview-panel .campaign-whatsapp-frame {
  min-height: 640px;
}
.campaign-builder-preview-panel .campaign-email-preview {
  max-height: none;
}
.campaign-import-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-color: rgba(244,213,117,.25) !important;
  background: linear-gradient(135deg, rgba(244,213,117,.08), rgba(255,255,255,.025)) !important;
}
.campaign-import-banner strong {
  display: block;
  color: var(--text);
  margin-bottom: 4px;
}
.campaign-import-banner p {
  margin: 0;
  color: var(--muted);
}
@media (max-width: 1380px) {
  .campaign-builder-workspace,
  .campaign-builder-workspace.with-preview {
    grid-template-columns: 300px minmax(420px, 1fr);
  }
  .campaign-builder-preview-panel {
    grid-column: 1 / -1;
    position: static;
  }
}
@media (max-width: 980px) {
  .campaign-builder-topbar,
  .campaign-import-banner {
    flex-direction: column;
    align-items: stretch;
  }
  .campaign-builder-workspace,
  .campaign-editor-grid-two {
    grid-template-columns: 1fr;
  }
  .campaign-builder-config {
    position: static;
  }
}

.campaign-preview-toolbar.compact {
  margin-top: 10px;
  align-items: center;
}
.campaign-builder-preview-panel .campaign-preview-toolbar > div > strong {
  color: var(--text);
  display: block;
  margin-bottom: 4px;
}
.campaign-assistant-hint {
  border: 1px solid rgba(244,213,117,.18);
  background: rgba(244,213,117,.055);
  border-radius: 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  padding: 10px 12px;
  margin: 10px 0;
}
.campaign-builder-workspace.preview-hidden .campaign-message-lg {
  min-height: 340px;
}


.campaign-preview-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(3, 5, 9, .82);
  backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 1300;
}
.campaign-preview-modal {
  width: min(1320px, calc(100vw - 40px));
  max-height: calc(100vh - 40px);
  overflow: auto;
  padding: 20px;
}
.campaign-preview-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.campaign-preview-modal-header h3 {
  margin: 0 0 4px;
  font-size: 28px;
}
.campaign-preview-modal-actions {
  display: grid;
  gap: 10px;
  justify-items: end;
}
.campaign-preview-modal-stage {
  min-height: 520px;
  padding: 6px 0 4px;
}
.campaign-preview-modal-stage .campaign-preview-shell.desktop {
  max-width: 980px;
  margin: 0 auto;
  padding: 18px;
}
.campaign-preview-modal-stage .campaign-preview-shell.mobile,
.campaign-preview-modal-stage .campaign-whatsapp-frame.mobile {
  max-width: 430px;
}
.campaign-preview-modal-stage .campaign-email-preview {
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
}
.campaign-preview-modal-stage .campaign-whatsapp-frame.desktop {
  max-width: 560px;
  margin: 0 auto;
}
.campaign-preview-modal-stage .campaign-whatsapp-frame.mobile {
  margin: 0 auto;
}
@media (max-width: 980px) {
  .campaign-preview-modal-header {
    flex-direction: column;
    align-items: stretch;
  }
  .campaign-preview-modal-actions {
    justify-items: stretch;
  }
}

.field-hint{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.45;}

.audience-preset-row {
  align-items: flex-start;
  gap: 8px;
  margin: 10px 0 12px;
}
.audience-preset-row .campaign-chip {
  font-size: 11px;
  padding: 8px 10px;
}
.campaign-audience-picker-modal {
  max-width: 980px;
}
.campaign-audience-picker-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 14px 0;
}
.campaign-audience-picker-toolbar strong {
  color: var(--gold);
  white-space: nowrap;
}
.campaign-audience-picker-list {
  max-height: 56vh;
  overflow: auto;
  display: grid;
  gap: 8px;
  padding-right: 6px;
}
.campaign-audience-picker-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
}
.campaign-audience-picker-item span {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.campaign-audience-picker-item strong,
.campaign-audience-picker-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.campaign-audience-picker-item small {
  color: var(--muted-2);
  font-size: 11px;
}
.campaign-audience-picker-footer {
  justify-content: flex-end;
  margin-top: 16px;
}
@media (max-width: 720px) {
  .campaign-audience-picker-toolbar { grid-template-columns: 1fr; }
}


.audience-gender-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(216, 184, 90, .35);
  color: var(--gold-soft, #d8b85a);
  font-size: 10px;
  font-style: normal;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.audience-gender-pill.feminino { border-color: rgba(255, 127, 180, .45); color: #f2a8c9; }
.audience-gender-pill.masculino { border-color: rgba(120, 180, 255, .45); color: #9cc7ff; }
.audience-gender-pill.indefinido { border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.62); }
.audience-review-counter {
  color: var(--muted, #b5aaa0);
  font-size: 13px;
  font-weight: 700;
}
.audience-review-item {
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.audience-review-actions {
  display: inline-flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.audience-review-actions button {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color: var(--muted, #b5aaa0);
  border-radius: 999px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.audience-review-actions button.active,
.audience-review-actions button:hover {
  border-color: rgba(216, 184, 90, .65);
  color: #111;
  background: linear-gradient(135deg, #f5dc89, #c99a2e);
}
@media (max-width: 720px) {
  .audience-review-item { align-items: flex-start; }
  .audience-review-actions { justify-content: flex-start; width: 100%; }
}

.delivery-sync-row {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.delivery-sync-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.delivery-sync-summary {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.delivery-sync-summary span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
  color: var(--muted);
  font-size: 12px;
}

.delivery-sync-summary strong {
  color: var(--text);
}

@media (max-width: 720px) {
  .delivery-sync-actions {
    width: 100%;
    justify-content: stretch;
  }

  .delivery-sync-actions button {
    flex: 1 1 140px;
  }
}

.mini-error-list {
  margin: 8px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.mini-error-list li {
  font-size: 0.86rem;
  line-height: 1.35;
}
.kpi-card .kpi-note {
  display: block;
  margin-top: 7px;
  color: var(--muted-2);
  font-size: 12px;
  font-weight: 700;
}

.compact-select {
  min-width: 130px;
  max-width: 150px;
  height: 44px;
  padding: 0 12px;
}

.delivery-page-note {
  margin: 10px 0 14px;
  padding: 10px 12px;
  border: 1px solid rgba(214, 176, 77, 0.28);
  border-radius: 12px;
  color: var(--muted);
  font-size: 13px;
  background: rgba(214, 176, 77, 0.06);
}

.delivery-page-note strong {
  color: var(--text);
}

@media (max-width: 900px) {
  .delivery-sync-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .delivery-sync-actions .compact-select,
  .delivery-sync-actions button {
    width: 100%;
  }
}

.delivery-automation-card {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(216, 184, 90, .22);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}
.delivery-automation-main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  flex-wrap: wrap;
}
.delivery-automation-main strong {
  display: block;
  font-size: 1rem;
  margin-bottom: 4px;
}
.delivery-automation-main small,
.delivery-compact-item small,
.delivery-progress-note {
  color: var(--muted);
}
.delivery-automation-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.delivery-status-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.delivery-status-grid > div {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
}
.delivery-status-grid span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 800;
}
.delivery-status-grid strong {
  display: block;
  margin-top: 4px;
  font-size: 1.25rem;
}
.delivery-progress-note {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(216,184,90,.1);
  border: 1px solid rgba(216,184,90,.2);
  font-weight: 700;
}
.delivery-compact-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.delivery-compact-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.03);
}
.delivery-compact-item strong,
.delivery-compact-item small {
  display: block;
}
@media (max-width: 960px) {
  .delivery-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .delivery-automation-actions { width: 100%; justify-content: stretch; }
  .delivery-automation-actions button { flex: 1 1 180px; }
}
