/* Double Beat Bot Studio — UI layer
   Bootstrap handles layout/components. This file only skins and arranges the app shell. */

:root,
html[data-bs-theme="light"] {
  --db-red: #e31e2f;
  --db-red-dark: #bb1322;
  --db-bg: #f5f7fa;
  --db-surface: #ffffff;
  --db-surface-2: #f8fafc;
  --db-surface-3: #eef2f6;
  --db-text: #161b22;
  --db-muted: #6b7480;
  --db-border: #e2e7ed;
  --db-sidebar: #0c0f13;
  --db-sidebar-2: #11151a;
  --db-sidebar-text: #9ea7b4;
  --db-hover: #f1f4f7;
  --db-shadow: 0 12px 34px rgba(15, 23, 42, .07);
  --db-shadow-lg: 0 24px 70px rgba(15, 23, 42, .12);
  --db-success: #179f61;
  --db-warning: #d88b00;
  --db-danger: #d92d3d;

  --bs-body-bg: var(--db-bg);
  --bs-body-color: var(--db-text);
  --bs-border-color: var(--db-border);
  --bs-secondary-color: var(--db-muted);
  --bs-tertiary-bg: var(--db-surface-2);
  --bs-emphasis-color: var(--db-text);
  --bs-link-color: var(--db-red);
  --bs-link-hover-color: var(--db-red-dark);
}

html[data-bs-theme="dark"] {
  --db-bg: #0b0e12;
  --db-surface: #11161c;
  --db-surface-2: #151b22;
  --db-surface-3: #1b222b;
  --db-text: #edf1f5;
  --db-muted: #8d98a6;
  --db-border: #252d37;
  --db-sidebar: #07090c;
  --db-sidebar-2: #0c1015;
  --db-sidebar-text: #a4adba;
  --db-hover: #171e26;
  --db-shadow: 0 14px 38px rgba(0, 0, 0, .24);
  --db-shadow-lg: 0 28px 90px rgba(0, 0, 0, .38);
  --db-success: #42c883;
  --db-warning: #f1b94a;
  --db-danger: #ff6675;

  --bs-body-bg: var(--db-bg);
  --bs-body-color: var(--db-text);
  --bs-border-color: var(--db-border);
  --bs-secondary-color: var(--db-muted);
  --bs-tertiary-bg: var(--db-surface-2);
  --bs-emphasis-color: var(--db-text);
  --bs-link-color: #ff4a59;
  --bs-link-hover-color: #ff7180;
}

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

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--db-bg);
  color: var(--db-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ---------- application shell ---------- */
.app-shell {
  min-height: 100vh;
  width: 100%;
}

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 1040;
  width: 268px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 0 0, rgba(227, 30, 47, .13), transparent 34%),
    linear-gradient(180deg, var(--db-sidebar-2), var(--db-sidebar));
  border-right: 1px solid rgba(255, 255, 255, .06);
  box-shadow: 10px 0 40px rgba(0, 0, 0, .08);
}

.sidebar::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, var(--db-red) 35%, var(--db-red) 65%, transparent 100%);
}

.sidebar-brand {
  min-height: 92px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 14px 18px;
  flex: 0 0 auto;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.brand-logo {
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgba(227, 30, 47, .18));
}

.brand-copy {
  min-width: 0;
  line-height: 1.15;
}

.brand-copy b {
  display: block;
  color: #fff;
  font-size: .91rem;
  letter-spacing: .075em;
  white-space: nowrap;
}

.brand-copy small,
.sidebar-user small {
  display: block;
  margin-top: 5px;
  color: #707b89;
  font-size: .66rem;
  letter-spacing: .06em;
}

.sidebar .nav {
  min-height: 0;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  gap: 3px;
  overflow-y: auto;
  padding: 15px 10px 20px;
}

.sidebar .nav-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 43px;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  color: var(--db-sidebar-text);
  font-size: .88rem;
  font-weight: 520;
  text-decoration: none;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}

.sidebar .nav-link i {
  width: 20px;
  flex: 0 0 20px;
  text-align: center;
  font-size: 1rem;
}

.sidebar .nav-link:hover {
  color: #fff;
  background: rgba(255, 255, 255, .055);
}

.sidebar .nav-link.active {
  color: #fff;
  background: linear-gradient(90deg, rgba(227, 30, 47, .20), rgba(227, 30, 47, .055));
}

.sidebar .nav-link.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 3px;
  height: 22px;
  border-radius: 999px;
  transform: translateY(-50%);
  background: var(--db-red);
  box-shadow: 0 0 12px rgba(227, 30, 47, .55);
}

.nav-sep {
  padding: 19px 12px 7px;
  color: #566170;
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .17em;
}

.sidebar-user {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 70px;
  padding: 13px 17px;
  border-top: 1px solid rgba(255, 255, 255, .07);
  background: rgba(0, 0, 0, .08);
}

.sidebar-user a {
  color: #8d97a5;
  transition: color .15s ease;
}

.sidebar-user a:hover {
  color: #fff;
}

.sidebar-backdrop {
  display: none;
}

.main {
  min-width: 0;
  min-height: 100vh;
  margin-left: 268px;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 1020;
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 24px;
  background: var(--db-surface);
  border-bottom: 1px solid var(--db-border);
  box-shadow: 0 4px 18px rgba(15, 23, 42, .025);
}

.page-copy {
  min-width: 0;
}

.topbar h4 {
  margin: 0;
  color: var(--db-text);
  font-size: 1.05rem;
  font-weight: 750;
  letter-spacing: -.015em;
}

.topbar small {
  color: var(--db-muted);
}

.content {
  width: 100%;
  padding: 24px;
}

.view {
  display: none;
}

.view.active {
  display: block;
}

/* ---------- cards / surfaces ---------- */
.db-kicker {
  margin-bottom: 3px;
  color: var(--db-red);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.panel-card,
.metric-card,
.plan-card,
.studio-card,
.strategy-def-card {
  background: var(--db-surface);
  border: 1px solid var(--db-border);
  border-radius: 14px;
  box-shadow: var(--db-shadow);
}

.panel-card {
  overflow: hidden;
}

.panel-card > .card-header {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 17px;
  color: var(--db-text);
  background: var(--db-surface);
  border-bottom: 1px solid var(--db-border);
}

.panel-card > .card-body {
  color: var(--db-text);
  background: var(--db-surface);
}

.metric-card {
  position: relative;
  min-height: 118px;
  overflow: hidden;
  padding: 18px;
}

.metric-card::after {
  content: "";
  position: absolute;
  top: -25px;
  right: -23px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: rgba(227, 30, 47, .055);
}

.metric-card .value {
  color: var(--db-text);
  font-size: 1.75rem;
  font-weight: 820;
  letter-spacing: -.045em;
}

.metric-card .label {
  color: var(--db-muted);
  font-size: .78rem;
}

.metric-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  color: var(--db-red);
  background: var(--db-surface-2);
  border: 1px solid var(--db-border);
  border-radius: 11px;
}

.studio-card {
  padding: 18px;
}

.strategy-def-card {
  height: 100%;
  padding: 17px;
  transition: transform .16s ease, box-shadow .16s ease;
}

.strategy-def-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--db-shadow-lg);
}

.strategy-def-card .engine {
  color: var(--db-muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .72rem;
}

.plan-card {
  position: relative;
  height: 100%;
  overflow: hidden;
  padding: 22px;
}

.plan-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, var(--db-red), rgba(227, 30, 47, 0));
}

.plan-price {
  color: var(--db-text);
  font-size: 2rem;
  font-weight: 850;
  letter-spacing: -.05em;
}

/* ---------- toolbars / spreadsheet ---------- */
.toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.search-box {
  width: 100%;
  max-width: 380px;
}

.sheet-wrap,
.table-responsive {
  scrollbar-width: thin;
}

.sheet-wrap {
  max-height: 69vh;
  overflow: auto;
}

.sheet-table {
  width: 100%;
  margin: 0;
  color: var(--db-text);
  font-size: .82rem;
  --bs-table-bg: transparent;
  --bs-table-color: var(--db-text);
  --bs-table-border-color: var(--db-border);
  --bs-table-striped-bg: transparent;
  --bs-table-hover-bg: var(--db-hover);
  --bs-table-hover-color: var(--db-text);
}

.sheet-table > :not(caption) > * > * {
  padding: .74rem .82rem;
  vertical-align: middle;
  background-color: transparent;
  border-bottom-color: var(--db-border);
  box-shadow: none;
}

.sheet-table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  color: var(--db-muted);
  background: var(--db-surface-2) !important;
  border-bottom: 1px solid var(--db-border);
  font-size: .66rem;
  font-weight: 760;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.sheet-table tbody tr:last-child td {
  border-bottom: 0;
}

.status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 6px;
  border-radius: 50%;
  vertical-align: 1px;
}

.dot-running {
  background: #28c97a;
  box-shadow: 0 0 0 3px rgba(40, 201, 122, .12);
}

.dot-stopped { background: #89939f; }
.dot-error { background: #f14d5d; }

.badge-soft,
.badge-red {
  border-radius: 999px;
  font-weight: 650;
}

.badge-soft {
  color: var(--db-muted);
  background: var(--db-surface-2);
  border: 1px solid var(--db-border);
}

.badge-red {
  color: var(--db-red);
  background: rgba(227, 30, 47, .09);
  border: 1px solid rgba(227, 30, 47, .20);
}

.execution-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  color: var(--db-text);
  background: var(--db-surface-2);
  border: 1px solid var(--db-border);
  border-radius: 999px;
  font-size: .74rem;
  white-space: nowrap;
}

/* ---------- strategy forms ---------- */
.strategy-box {
  padding: 16px;
  background: var(--db-surface-2);
  border: 1px solid var(--db-border);
  border-radius: 13px;
}

.strategy-box-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.preset-select { max-width: 250px; }

.builder-grid-row {
  margin-bottom: 10px;
  padding: 12px;
  background: var(--db-surface-2);
  border: 1px solid var(--db-border);
  border-radius: 12px;
}

.builder-grid-row .btn-remove { color: var(--db-danger); }

.json-mini {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .77rem;
}

.section-note {
  padding: 8px 11px;
  color: var(--db-muted);
  background: rgba(227, 30, 47, .055);
  border-left: 3px solid var(--db-red);
  border-radius: 0 9px 9px 0;
  font-size: .82rem;
}

/* ---------- Bootstrap component skin ---------- */
.btn {
  border-radius: 9px;
  font-weight: 650;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--db-red);
  --bs-btn-border-color: var(--db-red);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #cc1727;
  --bs-btn-hover-border-color: #c11525;
  --bs-btn-active-bg: #b91322;
  --bs-btn-active-border-color: #b91322;
  --bs-btn-disabled-bg: var(--db-red);
  --bs-btn-disabled-border-color: var(--db-red);
  box-shadow: 0 5px 14px rgba(227, 30, 47, .16);
}

.btn-outline-primary {
  --bs-btn-color: var(--db-red);
  --bs-btn-border-color: rgba(227, 30, 47, .42);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--db-red);
  --bs-btn-hover-border-color: var(--db-red);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--db-red-dark);
  --bs-btn-active-border-color: var(--db-red-dark);
}

.form-control,
.form-select,
.input-group-text {
  border-color: var(--db-border);
}

.form-control,
.form-select {
  color: var(--db-text);
  background-color: var(--db-surface);
  border-radius: 9px;
}

.form-control:focus,
.form-select:focus {
  color: var(--db-text);
  background-color: var(--db-surface);
  border-color: rgba(227, 30, 47, .55);
  box-shadow: 0 0 0 .2rem rgba(227, 30, 47, .09);
}

.form-control::placeholder { color: var(--db-muted); opacity: .7; }

.input-group-text {
  color: var(--db-muted);
  background: var(--db-surface-2);
}

.form-text,
.text-secondary { color: var(--db-muted) !important; }

.form-check-input:checked {
  background-color: var(--db-red);
  border-color: var(--db-red);
}

.modal-content {
  color: var(--db-text);
  background: var(--db-surface);
  border: 1px solid var(--db-border);
  border-radius: 16px;
  box-shadow: var(--db-shadow-lg);
}

.modal-header,
.modal-footer { border-color: var(--db-border); }

.dropdown-menu {
  color: var(--db-text);
  background: var(--db-surface);
  border-color: var(--db-border);
  box-shadow: var(--db-shadow);
}

.dropdown-item { color: var(--db-text); }
.dropdown-item:hover,
.dropdown-item:focus { color: var(--db-text); background: var(--db-hover); }

.theme-btn {
  width: 39px;
  height: 39px;
  flex: 0 0 39px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  color: var(--db-text);
  background: var(--db-surface);
  border: 1px solid var(--db-border);
  border-radius: 10px;
  transition: color .15s ease, border-color .15s ease, background .15s ease;
}

.theme-btn:hover {
  color: var(--db-red);
  background: var(--db-surface-2);
  border-color: rgba(227, 30, 47, .38);
}

code {
  padding: .12rem .32rem;
  color: var(--db-red);
  background: var(--db-surface-3);
  border-radius: 5px;
}

/* ---------- logs ---------- */
.log-console {
  min-height: 420px;
  max-height: 65vh;
  overflow: auto;
  padding: 14px;
  color: #d9dee5;
  background: #080b0f;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .76rem;
}

.log-line {
  padding: 4px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .045);
}

.log-line .time { color: #697586; }
.log-line .ERROR { color: #ff6875; }
.log-line .WARNING { color: #ffd166; }

/* ---------- login ---------- */
.login-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 0, rgba(227, 30, 47, .10), transparent 31%),
    radial-gradient(circle at 88% 100%, rgba(110, 120, 135, .08), transparent 30%),
    var(--db-bg);
}

.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.login-card {
  width: min(430px, 100%);
  padding: 30px;
  color: var(--db-text);
  background: var(--db-surface);
  border: 1px solid var(--db-border);
  border-radius: 20px;
  box-shadow: var(--db-shadow-lg);
}

.login-logo {
  width: 96px;
  height: 96px;
  display: block;
  object-fit: contain;
  margin: 0 auto 15px;
  filter: drop-shadow(0 10px 20px rgba(227, 30, 47, .18));
}

.login-brand {
  margin-bottom: 24px;
  text-align: center;
}

.login-brand h2 {
  margin-bottom: 2px;
  font-weight: 850;
  letter-spacing: .04em;
}

.login-theme {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 5;
}

/* ---------- mobile ---------- */
@media (max-width: 991.98px) {
  .sidebar {
    width: 270px;
    transform: translateX(-102%);
    transition: transform .2s ease;
    box-shadow: 22px 0 60px rgba(0, 0, 0, .32);
  }

  .sidebar.open { transform: translateX(0); }

  .sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1035;
    display: block;
    visibility: hidden;
    opacity: 0;
    background: rgba(0, 0, 0, .48);
    transition: opacity .18s ease, visibility .18s ease;
  }

  body.sidebar-open .sidebar-backdrop {
    visibility: visible;
    opacity: 1;
  }

  .main { margin-left: 0; }
  .content { padding: 16px; }
  .topbar { min-height: 70px; padding: 10px 14px; }
  .topbar .page-copy { margin-left: 2px; }
}

@media (max-width: 767.98px) {
  .toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .search-box { max-width: none; }
  .content { padding: 13px; }
  .topbar .badge-soft { display: none; }
  .topbar #quickBot { width: 40px; padding-inline: 0; font-size: 0; }
  .topbar #quickBot i { font-size: 1rem; }
  .metric-card { min-height: 105px; }
  .sheet-table { font-size: .77rem; }
  .strategy-box-title { align-items: stretch; flex-direction: column; }
  .preset-select { max-width: none; }
}

@media (max-width: 479.98px) {
  .page-copy small { display: none; }
  .topbar h4 { font-size: .98rem; }
  .theme-btn { width: 38px; height: 38px; flex-basis: 38px; }
  .login-card { padding: 24px 20px; }
}

/* ---------- Strategy Studio: simple visual builder ---------- */
.strategy-wizard {
  background:
    radial-gradient(circle at 100% 0, rgba(227,30,47,.055), transparent 26%),
    var(--db-bg);
}
.wizard-step-card {
  padding: 18px;
  background: var(--db-surface);
  border: 1px solid var(--db-border);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(15,23,42,.035);
}
.wizard-step-head {
  display: flex;
  align-items: center;
  gap: 12px;
}
.wizard-step-head > div {
  min-width: 0;
}
.wizard-step-head b {
  display: block;
  font-size: .96rem;
}
.wizard-step-head small {
  display: block;
  margin-top: 2px;
  color: var(--db-muted);
}
.wizard-step-number {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(227,30,47,.11);
  color: var(--db-red);
  font-weight: 850;
}
.quick-field-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  padding: 10px;
  border: 1px dashed var(--db-border);
  border-radius: 12px;
  background: var(--db-surface-2);
}
.strategy-field-card,
.strategy-mode-card {
  padding: 15px;
  margin-bottom: 10px;
  border: 1px solid var(--db-border);
  border-radius: 12px;
  background: var(--db-surface-2);
}
.strategy-field-card:hover,
.strategy-mode-card:hover {
  border-color: color-mix(in srgb, var(--db-red) 28%, var(--db-border));
}
.builder-number {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(227,30,47,.10);
  color: var(--db-red);
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .08em;
}
.simple-details {
  padding: 9px 11px;
  border: 1px dashed var(--db-border);
  border-radius: 10px;
  background: var(--db-surface);
}
.simple-details > summary {
  color: var(--db-muted);
  font-size: .78rem;
  cursor: pointer;
  user-select: none;
}
.mode-simple-box {
  padding: 12px;
  border-radius: 10px;
  background: var(--db-surface);
  border: 1px solid var(--db-border);
}
.mode-override-row + .mode-override-row {
  margin-top: 8px;
}
.empty-builder-note {
  padding: 10px 12px;
  margin-top: 10px;
  border-radius: 10px;
  color: var(--db-muted);
  background: color-mix(in srgb, var(--db-surface-3) 70%, transparent);
  font-size: .78rem;
}
.empty-builder-note i {
  margin-right: 5px;
  color: var(--db-red);
}
@media (max-width: 767.98px) {
  .wizard-step-card { padding: 14px; }
  .quick-field-bar .btn { flex: 1 1 auto; }
}
.preset-summary {
  display: grid;
  gap: 6px;
  margin-top: 9px;
}
.preset-summary > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 9px;
  border-radius: 8px;
  background: var(--db-surface-2);
  border: 1px solid var(--db-border);
  font-size: .74rem;
}
.preset-summary span { color: var(--db-muted); }
.preset-summary b { color: var(--db-text); text-align: right; }

/* v1.2.2 • editor visual de padrões por bolinhas */
.color-pattern-editor {
  padding: 12px;
  border: 1px solid var(--db-border);
  border-radius: 12px;
  background: var(--db-surface);
}
.color-pattern-note {
  margin-bottom: 10px;
  color: var(--db-muted);
  font-size: .78rem;
}
.color-pattern-rows,
.white-pattern-rows {
  display: grid;
  gap: 8px;
}
.color-pattern-row,
.white-pattern-row {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto auto auto auto;
  align-items: center;
  gap: 8px;
  padding: 9px;
  border: 1px solid var(--db-border);
  border-radius: 10px;
  background: var(--db-surface-2);
}
.pattern-sequence {
  min-height: 40px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  padding: 6px 8px;
  border: 1px dashed var(--db-border);
  border-radius: 9px;
  background: var(--db-surface);
}
.pattern-token {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  min-height: 28px;
  font-size: 1.18rem;
  line-height: 1;
}
.pattern-empty {
  color: var(--db-muted);
  font-size: .74rem;
}
.pattern-actions,
.pattern-target {
  display: flex;
  align-items: center;
  gap: 4px;
}
.pattern-ball,
.pattern-target-btn {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 10px;
  border: 1px solid var(--db-border);
  background: var(--db-surface);
  font-size: 1.05rem;
  cursor: pointer;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.pattern-ball:hover,
.pattern-target-btn:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--db-red) 45%, var(--db-border));
}
.pattern-target-btn.active {
  border-color: var(--db-red);
  box-shadow: 0 0 0 2px rgba(227,30,47,.13);
  background: color-mix(in srgb, var(--db-red) 8%, var(--db-surface));
}
.pattern-equals {
  color: var(--db-muted);
  font-weight: 900;
  font-size: 1.1rem;
}
.pattern-delete { align-self: center; }
.pattern-paste-box {
  padding: 8px 10px;
  border-radius: 9px;
  border: 1px dashed var(--db-border);
  background: var(--db-surface-2);
}
.pattern-paste-box > summary {
  color: var(--db-muted);
  cursor: pointer;
  font-size: .77rem;
}
@media (max-width: 991.98px) {
  .color-pattern-row,
.white-pattern-row {
    grid-template-columns: 1fr auto auto;
  }
  .pattern-sequence { grid-column: 1 / -1; }
  .pattern-actions { grid-column: 1; }
  .pattern-equals { grid-column: 2; }
  .pattern-target { grid-column: 3; }
  .pattern-delete { grid-column: 3; justify-self: end; }
}
@media (max-width: 575.98px) {
  .color-pattern-row,
.white-pattern-row { grid-template-columns: 1fr; }
  .pattern-sequence,
  .pattern-actions,
  .pattern-equals,
  .pattern-target,
  .pattern-delete { grid-column: 1; }
  .pattern-equals { padding-left: 4px; }
  .pattern-delete { justify-self: start; }
}

/* v1.3.0 • serviço de robôs personalizados + código simples */
.nav-alert-badge {
  margin-left: auto;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--db-red);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
}
.custom-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px;
  border: 1px solid var(--db-border);
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--db-red) 9%, var(--db-surface)), var(--db-surface));
  box-shadow: var(--db-shadow);
}
.custom-request-card,
.service-summary,
.service-admin-box,
.simple-code-card {
  border: 1px solid var(--db-border);
  border-radius: 16px;
  background: var(--db-surface);
  box-shadow: var(--db-shadow-soft);
}
.custom-request-card { padding: 18px; }
.custom-progress { height: 11px; background: var(--db-surface-2); }
.custom-progress .progress-bar { background: linear-gradient(90deg, var(--db-red), #ff5966); font-size: .6rem; font-weight: 800; }
.service-summary { padding: 18px; position: sticky; top: 0; }
.service-summary dl { margin: 0 0 14px; }
.service-summary dt { color: var(--db-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; margin-top: 12px; }
.service-summary dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.service-admin-box { padding: 15px; margin-top: 12px; background: var(--db-surface-2); }
.service-thread { display: grid; gap: 10px; max-height: 560px; overflow: auto; padding: 4px; }
.custom-message { max-width: 88%; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--db-border); background: var(--db-surface-2); }
.custom-message.client { justify-self: start; border-bottom-left-radius: 5px; }
.custom-message.admin { justify-self: end; border-color: color-mix(in srgb, var(--db-red) 30%, var(--db-border)); background: color-mix(in srgb, var(--db-red) 7%, var(--db-surface)); border-bottom-right-radius: 5px; }
.custom-message.system { justify-self: center; max-width: 95%; text-align: center; background: color-mix(in srgb, #22c55e 7%, var(--db-surface)); }
.custom-message-meta { display: flex; gap: 14px; justify-content: space-between; color: var(--db-muted); font-size: .68rem; margin-bottom: 5px; }
.simple-code-card { padding: 16px; background: linear-gradient(180deg, color-mix(in srgb, var(--db-red) 5%, var(--db-surface)), var(--db-surface)); }
.code-simple-editor { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .82rem; line-height: 1.5; min-height: 250px; }
@media (max-width: 767.98px) {
  .custom-hero { align-items: stretch; flex-direction: column; }
  .service-summary { position: static; }
  .custom-message { max-width: 96%; }
}

/* v1.4.0 • Motor Studio + robôs pensantes */
.evidence-row {
  height: 100%;
  padding: 14px;
  border: 1px solid var(--db-border);
  border-radius: 14px;
  background: var(--db-surface-2);
}
.evidence-row .form-label.small {
  margin-bottom: 3px;
  color: var(--db-muted);
  font-size: .7rem;
}
.evidence-weight-box { width: 128px; }
#engineBuilder .alert { border-radius: 14px; }
#view-engines .metric-card .small { line-height: 1.5; }
@media (max-width: 575.98px) {
  .evidence-row .d-flex { align-items: stretch !important; flex-direction: column; }
  .evidence-weight-box { width: 100%; }
}

/* ---------- Help Center v1.4.2 ---------- */
.help-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px;
  border: 1px solid var(--db-border);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0, rgba(227,30,47,.10), transparent 38%),
    var(--db-surface);
  box-shadow: var(--db-shadow);
}
.help-search {
  position: relative;
  min-width: min(430px, 42vw);
}
.help-search > i {
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  color: var(--db-muted);
}
.help-search .form-control { padding-left: 38px; }
.help-jump {
  width: 100%;
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  text-align: left;
  color: var(--db-text);
  border: 1px solid var(--db-border);
  border-radius: 15px;
  background: var(--db-surface);
  box-shadow: var(--db-shadow);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.help-jump:hover { transform: translateY(-2px); border-color: rgba(227,30,47,.34); box-shadow: var(--db-shadow-lg); }
.help-jump > i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--db-red); background: rgba(227,30,47,.09); font-size: 1.05rem; }
.help-jump b,.help-jump small { display: block; }
.help-jump small { margin-top: 4px; color: var(--db-muted); font-size: .78rem; }
.help-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 18px; align-items: start; }
.help-toc {
  position: sticky;
  top: 92px;
  padding: 16px;
  border: 1px solid var(--db-border);
  border-radius: 14px;
  background: var(--db-surface);
  box-shadow: var(--db-shadow);
}
.help-toc > b { display: block; padding: 3px 7px 10px; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--db-muted); }
.help-toc button { width: 100%; padding: 8px 9px; border: 0; border-radius: 8px; text-align: left; background: transparent; color: var(--db-text); font-size: .83rem; }
.help-toc button:hover { color: var(--db-red); background: var(--db-hover); }
.help-content { display: grid; gap: 14px; min-width: 0; }
.help-card {
  scroll-margin-top: 96px;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  gap: 15px;
  padding: 20px;
  border: 1px solid var(--db-border);
  border-radius: 16px;
  background: var(--db-surface);
  box-shadow: var(--db-shadow);
}
.help-admin-card { border-color: rgba(227,30,47,.22); }
.help-card h5 { margin: 1px 0 11px; font-size: 1rem; }
.help-card p,.help-card li { color: var(--db-muted); font-size: .9rem; line-height: 1.65; }
.help-card ol,.help-card ul { margin-bottom: 0; padding-left: 1.18rem; }
.help-card-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--db-red); background: rgba(227,30,47,.09); border-radius: 12px; font-size: 1.05rem; }
.help-steps { display: grid; grid-template-columns: 28px 1fr 28px 1fr 28px 1fr 28px 1fr; gap: 8px; align-items: center; margin: 14px 0; }
.help-steps span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 999px; color: #fff; background: var(--db-red); font-size: .72rem; font-weight: 800; }
.help-steps b { font-size: .82rem; }
.help-mini { padding: 14px; border: 1px solid var(--db-border); border-radius: 12px; background: var(--db-surface-2); }
.help-mini b,.help-mini small { display: block; }
.help-mini small { margin-top: 5px; color: var(--db-muted); line-height: 1.5; }
.help-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.help-tags span { padding: 6px 9px; border: 1px solid var(--db-border); border-radius: 999px; color: var(--db-muted); background: var(--db-surface-2); font-size: .76rem; }
.help-glossary { display: grid; grid-template-columns: 110px 1fr; gap: 8px 13px; }
.help-glossary b { color: var(--db-text); font-size: .84rem; }
.help-glossary span { color: var(--db-muted); font-size: .84rem; }
.help-no-results { min-height: 220px; display: grid; place-items: center; align-content: center; gap: 7px; text-align: center; color: var(--db-muted); border: 1px dashed var(--db-border); border-radius: 16px; }
.help-no-results i { font-size: 1.5rem; color: var(--db-red); }
.help-no-results span { font-size: .82rem; }
@media (max-width: 991.98px) {
  .help-hero { align-items: stretch; flex-direction: column; }
  .help-search { min-width: 0; width: 100%; }
  .help-layout { grid-template-columns: 1fr; }
  .help-toc { position: static; display: flex; flex-wrap: wrap; gap: 5px; }
  .help-toc > b { width: 100%; }
  .help-toc button { width: auto; border: 1px solid var(--db-border); }
}
@media (max-width: 575.98px) {
  .help-card { grid-template-columns: 1fr; padding: 16px; }
  .help-steps { grid-template-columns: 26px 1fr; }
  .help-glossary { grid-template-columns: 1fr; gap: 2px; }
  .help-glossary span { margin-bottom: 8px; }
}

/* ---------- Plataforma por níveis + Central Double v1.5.0 ---------- */
.level-badge {
  border: 1px solid var(--db-border);
  background: var(--db-surface-2) !important;
  color: var(--db-text) !important;
  font-weight: 800;
  letter-spacing: .01em;
}
.level-badge.level-1 { box-shadow: inset 3px 0 0 rgba(34,197,94,.78); }
.level-badge.level-2 { box-shadow: inset 3px 0 0 rgba(59,130,246,.78); }
.level-badge.level-3 { box-shadow: inset 3px 0 0 rgba(168,85,247,.82); }
.level-badge.level-4 { box-shadow: inset 3px 0 0 rgba(227,30,47,.88); }
.robot-level-card {
  padding: 18px;
  border: 1px solid var(--db-border);
  border-radius: 16px;
  background: var(--db-surface);
  box-shadow: var(--db-shadow-soft);
  transition: transform .16s ease, border-color .16s ease, opacity .16s ease;
}
.robot-level-card:hover { transform: translateY(-2px); }
.robot-level-card.unlocked { border-color: color-mix(in srgb, var(--db-red) 24%, var(--db-border)); }
.robot-level-card.locked { opacity: .62; background: var(--db-surface-2); }
.robot-level-card h5 { margin: 14px 0 8px; }
.robot-level-card p { margin-bottom: 10px; color: var(--db-muted); font-size: .86rem; line-height: 1.55; }
.robot-level-card small { color: var(--db-muted); line-height: 1.45; }
.robot-level-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: color-mix(in srgb, var(--db-red) 8%, var(--db-surface-2));
  font-size: 1.15rem;
}
.plan-level-card { position: relative; overflow: hidden; }
.plan-level-card.current-plan { border-color: color-mix(in srgb, #22c55e 45%, var(--db-border)); }
.plan-level-card.current-plan::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #22c55e;
}
.plan-feature-list { margin: 0 0 17px; padding-left: 1.15rem; color: var(--db-muted); }
.plan-feature-list li { margin: 7px 0; line-height: 1.4; }
.plan-feature-list b { color: var(--db-text); }
.feed-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--db-border);
}
.feed-status-row:last-child { border-bottom: 0; }
.feed-status-row small { display: block; margin-top: 3px; color: var(--db-muted); }
@media (max-width: 575.98px) {
  .feed-status-row { align-items: flex-start; }
  .level-badge { white-space: normal; text-align: left; }
}
.double-radar-card {
  padding: 17px;
  border: 1px solid var(--db-border);
  border-radius: 15px;
  background: var(--db-surface-2);
}
.double-radar-card > .d-flex small { display: block; margin-top: 3px; color: var(--db-muted); }
.double-radar-metrics { display: flex; flex-wrap: wrap; gap: 7px; margin: 13px 0; }
.double-radar-metrics span { padding: 6px 9px; border: 1px solid var(--db-border); border-radius: 999px; background: var(--db-surface); color: var(--db-muted); font-size: .76rem; }
.double-radar-metrics b { color: var(--db-text); }
.double-stones { display: flex; align-items: center; gap: 5px; overflow-x: auto; padding: 9px 2px 5px; }
.double-stone { flex: 0 0 auto; min-width: 35px; display: grid; justify-items: center; gap: 1px; font-size: 1.05rem; }
.double-stone small { color: var(--db-muted); font-size: .62rem; font-weight: 700; }

/* v1.7.0 • listas de cores com horários + sequência visual */
.list-profile-editor {
  padding: 12px;
  border: 1px solid var(--db-border);
  border-radius: 12px;
  background: var(--db-surface);
}
.list-profile-rows { display: grid; gap: 10px; }
.list-profile-row {
  padding: 12px;
  border: 1px solid var(--db-border);
  border-radius: 11px;
  background: var(--db-surface-2);
}
.list-profile-top {
  display: grid;
  grid-template-columns: minmax(150px,.8fr) minmax(220px,1.4fr) auto auto;
  gap: 10px;
  align-items: end;
}
.list-profile-sequence-wrap {
  padding: 9px;
  border: 1px dashed var(--db-border);
  border-radius: 10px;
  background: var(--db-surface);
}
.list-profile-sequence {
  min-height: 42px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  padding: 6px 8px;
  border: 1px solid var(--db-border);
  border-radius: 9px;
  background: var(--db-surface-2);
}
.list-color-token {
  display: inline-grid;
  place-items: center;
  min-width: 31px;
  min-height: 31px;
  font-size: 1.25rem;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .list-profile-top { grid-template-columns: 1fr; }
  .list-profile-top .mt-4 { margin-top: 0 !important; }
}

/* v1.7.2 • Guided Studio */
.strategy-guide{
  border:1px solid var(--bs-border-color);
  border-radius:14px;
  padding:12px 14px;
  background:color-mix(in srgb, var(--bs-primary) 7%, transparent);
  font-size:.9rem;
  line-height:1.55;
}
.strategy-guide b{color:var(--bs-emphasis-color)}
.confluence-filter-editor{border:1px solid var(--bs-border-color);border-radius:14px;padding:12px;background:var(--bs-body-bg)}
.confluence-filter-rows{display:grid;gap:8px;margin-top:10px}
.confluence-filter-row{display:grid;grid-template-columns:minmax(190px,2fr) minmax(120px,1fr) minmax(145px,1fr) auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}
.confluence-filter-row .form-check{margin:0;display:flex;align-items:center;gap:6px}
@media (max-width:768px){.confluence-filter-row{grid-template-columns:1fr}.confluence-filter-row .btn{justify-self:end}}
.term-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);font-size:.78rem}

/* v1.7.3 • Canais exclusivos + painéis Dia/Semana/Mês/Listas */

/* v1.7.4 • Indicações, comissões e moderadores */
.support-thread{min-height:260px;max-height:460px;overflow:auto;padding:12px;border:1px solid var(--bs-border-color);border-radius:14px;background:rgba(var(--bs-body-color-rgb),.025)}
.support-message{max-width:82%;margin:0 0 10px;padding:10px 12px;border:1px solid var(--bs-border-color);border-radius:14px;background:var(--bs-body-bg);box-shadow:0 5px 16px rgba(0,0,0,.035)}
.support-message.mine{margin-left:auto;border-color:rgba(220,53,69,.35);background:rgba(220,53,69,.06)}
.support-message small{display:block;color:var(--bs-secondary-color);margin-top:5px;font-size:.72rem}
#referralLinkInput{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace}
#adminIndicatorRows td,#referralCommissionRows td,#adminCommissionRows td{vertical-align:middle}

/* ======================================================================
   v1.8.0 • Plano Mensal de Canais + Robotic DB UI
   Mantém Bootstrap como base; esta camada só organiza e tematiza.
   ====================================================================== */

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-2;
  background-image:
    linear-gradient(rgba(227,30,47,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(227,30,47,.018) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 82%);
}
html[data-bs-theme="dark"] body::before{
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
}

/* more robotic brand treatment */
.sidebar{
  width:260px;
  background:
    radial-gradient(circle at 8% 2%, rgba(227,30,47,.22), transparent 28%),
    linear-gradient(180deg,#0a0d11 0%,#080b0f 60%,#05070a 100%);
}
.sidebar::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0 96%,rgba(227,30,47,.12));
}
.main{margin-left:260px}
.brand-logo{width:54px;height:54px;filter:drop-shadow(0 0 18px rgba(227,30,47,.22))}
.sidebar-brand{min-height:86px}
.brand-copy b{font-size:.88rem;letter-spacing:.12em}
.sidebar .nav-link{border-radius:12px;min-height:44px}
.sidebar .nav-link.active{box-shadow:inset 0 0 0 1px rgba(227,30,47,.13),0 8px 25px rgba(0,0,0,.12)}
.nav-more{margin-top:7px}
.nav-more>summary{list-style:none;display:flex;align-items:center;gap:11px;min-height:43px;padding:10px 12px;border-radius:10px;color:var(--db-sidebar-text);font-size:.88rem;cursor:pointer;user-select:none}
.nav-more>summary::-webkit-details-marker{display:none}
.nav-more>summary:hover{background:rgba(255,255,255,.055);color:#fff}
.nav-more[open]>summary{color:#fff;background:rgba(255,255,255,.035)}
.nav-more-chevron{transition:transform .18s ease}
.nav-more[open] .nav-more-chevron{transform:rotate(180deg)}
.nav-more-body{padding:5px 0 1px 14px;border-left:1px solid rgba(255,255,255,.08);margin-left:21px}
.nav-more-body .nav-link{font-size:.82rem;min-height:38px;padding:8px 10px}

.topbar{
  min-height:82px;
  padding:12px 22px;
  background:color-mix(in srgb,var(--db-surface) 94%,transparent);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.topbar-eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:2px;font-size:.59rem;font-weight:800;letter-spacing:.16em;color:var(--db-muted)}
.robot-pulse{width:7px;height:7px;border-radius:50%;background:var(--db-red);box-shadow:0 0 0 0 rgba(227,30,47,.55);animation:dbPulse 2.1s infinite}
@keyframes dbPulse{0%{box-shadow:0 0 0 0 rgba(227,30,47,.55)}70%{box-shadow:0 0 0 7px rgba(227,30,47,0)}100%{box-shadow:0 0 0 0 rgba(227,30,47,0)}}
.topbar-actions{display:flex;gap:9px;align-items:center}
.btn-tech{position:relative;overflow:hidden;box-shadow:0 7px 22px rgba(227,30,47,.18)}
.btn-tech::after{content:"";position:absolute;inset:0;transform:translateX(-115%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);transition:transform .4s ease}
.btn-tech:hover::after{transform:translateX(115%)}

/* client command center */
.client-command-hero{
  position:relative;
  min-height:220px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:28px 32px;
  border:1px solid color-mix(in srgb,var(--db-red) 28%,var(--db-border));
  border-radius:22px;
  color:#fff;
  background:
    radial-gradient(circle at 86% 50%,rgba(227,30,47,.24),transparent 31%),
    linear-gradient(135deg,#11161d 0%,#0b0f14 62%,#140a0d 100%);
  box-shadow:0 26px 70px rgba(0,0,0,.18);
}
.client-command-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(90deg,#000,transparent 85%)}
.command-copy{position:relative;z-index:2;max-width:720px}
.command-copy h3{margin:.3rem 0 .55rem;font-weight:800;letter-spacing:-.025em}
.command-copy p{max-width:650px;margin:0 0 18px;color:#98a3b1;line-height:1.6}
.command-orbit{position:relative;z-index:1;width:170px;height:170px;display:grid;place-items:center;flex:0 0 170px}
.command-orbit img{width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 0 22px rgba(227,30,47,.35))}
.orbit-ring{position:absolute;border:1px solid rgba(227,30,47,.35);border-radius:50%;animation:orbit 12s linear infinite}
.orbit-ring::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--db-red);box-shadow:0 0 14px var(--db-red);top:50%;left:-4px}
.ring-a{inset:10px}.ring-b{inset:31px;animation-direction:reverse;animation-duration:8s;border-color:rgba(255,255,255,.14)}
@keyframes orbit{to{transform:rotate(360deg)}}
.quick-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center;padding:13px;border:1px solid var(--db-border);border-radius:16px;background:var(--db-surface);box-shadow:var(--db-shadow)}
.quick-flow>i{color:var(--db-muted)}
.quick-flow-step{display:flex;align-items:center;gap:10px;min-width:0;padding:9px}
.quick-flow-step>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:9px;background:rgba(227,30,47,.10);color:var(--db-red);font-size:.75rem;font-weight:900;border:1px solid rgba(227,30,47,.18)}
.quick-flow-step b,.quick-flow-step small{display:block}.quick-flow-step b{font-size:.82rem}.quick-flow-step small{margin-top:2px;color:var(--db-muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* simplified fleet cards */
.bot-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.bot-client-card{position:relative;overflow:hidden;padding:18px;border:1px solid var(--db-border);border-radius:18px;background:var(--db-surface);box-shadow:var(--db-shadow);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.bot-client-card::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--db-border),transparent)}
.bot-client-card:hover{transform:translateY(-2px);box-shadow:var(--db-shadow-lg)}
.bot-client-card.is-running{border-color:color-mix(in srgb,#23b26d 35%,var(--db-border))}.bot-client-card.is-running::before{background:linear-gradient(90deg,transparent,#23b26d,transparent)}
.bot-client-card.is-stoploss{border-color:color-mix(in srgb,var(--db-red) 52%,var(--db-border))}.bot-client-card.is-stoploss::before{background:linear-gradient(90deg,transparent,var(--db-red),transparent)}
.bot-card-head{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center}
.bot-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--db-surface-2);border:1px solid var(--db-border);font-size:1.25rem}.bot-avatar.colors{box-shadow:inset 4px 0 0 #dc3545,inset -4px 0 0 #111}.bot-avatar.white{box-shadow:inset 0 0 0 3px rgba(255,255,255,.1)}
.bot-subtitle{margin-top:4px;color:var(--db-muted);font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bot-live{display:flex;align-items:center;gap:6px;font-size:.67rem;font-weight:900;letter-spacing:.06em}.bot-live span{width:7px;height:7px;border-radius:50%;background:#7b8490}.bot-live.online{color:#23a765}.bot-live.online span{background:#23b26d;box-shadow:0 0 0 4px rgba(35,178,109,.12)}.bot-live.alert{color:var(--db-red)}.bot-live.alert span{background:var(--db-red)}.bot-live.idle{color:var(--db-muted)}
.bot-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.bot-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--db-border);border-radius:999px;background:var(--db-surface-2);color:var(--db-muted);font-size:.7rem}.bot-chip.accent{color:var(--db-red);border-color:rgba(227,30,47,.2);background:rgba(227,30,47,.06)}
.bot-runtime{padding:13px;border:1px solid var(--db-border);border-radius:13px;background:var(--db-surface-2)}.runtime-row,.runtime-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.runtime-row{font-size:.78rem}.runtime-row span{color:var(--db-muted)}.runtime-bar{height:7px;margin:9px 0;border-radius:999px;background:var(--db-surface-3);overflow:hidden}.runtime-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--db-red),#ff6572)}.runtime-foot{font-size:.68rem;color:var(--db-muted)}
.bot-health{display:flex;gap:12px;flex-wrap:wrap;margin:12px 2px;color:var(--db-muted);font-size:.7rem}.bot-health span{display:flex;gap:5px;align-items:center}.bot-health .ok{color:#1d9b61}.bot-health .warn{color:var(--db-danger)}
.bot-card-actions{display:flex;gap:7px;align-items:center}.bot-card-actions .icon-only{width:39px;padding-inline:0}.bot-card-actions>.btn:first-child{min-width:115px}
.empty-fleet{grid-column:1/-1;min-height:330px;display:grid;place-items:center;align-content:center;text-align:center;padding:30px;border:1px dashed var(--db-border);border-radius:20px;background:var(--db-surface)}.empty-fleet p{max-width:480px;color:var(--db-muted)}.empty-robot{width:72px;height:72px;display:grid;place-items:center;margin-bottom:12px;border-radius:22px;background:rgba(227,30,47,.08);color:var(--db-red);font-size:1.8rem;border:1px solid rgba(227,30,47,.15)}

/* bot wizard */
.bot-builder-modal{overflow:hidden}
.bot-wizard-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0 22px;border-bottom:1px solid var(--db-border);background:var(--db-surface-2)}
.bot-wizard-nav button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 9px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--db-muted);font-size:.78rem;font-weight:700}.bot-wizard-nav button span{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--db-border);background:var(--db-surface);font-size:.68rem}.bot-wizard-nav button.active{color:var(--db-text);border-color:var(--db-red)}.bot-wizard-nav button.active span{color:#fff;background:var(--db-red);border-color:var(--db-red);box-shadow:0 0 16px rgba(227,30,47,.2)}.bot-wizard-nav button.done span{color:var(--db-red);border-color:rgba(227,30,47,.25)}
.bot-wizard-step{display:none;animation:stepIn .17s ease}.bot-wizard-step.active{display:block}@keyframes stepIn{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}
.wizard-intro{display:flex;align-items:center;gap:13px;padding:14px 15px;border:1px solid var(--db-border);border-radius:14px;background:var(--db-surface-2)}.wizard-intro>i{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:12px;background:rgba(227,30,47,.08);color:var(--db-red);font-size:1.05rem}.wizard-intro b,.wizard-intro small{display:block}.wizard-intro small{margin-top:4px;color:var(--db-muted);font-size:.77rem}
.help-dot{display:inline-grid;place-items:center;width:17px;height:17px;border:1px solid var(--db-border);border-radius:50%;color:var(--db-muted);font-size:.62rem;cursor:help}
.quick-profile-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;border:1px solid var(--db-border);border-radius:14px;background:var(--db-surface)}.quick-profile-panel b,.quick-profile-panel small{display:block}.quick-profile-panel small{margin-top:3px;color:var(--db-muted);font-size:.75rem}.quick-profile-buttons{display:flex;gap:7px;flex-wrap:wrap}.quick-profile-buttons button{padding:8px 10px;border:1px solid var(--db-border);border-radius:10px;background:var(--db-surface-2);color:var(--db-muted);font-size:.74rem;font-weight:700}.quick-profile-buttons button.active,.quick-profile-buttons button:hover{color:var(--db-red);border-color:rgba(227,30,47,.28);background:rgba(227,30,47,.06)}
.advanced-disclosure{border:1px solid var(--db-border);border-radius:14px;background:var(--db-surface)}.advanced-disclosure>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px 15px;cursor:pointer}.advanced-disclosure>summary::-webkit-details-marker{display:none}.advanced-disclosure>summary>i:first-child{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--db-surface-2);color:var(--db-red)}.advanced-disclosure>summary b,.advanced-disclosure>summary small{display:block}.advanced-disclosure>summary small{margin-top:3px;color:var(--db-muted);font-size:.73rem}.advanced-disclosure[open]>summary>.bi-chevron-down{transform:rotate(180deg)}.advanced-disclosure-body{padding:3px 15px 16px}
.bot-review{padding:15px;border:1px solid var(--db-border);border-radius:14px;background:var(--db-surface-2)}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-grid>div{padding:10px;border:1px solid var(--db-border);border-radius:10px;background:var(--db-surface)}.review-grid span,.review-grid b{display:block}.review-grid span{color:var(--db-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.review-grid b{margin-top:4px;font-size:.84rem}
.telegram-preview{height:100%;min-height:250px;padding:14px;border:1px solid var(--db-border);border-radius:16px;background:linear-gradient(160deg,#d9eadc,#bfdec8);box-shadow:inset 0 0 50px rgba(0,0,0,.03)}html[data-bs-theme="dark"] .telegram-preview{background:linear-gradient(160deg,#16231b,#101a15)}.telegram-preview-head{margin-bottom:12px;color:#587568;font-size:.72rem;font-weight:800;letter-spacing:.05em}.telegram-bubble{max-width:92%;padding:12px 14px;border-radius:6px 14px 14px 14px;background:#fff;color:#111;box-shadow:0 6px 16px rgba(0,0,0,.08);font-size:.8rem;line-height:1.65}html[data-bs-theme="dark"] .telegram-bubble{background:#202c27;color:#e8efeb}.tg-title{margin-bottom:6px}.tg-muted{margin-top:7px;color:#7c8781;font-size:.67rem}
.preflight{display:grid;gap:6px;padding:12px;border:1px solid var(--db-border);border-radius:12px;background:var(--db-surface-2)}.preflight>b{margin-bottom:3px}.preflight span{display:flex;gap:7px;align-items:center;color:var(--db-muted);font-size:.75rem}.preflight.ok{border-color:rgba(35,178,109,.3)}.preflight.ok>b,.preflight.ok i{color:#23a765}.preflight.warn{border-color:rgba(227,30,47,.3)}.preflight.warn>b,.preflight.warn i{color:var(--db-red)}
.bot-wizard-footer{background:var(--db-surface);border-top:1px solid var(--db-border)}

/* refreshed login */
.login-page{position:relative;overflow:auto;background:radial-gradient(circle at 20% 5%,rgba(227,30,47,.12),transparent 28%),var(--db-bg)}
.login-grid-bg{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(227,30,47,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(227,30,47,.03) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(circle at center,#000,transparent 82%)}
.robotic-login{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--db-red) 18%,var(--db-border))}
.robotic-login::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--db-red),transparent)}
.login-status{position:absolute;top:14px;left:16px;display:flex;align-items:center;gap:7px;color:var(--db-muted);font-size:.56rem;font-weight:900;letter-spacing:.14em}.login-status span{width:6px;height:6px;border-radius:50%;background:#29b86e;box-shadow:0 0 10px rgba(41,184,110,.55)}

/* stronger responsive rules */
@media (max-width:1199.98px){.bot-client-grid{grid-template-columns:1fr}.quick-flow{grid-template-columns:1fr 1fr}.quick-flow>i{display:none}.command-orbit{width:135px;height:135px;flex-basis:135px}.ring-b{inset:25px}}
@media (max-width:991.98px){.main{margin-left:0}.sidebar{width:min(286px,86vw)}.topbar{padding:10px 14px;min-height:72px}.content{padding:16px}.client-command-hero{padding:23px}.command-orbit{display:none}.quick-flow{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar>.d-flex{width:100%;flex-wrap:wrap}.toolbar .search-box{flex:1 1 220px}.bot-wizard-nav{padding:0 8px}.bot-wizard-nav button{font-size:.7rem}.bot-wizard-nav button span{display:none}}
@media (max-width:767.98px){.client-command-hero{min-height:0;padding:20px;border-radius:18px}.command-copy h3{font-size:1.4rem}.quick-flow{grid-template-columns:1fr}.quick-profile-panel{align-items:stretch;flex-direction:column}.quick-profile-buttons{display:grid;grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.bot-card-head{grid-template-columns:42px minmax(0,1fr)}.bot-live{grid-column:1/-1;justify-self:start}.bot-card-actions{flex-wrap:wrap}.bot-card-actions>.btn:first-child{flex:1 1 100% !important}.bot-card-actions>.btn:nth-child(2){flex:1}.telegram-preview{min-height:210px}.topbar .page-copy small{display:none}.topbar-eyebrow{display:none}}
@media (max-width:575.98px){.content{padding:12px}.bot-client-card{padding:14px;border-radius:15px}.bot-chip-row{gap:5px}.bot-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-foot{align-items:flex-start;flex-direction:column;gap:3px}.bot-wizard-nav{grid-template-columns:repeat(4,1fr)}.bot-wizard-nav button{padding:10px 3px;font-size:.62rem}.bot-wizard-footer{flex-wrap:wrap}.bot-wizard-footer>.ms-auto{width:100%}.bot-wizard-footer .btn{flex:1}.topbar-actions{gap:6px}.topbar-actions .btn{padding-inline:10px}.page-copy h4{font-size:1rem}}
