/* mvr.rip finish — last visual pass before mobile.css.
   Shared console tokens + control locks. Page blocks at the end
   protect polished compositions from earlier steroids fights. */

:root {
  --sd-ff: "Inter", ui-sans-serif, system-ui, sans-serif;
  --sd-nav: "Manrope", ui-sans-serif, system-ui, sans-serif;
  --sd-fm: "IBM Plex Mono", ui-monospace, Consolas, monospace;
  --sd-ink: #f3f1ea;
  --sd-mute: #9a968c;
  --sd-line: rgba(255, 255, 255, 0.08);
  --sd-accent: var(--accent);
  --sd-surface: #1a1d21;
  --sd-raised: #23272c;
  --sd-deep: #0d0f11;
  --sd-frame: 980px;
  --sd-space: 16px;
  --sd-gap: 12px;
  --sd-radius-hero: 18px;
  --sd-radius-panel: 16px;
  --sd-radius-tile: 14px;
  --sd-radius-ctrl: 12px;
  --sd-hero-pad: 26px;
  --sd-panel-h: 48px;
  --sidebar-w: 88px;
  --accent-hot: var(--accent);
  --btn-primary-bg: linear-gradient(180deg, var(--accent) 0%, var(--accent, var(--accent)) 52%, var(--accent-deep) 100%);
  --btn-primary-bg-hover: linear-gradient(180deg, var(--accent) 0%, var(--accent) 52%, var(--accent) 100%);
  --btn-primary-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset, 0 6px 16px rgba(167, 139, 250, 0.26);
  --btn-primary-shadow-hover: 0 1px 0 rgba(255, 255, 255, 0.14) inset, 0 10px 22px rgba(167, 139, 250, 0.32);
}

/* ---- Search: one full-width field, indigo focus, no inner box ---- */
body .rt-search-row,
body .field.search-field {
  width: 100% !important;
  display: block !important;
  min-width: 0 !important;
}
body .sd-search,
body .rt-search-wrap,
body label.sd-search,
body label.rt-search-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  border: 1px solid var(--border) !important;
  background: var(--bg) !important;
  box-shadow: none !important;
  cursor: text;
  transition: border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
body .sd-search:hover,
body .rt-search-wrap:hover {
  border-color: var(--border-h) !important;
}
body .sd-search:focus-within,
body .rt-search-wrap:focus-within {
  border-color: var(--accent) !important;
  background: var(--bg2) !important;
  box-shadow: 0 0 0 3px var(--accent-m) !important;
}
body .sd-search svg,
body .rt-search-wrap svg {
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  color: var(--t4) !important;
  opacity: 0.9;
  pointer-events: none;
}
body .sd-search:focus-within svg,
body .rt-search-wrap:focus-within svg {
  color: var(--accent-hot) !important;
}
body .sd-search input,
body .sd-search input[type="text"],
body .sd-search .input,
body .rt-search-wrap input,
body .rt-search-wrap input[type="text"],
body .rt-search-wrap .rt-search,
body input.rt-search,
body .rt-search {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 22px !important;
  min-height: 0 !important;
  max-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  color: var(--t1) !important;
  font-size: 14px !important;
  font-family: var(--ff, ui-sans-serif, system-ui, sans-serif) !important;
  line-height: 22px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
body .sd-search input:focus,
body .sd-search input[type="text"]:focus,
body .sd-search .input:focus,
body .rt-search-wrap input:focus,
body .rt-search:focus,
body input.rt-search:focus {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
body .sd-search input::placeholder,
body .rt-search::placeholder,
body .sd-search .input::placeholder {
  color: var(--t4) !important;
  opacity: 1 !important;
}

/* ---- Buttons: polished console controls ---- */
body .btn,
body .sip-btn,
body .dep-btn,
body .rt-btn,
body .set-btn {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 11px !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  letter-spacing: -0.015em !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition:
    background 0.14s ease,
    border-color 0.14s ease,
    color 0.14s ease,
    transform 0.14s ease,
    box-shadow 0.14s ease,
    filter 0.14s ease !important;
}
body .btn-sm,
body .sip-btn.ghost,
body .dep-btn.ghost,
body .set-btn.ghost,
body .rt-btn:not(.primary) {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  border-radius: 10px !important;
}
body .btn svg,
body .sip-btn svg,
body .dep-btn svg,
body .rt-btn svg,
body .set-btn svg,
body .btn .sd-ico,
body .sip-btn .sd-ico,
body .dep-btn .sd-ico,
body .set-btn .sd-ico {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  flex-shrink: 0 !important;
  stroke-width: 1.65 !important;
}
body .btn-primary,
body .sip-btn.primary,
body .dep-btn.primary,
body .rt-btn.primary,
body .set-btn.primary {
  background: var(--btn-primary-bg) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  box-shadow: var(--btn-primary-shadow) !important;
}
body .btn-primary:hover,
body .sip-btn.primary:hover,
body .dep-btn.primary:hover,
body .rt-btn.primary:hover:not(:disabled),
body .set-btn.primary:hover {
  background: var(--btn-primary-bg-hover) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--btn-primary-shadow-hover) !important;
  filter: none !important;
}
body .btn-primary:active,
body .sip-btn.primary:active,
body .dep-btn.primary:active,
body .set-btn.primary:active {
  transform: translateY(0) !important;
  filter: brightness(0.96) !important;
}
body .dep-page .dep-btn.primary .sd-ico {
  color: #fff !important;
  stroke: #fff !important;
}
body .btn-secondary,
body .sip-btn:not(.primary):not(.ghost):not(.danger),
body .dep-btn:not(.primary):not(.ghost),
body .rt-btn:not(.primary),
body .set-btn:not(.primary):not(.ghost):not(.danger) {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: var(--t2, #c8c5bc) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset !important;
}
body .btn-secondary:hover,
body .sip-btn:not(.primary):not(.ghost):not(.danger):hover,
body .dep-btn:not(.primary):not(.ghost):hover,
body .rt-btn:not(.primary):hover:not(:disabled),
body .set-btn:not(.primary):not(.ghost):not(.danger):hover {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  color: var(--t1, #eef0f7) !important;
  transform: translateY(-1px) !important;
}
body .btn-ghost,
body .sip-btn.ghost,
body .dep-btn.ghost,
body .set-btn.ghost {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: var(--t3, #9aa0b0) !important;
  box-shadow: none !important;
}
body .btn-ghost:hover,
body .sip-btn.ghost:hover,
body .dep-btn.ghost:hover,
body .set-btn.ghost:hover {
  color: var(--t1, #eef0f7) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.05) !important;
}
body .btn-danger,
body .sip-btn.danger,
body .set-btn.danger {
  background: rgba(239, 68, 68, 0.1) !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  color: #fca5a5 !important;
}
body .btn-danger:hover,
body .sip-btn.danger:hover,
body .set-btn.danger:hover {
  background: #e35d5d !important;
  border-color: #e35d5d !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}
body .btn:disabled,
body .rt-btn:disabled,
body .sip-btn:disabled,
body .dep-btn:disabled,
body .set-btn:disabled {
  opacity: 0.42 !important;
  cursor: default !important;
  transform: none !important;
  box-shadow: none !important;
}
body .btn:focus-visible,
body .sip-btn:focus-visible,
body .dep-btn:focus-visible,
body .set-btn:focus-visible,
body .rt-btn:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(167, 139, 250, 0.28) !important;
}

/* ---- Selects / filters — do not restyle the inner search input ---- */
body .select,
body select.select,
body .filter-row select,
body .filter-row .field > .select,
body .sip-connect-bar select {
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 10px !important;
  padding: 0 12px !important;
}
body .filter-row .search-field .sd-search {
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 10px !important;
}

/* ---- Route active chip / tags ---- */
body .rt-active {
  height: 40px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  border: 1px solid var(--accent-h) !important;
  background: var(--accent-s) !important;
}
body .rt-active .k { color: var(--accent-hot) !important; }
body .rt-active .v { color: var(--t1) !important; }

body .rt-tag {
  border-radius: 6px !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--ink-2, #b8b8c4) !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
}
body .rt-tag.is-on {
  border-color: rgba(167, 139, 250, 0.45) !important;
  background: rgba(167, 139, 250, 0.28) !important;
  color: #ececf2 !important;
}
body .rt-tag.is-off {
  border-color: rgba(240, 90, 100, 0.55) !important;
  background: rgba(220, 60, 70, 0.2) !important;
  color: #ffb4b4 !important;
}
body .rt-lane.is-off {
  border-color: rgba(220, 70, 80, 0.35) !important;
}

body .rt-empty {
  border-radius: 12px !important;
  padding: 36px 16px !important;
  color: var(--t3) !important;
}

body .rt-table tr.is-on td,
body .rt-table tr:hover td {
  background: var(--accent-s) !important;
}

/* ---- SIP tabs / copy / icon buttons ---- */
body .sip-tab {
  height: 32px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  border: 1px solid transparent !important;
}
body .sip-tab:hover {
  color: var(--t1) !important;
  background: var(--t7) !important;
}
body .sip-tab.on,
body .sip-tab.active {
  color: var(--accent-hot) !important;
  background: var(--accent-s) !important;
  border-color: var(--accent-h) !important;
}
body .copy-btn,
body .db-icon-btn {
  border-radius: 9px !important;
}
body .copy-btn:hover,
body .db-icon-btn:hover {
  border-color: var(--accent) !important;
  color: var(--accent-hot) !important;
  background: var(--accent-s) !important;
}

/* ---- DTMF keep compact; only color polish ---- */
body .dtmf-btn {
  border-radius: 8px !important;
  border: 1px solid var(--border) !important;
  background: var(--bg2) !important;
}
body .dtmf-btn.selected,
body .dtmf-btn[aria-pressed="true"] {
  border-color: var(--accent) !important;
  background: var(--accent-s) !important;
  color: var(--t1) !important;
}
body .xfer-card {
  border-radius: 12px !important;
}
body .xfer-card.active {
  border-color: var(--accent) !important;
  background: var(--accent-s) !important;
}

/* ---- Navbar + deposit (do not share .btn sizing) ---- */
body .add-funds-btn {
  box-sizing: border-box !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  padding: 0 !important;
  margin: 0 4px 0 2px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: var(--accent) !important;
  color: #fff !important;
  flex: 0 0 24px !important;
  gap: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}
body .add-funds-btn svg {
  width: 12px !important;
  height: 12px !important;
  max-width: 12px !important;
  max-height: 12px !important;
  color: #fff !important;
  stroke: #fff !important;
}
body .add-funds-btn:hover,
body .add-funds-btn:focus-visible {
  background: var(--accent-hot) !important;
  color: #fff !important;
  box-shadow: 0 0 0 2px var(--accent-s) !important;
}

body .dep-amount {
  display: none !important;
}
body .dep-amt-display {
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  min-height: 64px !important;
  height: auto !important;
  padding: 4px 2px 8px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body .dep-amt-display.is-focus,
body .dep-amt-display.is-custom {
  border-bottom-color: var(--accent) !important;
}
body .dep-amt-display .cur {
  display: block !important;
  padding: 0 0 4px !important;
  font-size: 28px !important;
  font-weight: 650 !important;
  color: var(--accent-hot) !important;
  background: transparent !important;
  border: 0 !important;
}
body .dep-amt-display input,
body .dep-page #amount {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  letter-spacing: -0.05em !important;
  font-variant-numeric: tabular-nums !important;
  color: var(--t1) !important;
  font-family: var(--fm) !important;
}
body .dep-chips {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
body .dep-chips button,
body .dep-chip {
  height: auto !important;
  min-height: 56px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
}
body .dep-btn.primary {
  height: 48px !important;
  min-height: 48px !important;
  font-size: 15px !important;
  border-radius: 12px !important;
}
body .chip {
  height: 32px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  font-weight: 650 !important;
}
body .dep-chips button.on,
body .dep-chip.on,
body .chip.on {
  background: var(--accent-s) !important;
  border-color: var(--accent) !important;
  color: var(--t1) !important;
}
body .page-head .actions,
body .filter-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Left rail chrome lives in mvr.rip-skin.css (loaded last). */

body .btn svg,
body .sip-btn svg,
body .dep-btn svg,
body .rt-btn svg,
body .set-btn svg,
body .cdr-btn svg,
body .copy-btn svg,
body .sd-copy svg,
body .icon-btn svg,
body .db-icon-btn svg {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  max-width: 17px !important;
  max-height: 17px !important;
  stroke-width: 1.5 !important;
}

body .hdr-chip,
body .rate-chip,
body .balance-wrap {
  transition: border-color 0.12s ease, background 0.12s ease !important;
}
body .balance-wrap.is-broke {
  border-color: #e5484d !important;
  background: rgba(229, 72, 77, 0.12) !important;
}
body .balance-wrap.is-broke .balance,
body .balance-wrap.is-broke #headerBalance {
  color: #ff8a8e !important;
}
body .copy-btn,
body .sd-copy,
body .icon-btn,
body .db-icon-btn,
body .logout-btn,
body .add-funds-btn {
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease !important;
}
body .copy-btn:active,
body .sd-copy:active,
body .icon-btn:active,
body .db-icon-btn:active {
  background: var(--bg5, #1e2430) !important;
}
body .add-funds-btn:active {
  background: var(--accent-deep, var(--accent-deep)) !important;
  box-shadow: none !important;
}
body .db-quick a {
  transition: border-color 0.12s ease, background 0.12s ease, color 0.12s ease !important;
}
body .db-quick .ico {
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  padding: 0 !important;
  background: var(--accent-s) !important;
  border: 1px solid var(--accent-h) !important;
  color: var(--accent) !important;
  box-shadow: none !important;
}
body .db-quick .ico svg {
  width: 17px !important;
  height: 17px !important;
  max-width: 17px !important;
  max-height: 17px !important;
}
body .db-kpi,
body .cdr-kpi {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22) !important;
}

@media (prefers-reduced-motion: reduce) {
  body .btn,
  body .rt-btn,
  body .sip-btn,
  body .sd-search,
  body .rt-search-wrap,
  body .sidebar-nav a,
  body .hdr-chip,
  body .db-quick a {
    transition: none !important;
  }
}

/* =============================================================================
   Steroids lock — sip.php quality on every page (beats page CSS)
   ============================================================================= */

/* Shell page titles only — branded heroes override below */
body .page-title,
body h1.page-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
}

body .db-hero h1,
body .sip-hero h1,
body .rt-hero h1,
body .dep-hero h1,
body .cdr-hero h1,
body .set-hero h1 {
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--sd-accent, var(--accent)) !important;
}

body .db-top,
body .rt-top,
body .sip-top,
body .dep-top,
body .dep-hero,
body .cdr-top,
body .set-top,
body .page-head {
  align-items: flex-end !important;
}

body .panel,
body .db-panel,
body .rt-panel,
body .sip-panel,
body .dep-panel,
body .cdr-panel,
body .p1-page .panel,
body .settings-stack .panel {
  border-radius: 14px !important;
  box-shadow: var(--shadow-panel, 0 8px 24px rgba(0, 0, 0, 0.28)) !important;
}

body .panel-head,
body .db-panel-h,
body .rt-panel-h,
body .sip-panel-h,
body .dep-panel-h,
body .cdr-panel-h,
body .p1-page .panel-head,
body .setup .panel-head,
body .settings-stack .panel-head {
  min-height: 44px !important;
  padding: 0 16px !important;
}

body .content .input:not(#amount),
body .sip-tool .input,
body .p1-page .input,
body .settings-stack .input,
body .content .select,
body .p1-page .select {
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 10px !important;
}

body .btn:focus-visible,
body .sip-btn:focus-visible,
body .dep-btn:focus-visible,
body .rt-btn:focus-visible {
  box-shadow: 0 0 0 3px var(--accent-m) !important;
  outline: none !important;
}

body .p1-page .btn:not(.btn-sm):not(.icon-btn) {
  height: 40px !important;
  min-height: 40px !important;
}

body .settings-stack .panel {
  padding: 0 !important;
}

body .settings-stack .panel-head {
  margin-bottom: 0 !important;
}

/* =============================================================================
   Site chrome — one sip.php system. No glow, no glass, one content frame.
   ============================================================================= */

html {
  -moz-osx-font-smoothing: grayscale;
  font-synthesis: none;
  scrollbar-width: thin;
  scrollbar-color: var(--t6, rgba(255, 255, 255, 0.12)) transparent;
}
body { font-synthesis: none; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: var(--t6, rgba(255, 255, 255, 0.12));
  border-radius: 8px;
}

body .header {
  background: var(--bg) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
body .header::after { display: none !important; }

body .app .content {
  max-width: 1100px !important;
  padding: 18px 20px 40px !important;
}
body .sip-page { max-width: 980px !important; }
body .db-page,
body .rt-page,
body .dep-page,
body .settings-stack {
  max-width: 980px !important;
}
body .cdr-page { max-width: 980px !important; }
body .p1-page { max-width: 980px !important; }
body .cdr-page,
body .p1-page {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body .btn,
body .sip-btn,
body .dep-btn,
body .rt-btn,
body .set-btn {
  filter: none !important;
}
body .dep-btn.primary {
  height: 48px !important;
  min-height: 48px !important;
}

body .panel:hover,
body .db-panel:hover,
body .rt-panel:hover,
body .sip-panel:hover,
body .dep-panel:hover,
body .cdr-panel:hover,
body .p1-page .panel:hover {
  transform: none !important;
  border-color: var(--border) !important;
  box-shadow: var(--shadow-panel, 0 8px 24px rgba(0, 0, 0, 0.28)) !important;
}
body .route-card:hover {
  transform: none !important;
}

body table { width: 100%; border-collapse: collapse; }
body thead th {
  font-size: 10px !important;
  font-weight: 650 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--t4) !important;
}

body .toast,
body #toast {
  background: var(--bg3) !important;
  border: 1px solid var(--border, var(--line)) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35) !important;
  backdrop-filter: none !important;
}

body textarea,
body .textarea {
  border-radius: 10px !important;
}

body .p1-ops .progress-fill,
body .badge.live {
  box-shadow: none !important;
}

body .sidebar-nav a.active {
  box-shadow: none !important;
}

/* =============================================================================
   Hard chrome lock — panels stay flat; buttons get a crisp polish pass.
   ============================================================================= */

body .btn-primary,
body .sip-btn.primary,
body .dep-btn.primary,
body .rt-btn.primary,
body .set-btn.primary,
body .btn.btn-primary,
body .cdr-page .cdr-btn.primary {
  background: var(--btn-primary-bg) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  text-shadow: none !important;
  filter: none !important;
  box-shadow: var(--btn-primary-shadow) !important;
}

body .btn-primary:hover,
body .sip-btn.primary:hover,
body .rt-btn.primary:hover:not(:disabled),
body .set-btn.primary:hover,
body .dep-btn.primary:hover,
body .cdr-page .cdr-btn.primary:hover {
  background: var(--btn-primary-bg-hover) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--btn-primary-shadow-hover) !important;
}

body .db-kpi:hover,
body .cdr-kpi:hover,
body .db-quick a:hover,
body .route-card:hover,
body .p1d-tile:hover,
body .panel:hover,
body .db-panel:hover,
body .rt-panel:hover,
body .sip-panel:hover,
body .dep-panel:hover,
body .cdr-panel:hover,
body .xfer-card:hover,
body a.rate-chip:hover,
body .hdr-chip:hover {
  transform: none !important;
}

body .hdr-chip,
body .rate-chip,
body .balance-wrap {
  background: var(--bg3) !important;
  border: 1px solid var(--border-h) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body a.rate-chip,
body .rate-chip {
  background: var(--accent-s) !important;
  border-color: var(--accent-h) !important;
  color: var(--accent-hot) !important;
}
body a.rate-chip:hover {
  background: var(--accent-m) !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

body .sidebar-nav .icon,
body .sidebar-nav .nav-icon {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body .sidebar-nav a.active .icon,
body .sidebar-nav a[aria-current="page"] .icon,
body .sidebar-nav a.active .nav-label,
body .sidebar-nav a[aria-current="page"] .nav-label {
  color: var(--accent) !important;
}

body .db-kpi,
body .cdr-kpi,
body .panel,
body .db-panel,
body .rt-panel,
body .sip-panel,
body .dep-panel,
body .cdr-panel,
body .p1-page .panel,
body .settings-stack .panel,
body .set-panel {
  background: var(--sd-surface, #1a1d21) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-panel, 0 8px 24px rgba(0, 0, 0, 0.28)) !important;
}

body .db-panel-h,
body .rt-panel-h,
body .sip-panel-h,
body .dep-panel-h,
body .cdr-panel-h,
body .panel-head,
body .p1-page .panel-head,
body .settings-stack .panel-head {
  background: var(--bg2) !important;
  border-bottom: 1px solid var(--border) !important;
}

body .content .input:not(#amount):focus,
body .content .select:focus,
body .sip-tool .input:focus,
body .p1-page .input:focus,
body .settings-stack .input:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-m) !important;
  outline: none !important;
}

body .db-quick .ico {
  background: var(--accent-s) !important;
  border: 1px solid var(--accent-h) !important;
  color: var(--accent) !important;
  box-shadow: none !important;
}

body .page-desc,
body .sip-top .sub,
body .db-top .sub,
body .rt-top .sub,
body .cdr-top .sub {
  color: var(--t3) !important;
  font-size: 12px !important;
}
body .db-hero .sub,
body .sip-hero .sub,
body .rt-hero .sub,
body .dep-hero .sub,
body .cdr-sub,
body .set-sub {
  color: var(--sd-mute, #9a968c) !important;
  font-size: 14px !important;
}

/* =============================================================================
   SIP signal desk — keep the polished sip.php composition (loads last)
   ============================================================================= */

body .sip-page .sip-hero {
  align-items: flex-end !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}
body .sip-page .sip-brand {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(30px, 4.2vw, 38px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.055em !important;
  color: #f3f1ea !important;
}
body .sip-page .sip-hero h1 {
  display: inline-flex !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
}
body .sip-page .sip-hero .sub {
  font-size: 14px !important;
  color: #9a968c !important;
  max-width: 34rem !important;
}
body .sip-page .sip-panel {
  border-radius: 16px !important;
}
body .sip-page .sip-panel-h {
  min-height: 48px !important;
  padding: 0 18px !important;
  border-radius: 16px 16px 0 0 !important;
}
body .sip-page .sip-panel-h h2 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #c8c5bc !important;
}
body .sip-page .sip-tool .input,
body .sip-page .sip-ip2ip-grid .input,
body .sip-page .sip-connect-bar select {
  height: 44px !important;
  min-height: 44px !important;
  border-radius: 12px !important;
}
body .sip-page .sip-btn {
  height: 42px !important;
  min-height: 42px !important;
  border-radius: 12px !important;
}
body .sip-page .sip-btn.ghost {
  height: 30px !important;
  min-height: 30px !important;
}
body .sip-page .sip-btn.primary {
  background: linear-gradient(180deg, var(--accent) 0%, var(--accent) 52%, var(--accent-deep) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.12) inset,
    0 6px 16px rgba(167, 139, 250, 0.26) !important;
}
body .sip-page .sip-btn.primary:hover {
  background: linear-gradient(180deg, var(--accent) 0%, var(--accent) 52%, var(--accent) 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.14) inset,
    0 10px 22px rgba(167, 139, 250, 0.32) !important;
}
body .sip-page .sip-seg.on {
  background: linear-gradient(180deg, var(--accent) 0%, var(--accent) 100%) !important;
  color: #fff !important;
}

/* =============================================================================
   Routes lane picker — keep polished rates.php composition (loads last)
   ============================================================================= */

body .rt-page .rt-hero {
  align-items: flex-end !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}
body .rt-page .rt-brand {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(30px, 4.2vw, 38px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.055em !important;
  color: #f3f1ea !important;
}
body .rt-page .rt-hero h1 {
  display: inline-flex !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
}
body .rt-page .rt-hero .sub {
  font-size: 14px !important;
  color: #9a968c !important;
}
body .rt-page .rt-panel {
  border-radius: 16px !important;
}
body .rt-page .rt-panel-h {
  min-height: 48px !important;
  padding: 0 18px !important;
  border-radius: 16px 16px 0 0 !important;
}
body .rt-page .rt-panel-h h2 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #c8c5bc !important;
}
body .rt-page .rt-search-wrap {
  height: 46px !important;
  min-height: 46px !important;
  border-radius: 14px !important;
  background: #0d0f11 !important;
}
body .rt-page .rt-btn {
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 8px !important;
}
body .rt-page .rt-btn.primary {
  background: var(--accent) !important;
  border: 1px solid transparent !important;
  color: #fff !important;
  box-shadow: none !important;
}
body .rt-page .rt-btn.primary:hover:not(:disabled) {
  background: var(--accent-deep) !important;
  transform: none !important;
  box-shadow: none !important;
}
body .rt-page .rt-lane:hover {
  transform: none !important;
}
body .rt-page .rt-lane.is-on {
  border-color: var(--accent) !important;
  background: #0d0f11 !important;
}

/* =============================================================================
   Dashboard — clean home lock (loads last; beats old Jump-in / grid fights)
   ============================================================================= */

body .db-page .db-hero {
  align-items: flex-end !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}
body .db-page .db-brand {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(28px, 4vw, 36px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.055em !important;
  color: #f3f1ea !important;
}
body .db-page .db-hero h1 {
  display: block !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
}
body .db-page .db-hero .sub {
  font-size: 14px !important;
  color: #9a968c !important;
}
body .db-page .db-ledger-v {
  font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace !important;
  font-size: clamp(28px, 4vw, 34px) !important;
  color: #f3f1ea !important;
}
body .db-page .db-kpis {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
body .db-page .db-kpi {
  border-radius: 14px !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22) !important;
  transform: none !important;
}
body .db-page .db-kpi:hover {
  transform: none !important;
}
body .db-page .db-panel {
  border-radius: 16px !important;
}
body .db-page .db-panel-h {
  min-height: 48px !important;
  padding: 0 16px !important;
  border-radius: 16px 16px 0 0 !important;
}
body .db-page .db-panel-h h2 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #c8c5bc !important;
}
body .db-page .db-route {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
body .db-page .db-quick {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  flex-direction: unset !important;
}
body .db-page .db-quick a {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: #0d0f11 !important;
  color: #c8c5bc !important;
  text-decoration: none !important;
  transform: none !important;
  box-shadow: none !important;
}
body .db-page .db-quick a:hover {
  border-color: rgba(167, 139, 250, 0.45) !important;
  background: rgba(167, 139, 250, 0.1) !important;
  color: #f3f1ea !important;
  transform: none !important;
}
body .db-page .db-quick .ico {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(167, 139, 250, 0.12) !important;
  border: 1px solid rgba(167, 139, 250, 0.28) !important;
  color: var(--accent) !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
}
body .db-page .db-quick .t {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  color: #f3f1ea !important;
}
body .db-page .db-quick .copy,
body .db-page .db-quick .d,
body .db-page .db-quick .chev {
  display: none !important;
}
@media (max-width: 900px) {
  body .db-page .db-kpis,
  body .db-page .db-quick {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .db-page .db-route {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* =============================================================================
   CDR search — stop the ugly double-box / full-bleed break in the filter grid
   ============================================================================= */

body .cdr-page .field.search-field {
  width: auto !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}
body .cdr-page .cdr-search-wrap,
body .cdr-page label.sd-search.cdr-search-wrap,
body .cdr-page label.sd-search {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  background: #0d0f11 !important;
  box-shadow: none !important;
}
body .cdr-page .cdr-search-wrap:hover,
body .cdr-page label.sd-search:hover {
  border-color: rgba(255, 255, 255, 0.16) !important;
}
body .cdr-page .cdr-search-wrap:focus-within,
body .cdr-page label.sd-search:focus-within {
  border-color: rgba(167, 139, 250, 0.55) !important;
  background: #121416 !important;
  box-shadow: 0 0 0 3px rgba(167, 139, 250, 0.18) !important;
}
body .cdr-page .cdr-search-wrap .sd-ico,
body .cdr-page .cdr-search-wrap svg,
body .cdr-page label.sd-search .sd-ico,
body .cdr-page label.sd-search svg {
  position: static !important;
  left: auto !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  color: #9a968c !important;
  opacity: 1 !important;
}
body .cdr-page .cdr-search-wrap:focus-within .sd-ico,
body .cdr-page .cdr-search-wrap:focus-within svg,
body .cdr-page label.sd-search:focus-within .sd-ico,
body .cdr-page label.sd-search:focus-within svg {
  color: var(--accent) !important;
}
body .cdr-page .cdr-search-wrap input,
body .cdr-page .cdr-search-wrap .cdr-search,
body .cdr-page label.sd-search input,
body .cdr-page label.sd-search .input {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 22px !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  color: #f3f1ea !important;
  font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace !important;
  font-size: 13px !important;
  line-height: 22px !important;
}
body .cdr-page .cdr-search-wrap input:focus,
body .cdr-page label.sd-search input:focus {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
body .cdr-page .cdr-search-wrap input::placeholder,
body .cdr-page label.sd-search input::placeholder {
  color: #6f6c65 !important;
  opacity: 1 !important;
}
body .cdr-page .input,
body .cdr-page .select {
  height: 42px !important;
  min-height: 42px !important;
  border-radius: 12px !important;
  background: #0d0f11 !important;
}

/* =============================================================================
   Deposit — same indigo console as dashboard / SIP (loads last)
   ============================================================================= */

body .dep-page .dep-hero {
  align-items: flex-end !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  background: linear-gradient(155deg, #23272c 0%, #121416 55%, #1a1d21 100%) !important;
}
body .dep-page .dep-brand {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(28px, 4vw, 36px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.055em !important;
  color: #f3f1ea !important;
}
body .dep-page .dep-hero h1 {
  display: block !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
}
body .dep-page .dep-hero .sub {
  font-size: 14px !important;
  color: #9a968c !important;
}
body .dep-page .dep-ledger-v {
  font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace !important;
  font-size: clamp(28px, 4vw, 34px) !important;
  color: #f3f1ea !important;
}
body .dep-page .dep-ledger-v .cur {
  color: var(--accent) !important;
}
body .dep-page .dep-panel {
  border-radius: 16px !important;
}
body .dep-page .dep-panel-h {
  min-height: 48px !important;
  padding: 0 16px !important;
}
body .dep-page .dep-panel-h h2 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #c8c5bc !important;
}
body .dep-page .dep-btn.primary {
  height: 48px !important;
  min-height: 48px !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, var(--accent) 0%, var(--accent) 52%, var(--accent-deep) 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.12) inset,
    0 6px 16px rgba(167, 139, 250, 0.26) !important;
}
body .dep-page .dep-btn.primary:hover {
  background: linear-gradient(180deg, var(--accent) 0%, var(--accent) 52%, var(--accent) 100%) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.14) inset,
    0 10px 22px rgba(167, 139, 250, 0.32) !important;
}
body .dep-page .dep-btn.primary .sd-ico {
  color: #fff !important;
}
body .dep-page #amount {
  height: auto !important;
  min-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: clamp(36px, 5vw, 48px) !important;
  color: #f3f1ea !important;
}
body .dep-page .dep-chip.on,
body .dep-page .dep-chips button.on,
body .dep-page .dep-asset.on {
  border-color: rgba(167, 139, 250, 0.55) !important;
  background: rgba(167, 139, 250, 0.14) !important;
}

/* =============================================================================
   CDR + Settings — quiet brand heroes (loads last)
   ============================================================================= */

body .cdr-page .cdr-hero,
body .settings-stack .set-hero {
  align-items: flex-end !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  background: linear-gradient(155deg, #23272c 0%, #121416 55%, #1a1d21 100%) !important;
}
body .cdr-page .cdr-orb,
body .settings-stack .set-orb {
  display: none !important;
}
body .cdr-page .cdr-hero-copy::before,
body .settings-stack .set-hero-copy::before {
  content: "mvr.rip" !important;
  display: block !important;
  margin: 0 0 8px !important;
  font-family: var(--sd-ff) !important;
  font-size: clamp(28px, 4vw, 36px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.055em !important;
  line-height: 1 !important;
  color: var(--sd-ink) !important;
}
body .cdr-page .cdr-kicker,
body .settings-stack .set-kicker {
  display: none !important;
}
body .cdr-page .cdr-hero h1,
body .settings-stack .set-hero h1 {
  display: block !important;
  font-family: var(--sd-ff) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--sd-accent) !important;
}
body .cdr-page .cdr-sub,
body .settings-stack .set-sub {
  font-size: 14px !important;
  color: var(--sd-mute) !important;
}
body .settings-stack .set-jump-link {
  border-radius: 10px !important;
  height: 34px !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--sd-line) !important;
  transform: none !important;
}
body .settings-stack .set-panel {
  border-radius: 16px !important;
}
body .settings-stack .set-panel-h h2 {
  font-family: var(--sd-ff) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  color: #c8c5bc !important;
}
body .p1-page .p1-access-cta {
  background: var(--btn-primary-bg) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: var(--btn-primary-shadow) !important;
}
body .p1-page .p1-access-cta:hover {
  background: var(--btn-primary-bg-hover) !important;
  box-shadow: var(--btn-primary-shadow-hover) !important;
  transform: translateY(-1px) !important;
  filter: none !important;
}

/* =============================================================================
   FINAL SYMMETRY PASS — one frame, one rhythm, mirrored composition
   ============================================================================= */

@keyframes sdRise {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
@keyframes sdSoftIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes sdBreath {
  0%, 100% { opacity: 0.55; }
  50% { opacity: 0.9; }
}

/* One content frame — every page shares the same column */
body .app .content {
  width: 100% !important;
  max-width: calc(var(--sd-frame) + 40px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 20px 20px 48px !important;
  box-sizing: border-box !important;
}
body .db-page,
body .sip-page,
body .rt-page,
body .dep-page,
body .cdr-page,
body .settings-stack,
body .p1-page {
  width: 100% !important;
  max-width: var(--sd-frame) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--sd-space) !important;
}

/* Mirrored heroes — equal padding, equal corners, balanced glow */
body .db-hero,
body .sip-hero,
body .rt-hero,
body .dep-hero,
body .cdr-hero,
body .set-hero {
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: var(--sd-space) !important;
  flex-wrap: wrap !important;
  padding: var(--sd-hero-pad) !important;
  border-radius: var(--sd-radius-hero) !important;
  border: 1px solid var(--sd-line) !important;
  background: linear-gradient(155deg, #23272c 0%, #121416 52%, #1a1d21 100%) !important;
  box-shadow: none !important;
  animation: sdRise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both !important;
}
body .db-hero-bg,
body .sip-hero-bg,
body .rt-hero-bg,
body .dep-hero-bg,
body .cdr-hero-atmosphere,
body .set-hero-atmosphere {
  pointer-events: none !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(70% 65% at 0% 0%, rgba(167, 139, 250, 0.2), transparent 58%),
    radial-gradient(70% 65% at 100% 100%, rgba(167, 139, 250, 0.12), transparent 58%) !important;
  animation: sdBreath 8s ease-in-out infinite !important;
}
body .sip-hero-grid,
body .rt-hero-grid,
body .cdr-hero-grid,
body .set-hero-grid {
  pointer-events: none !important;
  position: absolute !important;
  inset: 0 !important;
  opacity: 0.16 !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) !important;
  background-size: 28px 28px !important;
  mask-image: radial-gradient(ellipse at 50% 40%, #000 25%, transparent 78%) !important;
}

/* Brand wordmark + uppercase page title — same optical stack */
body .db-brand,
body .sip-brand,
body .rt-brand,
body .dep-brand,
body .cdr-hero-copy::before,
body .set-hero-copy::before {
  margin: 0 0 8px !important;
  font-family: var(--sd-ff) !important;
  font-size: clamp(28px, 3.6vw, 36px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.055em !important;
  line-height: 1 !important;
  color: var(--sd-ink) !important;
}
body .db-hero h1,
body .sip-hero h1,
body .rt-hero h1,
body .dep-hero h1,
body .cdr-hero h1,
body .set-hero h1 {
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--sd-ff) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--sd-accent) !important;
  line-height: 1.2 !important;
}
body .db-hero .sub,
body .sip-hero .sub,
body .rt-hero .sub,
body .dep-hero .sub,
body .cdr-sub,
body .set-sub {
  margin: 10px 0 0 !important;
  max-width: 34rem !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--sd-mute) !important;
}

/* Right-side hero meters / ledgers — same alignment language */
body .db-ledger,
body .dep-ledger {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 6px !important;
  min-width: 160px !important;
  text-align: right !important;
}
body .sip-hero-aside {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 10px !important;
  min-width: 160px !important;
}
body .rt-meter {
  position: relative !important;
  align-items: stretch !important;
  text-align: left !important;
  min-width: 240px !important;
  padding: 16px 18px !important;
  border-radius: var(--sd-radius-panel) !important;
  box-sizing: border-box !important;
}
body .db-ledger-k,
body .dep-ledger-k {
  font-family: var(--sd-fm) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--sd-mute) !important;
}
body .db-ledger-v,
body .dep-ledger-v {
  font-family: var(--sd-fm) !important;
  font-size: clamp(26px, 3.5vw, 34px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.04em !important;
  color: var(--sd-ink) !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;
}
body .rt-meter-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

/* Panels — equal radius, equal heads, equal body pad */
body .db-panel,
body .sip-panel,
body .rt-panel,
body .dep-panel,
body .cdr-panel,
body .set-panel,
body .p1-page .panel,
body .settings-stack .panel {
  border-radius: var(--sd-radius-panel) !important;
  border: 1px solid var(--sd-line) !important;
  background: var(--sd-surface) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24) !important;
  overflow: hidden !important;
  animation: sdRise 0.55s cubic-bezier(0.22, 1, 0.36, 1) both !important;
}
body .db-page > *:nth-child(1),
body .sip-page > *:nth-child(1),
body .rt-page > *:nth-child(1),
body .dep-page > *:nth-child(1),
body .cdr-page > *:nth-child(1),
body .settings-stack > *:nth-child(1) { animation-delay: 0.02s !important; }
body .db-page > *:nth-child(2),
body .sip-page > *:nth-child(2),
body .rt-page > *:nth-child(2),
body .dep-page > *:nth-child(2),
body .cdr-page > *:nth-child(2),
body .settings-stack > *:nth-child(2) { animation-delay: 0.07s !important; }
body .db-page > *:nth-child(3),
body .sip-page > *:nth-child(3),
body .rt-page > *:nth-child(3),
body .dep-page > *:nth-child(3),
body .cdr-page > *:nth-child(3),
body .settings-stack > *:nth-child(3) { animation-delay: 0.12s !important; }
body .db-page > *:nth-child(4),
body .sip-page > *:nth-child(4),
body .rt-page > *:nth-child(4),
body .dep-page > *:nth-child(4),
body .cdr-page > *:nth-child(4),
body .settings-stack > *:nth-child(4) { animation-delay: 0.17s !important; }
body .db-page > *:nth-child(5),
body .sip-page > *:nth-child(5),
body .rt-page > *:nth-child(5),
body .dep-page > *:nth-child(5),
body .cdr-page > *:nth-child(5),
body .settings-stack > *:nth-child(5) { animation-delay: 0.22s !important; }

body .db-panel-h,
body .sip-panel-h,
body .rt-panel-h,
body .dep-panel-h,
body .cdr-panel-h,
body .set-panel-h,
body .panel-head,
body .p1-page .panel-head {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: var(--sd-panel-h) !important;
  height: var(--sd-panel-h) !important;
  padding: 0 16px !important;
  border-bottom: 1px solid var(--sd-line) !important;
  background: var(--sd-raised) !important;
  box-sizing: border-box !important;
}
body .db-panel-h h2,
body .sip-panel-h h2,
body .rt-panel-h h2,
body .dep-panel-h h2,
body .cdr-panel-h h2,
body .set-panel-h h2,
body .panel-head h2 {
  margin: 0 !important;
  font-family: var(--sd-ff) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: -0.015em !important;
  text-transform: none !important;
  color: #c8c5bc !important;
}
body .db-panel-b,
body .sip-panel-b,
body .rt-panel-b,
body .dep-panel-b,
body .cdr-panel-b,
body .set-panel-b,
body .panel-body {
  padding: 16px !important;
}

/* Equal grids — KPIs / quick / route / chips */
body .db-kpis,
body .cdr-kpis {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--sd-gap) !important;
}
body .db-kpi,
body .cdr-kpi {
  min-height: 92px !important;
  padding: 16px !important;
  border-radius: var(--sd-radius-tile) !important;
  border: 1px solid var(--sd-line) !important;
  background: var(--sd-surface) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2) !important;
  box-sizing: border-box !important;
}
body .db-route {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
body .db-route-item {
  min-height: 72px !important;
  padding: 12px 14px !important;
  border-radius: var(--sd-radius-ctrl) !important;
  box-sizing: border-box !important;
}
body .db-quick {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
body .db-quick a {
  min-height: 52px !important;
  padding: 12px 14px !important;
  border-radius: var(--sd-radius-ctrl) !important;
  box-sizing: border-box !important;
}
body .dep-chips {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
body .set-jump {
  gap: 8px !important;
}

/* Controls — shared control height rhythm */
body .btn:not(.btn-sm):not(.icon-btn):not(.add-funds-btn),
body .sip-btn:not(.ghost),
body .dep-btn:not(.ghost),
body .rt-btn,
body .set-btn:not(.ghost),
body .cdr-btn {
  height: 42px !important;
  min-height: 42px !important;
  border-radius: var(--sd-radius-ctrl) !important;
}
body .dep-btn.primary {
  height: 48px !important;
  min-height: 48px !important;
}

/* Tables — even columns feel */
body .db-table th,
body .db-table td,
body .rt-table th,
body .rt-table td,
body .cdr-page table th,
body .cdr-page table td,
body .sip-page table th,
body .sip-page table td {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

/* Soft page wash — balanced center atmosphere behind content */
body .main {
  position: relative !important;
  background:
    radial-gradient(90% 50% at 50% 0%, rgba(167, 139, 250, 0.07), transparent 55%),
    var(--bg, #0d0f11) !important;
}
body .main > .content {
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 900px) {
  body .db-kpis,
  body .cdr-kpis,
  body .db-quick,
  body .dep-chips {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .db-route {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .db-ledger,
  body .dep-ledger,
  body .sip-hero-aside {
    align-items: flex-start !important;
    text-align: left !important;
    width: 100% !important;
  }
  body .rt-meter {
    width: 100% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 560px) {
  body .db-hero,
  body .sip-hero,
  body .rt-hero,
  body .dep-hero,
  body .cdr-hero,
  body .set-hero {
    padding: 20px 18px !important;
  }
  body .app .content {
    padding: 14px 14px 36px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body .db-hero,
  body .sip-hero,
  body .rt-hero,
  body .dep-hero,
  body .cdr-hero,
  body .set-hero,
  body .db-panel,
  body .sip-panel,
  body .rt-panel,
  body .dep-panel,
  body .cdr-panel,
  body .set-panel,
  body .db-hero-bg,
  body .sip-hero-bg,
  body .rt-hero-bg,
  body .dep-hero-bg,
  body .cdr-hero-atmosphere,
  body .set-hero-atmosphere {
    animation: none !important;
  }
}


/* ---- ICON INTEGRITY (finish.css — last word) ----
   One rule: the generic .icon span never inflates. Icons render at svg size. */
span.icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
span.icon > svg {
  display: block;
  width: 1em;
  height: 1em;
  min-width: 16px;
  min-height: 16px;
}
.sd-ico-txt {
  line-height: 1.2;
  white-space: nowrap;
}
button > svg + .sd-ico-txt,
.sip-btn > svg + span {
  gap: 0;
  margin-left: 7px;
}
