/* =====================================================
   Premium fintech redesign — global override
   Applied on top of legacy stylesheets to give every page
   a minimal, Revolut-inspired look without touching logic.
   ===================================================== */

:root {
  --rv-bg: #F7F8FA;
  --rv-card: #FFFFFF;
  --rv-text: #0B0B0F;
  --rv-text-2: #6B7280;
  --rv-border: #ECECEC;
  --rv-btn: #111111;
  --rv-btn-text: #FFFFFF;
  --rv-accent: #8B5CF6;
  --rv-accent-soft: #F1ECFE;
  --rv-success: #22C55E;
  --rv-error: #EF4444;
  --rv-radius: 20px;
  --rv-radius-sm: 14px;
  --rv-shadow: 0 1px 2px rgba(11, 11, 15, 0.04), 0 4px 16px rgba(11, 11, 15, 0.04);
  --rv-font: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display",
    "SF Pro Text", "Segoe UI", system-ui, sans-serif;
}

html, body {
  background: var(--rv-bg) !important;
  color: var(--rv-text) !important;
  font-family: var(--rv-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.005em;
}

/* Map legacy brand variables to the new palette so anything still
   referencing them switches automatically. */
:root {
  --primary: #111111 !important;
  --bs-primary: #111111;
  --bs-primary-rgb: 17, 17, 17;
  --faq-selecionado: var(--rv-accent-soft) !important;
  --faq-selecionado-fonte: var(--rv-text) !important;
  --footer-background: #FFFFFF !important;
  --footer-font-color: var(--rv-text-2) !important;
  --nav-background: #FFFFFF !important;
  --background-body: var(--rv-bg) !important;
  --h2: var(--rv-text) !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.hero-title, .section-title, .card-title, .step-title,
.card-sub-title {
  color: var(--rv-text) !important;
  font-family: var(--rv-font) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

p, span, label, small, li, td, th,
.section-subtitle, .step-subtitle, .desc, .text-muted,
.hero-subtitle, .benefit-text, .footer-text {
  font-family: var(--rv-font) !important;
}

/* ---------- Navbar / header ---------- */
.navbar, header, .header, .chat-header, .step-header {
  background: #FFFFFF !important;
  border-bottom: 1px solid var(--rv-border) !important;
  box-shadow: none !important;
}
.header-inner, .header-content, .navbar > .container,
.chat-header { padding-top: 14px !important; padding-bottom: 14px !important; }

.header-cta, .navbar .btn, .btn-simular {
  background: var(--rv-btn) !important;
  color: var(--rv-btn-text) !important;
  border-radius: 999px !important;
  border: none !important;
  padding: 10px 22px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: transform .15s ease, opacity .15s ease;
}
.header-cta:hover, .navbar .btn:hover { opacity: .9; transform: translateY(-1px); }

/* ---------- Buttons ---------- */
.btn-primary, .btn-cta, .btn-next, .btn-finalizar,
.btn-finalizar-sub, button.btn-primary, .approval-btn,
input[type="submit"].btn, .step-button-next, .btn-confirmar {
  background: var(--rv-btn) !important;
  background-image: none !important;
  color: var(--rv-btn-text) !important;
  border: none !important;
  border-radius: 18px !important;
  padding: 16px 24px !important;
  font-weight: 600 !important;
  font-family: var(--rv-font) !important;
  letter-spacing: -0.01em;
  box-shadow: none !important;
  transition: transform .18s ease, opacity .18s ease;
}
.btn-primary:hover, .btn-cta:hover, .btn-next:hover,
.btn-finalizar:hover, .approval-btn:hover { opacity: .92; transform: translateY(-1px); }

.btn-back, .btn-secondary, .btn-outline-primary {
  background: #FFFFFF !important;
  color: var(--rv-text) !important;
  border: 1px solid var(--rv-border) !important;
  border-radius: 18px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

/* ---------- Cards / containers ---------- */
.card, .option-card, .info-box, .accordion-item, .stat-card,
.main-card, .approval-modal, .step-panel, .option-item,
.detail-box, .trust-bar, .alert-success,
.error-toast, .approval-content {
  background: var(--rv-card) !important;
  border: 1px solid var(--rv-border) !important;
  border-radius: var(--rv-radius) !important;
  box-shadow: var(--rv-shadow) !important;
}
.main-card, .approval-modal, .approval-content { border-radius: 28px !important; }

.section-subtitle, .desc, .benefit-text, .footer-text,
.text-muted, small.text-muted, .step-subtitle, .receipt-label,
.detail-label, .stat-label {
  color: var(--rv-text-2) !important;
}

/* ---------- Inputs ---------- */
.form-input, .form-select-new, .chat-input, input[type="text"],
input[type="number"], input[type="email"], input[type="tel"],
input[type="password"], input[type="search"], textarea, select,
.form-control {
  background: #FFFFFF !important;
  border: 1px solid var(--rv-border) !important;
  border-radius: 16px !important;
  padding: 14px 16px !important;
  font-family: var(--rv-font) !important;
  font-size: 15px !important;
  color: var(--rv-text) !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.form-input::placeholder, textarea::placeholder, input::placeholder {
  color: #9CA3AF !important;
}
.form-input:focus, .form-select-new:focus, .chat-input:focus,
textarea:focus, input:focus, select:focus, .form-control:focus {
  border-color: var(--rv-btn) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.06) !important;
}

/* ---------- Benefit / lavender icon circles ---------- */
.benefit-icon, .item-icon, .header-icon, .step-icon,
.user-icon-wrapper, .ib-icon, .val-step-icon, .check-icon,
.menu-icon {
  background: var(--rv-accent-soft) !important;
  color: var(--rv-text) !important;
  border-radius: 14px !important;
  border: none !important;
  box-shadow: none !important;
}
.benefit-icon svg, .item-icon svg, .header-icon svg,
.step-icon svg, .ib-icon svg, .val-step-icon svg,
.check-icon svg, .menu-icon svg { color: var(--rv-text) !important; stroke: var(--rv-text) !important; }

/* Hero badge */
.hero-badge {
  background: var(--rv-accent-soft) !important;
  color: var(--rv-text) !important;
  border: none !important;
}
.hero-badge svg { color: var(--rv-accent) !important; }

/* Hero background — flatten to neutral */
.hero-banner, .hero, .hero-section {
  background: linear-gradient(180deg, #FFFFFF 0%, #F4F0FF 60%, #F7F8FA 100%) !important;
  background-image: none !important;
  position: relative !important;
  overflow: hidden !important;
  padding: 96px 20px 48px !important;
  display: block !important;
  text-align: left !important;
  min-height: 0 !important;
  height: auto !important;
}
/* Hero badge */
.hero-badge { display: inline-flex !important; align-items: center !important; gap: 6px !important; padding: 6px 12px !important; border-radius: 999px !important; font-size: 13px !important; font-weight: 600 !important; margin-bottom: 4px !important; }

/* Stop the main card from sliding up over the hero amount */
.main-card-container { margin-top: 8px !important; }
.main-card { margin-top: 0 !important; }
.hero-decorations, .money-float { display: none !important; }

.hero-banner { background-image: linear-gradient(180deg, #FFFFFF 0%, #F4F0FF 60%, #F7F8FA 100%) !important; }

.hero-content {
  position: relative !important;
  z-index: 2 !important;
  width: 62% !important;
  max-width: 62% !important;
  margin: 0 !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
.hero-content > * { text-align: left !important; margin-left: 0 !important; margin-right: 0 !important; }
.hero-title { font-size: 26px !important; line-height: 1.1 !important; font-weight: 800 !important; letter-spacing: -0.03em !important; margin-top: 8px !important; margin-bottom: 0 !important; }
.hero-subtitle { color: var(--rv-text-2) !important; font-size: 14px !important; margin-top: 6px !important; margin-bottom: 0 !important; line-height: 1.35 !important; }
.hero-amount { margin-top: 10px !important; display: block !important; }
.hero-amount-label { color: var(--rv-text-2) !important; font-size: 14px !important; }
.hero-amount-value { color: var(--rv-text) !important; font-size: 30px !important; font-weight: 800 !important; letter-spacing: -0.03em !important; display: block !important; }
.hero-amount-value .currency { font-size: 1em !important; vertical-align: baseline !important; margin-right: 4px !important; }

.hero-visual {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 180px !important;
  max-width: 45% !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.hero-visual img { width: 100% !important; height: auto !important; display: block !important; filter: drop-shadow(0 20px 30px rgba(80, 60, 130, 0.18)); }

@media (min-width: 900px) {
  .hero-banner { padding: 64px 64px 80px !important; }
  .hero-content { max-width: 520px !important; width: 520px !important; }
  .hero-title { font-size: 56px !important; }
  .hero-visual { right: 6% !important; max-width: 480px !important; width: 40% !important; }
}

/* Numeric highlights */
.detail-value.highlight, .stat-number, .pricing-value,
.hero-amount-value, .simulator-amount, .due-date-number,
.receipt-value { color: var(--rv-text) !important; }

/* Trust badges */
.trust-badge, .footer-badges > * {
  background: transparent !important;
  color: var(--rv-text) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 6px 10px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.trust-badge svg { width: 18px !important; height: 18px !important; color: #0B0B0F !important; stroke: #0B0B0F !important; }

.trust-section, .trust-bar {
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--rv-border) !important;
  box-shadow: none !important;
  margin: 16px 16px 0 !important;
  padding: 16px 8px 8px !important;
}
.trust-badges {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 10px 16px !important;
  max-width: 320px !important;
  margin: 0 auto !important;
}
.trust-badges .trust-badge:nth-child(3) {
  grid-column: 1 / -1 !important;
}

/* ---------- Footer ---------- */
.site-footer, footer, .footer {
  background: #FFFFFF !important;
  color: var(--rv-text-2) !important;
  border-top: 1px solid var(--rv-border) !important;
}

/* ---------- Chat ---------- */
.chat-container { background: var(--rv-bg) !important; }
.chat-header { background: #FFFFFF !important; color: var(--rv-text) !important; border-bottom: 1px solid var(--rv-border) !important; }
.attendant-avatar { background: var(--rv-accent-soft) !important; color: var(--rv-text) !important; }
.chat-messages { background: var(--rv-bg) !important; }
.message.bot .message-bubble, .bot .message-bubble {
  background: #FFFFFF !important; color: var(--rv-text) !important;
  border: 1px solid var(--rv-border) !important; border-radius: 18px !important;
}
.message.user .message-bubble, .user .message-bubble {
  background: #FFFFFF !important; color: var(--rv-text) !important;
  border: 1px solid var(--rv-border) !important;
  border-radius: 18px !important;
}

/* ---------- Slider ---------- */
.slider-track { background: var(--rv-border) !important; height: 4px !important; border-radius: 999px !important; }
.slider-progress { background: var(--rv-btn) !important; }
.slider-thumb {
  background: #FFFFFF !important;
  border: 2px solid var(--rv-btn) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
  width: 22px !important; height: 22px !important;
}
input[type="range"]::-webkit-slider-thumb {
  background: var(--rv-btn) !important;
}

/* ---------- Progress / dots ---------- */
.progress-fill, .step-line, .step-dot.active, .dot.active {
  background: var(--rv-btn) !important;
}
.progress-bar { background: var(--rv-border) !important; }

/* ---------- Approval / success modal ---------- */
.alert-success, .approval-check-icon {
  background: var(--rv-card) !important;
  color: var(--rv-success) !important;
  border-color: var(--rv-border) !important;
}

/* ---------- Error states ---------- */
.error-toast { color: var(--rv-error) !important; }

/* ---------- Misc cleanup ---------- */
[style*="background: linear-gradient(135deg, rgb(255"],
[style*="background:linear-gradient(135deg, rgb(255"] {
  background: var(--rv-bg) !important;
}

/* Reduce decorative floating money svgs on hero */
.hero-decorations svg { fill: #C7C9D1 !important; }

/* Bootstrap primary overrides for legacy pages */
.bg-primary { background-color: var(--rv-btn) !important; }
.text-primary { color: var(--rv-text) !important; }
.btn-warning, .bg-warning { background: var(--rv-btn) !important; color: var(--rv-btn-text) !important; border: none !important; }

/* ---------- Simulator section (Revolut-style card) ---------- */
.simulator-section {
  background: #FFFFFF !important;
  border: 1px solid var(--rv-border) !important;
  border-radius: 24px !important;
  padding: 24px 20px !important;
  box-shadow: var(--rv-shadow) !important;
  margin: 16px 0 !important;
}
.simulator-value {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  margin-bottom: 18px !important;
}
.simulator-label {
  color: var(--rv-text-2) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  order: 1;
}
.simulator-amount {
  color: var(--rv-text) !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  order: 2;
}
.simulator-slider {
  position: relative !important;
  padding: 0 48px !important;
}
.simulator-slider::before,
.simulator-slider::after {
  content: none !important;
}
.simulator-slider .sim-step-btn {
  position: absolute !important;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #0B0B0F;
  border: none;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  z-index: 3;
  transition: transform .15s ease, opacity .15s ease;
}
.simulator-slider .sim-step-btn:active { transform: translateY(-50%) scale(0.92); }
.simulator-slider .sim-step-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.simulator-slider .sim-step-btn--minus { left: 0; }
.simulator-slider .sim-step-btn--plus { right: 0; }
.simulator-slider .custom-slider { position: relative !important; height: 36px !important; display: flex; align-items: center; }
.simulator-slider .slider-track {
  position: relative !important;
  width: 100% !important;
  height: 4px !important;
  background: #ECECEC !important;
  border-radius: 999px !important;
}
.simulator-slider .slider-progress { background: #0B0B0F !important; height: 100% !important; border-radius: 999px !important; }
.simulator-slider .slider-thumb {
  width: 20px !important;
  height: 20px !important;
  background: #FFFFFF !important;
  border: 2px solid #0B0B0F !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}
.simulator-slider .slider-labels {
  display: flex !important;
  justify-content: space-between !important;
  margin-top: 10px !important;
  padding: 0 4px !important;
  font-size: 13px !important;
  color: var(--rv-text-2) !important;
  font-weight: 500 !important;
}
.simulator-details {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
  margin-top: 20px !important;
}
.simulator-details .detail-box {
  background: #F7F8FA !important;
  border: 1px solid var(--rv-border) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  box-shadow: none !important;
}
.simulator-details .detail-label { color: var(--rv-text-2) !important; font-size: 12px !important; font-weight: 500 !important; text-transform: lowercase; }
.simulator-details .detail-value { color: var(--rv-text) !important; font-size: 15px !important; font-weight: 700 !important; }
.testimonial-card { border-left: 4px solid #0B0B0F !important; }
.author-avatar { background: #f7f8fa !important; color: #0B0B0F !important; }


.footer-company strong { color: #0B0B0F !important; }
.site-footer strong, footer strong { color: #0B0B0F !important; }


.footer-badges svg, .footer-badges > * svg { color: #0B0B0F !important; stroke: #0B0B0F !important; }

/* ---------- /verificacao fixes ---------- */
/* Active step dot: black background, white text; remove the black NIF label chip */
.step-dot.active .dot {
  background: #0B0B0F !important;
  color: #FFFFFF !important;
  border-color: #0B0B0F !important;
}
.step-dot .dot-label {
  background: transparent !important;
  color: var(--rv-text-2) !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-weight: 500 !important;
}
.step-dot.active .dot-label {
  color: var(--rv-text) !important;
  font-weight: 600 !important;
}

/* Remove the divider line under the step header / "Vamos começar!" */
.card-divider,
.step-header { border-bottom: none !important; }
.step-header::after { display: none !important; content: none !important; }

/* Trust bar: make the lock icon and text black */
.trust-bar { color: #0B0B0F !important; }
.trust-bar svg { color: #0B0B0F !important; stroke: #0B0B0F !important; }
.trust-bar span { color: #0B0B0F !important; }

/* Footer badges: align horizontally on one row like the home page */
.footer-badges {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px 14px !important;
  max-width: 100% !important;
  padding: 0 12px !important;
  box-sizing: border-box !important;
}
.footer-badges > * {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #0B0B0F !important;
}
.footer-badges > * svg { width: 14px !important; height: 14px !important; }

/* Header user avatar: black icon/border, lavender background */
.user-avatar {
  background: #f1ecfe !important;
  border-color: #0B0B0F !important;
  color: #0B0B0F !important;
}
.user-avatar svg { color: #0B0B0F !important; stroke: #0B0B0F !important; }

/* Match avatar styling on pages that use .user-icon-wrapper (e.g. /informacoes) */
.user-icon-wrapper {
  background: #f1ecfe !important;
  border: 1px solid #0B0B0F !important;
  color: #0B0B0F !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.user-icon-wrapper svg {
  width: 18px !important;
  height: 18px !important;
  color: #0B0B0F !important;
  stroke: #0B0B0F !important;
}

/* /informacoes — drop the card border and give breathing room below the header */
.card:has(.step-counter) {
  border: none !important;
  background: #FFFFFF !important;
  box-shadow: 0 1px 2px rgba(11,11,15,0.04), 0 8px 24px rgba(11,11,15,0.06) !important;
  border-radius: 20px !important;
  margin-top: 12px !important;
}

/* Inner step panels should be borderless (they live inside the white card) */
.step-panel {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Selected option / item — visible black border */
.option-card.selected,
.option-item.selected,
.situation-card.selected {
  border: 2px solid #0B0B0F !important;
  background: #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(11,11,15,0.08) !important;
}

/* Remove black background behind the active step indicator */
.step-dot,
.step-dot.active {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Override the legacy orange brand variables to black on /verificacao */
:root {
  --green: #0B0B0F !important;
  --green-dark: #0B0B0F !important;
}
.step-dot.active .dot,
.step-dot.done .dot {
  background: #0B0B0F !important;
  border-color: #0B0B0F !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}

/* /facial — match the reference: tinted page background, no modal/card outline */
html:has(#stepConsent),
body:has(#stepConsent) {
  background: #f6f9fe !important;
}

#stepConsent.card {
  background: #FFFFFF !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Slightly smaller header logo across all pages */
.header img[alt="Revolut"],
header.header img[alt="Revolut"] {
  height: 18px !important;
}

/* /facial — breathing room between header and the "Verificação facial" title */
#stepConsent.card { margin-top: 28px !important; }
#stepConsent.card > h1:first-child { margin-top: 8px !important; }

/* ---------- /conta — tema escuro (conta-dark-v1) ----------
   Sobrescreve revolut-redesign.css (!important global em .card) */

body:has(.conta-root.theme-dark),
.conta-root.theme-dark {
  background: #0B0D12 !important;
  color: #E8EAEF !important;
}

.conta-root.theme-dark .home,
.conta-root.theme-dark .lv,
.conta-root.theme-dark .profile-page {
  background: #0B0D12 !important;
}

.conta-root.theme-dark .card,
.conta-root.theme-dark .menu-card,
.conta-root.theme-dark .moves-card,
.conta-root.theme-dark .yield-card,
.conta-root.theme-dark .lv-card,
.conta-root.theme-dark .profile-card,
.conta-root.theme-dark .profile-settings,
.conta-root.theme-dark .loan-card {
  background: #151820 !important;
  border-color: #252A35 !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.conta-root.theme-dark .yield-card {
  background: linear-gradient(135deg, #151820 0%, #1A2030 100%) !important;
}

.conta-root.theme-dark .balance-label,
.conta-root.theme-dark .hello-greet,
.conta-root.theme-dark .menu-text > span,
.conta-root.theme-dark .move-body span,
.conta-root.theme-dark .move-right span,
.conta-root.theme-dark .lv-sub,
.conta-root.theme-dark .lv-hint,
.conta-root.theme-dark .profile-top p,
.conta-root.theme-dark .profile-row span,
.conta-root.theme-dark .yield-body p,
.conta-root.theme-dark .yield-eyebrow,
.conta-root.theme-dark .yield-tag,
.conta-root.theme-dark .loan-sub,
.conta-root.theme-dark .loan-foot,
.conta-root.theme-dark .loan-tag {
  color: #8B92A5 !important;
}

.conta-root.theme-dark .hello-name,
.conta-root.theme-dark .balance-value,
.conta-root.theme-dark .menu-text strong,
.conta-root.theme-dark .move-body strong,
.conta-root.theme-dark .moves-head h3,
.conta-root.theme-dark .lv-title,
.conta-root.theme-dark .profile-top h1,
.conta-root.theme-dark .profile-row strong,
.conta-root.theme-dark .profile-settings h2,
.conta-root.theme-dark .setting-row > span,
.conta-root.theme-dark .yield-body h3,
.conta-root.theme-dark .loan-value {
  color: #F2F4F8 !important;
}

.conta-root.theme-dark .rv-wordmark,
.conta-root.theme-dark .lv-top h1 {
  color: #fff !important;
}

.conta-root.theme-dark .action-circle {
  background: #1E222D !important;
  color: #F2F4F8 !important;
  border-color: #2A3040 !important;
}

.conta-root.theme-dark .action-label {
  color: #E8EAEF !important;
}

.conta-root.theme-dark .top-btn,
.conta-root.theme-dark .eye-btn {
  background: #1E222D !important;
  color: #E8EAEF !important;
  border-color: #2A3040 !important;
}

.conta-root.theme-dark .avatar,
.conta-root.theme-dark .top-avatar {
  background: #2A3040 !important;
  color: #F2F4F8 !important;
}

.conta-root.theme-dark .aer-pill {
  background: #1A2E22 !important;
  color: #4ADE80 !important;
}

.conta-root.theme-dark .moves-link {
  color: #60A5FA !important;
}

.conta-root.theme-dark .menu-ar {
  color: #6E7689 !important;
}

.conta-root.theme-dark .alert-bar {
  background: #1A1420 !important;
  border-color: #2A2035 !important;
}

.conta-root.theme-dark .alert-body strong {
  color: #F2F4F8 !important;
}

.conta-root.theme-dark .alert-body p {
  color: #A89BB5 !important;
}

.conta-root.theme-dark .alert-ic {
  background: #2A2035 !important;
  color: #C4B5FD !important;
}

.conta-root.theme-dark .menu-row.with-sep,
.conta-root.theme-dark .move-sep,
.conta-root.theme-dark .lv-method.with-sep,
.conta-root.theme-dark .setting-row + .setting-row {
  border-color: #252A35 !important;
}

.conta-root.theme-dark .tabbar,
.conta-root.theme-dark .lv-tabbar {
  background: #12151C !important;
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.35) !important;
}

.conta-root.theme-dark .tab,
.conta-root.theme-dark .lv-tab {
  color: #6E7689 !important;
}

.conta-root.theme-dark .tab.on,
.conta-root.theme-dark .lv-tab.on {
  color: #F2F4F8 !important;
}

.conta-root.theme-dark .lv-field input {
  background: #0B0D12 !important;
  border-color: #2A3040 !important;
  color: #F2F4F8 !important;
}

.conta-root.theme-dark .lv-field label {
  color: #8B92A5 !important;
}

.conta-root.theme-dark .lv-hero {
  background: #151820 !important;
}

.conta-root.theme-dark .lv-important {
  background: #1A1520 !important;
}

.conta-root.theme-dark .seg-control {
  background: #0B0D12 !important;
  border: 1px solid #2A3040 !important;
}

.conta-root.theme-dark .seg-control button {
  color: #8B92A5 !important;
}

.conta-root.theme-dark .seg-control button.on {
  background: #2A3040 !important;
  color: #F2F4F8 !important;
}

.conta-root.theme-dark .move-amt.pos {
  color: #4ADE80 !important;
}

.conta-root.theme-dark .move-amt.neg {
  color: #FB923C !important;
}

