:root {
  --db-bg: #F7F7F5;
  --db-surface: #FFFFFF;
  --db-border: #E5E4DF;
  --db-text: #1F1F1D;
  --db-text-muted: #696A65;
  --db-accent: #534AB7;
  --db-accent-bg: #EEEDFE;
  --db-success: #0F6E56;
  --db-success-bg: #E1F5EE;
  --db-danger: #993C1D;
  --db-danger-bg: #FAECE7;
  --db-warning: #854F0B;
  --db-warning-bg: #FAEEDA;
  --db-radius: 12px;
  --db-sidebar-bg: #0B1B2E;
  --db-sidebar-text: #D3DEE8;
  --db-sidebar-text-muted: #9FB4C9;
  --db-sidebar-accent: #3ED9B8;
  --db-sidebar-accent-bg: rgba(62, 217, 184, 0.15);
  --db-sidebar-border: rgba(255, 255, 255, 0.12);
}

* { box-sizing: border-box; }

body.db-body {
  margin: 0;
  background: var(--db-bg);
  color: var(--db-text);
  font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.45;
}

.db-shell { display: flex; min-height: 100vh; }

.db-sidebar {
  width: 220px;
  background: var(--db-sidebar-bg);
  border-right: none;
  padding: 1.25rem 0.6rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
  min-height: 0;
  transition: width 0.15s ease;
}

.db-sidebar.collapsed { width: 64px; }
.db-sidebar.collapsed .db-label { display: none; }
.db-sidebar.collapsed .db-nav-link { justify-content: center; }
.db-sidebar.collapsed .db-sidebar-top { justify-content: center; }
.db-sidebar.collapsed .db-sidebar-top h1 {
  width: 26px;
  height: 26px;
  margin: 0;
  border-radius: 50%;
  flex: 0 0 26px;
}
.db-sidebar.collapsed .db-sidebar-top h1 img {
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.3);
}
.db-sidebar.collapsed #dbCollapseBtn i { transform: rotate(180deg); }

.db-sidebar-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  padding: 0 0.4rem;
}

.db-sidebar h1 {
  width: 148px;
  height: 38px;
  font-size: 15px;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  overflow: hidden;
}

.db-sidebar h1 img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
}

.db-collapse-btn {
  border: none;
  background: transparent;
  color: var(--db-sidebar-text-muted);
  cursor: pointer;
  padding: 4px 6px;
  border-radius: 6px;
  flex-shrink: 0;
}

.db-collapse-btn:hover { background: rgba(255,255,255,0.08); color: #fff; }

.db-nav-scroll { flex: 1; overflow-y: auto; }

.db-sidebar-bottom {
  flex: 0 0 auto;
  border-top: 1px solid var(--db-sidebar-border);
  padding-top: 0.6rem;
  margin-top: 0.6rem;
  background: transparent;
}

.db-logout-link { color: #B8C7D6; }
.db-logout-link:hover { color: #F0D7CF; background: rgba(216, 90, 48, .12); }
.db-powered-by {
  padding: 7px 10px 0;
  color: var(--db-sidebar-text-muted);
  font-size: 9px;
  text-align: center;
  letter-spacing: .02em;
}
.db-powered-by strong { color: #fff; font-weight: 700; }

.db-nav-group-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--db-sidebar-text-muted);
  opacity: .7;
  margin: 1rem 0 0.4rem 0.5rem;
}

.db-nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: var(--db-radius);
  text-decoration: none;
  color: var(--db-sidebar-text);
  font-size: 14px;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
}

.db-nav-link i { width: 18px; text-align: center; flex-shrink: 0; font-size: 15px; }

.db-nav-link:hover { background: rgba(255,255,255,0.06); }

.db-nav-link.active {
  background: var(--db-sidebar-accent-bg);
  color: var(--db-sidebar-accent);
  font-weight: 600;
}

.db-main {
  flex: 1 1 0;
  width: 0;
  min-width: 0;
  max-width: none;
  padding: 1.5rem 2rem;
}
[data-filter-results] { scroll-margin-top: 18px; }
.db-filter-result-focus { animation: db-filter-result-highlight 1.8s ease-out; outline: none; }
@keyframes db-filter-result-highlight {
  0% { box-shadow: 0 0 0 4px rgba(83,74,183,.24), 0 10px 28px rgba(83,74,183,.12); }
  100% { box-shadow: 0 0 0 0 rgba(83,74,183,0), 0 0 0 rgba(83,74,183,0); }
}

.db-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}

.db-topbar h2 { font-size: 20px; margin: 0; }
.db-topbar p { font-size: 13px; color: var(--db-text-muted); margin: 2px 0 0; }

.db-operator-chip {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 9px;
  min-width: 190px;
  padding: 7px 9px;
  border: 1px solid var(--db-border);
  border-radius: 11px;
  background: var(--db-surface);
  color: var(--db-text);
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.db-operator-chip:hover { border-color: #c9c6ec; box-shadow: 0 5px 16px rgba(31,31,29,.07); }
.db-operator-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: var(--db-accent-bg);
  color: var(--db-accent);
}
.db-operator-copy { min-width: 0; }
.db-operator-copy strong,
.db-operator-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.db-operator-copy strong { font-size: 11px; }
.db-operator-copy small { margin-top: 2px; color: var(--db-text-muted); font-size: 9px; }
.db-operator-action { color: var(--db-accent); font-size: 12px; }

.db-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 1.5rem;
}

.db-card {
  background: var(--db-surface);
  border: 1px solid var(--db-border);
  border-radius: var(--db-radius);
  padding: 1rem 1.15rem;
}

.db-kpi-label { font-size: 12px; color: var(--db-text-muted); margin: 0; }
.db-kpi-value { font-size: 24px; font-weight: 600; margin: 6px 0 0; }
.db-kpi-value.danger { color: var(--db-danger); }
.db-kpi-value.success { color: var(--db-success); }

.db-home-hero { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; padding: 19px 21px; border: 1px solid #d9d6f6; border-radius: 15px; background: linear-gradient(120deg, #eeedfe 0%, #f8f7ff 55%, #fff 100%); }
.db-home-eyebrow { display: inline-flex; align-items: center; gap: 5px; color: var(--db-accent); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.db-home-hero h3 { margin: 7px 0 3px; font-size: 23px; }
.db-home-hero p { margin: 0; color: var(--db-text-muted); font-size: 12px; }
.db-home-date { display: flex; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid rgba(83,74,183,.18); border-radius: 9px; background: rgba(255,255,255,.72); color: var(--db-accent); font-size: 11px; font-weight: 600; text-transform: capitalize; white-space: nowrap; }
.db-home-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 10px; margin-bottom: 12px; }
.db-home-kpi { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; min-width: 0; padding: 14px; border: 1px solid var(--db-border); border-radius: 12px; background: var(--db-surface); color: var(--db-text); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
a.db-home-kpi:hover { transform: translateY(-2px); box-shadow: 0 7px 20px rgba(31,31,29,.08); }
.db-home-kpi-icon, .db-home-section-icon { display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; }
.db-home-kpi-icon { width: 36px; height: 36px; background: var(--db-accent-bg); color: var(--db-accent); }
.db-home-kpi.green .db-home-kpi-icon, .db-home-section-icon.green { background: var(--db-success-bg); color: var(--db-success); }
.db-home-kpi.blue .db-home-kpi-icon, .db-home-section-icon.blue { background: #e6f1fb; color: #185fa5; }
.db-home-kpi.red .db-home-kpi-icon { background: var(--db-danger-bg); color: var(--db-danger); }
.db-home-kpi.orange .db-home-kpi-icon, .db-home-section-icon.orange { background: var(--db-warning-bg); color: var(--db-warning); }
.db-home-kpi.purple .db-home-kpi-icon, .db-home-section-icon.purple { background: var(--db-accent-bg); color: var(--db-accent); }
.db-home-kpi > div { min-width: 0; text-align: center; }
.db-home-kpi p { display:flex; align-items:center; justify-content:center; min-height:30px; margin:0; color:var(--db-text-muted); font-size:12px; line-height:1.3; text-align:center; overflow-wrap:anywhere; }
.db-home-kpi strong { display: block; margin-top: 2px; font-size: 22px; }
.db-home-kpi small { display:block; min-height:28px; margin-top:3px; color:var(--db-text-muted); font-size:11px; line-height:1.3; text-align:center; overflow-wrap:anywhere; }
.db-home-kpi-arrow { color: var(--db-text-muted); font-size: 10px; }
.db-home-primary-grid, .db-home-secondary-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 12px; }
.db-home-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.db-home-section-heading > div { display: flex; align-items: center; gap: 8px; }
.db-home-section-heading h3 { margin: 0; font-size: 13px; }
.db-home-section-heading > small { color: var(--db-text-muted); font-size: 9px; text-transform: uppercase; letter-spacing: .04em; }
.db-home-section-heading > a { color: var(--db-accent); font-size: 10px; font-weight: 600; text-decoration: none; }
.db-home-section-icon { width: 29px; height: 29px; font-size: 11px; }
.db-home-flow-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.db-home-flow-values div { padding: 9px 10px; border-radius: 8px; background: var(--db-bg); }
.db-home-flow-values span { display: block; color: var(--db-text-muted); font-size: 9px; }
.db-home-flow-values strong { display: block; margin-top: 3px; font-size: 18px; }
.db-home-flow-values strong.success { color: var(--db-success); }
.db-home-flow-values strong.danger { color: var(--db-danger); }
.db-home-flow-bar { display: flex; width: 100%; height: 9px; margin-top: 15px; overflow: hidden; border-radius: 999px; background: var(--db-bg); }
.db-home-flow-bar .new { background: #378add; }
.db-home-flow-bar .cancelled { background: #d85a30; }
.db-home-flow-legend { display: flex; gap: 14px; margin-top: 7px; color: var(--db-text-muted); font-size: 9px; }
.db-home-flow-legend span { display: flex; align-items: center; gap: 5px; }
.db-home-flow-legend i { width: 7px; height: 7px; border-radius: 50%; }
.db-home-flow-legend i.new { background: #378add; }
.db-home-flow-legend i.cancelled { background: #d85a30; }
.db-home-email-result { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 11px; border-top: 1px solid var(--db-border); color: var(--db-text-muted); font-size: 9px; }
.db-home-email-result > span { color: var(--db-accent); font-weight: 600; }
.db-home-email-result b { color: var(--db-text); }
.db-home-priority-list { display: grid; gap: 6px; }
.db-home-priority { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 8px; padding: 8px; border-radius: 9px; color: var(--db-text); text-decoration: none; }
.db-home-priority:hover { background: var(--db-bg); }
.db-home-priority-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--db-bg); color: var(--db-text-muted); font-size: 11px; }
.db-home-priority.danger .db-home-priority-icon { background: var(--db-danger-bg); color: var(--db-danger); }
.db-home-priority.warning .db-home-priority-icon { background: var(--db-warning-bg); color: var(--db-warning); }
.db-home-priority.success .db-home-priority-icon { background: var(--db-success-bg); color: var(--db-success); }
.db-home-priority.purple .db-home-priority-icon { background: var(--db-accent-bg); color: var(--db-accent); }
.db-home-priority strong, .db-home-priority small { display: block; }
.db-home-priority strong { font-size: 10px; }
.db-home-priority small { margin-top: 2px; color: var(--db-text-muted); font-size: 9px; }
.db-home-priority > b { font-size: 16px; }
.db-home-priority > i { color: var(--db-text-muted); font-size: 8px; }
.db-home-all-clear { display: flex; align-items: center; gap: 8px; padding: 12px; border-radius: 9px; background: var(--db-success-bg); color: var(--db-success); font-size: 11px; }
.db-home-module-section { margin: 12px 0; padding: 15px 17px; border: 1px solid var(--db-border); border-radius: 12px; background: var(--db-surface); }
.db-home-quick-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
.db-home-quick { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--db-border); border-radius: 9px; color: var(--db-text); text-decoration: none; }
.db-home-quick:hover { border-color: #c9c6ec; background: #fafaff; }
.db-home-quick > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--db-accent-bg); color: var(--db-accent); }
.db-home-quick.green > span { background: var(--db-success-bg); color: var(--db-success); }
.db-home-quick.blue > span { background: #e6f1fb; color: #185fa5; }
.db-home-quick.orange > span, .db-home-quick.gold > span { background: var(--db-warning-bg); color: var(--db-warning); }
.db-home-quick.red > span { background: var(--db-danger-bg); color: var(--db-danger); }
.db-home-quick strong, .db-home-quick small { display: block; }
.db-home-quick strong { font-size: 10px; }
.db-home-quick small { margin-top: 2px; color: var(--db-text-muted); font-size: 8px; }
.db-home-quick > i { color: var(--db-text-muted); font-size: 8px; }
.db-home-activity-list { display: grid; gap: 1px; }
.db-home-activity { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--db-border); }
.db-home-activity:last-child { border-bottom: 0; }
.db-home-activity > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: var(--db-accent-bg); color: var(--db-accent); font-size: 9px; font-weight: 700; }
.db-home-activity p { margin: 0; font-size: 10px; }
.db-home-activity small { display: block; margin-top: 2px; color: var(--db-text-muted); font-size: 8px; }
.db-home-live { display: inline-flex; align-items: center; gap: 5px; color: var(--db-success); font-size: 9px; font-weight: 600; }
.db-home-live i { width: 6px; height: 6px; border-radius: 50%; background: var(--db-success); box-shadow: 0 0 0 3px var(--db-success-bg); }
.db-home-live.pending { color: var(--db-warning); }
.db-home-live.pending i { background: var(--db-warning); box-shadow: 0 0 0 3px var(--db-warning-bg); }
.db-home-source-list { display: grid; gap: 8px; }
.db-home-source-list > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border-radius: 8px; background: var(--db-bg); }
.db-home-source-list span { color: var(--db-text); font-size: 10px; }
.db-home-source-list span i { margin-right: 5px; color: var(--db-success); }
.db-home-source-list small { color: var(--db-text-muted); font-size: 8px; }
.db-home-data-note { margin: 10px 0 0; color: var(--db-text-muted); font-size: 8px; line-height: 1.4; }

.db-payment-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 1rem;
}

.db-payment-card {
  --payment-color: #534AB7;
  --payment-soft: #F0EEFF;
  position: relative;
  min-height: 168px;
  padding: 18px;
  background: linear-gradient(145deg, var(--db-surface) 58%, var(--payment-soft));
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

a.db-payment-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(31, 31, 29, 0.08);
}

.db-payment-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--payment-color);
}

.db-payment-card--0 { --payment-color: #534AB7; --payment-soft: #F0EEFF; }
.db-payment-card--1 { --payment-color: #0F6E56; --payment-soft: #E8F6F1; }
.db-payment-card--2 { --payment-color: #2878B5; --payment-soft: #EBF5FC; }
.db-payment-card--3 { --payment-color: #C45D1A; --payment-soft: #FFF2E8; }
.db-payment-card--4 { --payment-color: #B94372; --payment-soft: #FCECF3; }
.db-payment-card--5 { --payment-color: #946613; --payment-soft: #FAF3DE; }
.db-payment-card--6 { --payment-color: #087F8C; --payment-soft: #E7F6F7; }
.db-payment-card--7 { --payment-color: #3F51A8; --payment-soft: #EDF0FC; }
.db-payment-card--8 { --payment-color: #BC5141; --payment-soft: #FCEDEA; }
.db-payment-card--9 { --payment-color: #087BA5; --payment-soft: #E7F4F8; }
.db-payment-card--10 { --payment-color: #7650A5; --payment-soft: #F2ECF8; }
.db-payment-card--11 { --payment-color: #617A2E; --payment-soft: #F0F5E6; }
.db-payment-card--cancelled { --payment-color: var(--db-danger); --payment-soft: var(--db-danger-bg); }

.db-payment-card .db-kpi-value {
  margin-top: 8px;
  color: var(--payment-color);
  font-size: 32px;
  font-weight: 750;
  line-height: 1;
  letter-spacing: -.03em;
}

.db-payment-card.selected {
  border-color: var(--payment-color);
  box-shadow: 0 0 0 2px var(--payment-soft);
}

.db-payment-secondary {
  margin: 5px 0 0;
  color: var(--db-danger);
  font-size: 11px;
}
.db-payment-breakdown {
  display: grid;
  gap: 3px;
  margin-top: 7px;
  color: var(--db-text-muted);
  font-size: 12px;
  line-height: 1.35;
}
.db-payment-breakdown span,
.db-payment-breakdown strong { display: block; }
.db-payment-breakdown strong {
  width: fit-content;
  margin-top: 3px;
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--payment-soft);
  color: var(--payment-color);
  font-size: 11px;
}
.db-cancellation-explanation {
  margin: 6px 0 0;
  color: var(--db-text-muted);
  font-size: 10px;
  line-height: 1.4;
}

.db-filter-summary {
  margin: 0 0 1rem;
  padding: 9px 12px;
  border-radius: 8px;
  background: var(--db-accent-bg);
  color: var(--db-accent);
  font-size: 12px;
}

.db-filter-summary a { margin-left: 6px; color: inherit; font-weight: 600; }

.db-movement-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 1.25rem;
}

.db-movement-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 14px;
}

.db-movement-header h3 { margin-bottom: 2px; }
.db-movement-header span { color: var(--db-text-muted); font-size: 11px; }

.db-balance {
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--db-bg);
  white-space: nowrap;
}
.db-balance.positive { color: var(--db-success); background: var(--db-success-bg); }
.db-balance.negative { color: var(--db-danger); background: var(--db-danger-bg); }

.db-movement-row {
  display: grid;
  grid-template-columns: minmax(118px, .38fr) minmax(100px, 1fr) 36px;
  align-items: center;
  gap: 8px;
  margin-top: 9px;
  font-size: 12px;
}
.db-movement-link {
  margin-right: -5px;
  margin-left: -5px;
  padding: 6px 5px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: inherit;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease;
}
.db-movement-link:hover { background: var(--db-bg); border-color: var(--db-border); }
.db-movement-link.selected { background: var(--db-accent-bg); border-color: var(--db-accent); }

.db-movement-label.nuevos { color: var(--db-success); }
.db-movement-label.existentes { color: var(--db-accent); }
.db-movement-label.bajas { color: var(--db-danger); }
.db-movement-row strong { text-align: right; font-size: 13px; }
.db-movement-track { height: 7px; background: var(--db-bg); border-radius: 999px; overflow: hidden; }
.db-movement-fill { height: 100%; min-width: 2px; border-radius: 999px; }
.db-movement-fill.nuevos { background: var(--db-success); }
.db-movement-fill.existentes { background: var(--db-accent); }
.db-movement-fill.bajas { background: var(--db-danger); }

.db-table-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.db-table-toolbar h3 { margin: 0; }

.db-segmented-filter {
  display: inline-flex;
  padding: 3px;
  border: 1px solid var(--db-border);
  border-radius: 9px;
  background: var(--db-bg);
}
.db-segmented-filter a {
  padding: 5px 10px;
  border-radius: 6px;
  color: var(--db-text-muted);
  font-size: 12px;
  text-decoration: none;
}
.db-segmented-filter a.active {
  background: var(--db-surface);
  color: var(--db-accent);
  box-shadow: 0 1px 3px rgba(31, 31, 29, 0.1);
  font-weight: 600;
}

.db-ecdf-date-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 12px;
  padding: 11px 12px;
  border: 1px solid var(--db-border);
  border-radius: 10px;
  background: linear-gradient(135deg, var(--db-bg), var(--db-surface));
}
.db-ecdf-date-quick { display: flex; align-items: center; gap: 6px; }
.db-ecdf-date-quick > span { margin-right: 3px; color: var(--db-text); font-size: 12px; font-weight: 700; }
.db-ecdf-date-quick > span i { margin-right: 4px; color: var(--db-accent); }
.db-ecdf-date-quick > a {
  padding: 6px 9px;
  border: 1px solid var(--db-border);
  border-radius: 7px;
  background: var(--db-surface);
  color: var(--db-text-muted);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
.db-ecdf-date-quick > a.active { border-color: #bdb8ec; background: var(--db-accent-bg); color: var(--db-accent); }
.db-ecdf-date-form { display: flex; align-items: flex-end; gap: 7px; }
.db-ecdf-date-form label { display: grid; gap: 3px; color: var(--db-text-muted); font-size: 11px; font-weight: 600; }
.db-ecdf-date-form select,
.db-ecdf-date-form input {
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid var(--db-border);
  border-radius: 7px;
  background: var(--db-surface);
  color: var(--db-text);
  font: inherit;
  font-size: 12px;
}
.db-ecdf-date-form .db-primary-button { min-height: 34px; white-space: nowrap; }
.db-ecdf-clear-date { align-self: center; color: var(--db-accent); font-size: 11px; font-weight: 700; text-decoration: none; }

@media (max-width: 850px) {
  .db-payment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .db-home-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .db-home-primary-grid, .db-home-secondary-grid { grid-template-columns: 1fr; }
  .db-home-hero { align-items: flex-start; flex-direction: column; }
  .db-movement-grid { grid-template-columns: 1fr; }
  .db-table-toolbar { align-items: flex-start; flex-direction: column; }
  .db-ecdf-date-toolbar { align-items: flex-start; flex-direction: column; }
  .db-ecdf-date-form { width: 100%; flex-wrap: wrap; }
}

@media (min-width: 851px) and (max-width: 1100px) {
  .db-payment-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.db-tabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--db-border);
  margin-bottom: 1rem;
}

.db-tab {
  padding: 8px 14px;
  font-size: 13px;
  text-decoration: none;
  color: var(--db-text-muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.db-tab.active {
  color: var(--db-accent);
  border-bottom-color: var(--db-accent);
  font-weight: 600;
}

.db-grid-2 {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 12px;
}
.db-two-column { display:grid; grid-template-columns:1.3fr 1fr; gap:12px; margin-bottom:12px; }
@media (max-width:900px) { .db-two-column { grid-template-columns:1fr; } }
.db-page-heading { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:12px; }
.db-page-heading h3.db-customer-primary-email { margin:8px 0 3px; color:var(--db-text); font-size:20px; line-height:1.25; overflow-wrap:anywhere; }
.db-page-heading p { margin:0; color:var(--db-text-muted); font-size:12px; }
.db-customer-flag-badge { display:inline-flex; align-items:center; min-height:25px; padding:4px 9px; border:1px solid var(--flag-border); border-radius:999px; background:var(--flag-bg); color:var(--flag-text); font-size:10px; font-weight:750; }
.flag-vip { --flag-bg:#f5f0ff; --flag-border:#ded1f5; --flag-text:#68489a; }
.flag-risk { --flag-bg:#fff7e8; --flag-border:#ecd8ad; --flag-text:#8a5a12; }
.flag-complaint { --flag-bg:#fff0f1; --flag-border:#efcbd0; --flag-text:#a33f4b; }
.flag-do_not_contact { --flag-bg:#f2f3f5; --flag-border:#d7d9de; --flag-text:#565c66; }
.flag-follow_up { --flag-bg:#edf6ff; --flag-border:#cbdff2; --flag-text:#286493; }
.db-settings-form fieldset .db-customer-flag { border-color:var(--flag-border); background:var(--flag-bg); color:var(--flag-text); transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease; }
.db-settings-form fieldset .db-customer-flag:hover { transform:translateY(-1px); }
.db-settings-form fieldset .db-customer-flag:has(input:checked) { border-color:var(--flag-text); box-shadow:0 0 0 2px color-mix(in srgb,var(--flag-border) 55%,transparent); font-weight:700; }
.db-settings-form fieldset .db-customer-flag input[type="checkbox"]:checked { border-color:var(--flag-text); background:var(--flag-text); }
.db-detail-heading + .db-card details summary { color:var(--db-accent); font-size:12px; font-weight:750; cursor:pointer; }
.db-detail-heading + .db-card details form { display:grid; gap:9px; margin-top:12px; }
.db-detail-heading + .db-card details label { display:grid; gap:5px; color:var(--db-text-muted); font-size:12px; font-weight:650; }
.db-detail-heading + .db-card details input { width:100%; padding:10px 11px; border:1px solid var(--db-border); border-radius:9px; background:var(--db-surface); color:var(--db-text); font:inherit; font-size:13px; box-shadow:inset 0 1px 2px rgba(0,0,0,.03); }
.db-detail-heading + .db-card details input:focus { outline:2px solid color-mix(in srgb,var(--db-accent) 22%,transparent); border-color:var(--db-accent); }

.db-card h3 { font-size: 14px; margin: 0 0 10px; }

.db-bar-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.db-bar-label { width: 80px; font-size: 12px; color: var(--db-text-muted); }
.db-bar-track { flex: 1; background: var(--db-bg); border-radius: 4px; height: 8px; }
.db-bar-fill { background: var(--db-accent); height: 8px; border-radius: 4px; }

.db-log-item { font-size: 12px; color: var(--db-text-muted); margin-bottom: 8px; }

.db-empty {
  text-align: center;
  padding: 3rem 1rem;
  color: var(--db-text-muted);
}

.db-empty .db-badge {
  display: inline-block;
  background: var(--db-warning-bg);
  color: var(--db-warning);
  font-size: 12px;
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 0.75rem;
}
.db-restricted-card { display: grid; justify-items: center; width: min(680px, 100%); margin: 5vh auto 0; padding: 34px; border: 1px solid var(--db-border); border-radius: 16px; background: var(--db-surface); box-shadow: 0 12px 35px rgba(31,31,29,.07); text-align: center; }
.db-restricted-icon { display: grid; place-items: center; width: 62px; height: 62px; margin-bottom: 13px; border-radius: 18px; background: var(--db-warning-bg); color: var(--db-warning); font-size: 25px; }
.db-restricted-badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 999px; background: var(--db-warning-bg); color: var(--db-warning); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.db-restricted-card h3 { margin: 12px 0 7px; font-size: 21px; }
.db-restricted-card > p { max-width: 510px; margin: 0; color: var(--db-text-muted); font-size: 13px; line-height: 1.55; }
.db-restricted-reason { margin-top: 13px; padding: 8px 11px; border-radius: 8px; background: var(--db-bg); color: var(--db-text-muted); font-size: 11px; }
.db-restricted-help { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 10px; width: min(500px, 100%); margin-top: 20px; padding: 13px; border: 1px solid #b8d8f2; border-radius: 10px; background: #f2f8fd; color: #185fa5; text-align: left; }
.db-restricted-help strong, .db-restricted-help span { display: block; }
.db-restricted-help strong { margin-bottom: 3px; font-size: 12px; }
.db-restricted-help span { font-size: 11px; line-height: 1.45; }
.db-restricted-actions { display: flex; gap: 8px; margin-top: 20px; }
.db-restricted-card > small { margin-top: 18px; color: var(--db-text-muted); font-size: 9px; }

.db-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.db-table th {
  text-align: left;
  color: var(--db-text-muted);
  font-weight: 500;
  padding: 8px;
  border-bottom: 1px solid var(--db-border);
}
.db-table td { padding: 8px; border-bottom: 1px solid var(--db-border); }

.db-status {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 999px;
}
.db-status.pendiente { background: var(--db-warning-bg); color: var(--db-warning); }
.db-status.en_progreso { background: var(--db-accent-bg); color: var(--db-accent); }
.db-status.completada { background: var(--db-success-bg); color: var(--db-success); }
.db-status.atrasada { background: var(--db-danger-bg); color: var(--db-danger); }
.db-status.nueva { background: var(--db-warning-bg); color: var(--db-warning); }
.db-status.asignada, .db-status.contactada { background: var(--db-accent-bg); color: var(--db-accent); }
.db-status.respondio { background: #E6F1FB; color: #185FA5; }
.db-status.recuperada { background: var(--db-success-bg); color: var(--db-success); }
.db-status.no_recuperable { background: var(--db-danger-bg); color: var(--db-danger); }
.db-status.descartada_error { background:#f1eff8; color:#5b4b8a; }

.db-messages { margin-bottom: 12px; }
.db-message { padding: 9px 12px; border: 1px solid var(--db-border); border-radius: 8px; background: var(--db-surface); font-size: 13px; }
.db-message.success { background: var(--db-success-bg); border-color: #9FE1CB; color: var(--db-success); }
.db-message.info { background: var(--db-accent-bg); border-color: #CECBF6; color: var(--db-accent); }
.db-message.error { background: var(--db-danger-bg); border-color: #F5C4B3; color: var(--db-danger); }

.db-inline-link { color: var(--db-accent); font-weight: 600; text-decoration: none; }
.db-inline-link:hover { text-decoration: underline; }
.db-inline-button { border: 0; padding: 0; background: transparent; color: var(--db-accent); cursor: pointer; font: inherit; font-weight: 600; }

.db-opportunity-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-bottom: 12px; }
.db-opportunity-summary > a { color: inherit; text-decoration: none; transition: transform 0.15s ease, box-shadow 0.15s ease; }
.db-opportunity-summary > a:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(31,31,29,.08); }
.db-opportunity-summary > a.selected { border-color: var(--db-accent); box-shadow: 0 0 0 2px var(--db-accent-bg); }
.db-opportunity-card-action { margin: 10px 0 3px; color: var(--db-accent); font-size: 13px; font-weight: 600; }

.db-opportunity-filters { display: flex; gap: 8px; margin-bottom: 12px; }
.db-opportunity-filters input, .db-opportunity-filters select, .db-detail-form select, .db-note-form textarea {
  border: 1px solid var(--db-border); border-radius: 8px; background: var(--db-surface);
  padding: 8px 10px; color: var(--db-text); font: inherit;
}
.db-opportunity-filters input { min-width: 240px; }
.db-opportunity-filters button { border: 0; border-radius: 8px; padding: 8px 14px; background: var(--db-accent); color: white; cursor: pointer; }
.db-pagination { display: flex; gap: 10px; margin-top: 14px; color: var(--db-text-muted); font-size: 13px; }
.db-pagination a { color: var(--db-accent); text-decoration: none; }

.db-priority { border-radius: 999px; padding: 2px 8px; font-size: 11px; }
.db-priority.alta { background: var(--db-danger-bg); color: var(--db-danger); }
.db-priority.media { background: var(--db-warning-bg); color: var(--db-warning); }
.db-priority.baja { background: var(--db-bg); color: var(--db-text-muted); }

.db-detail-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.db-detail-heading h3 { margin: 9px 0 2px; font-size: 20px; }
.db-detail-heading p { margin: 0; color: var(--db-text-muted); font-size: 13px; }
.db-back-link { color: var(--db-accent); text-decoration: none; font-size: 12px; }
.db-detail-actions { display: flex; gap: 8px; }
.db-detail-action-stack { display:grid; justify-items:end; gap:4px; }
.db-detail-action-stack small { max-width:230px; color:var(--db-text-muted); font-size:10px; text-align:right; }
.db-primary-button, .db-secondary-button { border-radius: 8px; padding: 8px 12px; cursor: pointer; font: inherit; font-size: 13px; font-weight: 600; }
.db-primary-button { border: 0; background: var(--db-accent); color: white; }
.db-primary-button, a.db-secondary-button { text-decoration: none; display: inline-block; }
.db-secondary-button { border: 1px solid var(--db-border); background: var(--db-surface); color: var(--db-text); }
.db-detail-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(240px, .8fr); gap: 12px; }
.db-detail-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; }
.db-detail-form label { display: grid; gap: 5px; color: var(--db-text-muted); font-size: 12px; }
.db-detail-form .db-discard-reason { grid-column:1 / 3; }
.db-detail-form .db-discard-reason input { min-height:36px; padding:8px 10px; border:1px solid var(--db-border); border-radius:8px; background:var(--db-surface); color:var(--db-text); font:inherit; }
.db-opportunity-status-tip { margin-top:14px; padding:12px; border:1px solid color-mix(in srgb,var(--db-accent) 18%,var(--db-border)); border-radius:11px; background:color-mix(in srgb,var(--db-accent-bg) 55%,var(--db-surface)); }
.db-opportunity-status-tip-heading { display:flex; align-items:center; gap:9px; margin-bottom:10px; }
.db-opportunity-status-tip-heading > span { padding:4px 7px; border-radius:6px; background:var(--db-accent); color:#fff; font-size:9px; font-weight:850; letter-spacing:.08em; }
.db-opportunity-status-tip-heading strong,.db-opportunity-status-tip-heading small { display:block; }
.db-opportunity-status-tip-heading strong { color:var(--db-text); font-size:12px; }
.db-opportunity-status-tip-heading small { margin-top:2px; color:var(--db-text-muted); font-size:11px; }
.db-opportunity-status-guide { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:7px; }
.db-opportunity-status-guide > div { min-height:70px; padding:9px 10px; border:1px solid transparent; border-radius:9px; }
.db-opportunity-status-guide b,.db-opportunity-status-guide span { display:block; }
.db-opportunity-status-guide b { margin-bottom:4px; font-size:11px; }
.db-opportunity-status-guide span { color:var(--db-text-muted); font-size:10px; line-height:1.4; }
.db-opportunity-status-guide .nueva { border-color:#ead9b0; background:#fff8e8; }.db-opportunity-status-guide .nueva b { color:#8a5a12; }
.db-opportunity-status-guide .asignada,.db-opportunity-status-guide .contactada { border-color:#cbdaf2; background:#f2f6fd; }.db-opportunity-status-guide .asignada b,.db-opportunity-status-guide .contactada b { color:#315f9b; }
.db-opportunity-status-guide .respondio { border-color:#c7dfef; background:#eef8fc; }.db-opportunity-status-guide .respondio b { color:#236887; }
.db-opportunity-status-guide .recuperada { border-color:#c5e1d3; background:#edf8f2; }.db-opportunity-status-guide .recuperada b { color:#287453; }
.db-opportunity-status-guide .no_recuperable { border-color:#efcfc8; background:#fff2ef; }.db-opportunity-status-guide .no_recuperable b { color:#a4412b; }
.db-opportunity-status-guide .descartada_error { border-color:#d9d2ec; background:#f6f3fb; }.db-opportunity-status-guide .descartada_error b { color:#5b4b8a; }
.db-note-form { display: grid; gap: 8px; }
.db-note-form textarea { width: 100%; resize: vertical; }
.db-note-form button { justify-self: start; }
.db-notes { margin-top: 14px; }
.db-note { border-top: 1px solid var(--db-border); padding: 10px 0; }
.db-note p { margin: 0 0 5px; font-size: 13px; white-space: pre-wrap; }
.db-note span { color: var(--db-text-muted); font-size: 11px; }
.db-customer-facts dl { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 12px; margin: 0; font-size: 12px; }
.db-customer-facts dt { color: var(--db-text-muted); }
.db-customer-facts dd { margin: 0; text-align: right; font-weight: 600; }
.db-customer-facts hr { border: 0; border-top: 1px solid var(--db-border); margin: 14px 0; }

.db-bulk-actions {
  display: flex; align-items: center; gap: 9px; padding: 9px 10px;
  margin-bottom: 8px; border-radius: 8px; background: var(--db-bg); font-size: 12px;
}
.db-segmentation-note { display:flex; align-items:flex-start; gap:8px; margin:0 0 12px; padding:9px 11px; border:1px solid color-mix(in srgb,var(--db-accent) 22%,var(--db-border)); border-radius:8px; background:var(--db-accent-bg); color:var(--db-text-muted); line-height:1.45; }
.db-segmentation-note > i { margin-top:2px; color:var(--db-accent); }
.db-segmentation-note strong { color:var(--db-text); }
.db-segmented-badge { display:inline-flex; align-items:center; gap:5px; padding:4px 8px; border-radius:999px; background:var(--db-accent-bg); color:var(--db-accent); font-size:11px; font-weight:700; white-space:nowrap; }
.db-bulk-actions input {
  min-width: 230px; margin-left: auto; padding: 7px 9px; border: 1px solid var(--db-border);
  border-radius: 7px; background: var(--db-surface); font: inherit;
}
.db-section-intro {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin-bottom: 14px;
}
.db-section-intro h3 { margin: 0 0 4px; font-size: 16px; }
.db-section-intro p { margin: 0; color: var(--db-text-muted); font-size: 13px; }
.db-section-intro a { text-decoration: none; }
.db-segment-type { margin: 10px 0 3px; color: var(--db-accent); font-size: 16px; font-weight: 600; }
.db-danger-link { border: 0; padding: 0; background: transparent; color: var(--db-danger); cursor: pointer; font: inherit; font-size: 12px; }
.db-delete-campaign-form { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--db-border); }
.db-delete-reason { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--db-border); color: var(--db-text-muted); font-size: 10px; }
.db-primary-button:disabled { opacity: .45; cursor: not-allowed; }
.db-segment-suggestions-heading { margin-bottom: 10px; }
.db-segment-suggestions-heading h3 { margin: 0 0 3px; font-size: 16px; }
.db-segment-suggestions-heading p { margin: 0; color: var(--db-text-muted); font-size: 12px; }
.db-segment-suggestions {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px; margin-bottom: 22px;
}
.db-suggestion-card { position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden; transition:transform .18s ease,box-shadow .18s ease; }
.db-suggestion-card:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(31,31,29,.08); }
.db-suggestion-card.priority-high { background:linear-gradient(145deg,#fff 58%,#fff4f0); }.db-suggestion-card.priority-medium { background:linear-gradient(145deg,#fff 60%,#fff9ed); }.db-suggestion-card.priority-low { background:linear-gradient(145deg,#fff 62%,#f3f8fb); }
.db-suggestion-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--db-accent); }
.db-suggestion-card.danger::before { background: var(--db-danger); }
.db-suggestion-card.warning::before { background: #BA7517; }
.db-suggestion-card.success::before { background: var(--db-success); }
.db-suggestion-description { min-height: 31px; margin: 7px 0 12px; color: var(--db-text-muted); font-size: 11px; line-height: 1.4; }
.db-suggestion-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:7px; }.db-suggestion-card-heading p { margin:0; min-width:0; }
.db-segment-priority { display:inline-flex; align-items:center; gap:4px; flex:0 0 auto; padding:3px 6px; border-radius:999px; font-size:9px; font-weight:800; text-transform:uppercase; }.db-segment-priority.high { background:var(--db-danger-bg); color:var(--db-danger); }.db-segment-priority.medium { background:var(--db-warning-bg); color:var(--db-warning); }.db-segment-priority.low { background:#e8f3f8; color:#24627d; }
.db-card-rule { margin:8px 0 11px; border:1px solid var(--db-border); border-radius:8px; background:rgba(255,255,255,.72); }.db-card-rule summary { display:flex; align-items:center; gap:6px; padding:7px 8px; color:var(--db-accent); cursor:pointer; list-style:none; font-size:10px; font-weight:750; }.db-card-rule summary::-webkit-details-marker { display:none; }.db-card-rule summary .fa-chevron-down { margin-left:auto; transition:transform .18s ease; }.db-card-rule[open] summary .fa-chevron-down { transform:rotate(180deg); }.db-card-rule > div { padding:8px; border-top:1px solid var(--db-border); background:#f8f7ff; }.db-card-rule strong { display:block; color:#4d4787; font-size:9px; text-transform:uppercase; }.db-card-rule p { margin:4px 0 7px; color:var(--db-text); font-size:10px; line-height:1.45; }.db-card-rule span { display:block; color:var(--db-warning); font-size:9px; line-height:1.35; }.db-card-rule span.safe { color:var(--db-success); }
.db-suggestion-card > a,.db-suggestion-card > form { margin-top:auto; }
.db-segment-kind { display: inline-block; border-radius: 999px; padding: 2px 8px; font-size: 11px; }
.db-segment-kind.dynamic { color: var(--db-success); background: var(--db-success-bg); }
.db-segment-kind.static { color: var(--db-accent); background: var(--db-accent-bg); }

.db-channel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 14px; }
.db-channel-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; }
.db-channel-card h3 { margin: 0 0 4px; }
.db-channel-card p { margin: 0; color: var(--db-text-muted); font-size: 12px; }
.db-channel-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--db-accent-bg); color: var(--db-accent); }
.db-channel-card.meta .db-channel-icon { background: #E6F1FB; color: #185FA5; }
.db-channel-card.whatsapp .db-channel-icon { background: #e5f7ed; color: #128c4a; }
.db-channel-card.sms .db-channel-icon { background: #fff1df; color: #b35c00; }
.db-module-license { display: inline-flex; align-items: center; gap: 6px; max-width: 190px; padding: 6px 9px; border: 1px solid var(--db-border); border-radius: 999px; background: var(--db-bg); color: var(--db-text-muted); font-size: 10px; font-weight: 600; line-height: 1.25; }

.db-campaign-status { display: inline-block; padding: 3px 8px; border-radius: 999px; background: var(--db-bg); color: var(--db-text-muted); font-size: 11px; }
.db-campaign-status.review { background: var(--db-warning-bg); color: var(--db-warning); }
.db-campaign-status.approved, .db-campaign-status.sent { background: var(--db-success-bg); color: var(--db-success); }
.db-campaign-status.scheduled, .db-campaign-status.sending { background: var(--db-accent-bg); color: var(--db-accent); }
.db-campaign-status.paused { background: var(--db-danger-bg); color: var(--db-danger); }
.db-campaign-status.archived { background:#edf0f2; color:#59636e; }
.db-archive-campaign-form { display:grid; gap:6px; margin-top:10px; padding-top:10px; border-top:1px solid var(--db-border); }.db-archive-campaign-form input { width:100%; padding:8px 9px; border:1px solid var(--db-border); border-radius:7px; background:var(--db-surface); color:var(--db-text); font:inherit; }
.db-campaign-priority-action { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,440px); gap:24px; align-items:center; margin-bottom:16px; border-left:4px solid var(--db-accent); }
.db-campaign-priority-action.final { border-left-color:#16a34a; }
.db-campaign-priority-action h3 { margin:8px 0 4px; }
.db-priority-action-forms { display:grid; gap:10px; }
.db-priority-action-forms form { margin:0; }
.db-priority-action-forms textarea { width:100%; }
.db-campaign-summary { margin-top:16px; }
@media (max-width: 900px) { .db-campaign-priority-action { grid-template-columns:1fr; } }
.db-productivity-section { margin-top:16px; }
.db-productivity-intro { margin:-6px 0 12px; color:var(--db-text-muted); font-size:12px; }
.db-productivity-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.db-productivity-goal { --goal-color:var(--db-accent); display:grid; gap:8px; }
.db-productivity-goal.green { --goal-color:var(--db-success); }.db-productivity-goal.orange { --goal-color:var(--db-warning); }.db-productivity-goal.blue { --goal-color:#2878b5; }
.db-productivity-goal-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }.db-productivity-goal-heading span { font-size:12px; font-weight:700; }.db-productivity-goal-heading strong { color:var(--goal-color); font-size:22px; }
.db-productivity-track { height:7px; overflow:hidden; border-radius:99px; background:var(--db-bg); }.db-productivity-track i { display:block; max-width:100%; height:100%; border-radius:inherit; background:var(--goal-color); }
.db-productivity-goal p,.db-productivity-goal small,.db-productivity-tasks p,.db-productivity-tasks small { margin:0; }.db-productivity-goal p { font-size:11px; font-weight:650; }.db-productivity-goal small { color:var(--db-text-muted); font-size:10px; line-height:1.4; }
.db-productivity-tasks { display:flex; flex-direction:column; justify-content:center; }.db-productivity-tasks > span { color:var(--db-text-muted); font-size:11px; font-weight:700; }.db-productivity-tasks > strong { margin-top:6px; font-size:30px; }.db-productivity-tasks > p { font-size:12px; }.db-productivity-tasks small { margin-top:8px; color:var(--db-success); }.db-productivity-tasks small b { color:var(--db-danger); }
.db-module-guide { margin-bottom:14px; border:1px solid #d9d6f6; border-radius:11px; background:linear-gradient(120deg,#f8f7ff,#fff); }.db-module-guide summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; color:var(--db-accent); cursor:pointer; list-style:none; }.db-module-guide summary::-webkit-details-marker { display:none; }.db-module-guide summary span { font-size:12px; font-weight:750; }.db-module-guide summary i { margin-right:7px; }.db-module-guide summary small { font-size:10px; }
.db-module-guide-steps { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:8px; padding:2px 14px 10px; }.db-module-guide-steps > div { display:flex; align-items:center; gap:8px; min-width:0; padding:9px; border-radius:8px; background:var(--db-surface); }.db-module-guide-steps > div > b { display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; border-radius:7px; background:var(--db-accent-bg); color:var(--db-accent); }.db-module-guide-steps strong,.db-module-guide-steps small { display:block; }.db-module-guide-steps strong { font-size:11px; }.db-module-guide-steps small { margin-top:2px; color:var(--db-text-muted); font-size:10px; line-height:1.3; }.db-module-guide-steps > i { color:#aaa6d2; font-size:9px; }.db-module-guide > p { margin:0; padding:0 14px 12px; color:var(--db-text-muted); font-size:10px; }
@media (max-width:1050px) { .db-productivity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .db-productivity-grid { grid-template-columns:1fr; }.db-module-guide-steps { grid-template-columns:1fr; }.db-module-guide-steps > i { display:none; } }
.db-segment-rule-card { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; margin-bottom:12px; border:1px solid #d9d6f6; border-radius:10px; background:#d9d6f6; }.db-segment-rule-card > div { padding:12px; background:#f8f7ff; }.db-segment-rule-card span,.db-segment-rule-card strong { display:block; }.db-segment-rule-card span { margin-bottom:4px; color:var(--db-accent); font-size:10px; font-weight:800; text-transform:uppercase; }.db-segment-rule-card strong { font-size:12px; line-height:1.45; }
.db-data-warning { display:flex; align-items:flex-start; gap:9px; margin-bottom:12px; padding:11px 13px; border:1px solid #ead19d; border-radius:9px; background:var(--db-warning-bg); color:var(--db-warning); font-size:11px; }.db-data-warning i { margin-top:2px; }
.db-segment-purpose { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:5px 0 0; color:var(--db-text-muted); font-size:10px; }.db-segment-purpose strong { color:var(--db-text); }.db-segment-purpose span { cursor:help; white-space:nowrap; }
@media (max-width:750px) { .db-segment-rule-card { grid-template-columns:1fr; } }
.db-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.db-settings-eyebrow { color:var(--db-accent); font-size:9px; font-weight:800; letter-spacing:.08em; }.db-settings-form { display:grid; gap:10px; margin-top:16px; }.db-settings-form p,.db-settings-form label { display:grid; gap:4px; margin:0; color:var(--db-text-muted); font-size:11px; }.db-settings-form input:not([type="checkbox"]):not([type="radio"]),.db-settings-form textarea,.db-settings-form select { width:100%; min-height:39px; padding:8px 34px 8px 10px; border:1px solid var(--db-border); border-radius:8px; background-color:var(--db-surface); color:var(--db-text); font:inherit; box-shadow:inset 0 1px 2px rgba(0,0,0,.03); }.db-settings-form select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--db-text-muted) 50%),linear-gradient(135deg,var(--db-text-muted) 50%,transparent 50%); background-position:calc(100% - 15px) 16px,calc(100% - 10px) 16px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; cursor:pointer; }.db-settings-form select:focus,.db-settings-form input:focus,.db-settings-form textarea:focus { outline:2px solid color-mix(in srgb,var(--db-accent) 22%,transparent); border-color:var(--db-accent); }.db-settings-form fieldset { display:grid; grid-template-columns:repeat(auto-fit,minmax(135px,1fr)); gap:7px; margin:0; padding:12px; border:1px solid var(--db-border); border-radius:9px; }.db-settings-form fieldset legend { padding:0 6px; color:var(--db-text); font-size:12px; font-weight:700; }.db-settings-form fieldset label { display:flex; align-items:center; gap:8px; min-height:36px; padding:7px 9px; border:1px solid var(--db-border); border-radius:8px; background:var(--db-surface); cursor:pointer; }.db-settings-form input[type="checkbox"] { appearance:none; display:grid; flex:0 0 18px; place-content:center; width:18px; height:18px; margin:0; border:1.5px solid var(--db-border); border-radius:5px; background:var(--db-surface); cursor:pointer; }.db-settings-form input[type="checkbox"]::before { width:9px; height:9px; border-radius:2px; background:#fff; content:""; transform:scale(0); transition:transform .12s ease; }.db-settings-form input[type="checkbox"]:checked { border-color:var(--db-accent); background:var(--db-accent); }.db-settings-form input[type="checkbox"]:checked::before { transform:scale(1); }.db-settings-form .helptext,.db-settings-form ul { color:var(--db-text-muted); font-size:9px; }.db-integration-list { display:grid; gap:8px; margin-top:14px; }.db-integration-list > div { display:flex; justify-content:space-between; gap:12px; padding:9px; border-radius:8px; background:var(--db-bg); }.db-integration-list b { font-size:10px; }.db-integration-list .ready { color:var(--db-success); }.db-integration-list .pending { color:var(--db-warning); }.db-billing-unknown { display:flex; gap:10px; padding:11px; border-radius:8px; background:var(--db-warning-bg); color:var(--db-warning); }.db-billing-unknown p { margin:3px 0 0; font-size:10px; }.db-disabled-setting { display:grid; grid-template-columns:auto 1fr; gap:6px; margin-top:12px; color:var(--db-text-muted); font-size:11px; }.db-disabled-setting small { grid-column:2; }.db-locked-card { max-width:620px; margin:8vh auto; text-align:center; }.db-locked-card > i { color:var(--db-danger); font-size:36px; }.db-conversion-detail { margin-top:14px; overflow-x:auto; }
.db-template-workspace { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); gap:14px; align-items:start; }.db-template-live-preview { position:sticky; top:16px; min-width:0; }.db-template-live-preview .db-preview-heading span { color:var(--db-accent); font-size:9px; font-weight:800; }.db-template-live-preview h3 { margin:4px 0; }.db-template-preview-stage { display:flex; justify-content:center; min-height:620px; overflow:auto; padding:10px; border-radius:9px; background:#e9ecef; }.db-template-preview-stage iframe { width:100%; min-height:600px; border:0; background:#fff; transition:width .2s ease; }
@media(max-width:950px){.db-template-workspace,.db-settings-grid{grid-template-columns:1fr}.db-template-live-preview{position:static}}

.db-campaign-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, .75fr); gap: 12px; align-items: start; }
.db-campaign-report-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); gap:14px; align-items:stretch; margin-bottom:14px; }
.db-campaign-report-left { display:grid; grid-template-rows:auto 1fr; gap:12px; min-width:0; }
.db-campaign-actions { display:grid; align-content:start; gap:8px; }
.db-campaign-actions h3 { margin-bottom:2px; }
.db-campaign-report { min-width:0; overflow:hidden; border-color:#dddaf8; background:linear-gradient(145deg,#fff 0%,#fbfaff 100%); }
.db-report-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:15px; }
.db-report-heading h3 { margin:3px 0 4px; font-size:20px; }
.db-report-heading p { max-width:650px; margin:0; color:var(--db-text-muted); font-size:11px; line-height:1.5; }
.db-report-eyebrow { color:var(--db-accent); font-size:9px; font-weight:850; letter-spacing:.1em; }
.db-report-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.db-report-metrics article { --metric-color:var(--db-accent); --metric-bg:var(--db-accent-bg); position:relative; display:grid; gap:5px; min-height:118px; padding:13px; overflow:hidden; border:1px solid color-mix(in srgb,var(--metric-color) 24%,white); border-radius:11px; background:linear-gradient(145deg,var(--metric-bg),#fff 85%); }
.db-report-metrics article::after { content:""; position:absolute; top:-24px; right:-22px; width:72px; height:72px; border-radius:50%; background:var(--metric-color); opacity:.08; }
.db-report-metrics article > span { color:var(--metric-color); font-size:10px; font-weight:750; }
.db-report-metrics article > span i { width:15px; margin-right:3px; text-align:center; }
.db-report-metrics article strong { align-self:end; color:var(--db-text); font-size:27px; line-height:1; }
.db-report-metrics article small { color:var(--db-text-muted); font-size:10px; line-height:1.3; }
.db-report-metrics .delivery { --metric-color:#21866f; --metric-bg:#e9f8f3; }
.db-report-metrics .opens { --metric-color:#5162c9; --metric-bg:#eff1ff; }
.db-report-metrics .clicks { --metric-color:#2576b9; --metric-bg:#eaf5ff; }
.db-report-metrics .conversions { --metric-color:#6d4fc4; --metric-bg:#f3efff; }
.db-report-metrics .bounces { --metric-color:#b97814; --metric-bg:#fff6e6; }
.db-report-metrics .unsubscribes { --metric-color:#b34f55; --metric-bg:#fff0f1; }
.db-attribution-summary { display:grid; grid-template-columns:auto 1fr; gap:10px; margin-top:12px; padding:11px 12px; border-radius:10px; background:#f3f1ff; color:#55469b; }
.db-attribution-summary > i { margin-top:2px; }
.db-attribution-summary strong { font-size:11px; }
.db-attribution-summary p { margin:3px 0 0; color:#67617f; font-size:10px; line-height:1.45; }
.db-attribution-summary .db-attribution-warning { margin-top:8px; padding-top:8px; border-top:1px solid #d9d3fa; color:#8b5d0b; }
.db-report-preview { display:flex; flex-direction:column; min-width:0; height:100%; }
.db-report-preview .db-preview-stage { flex:1; min-height:465px; }
.db-report-preview .db-preview-stage iframe { min-height:445px; height:100%; }
.db-attribution-type { display:inline-block; padding:4px 8px; border-radius:999px; font-size:10px; font-weight:750; white-space:nowrap; }
.db-attribution-type.click { background:var(--db-success-bg); color:var(--db-success); }
.db-attribution-type.open { background:var(--db-accent-bg); color:var(--db-accent); }
.db-suppression-detail { margin-top:14px; overflow-x:auto; }
.db-campaign-main { display: grid; gap: 12px; min-width: 0; }
.db-campaign-editor { display: grid; gap: 12px; }
.db-campaign-editor label { display: grid; gap: 5px; color: var(--db-text-muted); font-size: 12px; }
.db-campaign-editor input, .db-campaign-editor select, .db-campaign-editor textarea {
  width: 100%; padding: 9px 10px; border: 1px solid var(--db-border); border-radius: 8px;
  background: var(--db-surface); color: var(--db-text); font: inherit;
}
.db-campaign-editor textarea { resize: vertical; line-height: 1.5; }
.db-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.db-form-section { display: flex; align-items: center; gap: 9px; padding-top: 4px; }
.db-form-section > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--db-accent-bg); color: var(--db-accent); font-size: 12px; font-weight: 700; }
.db-form-section h3 { margin: 0 0 2px; }
.db-form-section p { margin: 0; color: var(--db-text-muted); font-size: 11px; }
.db-form-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 4px; }
.db-template-help { margin: -3px 0 0; color: var(--db-text-muted); font-size: 11px; }
.db-template-help code { color: var(--db-accent); }
.db-campaign-sidebar { display: grid; gap: 12px; }
.db-copy-preset { width: 100%; border: 0; border-top: 1px solid var(--db-border); padding: 9px 0; background: transparent; color: var(--db-text); cursor: pointer; text-align: left; font-size: 12px; }
.db-copy-preset:hover { color: var(--db-accent); }
.db-campaign-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; font-size: 12px; }
.db-campaign-facts dt { color: var(--db-text-muted); }
.db-campaign-facts dd { margin: 0; text-align: right; }
.db-mini-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.db-mini-metrics span { display: grid; gap: 2px; padding: 8px; border-radius: 8px; background: var(--db-bg); color: var(--db-text-muted); font-size: 10px; }
.db-mini-metrics strong { color: var(--db-text); font-size: 17px; }
.db-table-subtitle { margin: 2px 0 0; color: var(--db-text-muted); font-size: 11px; }
.db-metric-detail { margin: 4px 0 0; color: var(--db-text-muted); font-size: 10px; }
.db-provider-error { margin: 12px 0 0; padding: 8px; border-radius: 7px; background: var(--db-danger-bg); color: var(--db-danger); font-size: 11px; }
.db-role-form { display: flex; align-items: center; gap: 8px; }
.db-role-form select { min-width: 220px; padding: 8px 9px; border: 1px solid var(--db-border); border-radius: 8px; background: var(--db-surface); color: var(--db-text); font: inherit; font-size: 12px; }
.db-danger-button { border: 1px solid #f5c4b3; border-radius: 8px; padding: 8px 10px; background: var(--db-danger-bg); color: var(--db-danger); cursor: pointer; font: inherit; font-size: 12px; font-weight: 600; }
.db-delete-campaign-form .db-danger-button { width: 100%; }
.db-danger-button:hover { border-color: var(--db-danger); }
.db-danger-button:disabled { opacity: .4; cursor: not-allowed; }
.db-access-state { display: inline-block; padding: 3px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; }
.db-access-state.enabled { background: var(--db-success-bg); color: var(--db-success); }
.db-access-state.revoked { background: var(--db-danger-bg); color: var(--db-danger); }
.db-review-feedback { padding: 10px 12px; border-left: 4px solid var(--db-warning); border-radius: 8px; background: var(--db-warning-bg); color: var(--db-warning); font-size: 12px; }
.db-review-feedback p { margin: 4px 0 0; white-space: pre-wrap; }
.db-review-form { display: grid; gap: 8px; }
.db-review-form textarea { width: 100%; padding: 8px 9px; border: 1px solid var(--db-border); border-radius: 8px; resize: vertical; background: var(--db-surface); color: var(--db-text); font: inherit; font-size: 12px; }
.db-template-library { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.db-template-card { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.db-template-card h3, .db-template-card p { margin: 0; }
.db-template-card p { min-height: 34px; color: var(--db-text-muted); font-size: 12px; }
.db-template-card .db-primary-button { margin-top: auto; }
.db-template-actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px; width:100%; margin-top:auto; }
.db-template-actions form { margin:0; }
.db-template-tip { display:flex; align-items:flex-start; gap:10px; margin:0 0 12px; padding:12px 14px; border:1px solid #d9d6f6; border-radius:10px; background:#f8f7ff; color:#4d4787; }
.db-template-tip > i { margin-top:2px; }.db-template-tip strong { display:block; font-size:12px; }.db-template-tip p { margin:3px 0 0; font-size:11px; line-height:1.5; }
.db-template-editor-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:12px; }.db-template-editor-intro span { color:var(--db-accent); font-size:10px; font-weight:800; letter-spacing:.08em; }.db-template-editor-intro h3 { margin:4px 0 2px; font-size:19px; }.db-template-editor-intro p { margin:0; color:var(--db-text-muted); font-size:12px; }
.db-template-editor { width:100%; }
.db-campaign-flow-tip { margin-bottom:14px; border:1px solid #d9d6f6; border-radius:11px; background:linear-gradient(120deg,#f8f7ff,#fff); }
.db-campaign-flow-tip summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; color:var(--db-accent); cursor:pointer; list-style:none; }.db-campaign-flow-tip summary::-webkit-details-marker { display:none; }.db-campaign-flow-tip summary span { font-size:12px; font-weight:750; }.db-campaign-flow-tip summary i { margin-right:7px; }.db-campaign-flow-tip summary small { font-size:11px; }
.db-campaign-flow-steps { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:8px; padding:2px 14px 14px; }.db-campaign-flow-steps > div { display:flex; align-items:center; gap:8px; min-width:0; padding:9px; border-radius:8px; background:var(--db-surface); }.db-campaign-flow-steps > div > b { display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; border-radius:7px; background:var(--db-accent-bg); color:var(--db-accent); }.db-campaign-flow-steps strong,.db-campaign-flow-steps small { display:block; }.db-campaign-flow-steps strong { font-size:11px; }.db-campaign-flow-steps small { margin-top:2px; color:var(--db-text-muted); font-size:10px; line-height:1.25; }.db-campaign-flow-steps > i { color:#aaa6d2; font-size:9px; }
.db-template-stats { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; gap: 6px; }
.db-template-stats span { display: grid; padding: 7px; border-radius: 7px; background: var(--db-bg); color: var(--db-text-muted); font-size: 9px; }
.db-template-stats strong { color: var(--db-text); font-size: 15px; }
.db-email-builder { display: grid; gap: 8px; margin-top: 6px; }
.db-email-block { display: grid; gap: 7px; padding: 10px; border: 1px solid var(--db-border); border-radius: 9px; background: var(--db-bg); }
.db-email-block[draggable="true"] { cursor: grab; }
.db-email-block.dragging { opacity: .45; }
.db-email-block.drag-over { border-color: var(--db-accent); box-shadow: 0 0 0 2px var(--db-accent-bg); }
.db-email-block-head { display: flex; align-items: center; gap: 5px; }
.db-email-block-head strong { margin-right: auto; font-size: 11px; }
.db-drag-handle { color: var(--db-text-muted); font-size: 10px; user-select: none; }
.db-email-block-head button, .db-block-toolbar button { border: 1px solid var(--db-border); border-radius: 6px; padding: 4px 7px; background: var(--db-surface); color: var(--db-text-muted); cursor: pointer; font: inherit; font-size: 10px; }
.db-email-block input, .db-email-block textarea, .db-ai-copy-form select, .db-ai-copy-form textarea, .db-inline-stack input, .db-sample-form select { width: 100%; padding: 8px 9px; border: 1px solid var(--db-border); border-radius: 7px; background: var(--db-surface); color: var(--db-text); font: inherit; font-size: 12px; }
.db-block-format { display: flex; align-items: end; flex-wrap: wrap; gap: 7px; padding-top: 3px; }
.db-block-format label { display: grid; gap: 3px; color: var(--db-text-muted); font-size: 9px; }
.db-block-format input[type="color"] { width: 42px; height: 31px; padding: 2px; cursor: pointer; }
.db-block-format select { min-width: 88px; padding: 6px; border: 1px solid var(--db-border); border-radius: 6px; background: var(--db-surface); font: inherit; font-size: 10px; }
.db-block-format > button { width: 31px; height: 31px; border: 1px solid var(--db-border); border-radius: 6px; background: var(--db-surface); color: var(--db-text); cursor: pointer; font-weight: 700; }
.db-block-format > button:nth-of-type(2) { font-style: italic; }
.db-block-format > button.active { border-color: var(--db-accent); background: var(--db-accent-bg); color: var(--db-accent); }
.db-review-decision hr { border: 0; border-top: 1px solid var(--db-border); margin: 12px 0; }
.db-block-toolbar { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.db-ai-copy-form, .db-inline-stack, .db-sample-form { display: grid; gap: 7px; margin-top: 8px; }
.db-test-history { margin-top: 10px; border-top: 1px solid var(--db-border); }
.db-test-history p { margin: 0; padding: 8px 0; border-bottom: 1px solid var(--db-border); font-size: 11px; }
.db-test-history small { display: block; margin: 3px 0 0; color: var(--db-text-muted); }
.db-block-image-preview { display: block; width: 100%; max-height: 220px; object-fit: contain; border-radius: 8px; background: var(--db-surface); }
.db-block-logo-preview { display:block; max-width:190px; max-height:72px; object-fit:contain; border-radius:6px; background:var(--db-surface); }
.db-modal { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(20,20,18,.62); }
.db-modal[hidden] { display: none; }
.db-modal-dialog { width: min(500px, 100%); padding: 20px; border: 1px solid var(--db-border); border-radius: 15px; background: var(--db-surface); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.db-modal-heading { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; margin-bottom: 16px; }
.db-modal-heading h3, .db-confirm-dialog h3 { margin: 0 0 3px; font-size: 17px; }
.db-modal-heading p, .db-confirm-dialog p { margin: 0; color: var(--db-text-muted); font-size: 12px; line-height: 1.45; }
.db-modal-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--db-accent-bg); color: var(--db-accent); }
.db-modal-icon.warning { background: var(--db-warning-bg); color: var(--db-warning); }
.db-modal-close { width: 32px; height: 32px; border: 0; border-radius: 8px; background: transparent; color: var(--db-text-muted); cursor: pointer; }
.db-modal-close:hover { background: var(--db-bg); color: var(--db-text); }
.db-link-dialog label { display: grid; gap: 5px; margin-top: 11px; color: var(--db-text-muted); font-size: 11px; }
.db-link-dialog input { width: 100%; padding: 9px 10px; border: 1px solid var(--db-border); border-radius: 8px; background: var(--db-surface); color: var(--db-text); font: inherit; }
.db-link-url-row { display: grid; grid-template-columns: 1fr auto; gap: 7px; }
.db-modal-error { min-height: 17px; margin: 7px 0 0; color: var(--db-danger); font-size: 11px; }
.db-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 15px; }
.db-modal-open { overflow:hidden; }
.db-record-modal { position:fixed; z-index:1300; inset:0; padding:4vh 4vw; background:rgba(11,27,46,.7); backdrop-filter:blur(4px); }
.db-record-modal[hidden] { display:none; }
.db-record-modal-dialog { display:grid; grid-template-rows:auto minmax(0,1fr); width:min(1180px,100%); height:92vh; margin:0 auto; overflow:hidden; border:1px solid rgba(255,255,255,.22); border-radius:18px; background:var(--db-bg); box-shadow:0 30px 90px rgba(0,0,0,.35); }
.db-record-modal-dialog > header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 17px; border-bottom:1px solid var(--db-border); background:var(--db-surface); }
.db-record-modal-dialog > header span { color:var(--db-accent); font-size:9px; font-weight:850; letter-spacing:.1em; }
.db-record-modal-dialog > header h3 { margin:3px 0 0; font-size:16px; }
.db-record-modal-dialog > header button { display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--db-border); border-radius:10px; background:var(--db-bg); color:var(--db-text); cursor:pointer; font-size:16px; }
.db-record-modal-dialog > header button:hover { border-color:var(--db-accent); color:var(--db-accent); }
.db-record-modal-body { min-height:0; overflow:auto; padding:18px; background:var(--db-bg); outline:0; }
.db-record-modal-body > [data-record-modal-content] { display:grid; gap:12px; }
.db-record-modal-body .db-back-link { display:none; }
.db-record-modal-state { display:grid; place-items:center; align-content:center; gap:9px; min-height:100%; color:var(--db-text-muted); text-align:center; }
.db-record-modal-state strong { color:var(--db-text); font-size:16px; }
.db-record-modal-state small { max-width:440px; }
.db-record-modal-state.is-error > i { color:var(--db-danger); font-size:25px; }
@media(max-width:700px){.db-record-modal{padding:0}.db-record-modal-dialog{height:100vh;border:0;border-radius:0}.db-record-modal-body{padding:13px}}
.db-confirm-dialog { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 12px; }
.db-confirm-dialog .db-modal-actions { grid-column: 1 / -1; }
.db-asset-modal { position: fixed; z-index: 1000; inset: 0; padding: 5vh 18px; background: rgba(20,20,18,.62); overflow: auto; }
.db-asset-modal[hidden] { display: none; }
.db-asset-dialog { width: min(920px, 100%); margin: 0 auto; padding: 18px; border-radius: 14px; background: var(--db-surface); box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.db-asset-upload-form { display: grid; grid-template-columns: 1.2fr 1fr 1.4fr auto; align-items: center; gap: 8px; padding: 11px; border-radius: 9px; background: var(--db-bg); }
.db-asset-upload-form input { min-width: 0; padding: 8px 9px; border: 1px solid var(--db-border); border-radius: 7px; background: var(--db-surface); font: inherit; font-size: 12px; }
.db-asset-upload-form span { grid-column: 1 / -1; margin: 0; }
.db-asset-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.db-asset-item { overflow: hidden; padding: 0; border: 1px solid var(--db-border); border-radius: 9px; background: var(--db-surface); color: var(--db-text); cursor: pointer; text-align: left; }
.db-asset-item:hover { border-color: var(--db-accent); box-shadow: 0 0 0 2px var(--db-accent-bg); }
.db-asset-item img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: var(--db-bg); }
.db-asset-item span { display: block; padding: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.db-approval-alert { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; margin-bottom: 14px; padding: 12px 14px; border: 1px solid #9fe1cb; border-radius: var(--db-radius); background: var(--db-success-bg); color: var(--db-success); text-decoration: none; }
.db-approval-alert > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--db-surface); }
.db-approval-alert strong, .db-approval-alert small { display: block; }
.db-approval-alert small { margin-top: 2px; opacity: .8; font-size: 11px; }
.db-approval-alert b { font-size: 12px; }
.db-approval-alert.correction { border-color: #f0c36d; background: var(--db-warning-bg); color: var(--db-warning); }
.db-brevo-history-actions, .db-brevo-filter { display: flex; align-items: end; gap: 7px; }
.db-brevo-filter label { display: grid; gap: 3px; color: var(--db-text-muted); font-size: 10px; }
.db-brevo-filter select { min-width: 135px; padding: 7px 9px; border: 1px solid var(--db-border); border-radius: 7px; background: var(--db-surface); color: var(--db-text); font: inherit; font-size: 11px; }
.db-history-more { display: flex; align-items: center; justify-content: center; gap: 10px; padding-top: 12px; }
.db-history-more small, .db-performance-note { color: var(--db-text-muted); font-size: 11px; }
.db-performance-note { margin: 14px 0 8px; padding: 9px 11px; border-left: 3px solid var(--db-accent); background: var(--db-accent-bg); }
.db-preview-card { min-width: 0; }
.db-preview-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.db-preview-heading h3 { margin: 0 0 3px; }
.db-preview-contact { display: flex; align-items: end; gap: 7px; }
.db-preview-contact label { display: grid; gap: 4px; color: var(--db-text-muted); font-size: 10px; }
.db-preview-contact input { width: 250px; padding: 7px 9px; border: 1px solid var(--db-border); border-radius: 7px; background: var(--db-surface); color: var(--db-text); font: inherit; font-size: 11px; }
.db-email-envelope { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 14px; margin-bottom: 10px; padding: 12px 14px; border: 1px solid var(--db-border); border-radius: 10px; background: var(--db-surface); }
.db-email-envelope p { margin: 0 0 5px; font-size: 12px; }
.db-email-envelope strong { display: inline-block; min-width: 82px; }
.db-email-envelope small { color: var(--db-text-muted); font-size: 10px; }
.db-preview-toggle { display: flex; padding: 3px; border-radius: 8px; background: var(--db-bg); }
.db-preview-toggle button { display: flex; align-items: center; gap: 5px; border: 0; border-radius: 6px; padding: 7px 9px; background: transparent; color: var(--db-text-muted); cursor: pointer; font: inherit; font-size: 11px; }
.db-preview-toggle button.active { background: var(--db-surface); color: var(--db-accent); box-shadow: 0 1px 4px rgba(31,31,29,.12); }
.db-preview-stage { display: flex; justify-content: center; min-height: 560px; padding: 12px; border-radius: 10px; background: #deded9; overflow: auto; }
.db-preview-stage iframe { width: 100%; min-height: 540px; border: 0; border-radius: 8px; background: white; transition: width .2s ease; }
.db-audience-state { display: inline-block; margin: 3px 0 8px; padding: 4px 9px; border-radius: 999px; background: var(--db-bg); color: var(--db-text-muted); font-size: 11px; font-weight: 700; text-transform: capitalize; }
.db-audience-state.completed { background: var(--db-success-bg); color: var(--db-success); }
.db-audience-state.processing, .db-audience-state.queued { background: var(--db-warning-bg); color: var(--db-warning); }
.db-audience-state.failed { background: var(--db-danger-bg); color: var(--db-danger); }
.db-test-form, .db-schedule-form { display: grid; gap: 8px; }
.db-test-form label { display: grid; gap: 5px; color: var(--db-text-muted); font-size: 11px; }
.db-test-form input, .db-schedule-form input[type="datetime-local"] { width: 100%; padding: 8px 9px; border: 1px solid var(--db-border); border-radius: 8px; background: var(--db-surface); color: var(--db-text); font: inherit; font-size: 12px; }
.db-schedule-form label { display: grid; gap: 5px; color: var(--db-text-muted); font-size: 11px; }
.db-confirm-check { grid-template-columns: auto 1fr !important; align-items: start; line-height: 1.35; }
.db-confirm-check input { margin: 1px 0 0; }

@media (max-width: 850px) {
  .db-opportunity-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .db-detail-grid, .db-detail-form { grid-template-columns: 1fr; }
  .db-detail-form .db-discard-reason { grid-column:auto; }
  .db-opportunity-filters { align-items: stretch; flex-direction: column; }
  .db-bulk-actions, .db-section-intro { align-items: stretch; flex-direction: column; }
  .db-bulk-actions input { width: 100%; min-width: 0; margin-left: 0; }
  .db-segment-suggestions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .db-channel-grid, .db-campaign-layout, .db-campaign-report-layout, .db-form-grid { grid-template-columns: 1fr; }
  .db-report-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .db-channel-card { grid-template-columns: auto 1fr; }
  .db-channel-card > :last-child { grid-column: 1 / -1; }
  .db-approval-alert { grid-template-columns: auto 1fr; }
  .db-approval-alert > b { grid-column: 2; }
  .db-role-form { align-items: stretch; flex-direction: column; }
  .db-template-library { grid-template-columns: 1fr; }
  .db-asset-upload-form, .db-asset-gallery { grid-template-columns: 1fr; }
  .db-preview-heading, .db-preview-contact { align-items: stretch; flex-direction: column; }
  .db-preview-contact input { width: 100%; }
  .db-campaign-flow-steps { grid-template-columns:1fr; }.db-campaign-flow-steps > i { display:none; }
  .db-template-editor-intro { align-items:flex-start; flex-direction:column; }
  .db-email-envelope { grid-template-columns: 1fr; }
  .db-brevo-history-actions, .db-brevo-filter { align-items: stretch; flex-direction: column; }
  .db-link-url-row { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .db-report-heading { flex-direction:column; }
  .db-report-metrics { grid-template-columns:1fr; }
}

@media (max-width: 520px) {
  .db-main { padding: 1rem; min-width: 0; }
  .db-home-kpis { grid-template-columns: 1fr; }
  .db-home-flow-values { grid-template-columns: 1fr 1fr; }
  .db-home-flow-values div:last-child { grid-column: 1 / -1; }
  .db-home-email-result, .db-home-source-list > div { align-items: flex-start; flex-direction: column; }
  .db-home-date { white-space: normal; }
  .db-segment-suggestions { grid-template-columns:1fr; }
}

/* Asistente IA y reportería */
.db-ai-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 22px; margin-bottom:12px; border:1px solid #dedcf8; border-radius:14px; background:linear-gradient(120deg,#f7f6ff 0%,#fff 55%,#f2faf7 100%); }
.db-ai-hero h3 { margin:6px 0 4px; font-size:21px; }
.db-ai-hero p { margin:0; max-width:680px; color:var(--db-text-muted); font-size:11px; line-height:1.55; }
.db-ai-eyebrow { color:var(--db-accent); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.db-ai-privacy { display:flex; align-items:center; gap:10px; min-width:245px; padding:11px 13px; border:1px solid #bce1d4; border-radius:10px; background:#f3fbf8; color:var(--db-success); }
.db-ai-privacy > i { font-size:19px; }.db-ai-privacy strong,.db-ai-privacy small { display:block; }.db-ai-privacy strong { font-size:10px; }.db-ai-privacy small { margin-top:2px; color:#527a6e; font-size:8px; }
.db-ai-tabs { display:flex; gap:4px; margin-bottom:18px; padding:4px; border:1px solid var(--db-border); border-radius:10px; background:var(--db-surface); }
.db-ai-tabs a { display:flex; align-items:center; justify-content:center; gap:7px; min-width:145px; padding:9px 14px; border-radius:7px; color:var(--db-text-muted); font-size:10px; font-weight:650; text-decoration:none; }
.db-ai-tabs a:hover { background:var(--db-bg); color:var(--db-text); }.db-ai-tabs a.active { background:var(--db-accent-bg); color:var(--db-accent); }
.db-ai-section-heading { display:flex; align-items:end; justify-content:space-between; gap:15px; margin:0 0 12px; }.db-ai-section-heading span { color:var(--db-accent); font-size:9px; font-weight:700; }.db-ai-section-heading h3 { margin:3px 0 0; font-size:17px; }.db-ai-heading-actions { display:flex; gap:7px; }
.db-ai-result { display:grid; gap:12px; }.db-ai-result-head { display:flex; justify-content:space-between; gap:20px; }.db-ai-result-head > div > span { color:var(--db-text-muted); font-size:9px; }.db-ai-result-head h3 { margin:3px 0; font-size:16px; }.db-ai-result-head p { margin:0; color:var(--db-text-muted); font-size:10px; }
.db-ai-generated { position:relative; overflow:hidden; padding:17px; border:1px solid #c9e9df; border-radius:13px; background:linear-gradient(135deg,#f2fbf8 0%,#fff 58%,#f8f7ff 100%); box-shadow:0 8px 25px rgba(15,110,86,.06); }.db-ai-generated::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:linear-gradient(#3ed9b8,#534ab7); }.db-ai-generated.unavailable { border-color:#ead9b8; background:linear-gradient(135deg,#fffaf1,#fff); }.db-ai-generated.unavailable::before { background:#d69e45; }
.db-ai-generated-top { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; }.db-ai-generated-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:#dff7f0; color:#087d67; box-shadow:inset 0 0 0 1px rgba(62,217,184,.25); }.db-ai-generated-label { display:block; margin-bottom:3px; color:#087d67; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.db-ai-generated h4 { margin:0; font-size:13px; }.db-ai-coverage { padding:5px 8px; border-radius:999px; font-size:7px; font-weight:800; }.db-ai-coverage.complete { background:var(--db-success-bg); color:var(--db-success); }.db-ai-coverage.partial { background:var(--db-warning-bg); color:var(--db-warning); }.db-ai-coverage.insufficient { background:var(--db-danger-bg); color:var(--db-danger); }
.db-ai-generated-answer { margin:13px 0 0; color:#34465b; font-size:10px; line-height:1.65; }.db-ai-generated-findings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:12px; }.db-ai-generated-findings span { display:flex; align-items:flex-start; gap:7px; padding:8px 9px; border:1px solid #e3ece9; border-radius:8px; background:rgba(255,255,255,.72); color:#526474; font-size:8px; line-height:1.4; }.db-ai-generated-findings i { margin-top:1px; color:#15947a; }
.db-ai-generated-actions { margin-top:14px; }.db-ai-generated-actions h5 { margin:0 0 7px; font-size:9px; }.db-ai-generated-actions article { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:9px; padding:8px 0; border-top:1px solid #e5ecea; }.db-ai-generated-actions article > b { display:grid; place-items:center; width:23px; height:23px; border-radius:7px; background:#e9f4f1; color:#0f6e56; font-size:8px; }.db-ai-generated-actions strong,.db-ai-generated-actions small { display:block; }.db-ai-generated-actions strong { font-size:9px; }.db-ai-generated-actions small { margin-top:2px; color:var(--db-text-muted); font-size:8px; line-height:1.35; }.db-ai-generated-actions article > span { padding:4px 6px; border-radius:999px; background:var(--db-bg); color:var(--db-text-muted); font-size:7px; font-weight:700; }.db-ai-generated-actions article.high > span { background:var(--db-danger-bg); color:var(--db-danger); }.db-ai-generated-actions article.medium > span { background:var(--db-warning-bg); color:var(--db-warning); }
.db-ai-admin-guidance { display:flex; align-items:flex-start; gap:9px; margin-top:12px; padding:10px 11px; border:1px solid #ead9b8; border-radius:9px; background:#fffaf1; color:#76531c; }.db-ai-admin-guidance > i { margin-top:1px; }.db-ai-admin-guidance strong { display:block; font-size:9px; }.db-ai-admin-guidance p { margin:3px 0 0; font-size:8px; line-height:1.45; }.db-ai-generated footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:13px -17px -17px; padding:8px 17px; border-top:1px solid rgba(15,110,86,.10); background:rgba(255,255,255,.55); color:#70857e; font-size:7px; }.db-ai-generated footer small { color:#8c8ba0; font-size:7px; }
.db-ai-diagnostic { margin-top:9px; padding:8px 10px; border:1px dashed #d8c7a5; border-radius:8px; background:rgba(255,255,255,.62); }.db-ai-diagnostic summary { color:#76531c; font-size:8px; font-weight:700; cursor:pointer; }.db-ai-diagnostic code { display:block; overflow-wrap:anywhere; margin-top:7px; padding:7px; border-radius:6px; background:#16283a; color:#d7e4ec; font-size:8px; line-height:1.45; white-space:pre-wrap; }
.db-ai-live { align-self:start; padding:5px 8px; border-radius:999px; background:var(--db-success-bg); color:var(--db-success); font-size:8px; font-weight:700; }.db-ai-live i,.db-ai-sources > div:last-child > span > i { display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; background:#1d9f75; }
.db-ai-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }.db-ai-kpis > div { position:relative; overflow:hidden; padding:13px 14px; border:1px solid var(--db-border); border-radius:11px; background:var(--db-surface); }.db-ai-kpis > div::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#378add; }.db-ai-kpis > div.green::before { background:#1d9f75; }.db-ai-kpis > div.red::before { background:#d85a30; }.db-ai-kpis > div.purple::before { background:var(--db-accent); }.db-ai-kpis > div.orange::before { background:#d97706; }.db-ai-kpis span,.db-ai-kpis small { display:block; color:var(--db-text-muted); font-size:8px; }.db-ai-kpis strong { display:block; margin:5px 0 2px; font-size:20px; }
.db-ai-comparisons,.db-ai-insights,.db-ai-data-table { padding:15px; }.db-ai-block-title { display:flex; align-items:center; gap:9px; margin-bottom:12px; }.db-ai-block-title > span,.db-ai-section-icon { display:grid; place-items:center; width:31px; height:31px; border-radius:8px; background:var(--db-accent-bg); color:var(--db-accent); }.db-ai-block-title h4 { margin:0; font-size:12px; }.db-ai-block-title small { display:block; margin-top:2px; color:var(--db-text-muted); font-size:8px; }
.db-ai-comparison-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.db-ai-comparison-grid > div { padding:11px; border-radius:9px; background:var(--db-bg); }.db-ai-comparison-grid p { margin:0 0 7px; color:var(--db-text-muted); font-size:9px; }.db-ai-comparison-grid strong { margin-right:8px; font-size:17px; }.db-ai-comparison-grid div span { color:var(--db-text-muted); font-size:8px; }.db-ai-comparison-grid small { display:block; margin-top:7px; font-size:8px; font-weight:700; }.db-ai-comparison-grid small.positive { color:var(--db-success); }.db-ai-comparison-grid small.negative { color:var(--db-danger); }.db-ai-comparison-grid small.neutral { color:var(--db-text-muted); }
.db-ai-insight-list { display:grid; gap:7px; }.db-ai-insight-list article { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:10px 11px; border:1px solid var(--db-border); border-left:3px solid var(--db-success); border-radius:8px; }.db-ai-insight-list article.warning { border-left-color:#d97706; }.db-ai-insight-list article.negative { border-left-color:var(--db-danger); }.db-ai-insight-list article > span { color:var(--db-success); }.db-ai-insight-list article.warning > span { color:#d97706; }.db-ai-insight-list article.negative > span { color:var(--db-danger); }.db-ai-insight-list h5 { margin:0 0 2px; font-size:10px; }.db-ai-insight-list p { margin:0; color:var(--db-text-muted); font-size:9px; line-height:1.4; }.db-ai-insight-list a { color:var(--db-accent); font-size:8px; font-weight:700; text-decoration:none; white-space:nowrap; }
.db-ai-data-table { overflow:hidden; }.db-ai-data-table .db-table-wrap { margin:0 -15px -15px; }.db-ai-data-table table,.db-ai-history table { width:100%; border-collapse:collapse; }.db-ai-data-table th,.db-ai-data-table td,.db-ai-history th,.db-ai-history td { padding:9px 14px; border-top:1px solid var(--db-border); text-align:left; font-size:9px; }.db-ai-data-table th,.db-ai-history th { color:var(--db-text-muted); font-size:8px; font-weight:700; text-transform:uppercase; }.db-ai-data-table tbody tr:hover,.db-ai-history tbody tr:hover { background:#fafafa; }
.db-ai-sources { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 14px; border:1px solid var(--db-border); border-radius:10px; background:var(--db-surface); }.db-ai-sources > div:first-child { display:flex; align-items:center; gap:9px; }.db-ai-sources > div:first-child > i { color:var(--db-accent); }.db-ai-sources strong,.db-ai-sources small { display:block; }.db-ai-sources strong { font-size:9px; }.db-ai-sources small { color:var(--db-text-muted); font-size:7px; }.db-ai-sources > div:last-child { display:flex; flex-wrap:wrap; gap:7px; }.db-ai-sources > div:last-child > span { padding:5px 7px; border-radius:7px; background:var(--db-success-bg); color:var(--db-success); font-size:8px; font-weight:700; }.db-ai-sources > div:last-child > span.pending { background:var(--db-warning-bg); color:var(--db-warning); }.db-ai-sources > div:last-child > span.pending > i { background:#d97706; }
.db-ai-workspace { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:12px; align-items:start; }.db-ai-question { padding:16px; }.db-ai-question > label { display:block; margin-bottom:8px; font-size:13px; font-weight:700; }.db-ai-question-box { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:9px; padding:8px 9px; border:1px solid #cbc8f2; border-radius:10px; background:#fbfaff; }.db-ai-question-box > i { color:var(--db-accent); }.db-ai-question-box textarea { min-height:48px; resize:vertical; border:0; outline:0; background:transparent; color:var(--db-text); font:inherit; font-size:11px; }.db-ai-question-box button { align-self:stretch; padding:0 14px; border:0; border-radius:8px; background:var(--db-accent); color:#fff; font-size:10px; font-weight:700; cursor:pointer; }.db-ai-question > p { margin:7px 0 0; color:var(--db-text-muted); font-size:8px; }
.db-ai-starters { margin-top:10px; padding:15px; }.db-ai-starters h3 { margin:0 0 10px; font-size:12px; }.db-ai-starters > div { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.db-ai-starters button { display:flex; align-items:center; gap:9px; padding:10px; border:1px solid var(--db-border); border-radius:9px; background:var(--db-surface); color:var(--db-text); text-align:left; cursor:pointer; }.db-ai-starters button:hover { border-color:#b9b4eb; background:#fbfaff; }.db-ai-starters button > i { color:var(--db-accent); }.db-ai-starters span,.db-ai-starters strong { display:block; font-size:9px; }.db-ai-starters strong { margin-top:2px; color:var(--db-text-muted); font-size:8px; font-weight:500; }
.db-ai-help { padding:16px; }.db-ai-help-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:var(--db-warning-bg); color:var(--db-warning); }.db-ai-help-icon.purple { background:var(--db-accent-bg); color:var(--db-accent); }.db-ai-help h3 { margin:10px 0 5px; font-size:12px; }.db-ai-help p,.db-ai-help li { color:var(--db-text-muted); font-size:9px; line-height:1.5; }.db-ai-help ul { padding-left:16px; }.db-ai-help > small { display:block; padding-top:9px; border-top:1px solid var(--db-border); color:var(--db-text-muted); font-size:8px; }
.db-ai-report-form { padding:16px; }.db-ai-report-form > div:first-child { display:flex; align-items:center; gap:10px; }.db-ai-report-form h3 { margin:0; font-size:13px; }.db-ai-report-form p { margin:3px 0 0; color:var(--db-text-muted); font-size:9px; }.db-ai-report-fields { display:grid; grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto; align-items:end; gap:8px; margin-top:14px; }.db-ai-report-fields label { color:var(--db-text-muted); font-size:8px; }.db-ai-report-fields select,.db-ai-report-fields input { display:block; width:100%; margin-top:4px; padding:9px; border:1px solid var(--db-border); border-radius:8px; background:var(--db-surface); color:var(--db-text); font:inherit; font-size:10px; }.db-ai-report-fields .db-primary-button { min-height:36px; white-space:nowrap; }
.db-ai-record-meta { display:flex; align-items:center; justify-content:space-between; margin:10px 0; padding:8px 11px; border-radius:8px; background:var(--db-success-bg); color:var(--db-success); font-size:8px; font-weight:700; }.db-ai-record-meta a { color:var(--db-success); text-decoration:none; }.db-ai-history { padding:0; overflow:hidden; }.db-ai-history-heading { display:flex; align-items:center; justify-content:space-between; padding:15px; }.db-ai-history-heading h3 { margin:0; font-size:13px; }.db-ai-history-heading p { margin:3px 0 0; color:var(--db-text-muted); font-size:9px; }.db-ai-history-heading > span { color:var(--db-text-muted); font-size:8px; }.db-ai-history td strong,.db-ai-history td small { display:block; }.db-ai-history td small { margin-top:2px; color:var(--db-text-muted); font-size:8px; }.db-ai-history tr.selected { background:#f7f6ff; }.db-ai-kind { display:inline-block; padding:4px 6px; border-radius:999px; background:var(--db-accent-bg); color:var(--db-accent); font-size:7px; font-weight:700; }.db-ai-kind.report { background:var(--db-success-bg); color:var(--db-success); }.db-ai-kind.customer { background:var(--db-warning-bg); color:var(--db-warning); }.db-ai-row-actions { display:flex; gap:5px; }.db-ai-row-actions a { display:grid; place-items:center; width:27px; height:27px; border:1px solid var(--db-border); border-radius:7px; color:var(--db-accent); text-decoration:none; }.db-ai-record-detail { margin-top:12px; }
@media (max-width:1000px) { .db-ai-hero { align-items:flex-start; flex-direction:column; }.db-ai-privacy { width:100%; }.db-ai-workspace { grid-template-columns:1fr; }.db-ai-help { order:-1; }.db-ai-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.db-ai-tabs { overflow-x:auto; }.db-ai-tabs a { min-width:130px; }.db-ai-report-fields { grid-template-columns:1fr; } }
@media (max-width:620px) { .db-ai-kpis,.db-ai-comparison-grid,.db-ai-starters > div,.db-ai-generated-findings { grid-template-columns:1fr; }.db-ai-section-heading,.db-ai-sources,.db-ai-history-heading { align-items:flex-start; flex-direction:column; }.db-ai-insight-list article { grid-template-columns:auto 1fr; }.db-ai-insight-list article a { grid-column:2; }.db-ai-heading-actions { width:100%; }.db-ai-heading-actions a { flex:1; text-align:center; }.db-ai-generated-top { grid-template-columns:auto 1fr; }.db-ai-coverage { grid-column:2; justify-self:start; }.db-ai-generated footer { align-items:flex-start; flex-direction:column; } }

.db-login-body { margin:0; min-width:320px; color:#17202a; font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.db-login-shell { position:relative; display:grid; place-items:center; min-height:100vh; overflow:hidden; padding:38px 24px 62px; background:radial-gradient(circle at 18% 12%,#173752 0,#0b1b2e 36%,#071321 100%); }
.db-login-orb { position:absolute; border-radius:50%; filter:blur(1px); pointer-events:none; }.db-login-orb.one { top:-140px; right:-90px; width:390px; height:390px; background:rgba(62,217,184,.10); }.db-login-orb.two { bottom:-180px; left:-110px; width:430px; height:430px; background:rgba(55,138,221,.10); }
.db-login-panel { position:relative; z-index:1; display:grid; grid-template-columns:minmax(330px,.9fr) minmax(390px,1fr); width:min(920px,100%); min-height:570px; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:22px; background:#fff; box-shadow:0 30px 90px rgba(0,0,0,.32); }
.db-login-intro { display:flex; flex-direction:column; justify-content:space-between; padding:48px 44px 38px; color:var(--db-sidebar-text); background:linear-gradient(145deg,#102a43 0%,#0b1b2e 55%,#0a2431 100%); }
.db-login-kicker { display:inline-flex; align-items:center; gap:8px; color:var(--db-sidebar-accent); font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }.db-login-kicker i { font-size:6px; box-shadow:0 0 0 5px rgba(62,217,184,.12); border-radius:50%; }
.db-login-intro h1 { margin:22px 0 14px; color:#fff; font-size:35px; line-height:1.12; letter-spacing:-.035em; }.db-login-intro-copy p { max-width:340px; margin:0; color:var(--db-sidebar-text-muted); font-size:13px; line-height:1.65; }
.db-login-benefits { display:grid; gap:14px; margin:42px 0; }.db-login-benefits > div { display:grid; grid-template-columns:36px 1fr; align-items:center; gap:11px; }.db-login-benefits > div > i { display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(62,217,184,.18); border-radius:10px; background:rgba(62,217,184,.09); color:var(--db-sidebar-accent); }.db-login-benefits strong,.db-login-benefits small { display:block; }.db-login-benefits strong { color:#edf5fa; font-size:11px; }.db-login-benefits small { margin-top:3px; color:var(--db-sidebar-text-muted); font-size:9px; }
.db-login-system-state { display:flex; align-items:center; gap:7px; color:var(--db-sidebar-text-muted); font-size:9px; }.db-login-system-state i { width:7px; height:7px; border-radius:50%; background:var(--db-sidebar-accent); box-shadow:0 0 0 4px rgba(62,217,184,.12); }
.db-login-access { display:flex; flex-direction:column; justify-content:center; padding:46px 58px; background:#fff; }.db-login-brand { width:100%; margin-bottom:30px; }.db-login-brand img { display:block; width:100%; height:auto; object-fit:contain; object-position:left center; }
.db-login-heading > span { color:var(--db-sidebar-accent); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.db-login-heading h2 { margin:7px 0 5px; color:#132238; font-size:27px; letter-spacing:-.025em; }.db-login-heading p { margin:0 0 24px; color:#718096; font-size:11px; line-height:1.5; }
.db-login-error { display:flex; align-items:flex-start; gap:8px; margin-bottom:16px; padding:10px 11px; border:1px solid #f2c9bc; border-radius:9px; background:#fff6f3; color:#93452b; font-size:10px; line-height:1.4; }
.db-login-form { display:grid; }.db-login-form > label { margin:0 0 6px; color:#34465b; font-size:10px; font-weight:700; }.db-login-field { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:8px; margin-bottom:15px; padding:0 11px; border:1px solid #dbe3ea; border-radius:10px; background:#fbfcfd; transition:border-color .15s,box-shadow .15s,background .15s; }.db-login-field:focus-within { border-color:#35bfa4; background:#fff; box-shadow:0 0 0 3px rgba(62,217,184,.12); }.db-login-field > i { color:#8294a7; font-size:12px; }.db-login-field input { width:100%; min-width:0; padding:12px 0; border:0; outline:0; background:transparent; color:#15283e; font:inherit; font-size:12px; }.db-login-field input::placeholder { color:#a7b3bf; }
.db-login-password-toggle { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:7px; background:transparent; color:#718096; cursor:pointer; }.db-login-password-toggle:hover { background:#edf3f5; color:#245b66; }
.db-login-submit { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:4px; padding:12px 15px; border:0; border-radius:10px; background:linear-gradient(105deg,#123149,#0f6e66); color:#fff; font:inherit; font-size:11px; font-weight:750; cursor:pointer; box-shadow:0 9px 22px rgba(15,110,102,.18); transition:transform .15s,box-shadow .15s; }.db-login-submit:hover { transform:translateY(-1px); box-shadow:0 12px 28px rgba(15,110,102,.25); }.db-login-submit:focus-visible { outline:3px solid rgba(62,217,184,.3); outline-offset:2px; }
.db-login-help { display:flex; align-items:flex-start; gap:7px; margin:19px 0 0; padding-top:17px; border-top:1px solid #edf0f2; color:#8795a5; font-size:9px; line-height:1.45; }.db-login-help i { margin-top:1px; color:#4f8190; }
.db-login-footer { position:absolute; z-index:1; bottom:22px; color:rgba(211,222,232,.65); font-size:9px; letter-spacing:.02em; }
@media (max-width:760px) { .db-login-shell { align-items:start; padding:20px 14px 52px; }.db-login-panel { grid-template-columns:1fr; min-height:0; }.db-login-intro { padding:27px 26px; }.db-login-intro h1 { margin-top:15px; font-size:27px; }.db-login-benefits { display:none; }.db-login-system-state { margin-top:22px; }.db-login-access { padding:34px 27px; }.db-login-brand { width:100%; margin-bottom:23px; }.db-login-footer { bottom:16px; } }

/* Centro operativo de Stripe */
.db-app-loading {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(5, 15, 27, .68);
  backdrop-filter: blur(4px);
}
.db-app-loading.is-active { display: flex; }
.db-app-loading-card {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 270px;
  padding: 17px 19px;
  border: 1px solid var(--db-sidebar-border);
  border-radius: 13px;
  background: var(--db-sidebar-bg);
  color: var(--db-sidebar-text);
  box-shadow: 0 18px 50px rgba(2, 8, 18, .34);
}
.db-app-loading-card strong,
.db-app-loading-card small { display: block; }
.db-app-loading-card strong { font-size: 14px; }
.db-app-loading-card small { margin-top: 3px; color: var(--db-sidebar-text-muted); font-size: 11px; }
.db-app-spinner {
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
  border: 3px solid rgba(211, 222, 232, .2);
  border-top-color: var(--db-sidebar-accent);
  border-radius: 50%;
  animation: db-app-spin .75s linear infinite;
}
@keyframes db-app-spin { to { transform: rotate(360deg); } }

.db-stripe-heading,
.db-risk-toolbar,
.db-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.db-stripe-heading { margin: 4px 0 14px; }
.db-stripe-heading h3 { margin: 0; font-size: 17px; }
.db-stripe-heading p,
.db-risk-toolbar p,
.db-card-heading p,
.db-kpi-detail {
  margin: 4px 0 0;
  color: var(--db-text-muted);
  font-size: 12px;
}

.db-period-filter {
  display: flex;
  padding: 3px;
  background: var(--db-surface);
  border: 1px solid var(--db-border);
  border-radius: 9px;
}
.db-period-filter a {
  padding: 6px 9px;
  color: var(--db-text-muted);
  text-decoration: none;
  font-size: 12px;
  border-radius: 6px;
}
.db-period-filter a.active {
  background: var(--db-accent-bg);
  color: var(--db-accent);
  font-weight: 600;
}
.db-day-filter { display: flex; align-items: center; margin-left: 3px; }
.db-day-filter input {
  width: 126px;
  padding: 5px 6px;
  border: 0;
  border-left: 1px solid var(--db-border);
  background: transparent;
  color: var(--db-text);
  font: inherit;
  font-size: 11px;
}
.db-day-filter button {
  padding: 5px 7px;
  border: 0;
  border-radius: 6px;
  background: var(--db-accent-bg);
  color: var(--db-accent);
  cursor: pointer;
}

.db-stripe-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.db-stripe-active-card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 118px;
  overflow: hidden;
  border-color: #635bff;
  background: linear-gradient(135deg, #635bff 0%, #5146d9 58%, #332d91 100%);
  color: #fff;
  box-shadow: 0 8px 24px rgba(99, 91, 255, .22);
}
.db-stripe-active-card::after {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  top: -68px;
  right: -42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .09);
}
.db-stripe-active-card .db-kpi-label,
.db-stripe-active-card .db-kpi-detail { color: rgba(255, 255, 255, .78); }
.db-stripe-active-card .db-kpi-value { color: #fff; }
.db-stripe-active-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 11px;
  background: rgba(255, 255, 255, .16);
  font-size: 21px;
}
.db-stripe-live {
  align-self: start;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: rgba(255, 255, 255, .82);
  font-size: 9px;
  white-space: nowrap;
}
.db-stripe-live i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7ee2b8;
  box-shadow: 0 0 0 3px rgba(126, 226, 184, .18);
}
.db-kpi-accent { position: relative; overflow: hidden; }
.db-kpi-accent::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
}
.db-kpi-accent.success::before { background: var(--db-success); }
.db-kpi-accent.danger::before { background: var(--db-danger); }
.db-kpi-accent.warning::before { background: var(--db-warning); }
.db-kpi-accent.accent::before { background: var(--db-accent); }
.db-action-kpi { position: relative; color: inherit; text-decoration: none; transition: border-color .15s ease, transform .15s ease; }
.db-action-kpi:hover { border-color: var(--db-accent); transform: translateY(-1px); }
.db-kpi-action { display: block; margin-top: 9px; color: var(--db-accent); font-size: 10px; font-weight: 600; }
.db-kpi-action i { margin-left: 3px; }

.db-stripe-analysis { margin-bottom: 12px; }
.db-chart-legend {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--db-text-muted);
  font-size: 11px;
}
.db-chart-legend span {
  width: 7px;
  height: 7px;
  margin-left: 5px;
  border-radius: 2px;
}
.db-chart-legend span.success { background: var(--db-success); }
.db-chart-legend span.danger { background: var(--db-danger); }
.db-charge-chart {
  display: flex;
  align-items: stretch;
  gap: 2px;
  height: 180px;
  padding-top: 16px;
}
.db-charge-day {
  display: flex;
  flex: 1;
  min-width: 4px;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
.db-charge-bars {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 1px;
  width: 100%;
  height: 135px;
  border-bottom: 1px solid var(--db-border);
}
.db-charge-bars span {
  width: min(7px, 42%);
  min-height: 0;
  border-radius: 3px 3px 0 0;
}
.db-charge-bars .success { background: var(--db-success); }
.db-charge-bars .danger { background: var(--db-danger); }
.db-charge-day small {
  height: 17px;
  padding-top: 4px;
  color: var(--db-text-muted);
  font-size: 9px;
  white-space: nowrap;
}

.db-reason-row { margin: 11px 0; }
.db-reason-row > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
}
.db-reason-row > div:first-child span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.db-reason-row > div:first-child a {
  overflow: hidden;
  color: var(--db-text);
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.db-reason-row > div:first-child a:hover { color: var(--db-accent); text-decoration: underline; }
.db-reason-track {
  height: 6px;
  margin-top: 5px;
  overflow: hidden;
  background: var(--db-bg);
  border-radius: 4px;
}
.db-reason-track span {
  display: block;
  height: 100%;
  background: var(--db-danger);
  border-radius: 4px;
}
.db-muted-copy,
.db-data-note { color: var(--db-text-muted); font-size: 12px; }
.db-data-note {
  padding-top: 8px;
  border-top: 1px solid var(--db-border);
}

.db-risk-card { padding: 0; overflow: hidden; }
.db-risk-card > .db-table-toolbar {
  margin: 0;
  padding: 16px 18px;
  border-bottom: 1px solid var(--db-border);
}
.db-queue-tabs { display: flex; gap: 4px; padding: 10px 18px 0; border-bottom: 1px solid var(--db-border); }
.db-queue-tabs a { margin-bottom: -1px; padding: 8px 11px; border-bottom: 2px solid transparent; color: var(--db-text-muted); font-size: 12px; text-decoration: none; }
.db-queue-tabs a.active { border-bottom-color: var(--db-accent); color: var(--db-accent); font-weight: 700; }
.db-risk-toolbar {
  padding: 16px 18px;
  border-bottom: 1px solid var(--db-border);
}
.db-risk-toolbar h3 { margin: 0; }
.db-bulk-strip {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-height: 45px;
  padding: 8px 18px;
  background: var(--db-bg);
  border-bottom: 1px solid var(--db-border);
}
.db-bulk-strip span { color: var(--db-text-muted); font-size: 11px; }
.db-bulk-strip button:disabled { opacity: .45; cursor: not-allowed; }
.db-check-cell { width: 34px; text-align: center !important; }
.db-check-cell input { width: 15px; height: 15px; accent-color: var(--db-accent); cursor: pointer; }
.db-risk-filters {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}
.db-risk-filters input,
.db-risk-filters select {
  padding: 7px 9px;
  border: 1px solid var(--db-border);
  border-radius: 7px;
  background: var(--db-surface);
  color: var(--db-text);
  font: inherit;
  font-size: 12px;
}
.db-risk-filters input { width: 190px; }
.db-risk-filters button {
  padding: 7px 12px;
  border: 0;
  border-radius: 7px;
  background: var(--db-accent);
  color: #fff;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.db-table-scroll { overflow-x: auto; }
.db-risk-table th:first-child,
.db-risk-table td:first-child { padding-left: 18px; }
.db-risk-table th:last-child,
.db-risk-table td:last-child { padding-right: 18px; }
.db-risk-table td { vertical-align: top; }
.db-risk-table td > small {
  display: block;
  max-width: 210px;
  margin-top: 4px;
  color: var(--db-text-muted);
}
.db-priority {
  display: inline-block;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.db-priority.alta { color: var(--db-danger); background: var(--db-danger-bg); }
.db-priority.media { color: var(--db-warning); background: var(--db-warning-bg); }
.db-cancel-note { color: var(--db-danger) !important; }
.db-recovery-hint {
  display: inline-block;
  margin-top: 5px;
  padding: 2px 6px;
  border-radius: 5px;
  background: var(--db-success-bg);
  color: var(--db-success);
  font-size: 10px;
}
.db-no-match { color: var(--db-text-muted); font-size: 11px; }
.db-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
  border-top: 1px solid var(--db-border);
  font-size: 12px;
}
.db-pagination a { color: var(--db-accent); text-decoration: none; }
.db-pagination span { color: var(--db-text-muted); }

@media (max-width: 900px) {
  .db-stripe-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .db-grid-2.db-stripe-analysis { grid-template-columns: 1fr; }
  .db-risk-toolbar,
  .db-stripe-heading { flex-direction: column; }
  .db-risk-filters { justify-content: flex-start; width: 100%; }
  .db-period-filter { flex-wrap: wrap; }
  .db-day-filter { width: 100%; margin: 3px 0 0; border-top: 1px solid var(--db-border); }
  .db-day-filter input { flex: 1; border-left: 0; }
}

@media (max-width: 520px) {
  .db-stripe-kpis { grid-template-columns: 1fr; }
  .db-period-filter { width: 100%; overflow-x: auto; }
  .db-period-filter a { flex: 1; text-align: center; white-space: nowrap; }
  .db-risk-filters input,
  .db-risk-filters select,
  .db-risk-filters button { width: 100%; }
  .db-bulk-strip { align-items: stretch; flex-direction: column; }
  .db-operator-chip { min-width: 0; }
  .db-operator-copy { display: none; }
}

/* Centro de clientes */
.db-customer-summary,
.db-task-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.db-customer-summary { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.db-customer-intelligence { margin-bottom: 16px; }
.db-customer-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:10px; }
.db-customer-section-head > div > span { color:var(--db-accent); font-size:9px; font-weight:800; letter-spacing:.08em; }
.db-customer-section-head h3 { margin:3px 0 2px; font-size:17px; }
.db-customer-section-head p,.db-customer-section-head > small { margin:0; color:var(--db-text-muted); font-size:9px; }
.db-customer-section-head > small { padding:6px 8px; border-radius:7px; background:var(--db-accent-bg); color:var(--db-accent); }
.db-customer-growth-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-bottom:9px; }
.db-customer-growth-kpis > div,.db-customer-growth-kpis > a { position:relative; overflow:hidden; padding:13px 14px; border:1px solid var(--db-border); border-radius:10px; background:var(--db-surface); color:inherit; text-decoration:none; }
.db-customer-growth-kpis > div::before,.db-customer-growth-kpis > a::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#378add; }
.db-customer-growth-kpis .success::before { background:var(--db-success); }.db-customer-growth-kpis .accent::before { background:var(--db-accent); }.db-customer-growth-kpis .warning::before { background:#d97706; }
.db-customer-growth-kpis span { display:block; color:#4f5753; font-size:12px; font-weight:650; line-height:1.35; }
.db-customer-growth-kpis small { display:block; margin-top:4px; color:#59615d; font-size:11px; line-height:1.35; }
.db-customer-growth-kpis strong { display:block; margin:7px 0 2px; font-size:25px; line-height:1.1; }
.db-customer-growth-kpis > a:hover { transform:translateY(-1px); border-color:#d7b26d; }
.db-customer-cohort-card { padding:14px 15px; border:1px solid var(--db-border); border-radius:11px; background:var(--db-surface); }
.db-customer-cohort-legend { display:flex; justify-content:flex-end; gap:13px; margin-bottom:9px; color:var(--db-text-muted); font-size:11px; }
.db-customer-cohort-legend span::before { content:""; display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:2px; background:#b8cbe0; }.db-customer-cohort-legend span.subscribed::before { background:var(--db-success); }
.db-customer-cohorts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.db-customer-cohorts article { min-width:0; padding-right:18px; border-right:1px solid var(--db-border); }.db-customer-cohorts article:last-child { padding-right:0; border-right:0; }
.db-customer-cohort-title { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }.db-customer-cohort-title strong { font-size:13px; }.db-customer-cohort-title span { color:var(--db-success); font-size:11px; font-weight:750; }
.db-customer-cohort-row { position:relative; height:23px; margin:7px 0; border-radius:5px; background:var(--db-bg); overflow:hidden; }.db-customer-cohort-row i { display:block; height:100%; min-width:2px; border-radius:5px; background:#b8cbe0; }.db-customer-cohort-row i.subscribed { background:var(--db-success); }.db-customer-cohort-row small { position:absolute; z-index:1; inset:3px 5px auto auto; color:#26394c; font-size:11px; font-style:normal; font-weight:800; }.db-customer-cohort-row small.subscribed-value { top:3px; padding:1px 5px; border-radius:4px; background:var(--db-success); color:#fff; }
.db-customer-cohorts footer { margin-top:9px; color:#4f5552; font-size:11px; font-weight:600; }
.db-customer-journey-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.db-customer-journey-grid > a { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:11px 12px; border:1px solid var(--db-border); border-left:3px solid #378add; border-radius:9px; background:var(--db-surface); color:inherit; text-decoration:none; }
.db-customer-journey-grid > a:hover,.db-customer-journey-grid > a.selected { transform:translateY(-1px); border-color:var(--db-accent); box-shadow:0 4px 12px rgba(36,50,74,.07); }
.db-customer-journey-grid > a > i { display:grid; place-items:center; width:29px; height:29px; border-radius:8px; background:#edf5fb; color:#2878b5; }
.db-customer-journey-grid span { font-size:12px; font-weight:700; }.db-customer-journey-grid span small { display:block; margin-top:3px; color:#555d59; font-size:11px; font-weight:500; line-height:1.35; }.db-customer-journey-grid strong { font-size:19px; }
.db-customer-journey-grid .followup { border-left-color:#d97706; }.db-customer-journey-grid .risk { border-left-color:#d85a30; }.db-customer-journey-grid .cold { border-left-color:#718096; }.db-customer-journey-grid .loyal { border-left-color:#946613; }.db-customer-journey-grid .recover { border-left-color:var(--db-accent); }
.db-customer-journey-grid .loyal > i { background:#faf3de; color:#946613; }.db-customer-journey-grid .recover > i { background:var(--db-accent-bg); color:var(--db-accent); }
.db-customer-summary > a {
  color: var(--db-text);
  text-decoration: none;
  transition: transform .15s ease, border-color .15s ease;
}
.db-customer-summary > a:hover { transform: translateY(-1px); border-color: var(--db-accent); }
.db-customer-summary > a.selected { border-color: var(--db-accent); box-shadow: 0 0 0 2px var(--db-accent-bg); }
.db-customer-summary span,
.db-task-summary span { display: block; color: var(--db-text-muted); font-size: 10px; }
.db-customer-summary strong,
.db-task-summary strong { display: block; margin: 4px 0 2px; font-size: 22px; }
.db-customer-summary small,
.db-task-summary small { color: var(--db-text-muted); font-size: 9px; }
.db-customer-summary .success strong,
.db-task-summary .success strong { color: var(--db-success); }
.db-customer-summary .danger strong,
.db-task-summary .danger strong { color: var(--db-danger); }
.db-customer-summary .accent strong { color: var(--db-accent); }
.db-customer-summary .banned {
  border-color: #fecaca;
  background: linear-gradient(145deg, var(--db-surface), #fff5f5);
}
.db-customer-summary .banned span,
.db-customer-summary .banned strong { color: #b42318; }
.db-task-summary .warning strong { color: var(--db-warning); }
.db-customer-panel { padding: 0; overflow: hidden; }
.db-active-customer-filter { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:12px; padding:15px 16px; border-bottom:1px solid #cbdff2; background:linear-gradient(135deg,#f2f7fd,#f7f4fc); }
.db-active-customer-filter-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:#dfeefa; color:#246896; font-size:16px; }
.db-active-customer-filter-copy > span { color:var(--db-accent); font-size:9px; font-weight:850; letter-spacing:.08em; }
.db-active-customer-filter h3 { margin:3px 0; font-size:16px; }
.db-active-customer-filter p { margin:0; color:var(--db-text-muted); font-size:12px; line-height:1.45; }
.db-active-filter-facts { display:grid; gap:4px; margin-top:9px; }
.db-active-filter-facts b { color:#394956; font-size:11px; font-weight:650; }
.db-active-filter-facts i { width:16px; color:#3979a8; }
.db-active-filter-counts { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.db-active-filter-counts strong,.db-active-filter-counts span { padding:5px 8px; border:1px solid rgba(55,122,173,.17); border-radius:999px; background:rgba(255,255,255,.72); color:#45535d; font-size:10px; }
.db-active-filter-counts strong { color:#225f8d; }
.db-customer-group-complete { display:inline-flex; align-items:center; gap:6px; padding:8px 10px; border-radius:8px; background:var(--db-success-bg); color:var(--db-success); font-size:11px; font-weight:700; }
.db-customer-filters {
  display: flex;
  align-items: flex-end;
  gap: 7px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--db-border);
  flex-wrap: wrap;
}
.db-customer-filters label { color: var(--db-text-muted); font-size: 9px; }
.db-customer-filters label input { display: block; margin-top: 3px; }
.db-customer-filters input,
.db-customer-filters button {
  padding: 7px 9px;
  border: 1px solid var(--db-border);
  border-radius: 7px;
  background: var(--db-surface);
  color: var(--db-text);
  font: inherit;
  font-size: 11px;
}
.db-customer-filters input[type="search"] { width: 190px; }
.db-customer-filters button { border-color: var(--db-accent); background: var(--db-accent); color: #fff; cursor: pointer; }
.db-customer-toolbar { display: flex; align-items: center; gap: 14px; padding: 14px 16px 0; }
.db-customer-toolbar > div:first-child { margin-right: auto; }
.db-customer-toolbar h3 { margin: 0; font-size: 14px; }
.db-customer-toolbar p { margin: 3px 0 0; color: var(--db-text-muted); font-size: 10px; }
.db-customer-bulk { min-height: 40px; padding: 5px 0; border: 0; background: transparent; }
.db-customer-all-button { min-height:40px; white-space:nowrap; }
.db-status.banned { background: #fee4e2; color: #b42318; }
.db-ban-reason { max-width: 230px; }
.db-ban-reason strong,
.db-ban-reason small { display: block; }
.db-ban-reason strong { color: #b42318; font-size: 10px; }
.db-ban-reason small { margin-top: 3px; color: var(--db-text-muted); font-size: 8px; line-height: 1.35; }
.db-ban-case { margin-top: 5px; max-width: 230px; }
.db-ban-case summary { color: var(--db-accent); font-size: 9px; font-weight: 700; cursor: pointer; }
.db-ban-case summary::marker { color: var(--db-text-muted); }
.db-ban-case form { display: grid; gap: 5px; margin-top: 6px; padding: 7px; border-radius: 7px; background: var(--db-bg); }
.db-ban-case textarea { width: 100%; resize: vertical; padding: 6px; border: 1px solid var(--db-border); border-radius: 6px; background: var(--db-surface); color: var(--db-text); font: inherit; font-size: 9px; }
.db-ban-case label { color: var(--db-text-muted); font-size: 9px; }
.db-ban-case button { justify-self: start; padding: 5px 8px; border: 0; border-radius: 6px; background: var(--db-accent); color: #fff; font-size: 9px; cursor: pointer; }

/* Centro de tareas y auditoría */
.db-smart-section { margin-bottom: 12px; }
.db-smart-badge { padding: 5px 8px; border-radius: 999px; background: var(--db-accent-bg); color: var(--db-accent); font-size: 9px; font-weight: 700; }
.db-smart-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 9px; }
.db-smart-card { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; }
.db-smart-card form { grid-column: 2; }
.db-smart-count { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; background: var(--db-accent-bg); color: var(--db-accent); font-size: 13px; font-weight: 700; }
.db-smart-card.danger .db-smart-count { background: var(--db-danger-bg); color: var(--db-danger); }
.db-smart-card.warning .db-smart-count { background: var(--db-warning-bg); color: var(--db-warning); }
.db-smart-card h4 { margin: 0; font-size: 11px; }
.db-smart-card p { margin: 4px 0 6px; color: var(--db-text-muted); font-size: 9px; line-height: 1.4; }
.db-smart-card a { color: var(--db-accent); font-size: 12px; font-weight: 700; }
.db-task-layout { margin-bottom: 12px; }
.db-task-create { display: grid; gap: 8px; margin-top: 12px; }
.db-task-create > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.db-task-create label { color: var(--db-text-muted); font-size: 9px; }
.db-task-create input,
.db-task-create textarea,
.db-task-create select { display: block; width: 100%; margin-top: 3px; padding: 7px 8px; border: 1px solid var(--db-border); border-radius: 7px; background: var(--db-surface); color: var(--db-text); font: inherit; font-size: 11px; }
.db-task-create label > small { display: block; margin-top: 4px; color: var(--db-text-muted); font-size: 8px; }
.db-task-create button { justify-self: start; }
.db-task-guide { display: flex; align-items: flex-start; gap: 11px; }
.db-task-guide h3 { margin: 0 0 6px; font-size: 13px; }
.db-task-guide p,
.db-task-guide li { color: var(--db-text-muted); font-size: 10px; line-height: 1.5; }
.db-task-guide ul { margin: 8px 0 0; padding-left: 16px; }
.db-task-table-card { padding: 0; overflow: hidden; margin-bottom: 12px; }
.db-task-table-card > .db-table-toolbar { margin: 0; padding: 14px 16px; border-bottom: 1px solid var(--db-border); }
.db-task-table-card td small { display: block; margin-top: 3px; color: var(--db-text-muted); font-size: 9px; }
.db-task-overdue { background: #fffaf5; }
.db-overdue-label { color: var(--db-danger); font-size: 10px; font-weight: 600; }
.db-task-status-form { display: flex; gap: 4px; }
.db-task-status-form select { max-width: 115px; padding: 5px; border: 1px solid var(--db-border); border-radius: 6px; background: var(--db-surface); font-size: 10px; }
.db-task-status-form button { border: 0; border-radius: 6px; background: var(--db-accent-bg); color: var(--db-accent); cursor: pointer; }
.db-audit-card { padding: 0; overflow: hidden; }
.db-audit-card > .db-card-heading { padding: 14px 16px; border-bottom: 1px solid var(--db-border); }
.db-audit-card > .db-card-heading > i { color: var(--db-accent); }
.db-audit-list { padding: 5px 16px; }
.db-audit-list > div { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 10px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--db-border); }
.db-audit-list > div:last-child { border-bottom: 0; }
.db-audit-list > div > .db-audit-avatar { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--db-accent-bg); color: var(--db-accent); font-size: 11px; }
.db-audit-list p,
.db-audit-list strong,
.db-audit-list small { display: block; margin: 0; }
.db-audit-list p { min-width: 0; }
.db-audit-list strong { overflow-wrap: anywhere; font-size: 12px; line-height: 1.4; }
.db-audit-list small { margin-top: 4px; color: var(--db-text-muted); font-size: 10px; }
.db-audit-list small b { display: inline; margin-right: 6px; color: var(--db-text); font-weight: 600; overflow-wrap: anywhere; }
.db-audit-list small span { white-space: nowrap; }

.db-ai-processing { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; align-items: start; margin-top: 12px; padding: 18px; border-color: rgba(62, 217, 184, .32); background: linear-gradient(135deg, var(--db-surface), rgba(62, 217, 184, .06)); }
.db-ai-processing-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--db-sidebar-accent-bg); color: var(--db-sidebar-accent); font-size: 16px; }
.db-ai-processing-kicker { color: var(--db-sidebar-accent); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.db-ai-processing h3 { margin: 5px 0 4px; font-size: 14px; }
.db-ai-processing p { max-width: 720px; margin: 0; color: var(--db-text-muted); font-size: 10px; line-height: 1.55; }
.db-ai-processing-line { height: 4px; margin-top: 13px; overflow: hidden; border-radius: 999px; background: rgba(62, 217, 184, .14); }
.db-ai-processing-line span { display: block; width: 38%; height: 100%; border-radius: inherit; background: var(--db-sidebar-accent); animation: db-ai-progress 1.55s ease-in-out infinite; }
.db-ai-processing-failed { border-color: rgba(196, 125, 41, .3); background: linear-gradient(135deg, var(--db-surface), rgba(196, 125, 41, .06)); }
.db-ai-processing-failed .db-ai-processing-mark { background: rgba(196, 125, 41, .13); color: #b26b1b; }
.db-ai-processing-failed .db-ai-processing-kicker { color: #b26b1b; }
.db-ai-processing-failed code { display: block; margin-top: 10px; padding: 9px 10px; overflow-wrap: anywhere; border: 1px solid rgba(196, 125, 41, .2); border-radius: 7px; background: rgba(196, 125, 41, .06); color: var(--db-text); font-size: 9px; }
.db-ai-latest-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 18px 2px 8px; }
.db-ai-latest-heading span { color: var(--db-accent); font-size: 8px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.db-ai-latest-heading h3 { margin: 3px 0 2px; font-size: 15px; }
.db-ai-latest-heading p { margin: 0; color: var(--db-text-muted); font-size: 9px; }
.db-ai-latest-heading a { flex-shrink: 0; color: var(--db-accent); font-size: 9px; font-weight: 700; text-decoration: none; }

/* Capa de legibilidad: evita textos operativos inferiores a 11–12 px. */
.db-main p:not(.db-kpi-value),
.db-main label,
.db-main td,
.db-main button { font-size: 12px; }
.db-main small,
.db-main th { font-size: 11px; line-height: 1.45; }
.db-main input,
.db-main select,
.db-main textarea { font-size: 13px; }
.db-powered-by,
.db-operator-copy small { font-size: 11px; }

.db-login-benefits strong { font-size: 13px; }
.db-login-benefits small,
.db-login-system-state,
.db-login-heading > span,
.db-login-help,
.db-login-footer { font-size: 11px; }
.db-login-heading p,
.db-login-error,
.db-login-form > label { font-size: 12px; }
.db-login-field input { font-size: 14px; }

.db-home-eyebrow,
.db-home-section-heading > small,
.db-home-flow-values span,
.db-home-flow-legend,
.db-home-email-result,
.db-home-live { font-size: 11px; }
.db-home-kpi p,
.db-home-priority strong,
.db-home-quick strong,
.db-home-activity p,
.db-home-source-list span { font-size: 12px; }
.db-home-kpi small,
.db-home-priority small,
.db-home-quick small,
.db-home-activity small,
.db-home-source-list small,
.db-home-data-note { font-size: 11px; line-height: 1.45; }

.db-ai-eyebrow,
.db-ai-section-heading span,
.db-ai-result-head > div > span { font-size: 11px; }
.db-ai-privacy strong,
.db-ai-tabs a,
.db-ai-result-head p { font-size: 12px; }
.db-ai-privacy small { font-size: 11px; }
.db-ai-generated-label,
.db-ai-coverage,
.db-ai-generated-actions article > span,
.db-ai-live { font-size: 10px; }
.db-ai-generated-answer { font-size: 13px; line-height: 1.65; }
.db-ai-generated-findings span,
.db-ai-generated-actions small,
.db-ai-admin-guidance p,
.db-ai-block-title small,
.db-ai-comparison-grid div span,
.db-ai-comparison-grid small,
.db-ai-sources small { font-size: 11px; }
.db-ai-generated-actions h5,
.db-ai-generated-actions strong,
.db-ai-admin-guidance strong,
.db-ai-insight-list h5,
.db-ai-insight-list p,
.db-ai-sources strong,
.db-ai-question > p,
.db-ai-starters span,
.db-ai-help p,
.db-ai-help li,
.db-ai-report-form p,
.db-ai-history-heading p,
.db-ai-history td small { font-size: 12px; }
.db-ai-generated footer,
.db-ai-generated footer small,
.db-ai-diagnostic summary,
.db-ai-diagnostic code,
.db-ai-sources > div:last-child > span,
.db-ai-record-meta,
.db-ai-history-heading > span,
.db-ai-kind { font-size: 10px; }
.db-ai-kpis span,
.db-ai-kpis small,
.db-ai-data-table th,
.db-ai-history th { font-size: 11px; }
.db-ai-comparison-grid p,
.db-ai-data-table td,
.db-ai-history td,
.db-ai-insight-list a,
.db-ai-starters strong,
.db-ai-report-fields label { font-size: 12px; }
.db-ai-question-box textarea,
.db-ai-report-fields select,
.db-ai-report-fields input { font-size: 13px; }
.db-ai-processing-kicker,
.db-ai-latest-heading span,
.db-ai-latest-heading p,
.db-ai-latest-heading a { font-size: 11px; }
@keyframes db-ai-progress { 0% { transform: translateX(-110%); } 55% { transform: translateX(120%); } 100% { transform: translateX(270%); } }

@media (max-width: 900px) {
  .db-customer-summary,
  .db-task-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .db-customer-growth-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .db-customer-journey-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .db-customer-toolbar { align-items: flex-start; flex-direction: column; }
  .db-customer-bulk { width: 100%; }
  .db-active-customer-filter { grid-template-columns:auto 1fr; }
  .db-active-customer-filter > a { grid-column:2; justify-self:start; }
}
@media (max-width: 520px) {
  .db-payment-grid { grid-template-columns: 1fr; }
  .db-ecdf-date-quick { flex-wrap: wrap; }
  .db-ecdf-date-quick > span { width: 100%; }
  .db-ecdf-date-form label { width: 100%; }
  .db-ecdf-date-form select,
  .db-ecdf-date-form input,
  .db-ecdf-date-form .db-primary-button { width: 100%; }
  .db-ai-latest-heading { align-items: flex-start; flex-direction: column; }
  .db-customer-summary,
  .db-task-summary { grid-template-columns: 1fr; }
  .db-customer-section-head { align-items:flex-start; flex-direction:column; }
  .db-customer-growth-kpis,.db-customer-journey-grid,.db-customer-cohorts { grid-template-columns:1fr; }
  .db-customer-cohorts article { padding:0 0 10px; border-right:0; border-bottom:1px solid var(--db-border); }
  .db-customer-filters > *,
  .db-customer-filters input[type="search"] { width: 100%; }
  .db-active-customer-filter { grid-template-columns:1fr; }
  .db-active-customer-filter-icon { display:none; }
  .db-active-customer-filter > a { grid-column:auto; }
  .db-task-create > div { grid-template-columns: 1fr; }
}
.db-segment-pressure { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.db-segment-pressure span { display:grid; gap:2px; padding:10px; border-radius:8px; background:var(--db-bg); color:var(--db-text-muted); font-size:10px; }
.db-segment-pressure strong { color:var(--db-text); font-size:19px; }
@media(max-width:650px){.db-segment-pressure{grid-template-columns:1fr}}
.db-role-guide { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-bottom:12px; }.db-role-guide article { padding:10px; border:1px solid var(--db-border); border-radius:9px; background:var(--db-surface); }.db-role-guide strong { color:var(--db-accent); font-size:11px; }.db-role-guide p { margin:4px 0 0; color:var(--db-text-muted); font-size:9px; line-height:1.4; }
@media(max-width:900px){.db-role-guide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.db-role-guide{grid-template-columns:1fr}}
.db-user-access-divider { display:flex; align-items:center; gap:12px; margin:22px 0 12px; color:var(--db-text-muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.db-user-access-divider::before,.db-user-access-divider::after { content:""; height:1px; flex:1; background:var(--db-border); }.db-users-without-access { opacity:.92; }.db-user-email { display:block; margin-top:2px; color:var(--db-text-muted); font-size:10px; }

.db-password-reset { margin-top:8px; border:1px solid var(--db-border); border-radius:8px; background:var(--db-bg); }
.db-password-reset summary { padding:7px 9px; color:var(--db-accent); cursor:pointer; font-size:11px; font-weight:700; list-style:none; }
.db-password-reset summary::-webkit-details-marker { display:none; }
.db-password-reset form { display:grid; gap:8px; padding:9px; border-top:1px solid var(--db-border); }
.db-password-reset label { color:var(--db-text-muted); font-size:11px; }
.db-password-reset input { display:block; width:100%; margin-top:3px; padding:8px; border:1px solid var(--db-border); border-radius:7px; background:var(--db-surface); color:var(--db-text); font:inherit; }
.db-password-reset small { color:var(--db-text-muted); font-size:11px; line-height:1.45; }
.db-password-reset button { justify-self:start; }
.db-policy-active { display:flex; gap:10px; padding:10px; border-radius:8px; background:var(--db-success-bg); color:var(--db-success); }
.db-policy-active p { margin:3px 0 0; color:var(--db-text-muted); font-size:11px; line-height:1.45; }

.db-task-summary { grid-template-columns:repeat(5,minmax(0,1fr)); }
.db-task-summary-guide { border-color:#c9c6ec; background:linear-gradient(145deg,var(--db-surface),var(--db-accent-bg)); }
.db-task-summary-guide span { color:var(--db-accent); font-weight:750; }
.db-task-summary-guide strong { margin:6px 0 4px; color:var(--db-accent); font-size:14px; line-height:1.25; }
.db-task-summary-guide small { display:block; color:#514d6c; font-size:11px; line-height:1.4; }
.db-task-workspace { display:grid; grid-template-columns:minmax(280px,.7fr) minmax(0,1.6fr); gap:12px; align-items:start; margin-bottom:12px; }
.db-task-workspace .db-task-table-card { margin-bottom:0; }
.db-task-create label,.db-task-create label > small { font-size:12px; line-height:1.45; }
.db-task-create input,.db-task-create textarea,.db-task-create select { font-size:13px; }
.db-task-table-card td small { font-size:11px; line-height:1.4; }
@media(max-width:1150px){.db-task-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.db-task-workspace{grid-template-columns:1fr}}
@media(max-width:700px){.db-task-summary{grid-template-columns:1fr}}

/* Configuración y centro de notificaciones */
.db-topbar-user-actions { display:flex; align-items:center; gap:9px; }
.db-notification-menu { position:relative; }
.db-notification-menu > summary { position:relative; display:grid; width:40px; height:40px; place-items:center; border:1px solid var(--db-border); border-radius:10px; background:var(--db-surface); color:var(--db-text); cursor:pointer; list-style:none; transition:border-color .18s ease,box-shadow .18s ease,color .18s ease; }
.db-notification-menu > summary::-webkit-details-marker { display:none; }
.db-notification-menu > summary:hover,.db-notification-menu[open] > summary { border-color:#c9c6ec; color:var(--db-accent); box-shadow:0 5px 16px rgba(31,31,29,.08); }
.db-notification-menu > summary > b { position:absolute; top:-6px; right:-6px; display:grid; min-width:20px; height:20px; padding:0 5px; place-items:center; border:2px solid var(--db-bg); border-radius:999px; background:var(--db-danger); color:#fff; font-size:9px; line-height:1; }
.db-notification-dropdown { position:absolute; z-index:1100; top:calc(100% + 9px); right:0; width:min(360px,calc(100vw - 30px)); overflow:hidden; border:1px solid var(--db-border); border-radius:12px; background:var(--db-surface); box-shadow:0 18px 45px rgba(31,31,29,.16); }
.db-notification-heading { display:grid; gap:2px; padding:14px 15px 11px; border-bottom:1px solid var(--db-border); }
.db-notification-heading strong { font-size:13px; }
.db-notification-heading small { color:var(--db-text-muted); font-size:10px; }
.db-notification-dropdown > a:not(.db-notification-footer) { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:9px; align-items:center; padding:11px 14px; border-bottom:1px solid var(--db-border); color:var(--db-text); text-decoration:none; }
.db-notification-dropdown > a:not(.db-notification-footer):hover { background:var(--db-bg); }
.db-notification-dropdown > a:not(.db-notification-footer) > i { display:grid; width:30px; height:30px; place-items:center; border-radius:8px; background:#eaf3fb; color:#246a9c; }
.db-notification-dropdown > a.warning > i { background:var(--db-warning-bg); color:var(--db-warning); }
.db-notification-dropdown > a.danger > i { background:var(--db-danger-bg); color:var(--db-danger); }
.db-notification-dropdown > a span { display:grid; gap:2px; min-width:0; }
.db-notification-dropdown > a span strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.db-notification-dropdown > a span small { color:var(--db-text-muted); font-size:10px; }
.db-notification-dropdown > a > b { min-width:25px; padding:4px 6px; border-radius:999px; background:var(--db-bg); color:var(--db-text); font-size:10px; text-align:center; }
.db-notification-empty { display:flex; align-items:center; gap:9px; padding:17px 15px; color:var(--db-text-muted); font-size:11px; }
.db-notification-empty i { color:var(--db-success); }
.db-notification-footer { display:block; padding:10px 14px; color:var(--db-accent); font-size:10px; font-weight:700; text-align:center; text-decoration:none; }
.db-notification-footer:hover { background:var(--db-accent-bg); }
.db-notification-ready { display:flex; gap:10px; padding:11px; border-radius:8px; background:var(--db-success-bg); color:var(--db-success); }
.db-notification-ready p { margin:3px 0 0; color:var(--db-text-muted); font-size:11px; line-height:1.45; }
.db-settings-form .helptext,.db-settings-form ul { font-size:11px; line-height:1.5; }
.db-settings-form ul { margin:3px 0 0; padding-left:19px; }

@media (min-width:1201px) {
  .db-settings-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (min-width:801px) and (max-width:1200px) {
  .db-settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:800px) {
  .db-settings-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .db-topbar-user-actions { gap:6px; }
  .db-notification-menu > summary { width:36px; height:36px; }
}

.db-manual-segment { margin-bottom:16px; padding:0; overflow:hidden; border-color:#c9c6ec; background:linear-gradient(135deg,var(--db-surface),#f7f6ff); }
.db-manual-segment > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; color:var(--db-accent); cursor:pointer; list-style:none; }
.db-manual-segment > summary::-webkit-details-marker { display:none; }
.db-manual-segment > summary > span { display:grid; grid-template-columns:auto 1fr; gap:2px 9px; align-items:center; }
.db-manual-segment > summary > span > i { grid-row:1 / 3; display:grid; width:34px; height:34px; place-items:center; border-radius:9px; background:var(--db-accent-bg); }
.db-manual-segment > summary strong { font-size:13px; }
.db-manual-segment > summary small { color:var(--db-text-muted); font-size:11px; }
.db-manual-segment > summary > i { transition:transform .18s ease; }
.db-manual-segment[open] > summary > i { transform:rotate(180deg); }
.db-manual-segment form { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:14px 16px 16px; border-top:1px solid var(--db-border); }
.db-manual-segment label { display:grid; gap:4px; color:var(--db-text-muted); font-size:12px; }
.db-manual-segment label:nth-of-type(3) { grid-column:1 / -1; }
.db-manual-segment input,.db-manual-segment textarea { width:100%; padding:9px; border:1px solid var(--db-border); border-radius:7px; background:var(--db-surface); color:var(--db-text); font:inherit; font-size:13px; }
.db-manual-segment small { font-size:11px; line-height:1.45; }
.db-manual-segment button { grid-column:1 / -1; justify-self:start; }
@media(max-width:650px){.db-manual-segment form{grid-template-columns:1fr}.db-manual-segment label:nth-of-type(3){grid-column:auto}}

.db-ai-force-new { display:grid; grid-template-columns:auto 1fr; gap:6px; align-items:start; color:var(--db-text-muted); font-size:11px; line-height:1.4; }
.db-ai-force-new input { width:auto; margin:2px 0 0; }
.db-ai-copy-history { display:grid; gap:6px; margin-top:12px; padding-top:11px; border-top:1px solid var(--db-border); }
.db-ai-copy-history > strong { color:var(--db-text); font-size:11px; }
.db-ai-copy-history button { display:grid; gap:2px; width:100%; padding:8px 9px; border:1px solid var(--db-border); border-radius:7px; background:var(--db-bg); color:var(--db-text); cursor:pointer; text-align:left; }
.db-ai-copy-history button:hover { border-color:#c9c6ec; background:var(--db-accent-bg); }
.db-ai-copy-history button span { overflow:hidden; font-size:11px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.db-ai-copy-history button small { color:var(--db-text-muted); font-size:10px; }
