/**
 * Titanium Night Gold 100 — Internet Banking theme
 * Apenas modo escuro · fundo #0D0D0D · destaque #d9c264
 * Tipografia: Titillium Web (Light / Regular / SemiBold) · Inter Regular (fallback / detalhes)
 * Nunca usar Titillium Bold — pesos ≥700 mapeiam para SemiBold.
 */

/* Titillium Web */
@font-face {
  font-family: "Titillium Web";
  src: url("../fonts/TitilliumWeb-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Titillium Web";
  src: url("../fonts/TitilliumWeb-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Medium (500) → Regular (sem face Medium) */
@font-face {
  font-family: "Titillium Web";
  src: url("../fonts/TitilliumWeb-Regular.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Titillium Web";
  src: url("../fonts/TitilliumWeb-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Bold/Heavy solicitados no CSS → SemiBold (nunca Titillium Bold) */
@font-face {
  font-family: "Titillium Web";
  src: url("../fonts/TitilliumWeb-SemiBold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Titillium Web";
  src: url("../fonts/TitilliumWeb-SemiBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Titillium Web";
  src: url("../fonts/TitilliumWeb-SemiBold.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Inter Regular — fallback e detalhes (IDs / comprovante) */
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.ib-theme-titanium-night-gold100.ib-app,
.ib-theme-titanium-night-gold100.ib-auth {
  color-scheme: dark;

  --font-sans: "Titillium Web", "Inter", system-ui, -apple-system, sans-serif;
  --font-heading: "Titillium Web", "Inter", system-ui, -apple-system, sans-serif;
  --font-display: "Titillium Web", "Inter", system-ui, -apple-system, sans-serif;
  --font-mono: "Inter", ui-monospace, monospace;

  --tng-base: #0D0D0D;
  --tng-surface: #1a181d;
  --tng-surface-soft: #141316;
  --tng-surface-card: #111113;
  --tng-surface-mid: #252328;
  --tng-border: #28262c;
  --tng-border-hover: #4a4330;

  --tng-accent: #d9c264;
  --tng-accent-hover: #e5d078;
  --tng-accent-active: #c4ae52;
  --tng-accent-soft: color-mix(in srgb, #d9c264 18%, transparent);
  --tng-accent-muted: color-mix(in srgb, #d9c264 65%, #0D0D0D);

  --tng-ink: #f4f4f5;
  --tng-body: #d2d2d6;
  --tng-muted: #a0a0a7;

  --tng-gradient-canvas: linear-gradient(
    165deg,
    var(--tng-base) 0%,
    var(--tng-surface-soft) 45%,
    color-mix(in srgb, var(--tng-base) 85%, #0a1628) 100%
  );

  --canvas: var(--tng-base);
  --canvas-soft: var(--tng-surface-soft);
  --canvas-card: var(--tng-surface-card);
  --canvas-mid: var(--tng-surface-mid);
  --hairline: var(--tng-border);

  --ink: var(--tng-ink);
  --body-text: var(--tng-body);
  --body-mid: var(--tng-muted);
  --section-heading-highlight: var(--tng-accent-muted);

  --charcoal: var(--tng-ink);
  --charcoal-rgb: 244, 244, 245;
  --shadow-xs: 0 2px 8px rgba(0, 0, 0, 0.18);
  --shadow-sm: 0 8px 20px rgba(0, 0, 0, 0.28);
  --shadow-md: 0 20px 50px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 35px 80px rgba(0, 0, 0, 0.45);
  --shadow-card:
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    0 18px 40px rgba(0, 0, 0, 0.35);

  --radius-sm: 14px;
  --radius-md: 18px;
  --radius-lg: 22px;
  --duration-micro: 220ms;
  --easing-precision: cubic-bezier(.2, .8, .2, 1);

  --button-primary-bg: var(--tng-accent);
  --button-primary-text: var(--tng-base);
  --button-primary-hover-bg: var(--tng-accent-hover);
  --button-primary-active-bg: var(--tng-accent-active);

  min-height: 100vh;
  background: var(--tng-gradient-canvas);
  background-attachment: fixed;
  color: var(--ink);
  font-family: var(--font-sans);
  font-weight: 400;
}

.ib-theme-titanium-night-gold100.ib-app .ib-shell,
.ib-theme-titanium-night-gold100.ib-app .ib-main,
.ib-theme-titanium-night-gold100.ib-app .ib-content {
  background: transparent;
}

.ib-theme-titanium-night-gold100.ib-app #loading-screen {
  background: var(--tng-base);
  color: var(--tng-ink);
}

/* Sidebar */
.ib-theme-titanium-night-gold100.ib-app .ib-sidebar {
  background: linear-gradient(180deg, #141316 0%, #101012 100%);
  border-right-color: #26252a;
}

.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-section-label {
  color: var(--tng-accent-muted);
}

.ib-theme-titanium-night-gold100.ib-app .ib-nav-item {
  position: relative;
  border: none;
  background: transparent;
  color: var(--tng-muted);
}

.ib-theme-titanium-night-gold100.ib-app .ib-nav-item:hover {
  background: transparent;
  border: none;
  color: var(--tng-accent);
}

.ib-theme-titanium-night-gold100.ib-app .ib-nav-item.active {
  background: transparent;
  border: none;
  color: var(--tng-accent);
}

.ib-theme-titanium-night-gold100.ib-app .ib-nav-item.active::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: -2px;
  width: 3px;
  border-radius: 999px;
  background: var(--tng-accent);
}

.ib-theme-titanium-night-gold100.ib-app .ib-nav-item svg,
.ib-theme-titanium-night-gold100.ib-app .ib-nav-item .lucide-icon,
.ib-theme-titanium-night-gold100.ib-app .ib-nav-item svg.lucide {
  width: 20px;
  height: 20px;
  color: var(--tng-muted);
  transition:
    color 220ms cubic-bezier(.2, .8, .2, 1),
    transform 220ms cubic-bezier(.2, .8, .2, 1);
}

.ib-theme-titanium-night-gold100.ib-app .ib-nav-item:hover svg,
.ib-theme-titanium-night-gold100.ib-app .ib-nav-item.active svg,
.ib-theme-titanium-night-gold100.ib-app .ib-nav-item:hover .lucide-icon,
.ib-theme-titanium-night-gold100.ib-app .ib-nav-item.active .lucide-icon {
  color: var(--tng-accent);
}

.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-user-name {
  color: var(--tng-ink);
}

.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-user-meta {
  color: var(--tng-muted);
}

.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-brand,
.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-user {
  border-color: transparent;
}

/* Header */
.ib-theme-titanium-night-gold100.ib-app .ib-header {
  background: rgba(13, 13, 13, 0.8);
  border-bottom-color: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.ib-theme-titanium-night-gold100.ib-app .ib-page-title,
.ib-theme-titanium-night-gold100.ib-app .ib-section-title,
.ib-theme-titanium-night-gold100.ib-app .ib-kpi-value {
  color: var(--tng-accent);
}

.ib-theme-titanium-night-gold100.ib-app .ib-page-subtitle,
.ib-theme-titanium-night-gold100.ib-app .ib-section-desc {
  color: var(--tng-muted);
}

/* Cards */
.ib-theme-titanium-night-gold100.ib-app .ib-card,
.ib-theme-titanium-night-gold100.ib-auth .ib-card {
  background: linear-gradient(180deg, #151518 0%, #111113 100%);
  border: none;
  border-color: transparent;
  border-radius: 18px;
  box-shadow: var(--shadow-card);
}

.ib-theme-titanium-night-gold100.ib-app .ib-card-footer,
.ib-theme-titanium-night-gold100.ib-app .ib-divider,
.ib-theme-titanium-night-gold100.ib-app .ib-divide-list > * + * {
  border-color: rgba(255, 255, 255, 0.045);
}

.ib-theme-titanium-night-gold100.ib-app .ib-list-item-hover:hover {
  background: var(--tng-accent-soft);
}

/* Buttons */
.ib-theme-titanium-night-gold100 .btn-base.btn-primary,
.ib-theme-titanium-night-gold100.ib-app .btn-primary,
.ib-theme-titanium-night-gold100.ib-auth .btn-primary,
.ib-theme-titanium-night-gold100.ib-app .bg-gradient-gold,
.ib-theme-titanium-night-gold100.ib-auth .bg-gradient-gold {
  background: var(--tng-accent) !important;
  border: none !important;
  color: var(--tng-base) !important;
  border-radius: var(--radius-pill) !important;
}

.ib-theme-titanium-night-gold100 .btn-base.btn-primary:hover,
.ib-theme-titanium-night-gold100.ib-app .btn-primary:hover,
.ib-theme-titanium-night-gold100.ib-auth .btn-primary:hover {
  background: var(--tng-accent-hover) !important;
  color: var(--tng-base) !important;
  filter: none;
}

.ib-theme-titanium-night-gold100 .btn-base.btn-primary:active,
.ib-theme-titanium-night-gold100.ib-app .btn-primary:active,
.ib-theme-titanium-night-gold100.ib-auth .btn-primary:active {
  background: var(--tng-accent-active) !important;
}

.ib-theme-titanium-night-gold100 .btn-base.btn-secondary,
.ib-theme-titanium-night-gold100.ib-app .btn-secondary {
  background: var(--tng-surface-mid);
  border-color: var(--hairline);
  color: var(--tng-ink);
}

.ib-theme-titanium-night-gold100 .btn-base.btn-ghost,
.ib-theme-titanium-night-gold100.ib-app .btn-ghost {
  color: var(--tng-accent);
}

.ib-theme-titanium-night-gold100.ib-app .ib-icon-btn {
  color: var(--tng-body);
  border-color: var(--hairline);
  background: color-mix(in srgb, var(--tng-surface) 70%, transparent);
}

.ib-theme-titanium-night-gold100.ib-app .ib-icon-btn:hover {
  background: var(--tng-accent-soft);
  color: var(--tng-accent);
}

/* Forms */
.ib-theme-titanium-night-gold100.ib-app input,
.ib-theme-titanium-night-gold100.ib-app select,
.ib-theme-titanium-night-gold100.ib-app textarea,
.ib-theme-titanium-night-gold100.ib-auth input,
.ib-theme-titanium-night-gold100.ib-auth select,
.ib-theme-titanium-night-gold100.ib-auth textarea {
  background: var(--tng-surface);
  border-color: var(--hairline);
  color: var(--tng-ink);
}

/* Texto — sem fundo (classe reutilizada em títulos/labels, não só em inputs) */
.ib-theme-titanium-night-gold100 .ib-field-value {
  color: var(--tng-ink);
  background: transparent;
  border-color: transparent;
}

/* Inputs com utilitários Tailwind claros (ex.: bg-white nas telas PIX) */
.ib-theme-titanium-night-gold100.ib-app input.bg-white,
.ib-theme-titanium-night-gold100.ib-app select.bg-white,
.ib-theme-titanium-night-gold100.ib-app textarea.bg-white,
.ib-theme-titanium-night-gold100.ib-auth input.bg-white,
.ib-theme-titanium-night-gold100.ib-auth select.bg-white,
.ib-theme-titanium-night-gold100.ib-auth textarea.bg-white {
  background: var(--tng-surface) !important;
  border-color: var(--hairline) !important;
  color: var(--tng-ink) !important;
}

.ib-theme-titanium-night-gold100.ib-app input::placeholder,
.ib-theme-titanium-night-gold100.ib-auth input::placeholder {
  color: var(--tng-muted);
}

.ib-theme-titanium-night-gold100.ib-app input:focus,
.ib-theme-titanium-night-gold100.ib-auth input:focus,
.ib-theme-titanium-night-gold100.ib-app select:focus,
.ib-theme-titanium-night-gold100.ib-auth select:focus,
.ib-theme-titanium-night-gold100.ib-app textarea:focus,
.ib-theme-titanium-night-gold100.ib-auth textarea:focus {
  border-color: var(--tng-accent);
  outline-color: color-mix(in srgb, var(--tng-accent) 35%, transparent);
}

/* Auth */
.ib-theme-titanium-night-gold100.ib-auth {
  background: var(--tng-gradient-canvas);
  background-attachment: fixed;
}

.ib-theme-titanium-night-gold100.ib-auth .ib-auth-panel,
.ib-theme-titanium-night-gold100.ib-auth .ib-login-card,
.ib-theme-titanium-night-gold100.ib-auth .ib-auth-card {
  background: color-mix(in srgb, var(--tng-surface-card) 88%, var(--tng-base));
  border-color: color-mix(in srgb, var(--tng-accent) 16%, transparent);
  box-shadow: var(--shadow-card);
}

.ib-theme-titanium-night-gold100.ib-auth .ib-auth-title,
.ib-theme-titanium-night-gold100.ib-auth h1,
.ib-theme-titanium-night-gold100.ib-auth h2,
.ib-theme-titanium-night-gold100.ib-auth .ib-auth-form-section-title {
  color: var(--tng-accent);
}

.ib-theme-titanium-night-gold100.ib-auth label,
.ib-theme-titanium-night-gold100.ib-auth p {
  color: var(--tng-body);
}

.ib-theme-titanium-night-gold100.ib-auth a,
.ib-theme-titanium-night-gold100.ib-auth .ib-link-accent {
  color: var(--tng-accent);
}

.ib-theme-titanium-night-gold100.ib-auth .ib-link-accent:hover {
  color: var(--tng-accent-hover);
}

.ib-theme-titanium-night-gold100.ib-auth .form-label {
  color: var(--tng-body);
}

/* Status & charts */
.ib-theme-titanium-night-gold100.ib-app {
  --ib-chart-grid: color-mix(in srgb, var(--tng-accent) 10%, transparent);
  --ib-status-info: var(--tng-accent);
  --ib-status-info-bg: color-mix(in srgb, var(--tng-accent) 14%, var(--tng-surface-card));
  --ib-status-neutral-bg: var(--tng-surface-mid);
}

.ib-theme-titanium-night-gold100.ib-app .ib-page-btn {
  background: var(--tng-surface);
  border-color: var(--hairline);
  color: var(--tng-body);
}

.ib-theme-titanium-night-gold100.ib-app .ib-page-btn.is-active {
  background: var(--tng-accent);
  border-color: transparent;
  color: var(--tng-base);
}

.ib-theme-titanium-night-gold100.ib-app .ib-modal-backdrop {
  background: color-mix(in srgb, var(--tng-base) 82%, transparent);
}

.ib-theme-titanium-night-gold100.ib-app .ib-footer {
  color: var(--tng-muted);
  border-top-color: transparent;
}

.ib-theme-titanium-night-gold100.ib-app .ib-footer-asaas {
  border-top-color: rgba(255, 255, 255, 0.04);
}

.ib-theme-titanium-night-gold100.ib-app .ib-table th {
  border-bottom-color: rgba(255, 255, 255, 0.055);
}

.ib-theme-titanium-night-gold100.ib-app .ib-table td {
  border-bottom-color: rgba(255, 255, 255, 0.035);
}

.ib-theme-titanium-night-gold100.ib-app .ib-balance-value,
.ib-theme-titanium-night-gold100.ib-app .stat-value {
  color: var(--tng-accent);
}

.ib-theme-titanium-night-gold100.ib-app .ib-balance-label,
.ib-theme-titanium-night-gold100.ib-app .text-muted,
.ib-theme-titanium-night-gold100.ib-app .text-gray-400,
.ib-theme-titanium-night-gold100.ib-app .text-gray-500 {
  color: var(--tng-muted) !important;
}

.ib-theme-titanium-night-gold100 .ib-auth-theme-toggle {
  color: var(--tng-body);
}

/* Tipografia — Titillium Web (nunca Bold: máximo SemiBold 600) */
.ib-theme-titanium-night-gold100.ib-app .ib-page-title,
.ib-theme-titanium-night-gold100.ib-app .ib-section-title,
.ib-theme-titanium-night-gold100.ib-auth .ib-auth-title,
.ib-theme-titanium-night-gold100.ib-auth h1 {
  font-family: var(--font-heading);
  font-weight: 600;
}

.ib-theme-titanium-night-gold100.ib-app .ib-kpi-value,
.ib-theme-titanium-night-gold100.ib-app .ib-balance-value,
.ib-theme-titanium-night-gold100.ib-app .stat-value,
.ib-theme-titanium-night-gold100.ib-app .ib-tx-amount-negative,
.ib-theme-titanium-night-gold100.ib-app .ib-tx-amount-positive {
  font-family: var(--font-display);
  font-weight: 600;
}

.ib-theme-titanium-night-gold100.ib-app .btn-base,
.ib-theme-titanium-night-gold100.ib-app .btn-primary,
.ib-theme-titanium-night-gold100.ib-app .btn-secondary,
.ib-theme-titanium-night-gold100.ib-auth .btn-primary,
.ib-theme-titanium-night-gold100.ib-auth .btn-secondary,
.ib-theme-titanium-night-gold100.ib-app .ib-nav-item {
  font-family: var(--font-sans);
  font-weight: 400;
}

.ib-theme-titanium-night-gold100.ib-app .ib-nav-item.active {
  font-weight: 600;
}

.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-section-label,
.ib-theme-titanium-night-gold100.ib-app .form-label,
.ib-theme-titanium-night-gold100.ib-auth .form-label,
.ib-theme-titanium-night-gold100.ib-app .ib-section-desc,
.ib-theme-titanium-night-gold100.ib-app .ib-page-subtitle {
  font-family: var(--font-sans);
  font-weight: 300;
}

.ib-theme-titanium-night-gold100.ib-app .font-bold,
.ib-theme-titanium-night-gold100.ib-app .font-semibold,
.ib-theme-titanium-night-gold100.ib-auth .font-bold,
.ib-theme-titanium-night-gold100.ib-auth .font-semibold {
  font-weight: 600 !important;
}

/* Inter — detalhes de transação / comprovante / IDs */
.ib-theme-titanium-night-gold100.ib-app #transaction-modal .ib-field-value,
.ib-theme-titanium-night-gold100.ib-app #transaction-modal .font-mono,
.ib-theme-titanium-night-gold100.ib-app #transaction-modal #transaction-id,
.ib-theme-titanium-night-gold100.ib-app #transaction-modal #transaction-datetime,
.ib-theme-titanium-night-gold100.ib-app #transaction-modal #transaction-recipient-document,
.ib-theme-titanium-night-gold100.ib-app #transaction-modal #transaction-recipient-account,
.ib-theme-titanium-night-gold100.ib-app .font-mono,
.ib-theme-titanium-night-gold100.ib-app .pin-input,
.ib-theme-titanium-night-gold100.ib-auth .pin-input {
  font-family: var(--font-mono);
  font-weight: 400;
}

/* Materialidade e hierarquia premium */
.ib-theme-titanium-night-gold100.ib-app .ib-kpi-card {
  padding: 32px;
}

.ib-theme-titanium-night-gold100.ib-app .ib-kpi-label,
.ib-theme-titanium-night-gold100.ib-app .ib-balance-label {
  margin-bottom: 8px;
  font-size: 13px;
  letter-spacing: 0.01em;
}

.ib-theme-titanium-night-gold100.ib-app .ib-kpi-value,
.ib-theme-titanium-night-gold100.ib-app .ib-balance-value {
  font-size: clamp(2.5rem, 5vw, 3.25rem);
  line-height: 1;
  letter-spacing: -0.02em;
  text-shadow: 0 0 18px rgba(217, 194, 100, 0.08);
  background: linear-gradient(180deg, #e6d487 0%, #d9c264 48%, #c4ae52 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ib-theme-titanium-night-gold100.ib-app .ib-action-card {
  transition:
    box-shadow 220ms cubic-bezier(.2, .8, .2, 1),
    background 220ms cubic-bezier(.2, .8, .2, 1);
}

.ib-theme-titanium-night-gold100.ib-app .ib-action-card:hover {
  transform: none;
  border: none;
  border-color: transparent;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 40px rgba(0, 0, 0, 0.45);
}

.ib-theme-titanium-night-gold100.ib-app .ib-action-card-icon {
  border: 1px solid var(--hairline);
  background: transparent;
  color: #ffffff;
}

.ib-theme-titanium-night-gold100.ib-app .ib-action-card:hover .ib-action-card-icon {
  transform: none;
  border: 1px solid var(--hairline);
  background: transparent;
  color: #ffffff;
}

.ib-theme-titanium-night-gold100.ib-app .ib-action-card-icon svg,
.ib-theme-titanium-night-gold100.ib-app .ib-action-card-icon .lucide-icon {
  color: #ffffff;
}

.ib-theme-titanium-night-gold100.ib-app .ib-recent-tx-header {
  border-bottom-color: transparent !important;
  padding-bottom: 8px;
}

.ib-theme-titanium-night-gold100.ib-app .ib-tx-item {
  position: relative;
  border-left: 3px solid transparent;
  background: transparent;
  transition:
    background 220ms cubic-bezier(.2, .8, .2, 1),
    border-color 220ms cubic-bezier(.2, .8, .2, 1);
}

.ib-theme-titanium-night-gold100.ib-app .ib-tx-item:hover {
  transform: none;
  border-left-color: var(--tng-accent);
  background: #18181b;
}

.ib-theme-titanium-night-gold100.ib-app .ib-tx-amount-negative,
.ib-theme-titanium-night-gold100.ib-app .text-danger,
.ib-theme-titanium-night-gold100.ib-app .text-red-500,
.ib-theme-titanium-night-gold100.ib-app .text-red-600 {
  color: #ff5b57 !important;
  font-weight: 600;
}

/* Forma: inputs 14px, cards 18px, diálogos 22px, botões 14px */
.ib-theme-titanium-night-gold100.ib-app input,
.ib-theme-titanium-night-gold100.ib-app select,
.ib-theme-titanium-night-gold100.ib-app textarea,
.ib-theme-titanium-night-gold100.ib-auth input,
.ib-theme-titanium-night-gold100.ib-auth select,
.ib-theme-titanium-night-gold100.ib-auth textarea,
.ib-theme-titanium-night-gold100 .btn-base,
.ib-theme-titanium-night-gold100.ib-app .btn-primary,
.ib-theme-titanium-night-gold100.ib-app .btn-secondary,
.ib-theme-titanium-night-gold100.ib-auth .btn-primary,
.ib-theme-titanium-night-gold100.ib-auth .btn-secondary {
  border-radius: 14px !important;
}

.ib-theme-titanium-night-gold100.ib-app .ib-modal,
.ib-theme-titanium-night-gold100.ib-auth .ib-modal {
  border-radius: 22px;
  box-shadow: var(--shadow-lg);
}

.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-user-avatar,
.ib-theme-titanium-night-gold100.ib-app .avatar {
  border-radius: 999px;
}

/* Ouro metálico reservado para ações primárias */
.ib-theme-titanium-night-gold100 .btn-base.btn-primary,
.ib-theme-titanium-night-gold100.ib-app .btn-primary,
.ib-theme-titanium-night-gold100.ib-auth .btn-primary,
.ib-theme-titanium-night-gold100.ib-app .bg-gradient-gold,
.ib-theme-titanium-night-gold100.ib-auth .bg-gradient-gold {
  background: linear-gradient(
    180deg,
    #e6d487 0%,
    #d9c264 46%,
    #c4ae52 100%
  ) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    var(--shadow-xs);
  transition:
    box-shadow 220ms cubic-bezier(.2, .8, .2, 1),
    filter 220ms cubic-bezier(.2, .8, .2, 1);
}

.ib-theme-titanium-night-gold100 .btn-base.btn-primary:hover,
.ib-theme-titanium-night-gold100.ib-app .btn-primary:hover,
.ib-theme-titanium-night-gold100.ib-auth .btn-primary:hover {
  transform: none;
  background: linear-gradient(
    180deg,
    #eddd98 0%,
    #e1cb72 48%,
    #cdb65a 100%
  ) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.3),
    var(--shadow-sm);
}

.ib-theme-titanium-night-gold100 .btn-base.btn-primary:active,
.ib-theme-titanium-night-gold100.ib-app .btn-primary:active,
.ib-theme-titanium-night-gold100.ib-auth .btn-primary:active {
  transform: none;
}

/* Painel de confiança da página PIX */
.ib-theme-titanium-night-gold100.ib-app .ib-security-panel {
  background: #151419;
  border-color: rgba(217, 194, 100, 0.14) !important;
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
}

.ib-theme-titanium-night-gold100.ib-app .ib-security-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 14px;
  background: rgba(217, 194, 100, 0.1);
  color: var(--tng-accent);
}

.ib-theme-titanium-night-gold100.ib-app .ib-security-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 8px;
  padding: 4px 8px;
  border: 1px solid rgba(217, 194, 100, 0.16);
  border-radius: 999px;
  color: var(--tng-muted);
  background: rgba(217, 194, 100, 0.04);
  font-size: 11px;
  font-weight: 500;
}

.ib-theme-titanium-night-gold100.ib-app .ib-security-list {
  display: grid;
  gap: 10px;
  margin-top: 20px;
  color: var(--tng-body);
  font-size: 13px;
}

.ib-theme-titanium-night-gold100.ib-app .ib-security-list li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ib-theme-titanium-night-gold100.ib-app .ib-security-list .lucide-icon,
.ib-theme-titanium-night-gold100.ib-app .ib-security-list svg {
  width: 15px;
  height: 15px;
  color: var(--tng-accent-muted);
}

@media (prefers-reduced-motion: reduce) {
  .ib-theme-titanium-night-gold100.ib-app .ib-action-card,
  .ib-theme-titanium-night-gold100.ib-app .ib-action-card-icon,
  .ib-theme-titanium-night-gold100.ib-app .ib-tx-item,
  .ib-theme-titanium-night-gold100.ib-app .ib-nav-item,
  .ib-theme-titanium-night-gold100 .btn-base {
    transition: none !important;
    transform: none !important;
  }
}

@media (max-width: 639px) {
  .ib-theme-titanium-night-gold100.ib-app .ib-kpi-card {
    padding: 24px;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-kpi-value,
  .ib-theme-titanium-night-gold100.ib-app .ib-balance-value {
    font-size: 2.5rem;
  }
}

/* Sidebar collapsible (desktop) */
.ib-theme-titanium-night-gold100.ib-app .ib-sidebar--collapsible {
  transition:
    width 220ms cubic-bezier(.2, .8, .2, 1),
    transform var(--duration-medium, 280ms) var(--easing-standard, ease);
}

.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-brand-mini {
  display: none !important;
}

.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-brand-logo--mini {
  display: none !important;
}

.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-collapse-wrap {
  display: none;
  padding: 8px 12px 12px;
}

.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-collapse-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 10px 16px;
  border: none;
  border-radius: 14px;
  background: transparent;
  color: var(--tng-muted);
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 400;
  cursor: pointer;
  transition: color 220ms cubic-bezier(.2, .8, .2, 1);
}

.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-collapse-btn:hover {
  color: var(--tng-accent);
}

.ib-theme-titanium-night-gold100.ib-app .ib-sidebar-collapse-icon--collapsed {
  display: none;
}

@media (min-width: 1024px) {
  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar-collapse-wrap {
    display: block;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-main {
    transition: margin-left 220ms cubic-bezier(.2, .8, .2, 1);
  }

  .ib-theme-titanium-night-gold100.ib-app.ib-sidebar-is-collapsed .ib-main,
  .ib-theme-titanium-night-gold100.ib-app:has(.ib-sidebar.is-collapsed) .ib-main {
    margin-left: 76px;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed {
    width: 76px;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 12px;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-brand-logo--full {
    display: none !important;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-brand-mini {
    display: inline-flex !important;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-brand-logo--mini {
    display: block !important;
    max-width: 32px;
    max-height: 32px;
  }

  /* Sem logo mini: usa o full reduzido */
  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-brand:not(:has(.ib-sidebar-brand-mini .ib-tenant-logo)) .ib-sidebar-brand-logo--full {
    display: block !important;
    max-width: 32px;
    max-height: 32px;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-nav {
    padding: 12px 8px 16px;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-section {
    margin-bottom: 16px;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-section-label,
  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-nav-item-label,
  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-user-copy {
    display: none;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-nav-item {
    justify-content: center;
    gap: 0;
    margin: 0 4px;
    padding: 12px 0;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-nav-item.active::before {
    left: 2px;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-collapse-wrap {
    padding: 8px;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-collapse-btn {
    justify-content: center;
    padding: 12px 0;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-collapse-icon--expanded {
    display: none;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-collapse-icon--collapsed {
    display: inline-flex;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-user {
    padding: 12px 8px;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-user > .flex {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-user-avatar {
    width: 2.25rem;
    height: 2.25rem;
  }

  /* Tooltips no modo recolhido */
  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-nav-item,
  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-collapse-btn {
    position: relative;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-nav-item[data-tooltip]:hover::after,
  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-collapse-btn:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%);
    z-index: 80;
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid rgba(217, 194, 100, 0.18);
    background: #151518;
    color: var(--tng-ink);
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 400;
    white-space: nowrap;
    box-shadow: var(--shadow-sm);
    pointer-events: none;
  }

  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar.is-collapsed .ib-sidebar-collapse-btn:hover::after {
    content: attr(title);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ib-theme-titanium-night-gold100.ib-app .ib-sidebar--collapsible,
  .ib-theme-titanium-night-gold100.ib-app .ib-main {
    transition: none !important;
  }
}

/* Sem modo claro — mantém tokens escuros */
html[data-theme="light"] .ib-theme-titanium-night-gold100.ib-app,
html[data-theme="light"] .ib-theme-titanium-night-gold100.ib-auth {
  color-scheme: dark;
  --canvas: var(--tng-base);
  --canvas-soft: var(--tng-surface-soft);
  --canvas-card: var(--tng-surface-card);
  --ink: var(--tng-ink);
  background: var(--tng-gradient-canvas);
  color: var(--tng-ink);
}
