/*
 * AgusPay Fintech Pro
 * Camada visual institucional para o core financeiro e o backoffice.
 */

:root,
.link-sidebar,
[data-bs-theme][data-color-theme]:root {
  --fintech-navy-950: #041126;
  --fintech-navy-900: #071a35;
  --fintech-navy-800: #0b264c;
  --fintech-blue-700: #075bd8;
  --fintech-blue-600: #0875eb;
  --fintech-blue-500: #1689f7;
  --fintech-cyan-400: #27c2e9;
  --fintech-teal-500: #05a885;
  --fintech-green-500: #12a66a;
  --fintech-amber-500: #d98208;
  --fintech-red-500: #d64545;
  --fintech-ink: #0a1930;
  --fintech-muted: #607089;
  --fintech-canvas: #f3f6fb;
  --fintech-panel: #ffffff;
  --fintech-line: #dfe6ef;
  --fintech-line-soft: #ebf0f6;
  --fintech-shadow: 0 12px 32px rgba(7, 26, 53, 0.065);
  --fintech-shadow-lg: 0 22px 60px rgba(7, 26, 53, 0.11);
  --brand-accent: var(--fintech-blue-600);
  --brand-accent-strong: var(--fintech-blue-700);
  --brand-accent-rgb: 8, 117, 235;
  --brand-dark: var(--fintech-navy-900);
  --brand-dark-strong: var(--fintech-navy-950);
  --brand-dark-rgb: 7, 26, 53;
  --brand-surface: var(--fintech-canvas);
  --brand-surface-soft: #eef3fa;
  --brand-border: var(--fintech-line);
  --brand-text: var(--fintech-ink);
  --brand-muted: var(--fintech-muted);
  --bs-body-bg: var(--fintech-canvas);
  --bs-body-color: #40516a;
  --bs-border-color: var(--fintech-line);
  --bs-heading-color: var(--fintech-ink);
}

html,
body {
  background: var(--fintech-canvas);
  color: #40516a;
  min-height: 100%;
}

body.app-page-shell {
  background:
    radial-gradient(circle at 82% -10%, rgba(22, 137, 247, 0.08), transparent 25rem),
    var(--fintech-canvas);
  font-feature-settings: "tnum" 1, "ss01" 1;
}

body.app-page-shell .app-welcome-toast {
  display: none !important;
}

body.app-page-shell a {
  text-underline-offset: 0.18em;
}

/* Application shell */

@media (min-width: 1300px) {
  html[data-layout="vertical"] body.app-page-shell .left-sidebar {
    width: 280px;
  }

  html[data-layout="vertical"] body.app-page-shell .page-wrapper {
    margin-left: 280px;
    width: calc(100% - 280px);
  }

  html[data-layout="vertical"] body.app-page-shell .topbar {
    width: 100%;
  }
}

html[data-layout="vertical"] body.app-page-shell.link-sidebar .left-sidebar {
  background:
    radial-gradient(circle at 30% 0%, rgba(39, 194, 233, 0.12), transparent 15rem),
    linear-gradient(180deg, var(--fintech-navy-900) 0%, var(--fintech-navy-950) 100%) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.07);
  box-shadow: 10px 0 35px rgba(4, 17, 38, 0.09);
}

body.app-page-shell .left-sidebar .brand-logo {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  height: 76px;
  padding: 18px 24px;
}

body.app-page-shell .left-sidebar .brand-logo img {
  height: 35px;
  max-width: 172px;
  object-fit: contain;
  object-position: left center;
}

body.app-page-shell .left-sidebar .scroll-sidebar {
  box-shadow: none;
  height: calc(100vh - 160px);
  padding: 14px 14px 28px;
}

body.app-page-shell .left-sidebar .sidebar-menu {
  padding: 0;
}

body.app-page-shell .left-sidebar .nav-small-cap {
  color: #7184a0;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  margin: 18px 12px 7px;
  padding: 0;
  text-transform: uppercase;
}

body.app-page-shell .left-sidebar .nav-small-cap-icon {
  display: none;
}

body.app-page-shell .left-sidebar .sidebar-item {
  margin-bottom: 3px;
}

body.app-page-shell .left-sidebar .sidebar-link,
body.app-page-shell .left-sidebar .sidebar-link:not(.active) {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #aebbd0 !important;
  display: flex;
  font-size: 0.875rem;
  font-weight: 650;
  gap: 11px;
  min-height: 43px;
  padding: 9px 12px;
  position: relative;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

body.app-page-shell .left-sidebar .sidebar-link iconify-icon {
  color: #8296b3 !important;
  font-size: 1.25rem;
}

body.app-page-shell .left-sidebar .sidebar-link:not(.active):hover,
body.app-page-shell .left-sidebar .sidebar-link:not(.active):hover .hide-menu,
body.app-page-shell .left-sidebar .sidebar-link:not(.active):hover iconify-icon {
  background: rgba(255, 255, 255, 0.055) !important;
  border-color: rgba(255, 255, 255, 0.065) !important;
  color: #ffffff !important;
  transform: translateX(2px);
}

body.app-page-shell .left-sidebar .sidebar-link.active,
body.app-page-shell .left-sidebar .sidebar-item.selected > .sidebar-link,
body.app-page-shell .left-sidebar .sidebar-link.active:hover {
  background: linear-gradient(115deg, rgba(8, 117, 235, 0.95), rgba(22, 137, 247, 0.78)) !important;
  border-color: rgba(115, 194, 255, 0.22) !important;
  box-shadow: 0 10px 24px rgba(3, 99, 210, 0.24) !important;
  color: #ffffff !important;
}

body.app-page-shell .left-sidebar .sidebar-link.active::before,
body.app-page-shell .left-sidebar .sidebar-item.selected > .sidebar-link::before {
  background: var(--fintech-cyan-400);
  border-radius: 10px;
  content: "";
  height: 18px;
  left: -15px;
  position: absolute;
  width: 3px;
}

body.app-page-shell .left-sidebar .sidebar-link.active iconify-icon,
body.app-page-shell .left-sidebar .sidebar-link.active .hide-menu,
body.app-page-shell .left-sidebar .sidebar-item.selected > .sidebar-link iconify-icon {
  color: #ffffff !important;
}

body.app-page-shell .left-sidebar .sidebar-link.disabled {
  opacity: 0.42;
}

body.app-page-shell .left-sidebar .sidebar-link .badge {
  background: #ffd16a !important;
  color: var(--fintech-navy-950) !important;
  font-size: 0.65rem;
  min-width: 20px;
}

body.app-page-shell .left-sidebar .btn-support-fixed {
  background: linear-gradient(180deg, rgba(4, 17, 38, 0), var(--fintech-navy-950) 34%);
  bottom: 0;
  padding: 22px 15px 16px;
}

body.app-page-shell .left-sidebar .btn-support-fixed .btn {
  align-items: center;
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 11px;
  color: #eef6ff;
  display: flex;
  font-size: 0.82rem;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  min-height: 42px;
}

body.app-page-shell .topbar {
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: rgba(255, 255, 255, 0.9);
  border-bottom: 1px solid rgba(223, 230, 239, 0.92);
  box-shadow: 0 6px 24px rgba(7, 26, 53, 0.035);
  height: 76px;
  position: sticky;
  top: 0;
  z-index: 1030;
}

body.app-page-shell .topbar .with-vertical,
body.app-page-shell .topbar .navbar {
  height: 100%;
}

body.app-page-shell .topbar .with-vertical {
  padding: 0 28px;
}

.app-topbar-context {
  border-left: 1px solid var(--fintech-line);
  flex-direction: column;
  line-height: 1.15;
  margin-left: 14px;
  padding-left: 17px;
}

.app-topbar-context span {
  color: #7a899f;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.app-topbar-context strong {
  color: var(--fintech-ink);
  font-size: 0.9rem;
  margin-top: 3px;
}

body.app-page-shell .nav-icon-hover .nav-link,
body.app-page-shell .topbar .sidebartoggler {
  align-items: center;
  border-radius: 10px;
  color: #51627a;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  width: 40px;
}

body.app-page-shell .nav-icon-hover .nav-link:hover,
body.app-page-shell .topbar .sidebartoggler:hover {
  background: #eef4fb;
  color: var(--fintech-blue-700);
}

body.app-page-shell .app-balance-chip {
  background: #eef5ff;
  border: 1px solid #d3e4fb;
  border-radius: 9px;
  color: var(--fintech-navy-800);
  min-height: 36px;
  padding: 7px 11px;
}

body.app-page-shell .app-balance-chip span {
  color: #728098;
  font-size: 0.68rem;
}

body.app-page-shell .app-profile-pill {
  background: #ffffff;
  border: 1px solid var(--fintech-line);
  border-radius: 13px;
  box-shadow: 0 5px 16px rgba(7, 26, 53, 0.04);
  padding: 5px 6px 5px 7px;
}

body.app-page-shell .app-profile-avatar {
  background: linear-gradient(135deg, var(--fintech-navy-800), var(--fintech-blue-700));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

body.app-page-shell .app-profile-pill .btn {
  border-radius: 8px !important;
  font-size: 0.76rem;
  min-height: 34px;
}

body.app-page-shell .app-header-notifications {
  border: 1px solid var(--fintech-line);
  border-radius: 14px;
  box-shadow: var(--fintech-shadow-lg);
  overflow: hidden;
}

body.app-page-shell .body-wrapper > .container-fluid {
  max-width: 1680px;
  padding: 28px 30px 48px;
}

body.app-page-shell .body-wrapper {
  padding-top: 0;
}

/* Shared content language */

body.app-page-shell h1,
body.app-page-shell h2,
body.app-page-shell h3,
body.app-page-shell h4,
body.app-page-shell h5,
body.app-page-shell h6 {
  color: var(--fintech-ink);
  letter-spacing: -0.018em;
}

body.app-page-shell .card,
body.app-page-shell .app-shell-card,
body.app-page-shell.app-admin-shell .card {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--fintech-line) !important;
  border-radius: 17px;
  box-shadow: var(--fintech-shadow) !important;
}

body.app-page-shell .card .card-body {
  padding: 21px 22px;
}

body.app-page-shell .card-title {
  font-size: 1rem;
  font-weight: 760;
}

body.app-page-shell .btn {
  align-items: center;
  border-radius: 9px !important;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 39px;
  transition: box-shadow 0.18s ease, transform 0.18s ease, background-color 0.18s ease;
}

body.app-page-shell .btn:hover {
  transform: translateY(-1px);
}

body.app-page-shell .btn-primary {
  background: linear-gradient(135deg, var(--fintech-blue-700), var(--fintech-blue-500));
  border-color: var(--fintech-blue-700);
  box-shadow: 0 8px 18px rgba(8, 117, 235, 0.18);
}

body.app-page-shell .btn-dark {
  background: var(--fintech-navy-900);
  border-color: var(--fintech-navy-900);
}

body.app-page-shell .form-label {
  color: #33465f;
  font-size: 0.76rem;
  font-weight: 760;
  letter-spacing: 0.01em;
  margin-bottom: 6px;
}

body.app-page-shell .form-control,
body.app-page-shell .form-select,
body.app-page-shell.app-admin-shell .form-control,
body.app-page-shell.app-admin-shell .form-select {
  background-color: #fbfdff;
  border: 1px solid #d5deea;
  border-radius: 10px;
  color: var(--fintech-ink);
  min-height: 43px;
}

body.app-page-shell .form-control:focus,
body.app-page-shell .form-select:focus {
  background-color: #ffffff;
  border-color: var(--fintech-blue-500);
  box-shadow: 0 0 0 4px rgba(8, 117, 235, 0.1);
}

body.app-page-shell textarea.form-control {
  min-height: 110px;
}

body.app-page-shell .table {
  --bs-table-bg: transparent;
  color: #354861;
  margin-bottom: 0;
}

body.app-page-shell .table thead th,
body.app-page-shell.app-admin-shell .table thead th {
  background: #f6f9fc;
  border-bottom: 1px solid #dde6f0;
  color: #56677e;
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  padding: 11px 13px;
  text-transform: uppercase;
}

body.app-page-shell .table tbody td {
  border-color: var(--fintech-line-soft);
  font-size: 0.82rem;
  padding: 12px 13px;
}

body.app-page-shell .table tbody tr:last-child td {
  border-bottom: 0;
}

body.app-page-shell .table tbody tr:hover,
body.app-page-shell.app-admin-shell .table tbody tr:hover {
  background: #f8fbff;
}

body.app-page-shell .alert {
  border: 1px solid transparent;
  border-radius: 13px;
}

.app-page-intro,
.app-page-intro--pro {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  margin-bottom: 22px;
  padding: 0 !important;
}

.app-page-intro h3,
.app-page-intro--pro h3 {
  font-size: clamp(1.45rem, 2vw, 1.85rem) !important;
  font-weight: 790;
  letter-spacing: -0.035em;
  margin: 0 0 5px;
}

.app-page-intro p,
.app-page-intro--pro p {
  color: var(--fintech-muted);
  font-size: 0.88rem;
  margin: 0;
  max-width: 760px;
}

.app-page-eyebrow {
  color: var(--fintech-blue-700);
  display: block;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  margin-bottom: 7px;
  text-transform: uppercase;
}

.app-page-intro__actions {
  display: flex;
  gap: 9px;
}

.app-empty-state {
  align-items: center;
  color: var(--fintech-muted);
  display: flex;
  flex-direction: column;
  text-align: center;
}

.app-empty-state__icon {
  align-items: center;
  background: #edf4fc;
  border-radius: 16px;
  color: var(--fintech-blue-700);
  display: inline-flex;
  font-size: 1.5rem;
  height: 52px;
  justify-content: center;
  margin-bottom: 13px;
  width: 52px;
}

/* Dashboard */

.app-executive-strip {
  background:
    radial-gradient(circle at 90% 10%, rgba(39, 194, 233, 0.21), transparent 15rem),
    linear-gradient(125deg, var(--fintech-navy-950), var(--fintech-navy-800)) !important;
  border: 0 !important;
  color: #ffffff;
  overflow: hidden;
  position: relative;
}

.app-executive-strip::after {
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 50%;
  content: "";
  height: 250px;
  position: absolute;
  right: -70px;
  top: -130px;
  width: 250px;
}

.app-executive-strip h2,
.app-executive-strip h3,
.app-executive-strip h4,
.app-executive-strip strong {
  color: #ffffff !important;
}

.app-executive-strip p,
.app-executive-strip small,
.app-executive-strip span {
  color: #afc3dd;
}

.app-executive-strip .btn-outline-light {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.58) !important;
  color: #ffffff !important;
}

.app-executive-strip .btn-outline-light:hover,
.app-executive-strip .btn-outline-light:focus,
.app-executive-strip .btn-outline-light:active {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--fintech-navy-950) !important;
}

.app-executive-kicker {
  color: #72d7f0 !important;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.app-kpi-grid .card {
  overflow: hidden;
  position: relative;
}

.app-kpi-grid .card::before {
  background: linear-gradient(180deg, var(--fintech-blue-600), var(--fintech-cyan-400));
  border-radius: 0 8px 8px 0;
  content: "";
  height: 42px;
  left: 0;
  position: absolute;
  top: 22px;
  width: 3px;
}

.app-kpi-label {
  color: #738198;
  font-size: 0.72rem;
  font-weight: 700;
}

.app-kpi-value {
  color: var(--fintech-ink);
  display: block;
  font-size: 1.55rem;
  font-weight: 800;
  letter-spacing: -0.035em;
  margin-top: 5px;
}

.app-kpi-meta {
  color: #7a899f;
  display: block;
  font-size: 0.7rem;
  margin-top: 8px;
}

.app-admin-home-hero,
.app-home-balance {
  overflow: hidden;
}

.app-admin-home-hero__amount,
.app-home-balance__amount {
  letter-spacing: -0.05em;
}

/* Compliance command center */

.compliance-metrics {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.compliance-command {
  align-items: center;
  background:
    linear-gradient(105deg, rgba(8, 117, 235, 0.1), rgba(39, 194, 233, 0.055)),
    #ffffff;
  border: 1px solid #cfe1f6;
  border-radius: 15px;
  display: grid;
  gap: 14px;
  grid-template-columns: auto 1fr auto;
  padding: 16px 18px;
}

.compliance-command__icon {
  align-items: center;
  background: linear-gradient(135deg, var(--fintech-navy-800), var(--fintech-blue-600));
  border-radius: 12px;
  color: #ffffff;
  display: inline-flex;
  font-size: 1.25rem;
  height: 45px;
  justify-content: center;
  width: 45px;
}

.compliance-command strong {
  color: var(--fintech-ink);
  display: block;
  font-size: 0.9rem;
}

.compliance-command p {
  color: var(--fintech-muted);
  font-size: 0.76rem;
  margin: 3px 0 0;
}

.compliance-command__tag {
  background: #e6f8f2;
  border: 1px solid #bce9dc;
  border-radius: 999px;
  color: #08795f;
  font-size: 0.67rem;
  font-weight: 800;
  padding: 6px 10px;
  white-space: nowrap;
}

.compliance-metrics .metric-card {
  background: #ffffff;
  border: 1px solid var(--fintech-line);
  border-radius: 15px;
  box-shadow: 0 8px 22px rgba(7, 26, 53, 0.04);
  height: 100%;
  min-height: 128px;
  padding: 17px;
  position: relative;
}

.compliance-metrics .metric-card::before {
  background: var(--fintech-blue-600);
  border-radius: 0 8px 8px 0;
  content: "";
  height: 31px;
  left: -1px;
  position: absolute;
  top: 18px;
  width: 3px;
}

.compliance-metrics .metric-card--danger::before { background: var(--fintech-red-500); }
.compliance-metrics .metric-card--warning::before { background: var(--fintech-amber-500); }
.compliance-metrics .metric-card--success::before { background: var(--fintech-teal-500); }

.metric-card__label {
  color: #6c7c92;
  display: block;
  font-size: 0.69rem;
  font-weight: 750;
}

.metric-card strong {
  color: var(--fintech-ink);
  display: block;
  font-size: 1.75rem;
  font-weight: 830;
  letter-spacing: -0.045em;
  line-height: 1;
  margin: 13px 0 8px;
}

.metric-card small {
  color: #8390a3;
  font-size: 0.66rem;
}

.compliance-list-card .card-body {
  padding: 23px !important;
}

.compliance-overdue {
  align-items: center;
  background: #fff4e2;
  border: 1px solid #f4d6a5;
  border-radius: 999px;
  color: #9b5a00;
  display: inline-flex;
  font-size: 0.7rem;
  font-weight: 800;
  gap: 6px;
  padding: 7px 11px;
}

.compliance-filters {
  align-items: center;
  background: #f7f9fc;
  border: 1px solid var(--fintech-line-soft);
  border-radius: 13px;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(250px, 1fr) 190px 205px auto auto;
  padding: 12px;
}

.compliance-filter-search {
  position: relative;
}

.compliance-filter-search > i {
  color: #8492a6;
  left: 13px;
  position: absolute;
  top: 14px;
  z-index: 1;
}

.compliance-filter-search .form-control {
  padding-left: 38px;
}

.compliance-table {
  min-width: 1160px;
}

.compliance-client {
  align-items: center;
  display: flex;
  gap: 10px;
  min-width: 220px;
}

.compliance-client__avatar {
  align-items: center;
  background: linear-gradient(135deg, #e7f1ff, #d7e8fd);
  border: 1px solid #c7dcf6;
  border-radius: 11px;
  color: var(--fintech-blue-700);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.78rem;
  font-weight: 850;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.compliance-client strong,
.compliance-client small {
  display: block;
}

.compliance-client strong {
  color: var(--fintech-ink);
  font-size: 0.78rem;
}

.compliance-client small {
  color: #7c899d;
  font-size: 0.65rem;
  margin-top: 3px;
}

.risk-badge {
  align-items: center;
  background: #f3f5f8;
  border: 1px solid #dfe5ec;
  border-radius: 999px;
  color: #556579;
  display: inline-flex;
  font-size: 0.66rem;
  font-weight: 800;
  gap: 6px;
  padding: 5px 7px 5px 8px;
  white-space: nowrap;
}

.risk-badge > i {
  background: currentColor;
  border-radius: 50%;
  height: 6px;
  width: 6px;
}

.risk-badge > b {
  background: rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  font-size: 0.62rem;
  padding: 2px 5px;
}

.risk-badge--danger { background: #fff0f0; border-color: #f3c9c9; color: #b72c2c; }
.risk-badge--warning { background: #fff7e7; border-color: #efd7a5; color: #9a5b00; }
.risk-badge--success { background: #eaf8f2; border-color: #bee6d7; color: #08775d; }
.risk-badge--secondary { background: #f2f4f7; border-color: #dce2e9; color: #607089; }

.compliance-progress {
  min-width: 120px;
}

.compliance-progress__meta {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 6px;
}

.compliance-progress__meta span { color: var(--fintech-ink); font-size: 0.72rem; font-weight: 800; }
.compliance-progress__meta small { color: #8491a3; font-size: 0.61rem; }
.compliance-progress .progress { background: #e8edf3; height: 5px; }
.compliance-progress .progress-bar { background: linear-gradient(90deg, var(--fintech-blue-700), var(--fintech-cyan-400)); }

.compliance-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  max-width: 240px;
}

.compliance-flag {
  background: #fff7e7;
  border: 1px solid #f0d8a8;
  border-radius: 999px;
  color: #925700;
  display: inline-flex;
  font-size: 0.6rem;
  font-weight: 760;
  line-height: 1.15;
  padding: 4px 7px;
}

.compliance-flag--high { background: #fff0f0; border-color: #f3c5c5; color: #b22727; }
.compliance-flag--low,
.compliance-flag--success { background: #eaf8f2; border-color: #bfe6d7; color: #08765d; }

.compliance-screenings {
  display: grid;
  gap: 5px;
  min-width: 150px;
}

.compliance-screenings span {
  align-items: center;
  color: #7d6500;
  display: flex;
  font-size: 0.64rem;
  gap: 5px;
}

.compliance-screenings span.is-clear { color: #08775d; }

.status-badge {
  background: #f0f3f7;
  border: 1px solid #dce3eb;
  border-radius: 999px;
  color: #526379;
  display: inline-flex;
  font-size: 0.62rem;
  font-weight: 800;
  padding: 5px 8px;
  white-space: nowrap;
}

.status-badge--danger { background: #fff0f0; border-color: #f1c7c7; color: #ae2929; }
.status-badge--warning { background: #fff6e5; border-color: #efd5a2; color: #965800; }
.status-badge--success { background: #e9f8f2; border-color: #bbe5d6; color: #08745b; }
.status-badge--info { background: #eaf3ff; border-color: #c5dbf7; color: #075bb5; }

.compliance-date {
  color: #78879a;
  font-size: 0.66rem;
  white-space: nowrap;
}

.compliance-controls {
  background: #ffffff;
  border: 1px solid var(--fintech-line);
  border-radius: 15px;
  box-shadow: 0 8px 22px rgba(7, 26, 53, 0.04);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(220px, 1.2fr) repeat(4, minmax(190px, 1fr));
  padding: 14px;
}

.compliance-controls__heading,
.compliance-control {
  align-items: center;
  display: flex;
  gap: 10px;
  min-width: 0;
}

.compliance-controls__heading > span,
.compliance-control > i {
  align-items: center;
  background: #eaf3ff;
  border-radius: 10px;
  color: var(--fintech-blue-700);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.05rem;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.compliance-controls__heading strong,
.compliance-control strong {
  color: var(--fintech-ink);
  display: block;
  font-size: 0.78rem;
}

.compliance-controls__heading p,
.compliance-control small {
  color: #7a899d;
  display: block;
  font-size: 0.68rem;
  line-height: 1.35;
  margin: 2px 0 0;
}

.compliance-control {
  border-left: 1px solid #e8edf3;
  padding-left: 11px;
  position: relative;
}

.compliance-control > b {
  background: #e5f8f1;
  border-radius: 999px;
  color: #08765d;
  font-size: 0.61rem;
  font-weight: 800;
  padding: 4px 7px;
  position: absolute;
  right: 0;
  top: 0;
}

.compliance-control > div { min-width: 0; padding-right: 36px; }

.compliance-identity-reserved {
  align-items: center;
  background: #eaf8f2;
  border: 1px solid #bfe6d7;
  border-radius: 999px;
  color: #08765d;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 800;
  gap: 6px;
  padding: 7px 11px;
}

.compliance-identity-table { min-width: 920px; }
.compliance-identity-table td > strong,
.compliance-identity-table td > small { display: block; }
.compliance-identity-table td > strong { color: var(--fintech-ink); font-size: 0.78rem; }
.compliance-identity-table td > small { color: #7b899c; font-size: 0.67rem; margin-top: 2px; }
.compliance-identity-table code { color: #31445f; font-size: 0.69rem; }
.compliance-channel-badge {
  background: #edf4fd;
  border: 1px solid #d5e4f6;
  border-radius: 999px;
  color: #315b8e;
  display: inline-flex;
  font-size: 0.68rem;
  font-weight: 760;
  padding: 5px 8px;
}

@media (max-width: 1499.98px) {
  .compliance-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compliance-controls__heading { grid-column: 1 / -1; }
}

@media (max-width: 1199.98px) {
  .compliance-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
  .compliance-metrics,
  .compliance-controls { grid-template-columns: 1fr; }
  .compliance-controls__heading { grid-column: auto; }
  .compliance-control { border-left: 0; border-top: 1px solid #e8edf3; padding-left: 0; padding-top: 10px; }
}

/* Compliance case */

.compliance-case-summary {
  align-items: stretch;
  background:
    radial-gradient(circle at 4% 50%, rgba(39, 194, 233, 0.16), transparent 11rem),
    linear-gradient(110deg, var(--fintech-navy-950), var(--fintech-navy-800));
  border-radius: 17px;
  box-shadow: var(--fintech-shadow-lg);
  color: #ffffff;
  display: grid;
  gap: 0;
  grid-template-columns: 1.15fr repeat(4, 1fr);
  overflow: hidden;
}

.compliance-case-summary > div {
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  min-height: 105px;
  padding: 20px;
}

.compliance-case-summary > div:last-child { border-right: 0; }

.compliance-case-summary__heading {
  align-items: center;
  display: flex;
  gap: 12px;
}

.compliance-case-summary__icon {
  align-items: center;
  background: rgba(39, 194, 233, 0.14);
  border: 1px solid rgba(92, 214, 242, 0.25);
  border-radius: 13px;
  color: #72dff5;
  display: inline-flex;
  font-size: 1.25rem;
  height: 47px;
  justify-content: center;
  width: 47px;
}

.compliance-case-summary span {
  color: #9eb2cd;
  display: block;
  font-size: 0.66rem;
  font-weight: 700;
}

.compliance-case-summary strong {
  color: #ffffff;
  display: block;
  font-size: 0.83rem;
  margin-top: 7px;
}

.compliance-case-summary__metric .progress {
  background: rgba(255, 255, 255, 0.13);
  height: 5px;
  margin-top: 10px;
}

.compliance-case-summary__metric .progress-bar {
  background: linear-gradient(90deg, var(--fintech-blue-500), var(--fintech-cyan-400));
}

.compliance-profile-grid > div {
  background: #f8fafc;
  border: 1px solid #e5ebf2;
  border-radius: 11px;
  min-height: 76px;
  padding: 12px 13px;
}

.compliance-profile-grid small,
.compliance-profile-grid strong,
.compliance-profile-grid span {
  display: block;
}

.compliance-profile-grid small { color: #78879a; font-size: 0.65rem; font-weight: 700; }
.compliance-profile-grid strong { color: var(--fintech-ink); font-size: 0.78rem; margin-top: 6px; }
.compliance-profile-grid span { color: #7d8b9f; font-size: 0.64rem; margin-top: 4px; }

.compliance-case-flags {
  border-top: 1px solid var(--fintech-line-soft);
  padding-top: 16px;
}

.compliance-case-flags__label {
  color: #66778d;
  display: block;
  font-size: 0.67rem;
  font-weight: 800;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.compliance-review-card {
  position: sticky;
  top: 98px;
}

.compliance-review-card__head {
  align-items: center;
  border-bottom: 1px solid var(--fintech-line-soft);
  display: flex;
  gap: 11px;
  margin-bottom: 18px;
  padding-bottom: 16px;
}

.compliance-review-card__head > span {
  align-items: center;
  background: #e8f3ff;
  border: 1px solid #cde1f8;
  border-radius: 11px;
  color: var(--fintech-blue-700);
  display: inline-flex;
  font-size: 1.15rem;
  height: 41px;
  justify-content: center;
  width: 41px;
}

.compliance-review-card__head small {
  color: #7a899d;
  display: block;
  font-size: 0.62rem;
  font-weight: 750;
  text-transform: uppercase;
}

.compliance-review-card__head h5 { font-size: 0.96rem; }

.compliance-review-form {
  display: grid;
  gap: 15px;
}

.compliance-evidence-note {
  align-items: flex-start;
  background: #f5f8fc;
  border: 1px solid #e1e8f0;
  border-radius: 10px;
  color: #64758b;
  display: flex;
  font-size: 0.67rem;
  gap: 7px;
  line-height: 1.45;
  padding: 10px;
}

.compliance-evidence-note i { color: var(--fintech-blue-700); font-size: 1rem; }

.compliance-history-count {
  align-items: center;
  background: #edf3fa;
  border-radius: 999px;
  color: #53647b;
  display: inline-flex;
  font-size: 0.7rem;
  font-weight: 800;
  height: 28px;
  justify-content: center;
  min-width: 28px;
}

.compliance-history-empty {
  align-items: center;
  background: #f8fafc;
  border: 1px dashed #d5dee8;
  border-radius: 11px;
  color: #7b899c;
  display: flex;
  font-size: 0.7rem;
  gap: 8px;
  padding: 14px;
}

.compliance-timeline {
  display: grid;
  gap: 0;
}

.compliance-timeline__item {
  display: grid;
  gap: 11px;
  grid-template-columns: 12px 1fr;
  padding-bottom: 17px;
  position: relative;
}

.compliance-timeline__item:not(:last-child)::before {
  background: #dce5ef;
  content: "";
  height: calc(100% - 4px);
  left: 5px;
  position: absolute;
  top: 12px;
  width: 1px;
}

.compliance-timeline__dot {
  background: var(--fintech-blue-600);
  border: 3px solid #ddecff;
  border-radius: 50%;
  height: 11px;
  margin-top: 3px;
  position: relative;
  width: 11px;
  z-index: 1;
}

.compliance-timeline__title {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.compliance-timeline__title strong { color: var(--fintech-ink); font-size: 0.72rem; }
.compliance-timeline__title span { background: #edf3fa; border-radius: 999px; color: #596b82; font-size: 0.6rem; font-weight: 800; padding: 3px 6px; }
.compliance-timeline__content p { color: #64758a; font-size: 0.67rem; line-height: 1.45; margin: 7px 0; }
.compliance-timeline__content small { color: #8794a6; font-size: 0.6rem; }

/* Onboarding and dense forms */

.opening-shell,
.account-opening-shell {
  max-width: 1220px;
  margin-inline: auto;
}

.opening-step,
.account-opening-step {
  background: #ffffff;
}

.opening-owner-card {
  background: #f8fafc !important;
  border: 1px solid #e0e7f0 !important;
  border-radius: 13px !important;
}

/* Responsive */

@media (max-width: 1399.98px) {
  .compliance-case-summary { grid-template-columns: 1.2fr repeat(2, 1fr); }
  .compliance-case-summary > div:nth-child(3) { border-right: 0; }
  .compliance-case-summary > div:nth-child(n + 4) { border-top: 1px solid rgba(255, 255, 255, 0.1); }
}

@media (max-width: 1199.98px) {
  body.app-page-shell .body-wrapper > .container-fluid { padding: 23px 20px 40px; }
  .compliance-filters { grid-template-columns: 1fr 1fr; }
  .compliance-filter-search { grid-column: 1 / -1; }
  .compliance-review-card { position: static; }
}

@media (max-width: 991.98px) {
  body.app-page-shell .left-sidebar {
    box-shadow: 18px 0 50px rgba(4, 17, 38, 0.25);
  }

  body.app-page-shell .topbar { height: 68px; }
  body.app-page-shell .topbar .with-vertical { padding: 0 15px; }
  body.app-page-shell .topbar .dark-logo { height: 30px; object-fit: contain; width: 130px; }
  body.app-page-shell .body-wrapper > .container-fluid { padding: 20px 15px 36px; }
  .app-page-intro,
  .app-page-intro--pro { display: block; }
  .app-page-intro__actions { margin-top: 14px; }
  .compliance-command { grid-template-columns: auto 1fr; }
  .compliance-command__tag { grid-column: 1 / -1; justify-self: start; }
  .compliance-case-summary { grid-template-columns: 1fr 1fr; }
  .compliance-case-summary > div { border-bottom: 1px solid rgba(255, 255, 255, 0.1); border-right: 1px solid rgba(255, 255, 255, 0.1) !important; }
  .compliance-case-summary > div:nth-child(2n) { border-right: 0 !important; }
  .compliance-case-summary > div:last-child { border-bottom: 0; }
}

@media (max-width: 767.98px) {
  body.app-page-shell .card .card-body { padding: 18px 16px; }
  .app-page-intro h3,
  .app-page-intro--pro h3 { font-size: 1.45rem !important; }
  .app-page-intro p,
  .app-page-intro--pro p { font-size: 0.82rem; }
  .compliance-command { align-items: flex-start; padding: 14px; }
  .compliance-command__icon { height: 40px; width: 40px; }
  .compliance-metrics .metric-card { min-height: 113px; padding: 14px; }
  .metric-card strong { font-size: 1.5rem; margin-top: 11px; }
  .compliance-filters { display: grid; grid-template-columns: 1fr; }
  .compliance-filter-search { grid-column: auto; }
  .compliance-case-summary { grid-template-columns: 1fr; }
  .compliance-case-summary > div,
  .compliance-case-summary > div:nth-child(2n) { border-bottom: 1px solid rgba(255, 255, 255, 0.1); border-right: 0 !important; min-height: auto; padding: 16px; }
  .compliance-case-summary > div:last-child { border-bottom: 0; }
  body.app-page-shell .table thead th { font-size: 0.64rem; }
  body.app-page-shell .table tbody td { font-size: 0.76rem; }
}

@media (max-width: 575.98px) {
  body.app-page-shell .body-wrapper > .container-fluid { padding-inline: 11px; }
  body.app-page-shell .card,
  body.app-page-shell .app-shell-card { border-radius: 14px; }
  .app-page-intro__actions { display: grid; }
  .app-page-intro__actions .btn { width: 100%; }
  .compliance-list-card .card-body { padding: 16px !important; }
}

/* Banking dashboards — interface do correntista e centro executivo */

body.app-page-shell {
  background: #f6f8fc;
}

html[data-layout="vertical"] body.app-page-shell.link-sidebar .left-sidebar {
  background: #ffffff !important;
  border-right: 1px solid #e4e9f1;
  box-shadow: 8px 0 28px rgba(15, 35, 65, 0.035);
}

body.app-page-shell .left-sidebar .brand-logo {
  border-bottom-color: #edf1f6;
}

body.app-page-shell .left-sidebar .nav-small-cap {
  color: #8290a5;
}

body.app-page-shell .left-sidebar .sidebar-link,
body.app-page-shell .left-sidebar .sidebar-link:not(.active) {
  color: #52637a !important;
}

body.app-page-shell .left-sidebar .sidebar-link iconify-icon {
  color: #667892 !important;
}

body.app-page-shell .left-sidebar .sidebar-link:not(.active):hover,
body.app-page-shell .left-sidebar .sidebar-link:not(.active):hover .hide-menu,
body.app-page-shell .left-sidebar .sidebar-link:not(.active):hover iconify-icon {
  background: #f1f6fd !important;
  border-color: #e2ecf9 !important;
  color: #075bd8 !important;
}

body.app-page-shell .left-sidebar .sidebar-link.active,
body.app-page-shell .left-sidebar .sidebar-item.selected > .sidebar-link,
body.app-page-shell .left-sidebar .sidebar-link.active:hover {
  background: linear-gradient(115deg, #075bd8, #147fee) !important;
  border-color: #075bd8 !important;
  box-shadow: 0 8px 18px rgba(7, 91, 216, 0.2) !important;
}

body.app-page-shell .left-sidebar .sidebar-link.active::before,
body.app-page-shell .left-sidebar .sidebar-item.selected > .sidebar-link::before {
  display: none;
}

body.app-page-shell .left-sidebar .btn-support-fixed {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff 35%);
}

body.app-page-shell .left-sidebar .btn-support-fixed .btn {
  background: #071a35;
  border-color: #071a35;
  color: #ffffff;
}

body.app-page-shell .body-wrapper > .container-fluid {
  max-width: 1760px;
}

.fin-dashboard {
  --fin-line: #e3e8f0;
  --fin-muted: #6d7b90;
  --fin-ink: #101d32;
  color: #475870;
  display: grid;
  gap: 16px;
}

.fin-dashboard a {
  text-decoration: none;
}

.fin-dashboard button:focus-visible,
.fin-dashboard a:focus-visible {
  outline: 3px solid rgba(8, 117, 235, 0.24);
  outline-offset: 2px;
}

.fin-dashboard-heading {
  align-items: flex-end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 2px;
}

.fin-dashboard-heading h1 {
  color: var(--fin-ink);
  font-size: clamp(1.45rem, 2vw, 2rem);
  font-weight: 820;
  letter-spacing: -0.04em;
  margin: 2px 0 5px;
}

.fin-dashboard-heading p {
  color: var(--fin-muted);
  font-size: 0.82rem;
  margin: 0;
}

.fin-dashboard-kicker {
  color: #0875eb;
  display: block;
  font-size: 0.67rem;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.fin-dashboard-heading__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: flex-end;
}

.fin-period-chip {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--fin-line);
  border-radius: 9px;
  color: #40516a;
  display: inline-flex;
  font-size: 0.74rem;
  font-weight: 720;
  gap: 7px;
  min-height: 39px;
  padding: 8px 12px;
  white-space: nowrap;
}

.fin-panel {
  background: #ffffff;
  border: 1px solid var(--fin-line);
  border-radius: 14px;
  box-shadow: 0 7px 22px rgba(16, 38, 70, 0.035);
  min-width: 0;
  padding: 17px;
}

.fin-panel-heading {
  align-items: flex-start;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.fin-panel-heading h2 {
  color: var(--fin-ink);
  font-size: 0.92rem;
  font-weight: 790;
  margin: 0 0 3px;
}

.fin-panel-heading p {
  color: var(--fin-muted);
  font-size: 0.69rem;
  line-height: 1.4;
  margin: 0;
}

.fin-panel-heading > a {
  color: #075bd8;
  font-size: 0.7rem;
  font-weight: 760;
  white-space: nowrap;
}

.fin-tone-blue { --tone: #0875eb; --tone-soft: #eaf3ff; }
.fin-tone-green { --tone: #0da877; --tone-soft: #e8f8f2; }
.fin-tone-cyan { --tone: #179ebf; --tone-soft: #e8f7fb; }
.fin-tone-violet { --tone: #7558da; --tone-soft: #f0ecff; }
.fin-tone-amber { --tone: #d98208; --tone-soft: #fff3df; }
.fin-tone-navy { --tone: #173b70; --tone-soft: #eaf0f8; }
.fin-tone-rose { --tone: #d85c7b; --tone-soft: #fff0f4; }

.fin-admin-kpis {
  display: grid;
  gap: 11px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.fin-kpi-card {
  align-items: flex-start;
  background: #ffffff;
  border: 1px solid var(--fin-line);
  border-radius: 13px;
  box-shadow: 0 6px 18px rgba(16, 38, 70, 0.035);
  display: flex;
  gap: 11px;
  min-height: 113px;
  padding: 15px 13px;
}

.fin-kpi-card__icon,
.fin-product-card__icon,
.fin-explore-card__icon {
  align-items: center;
  background: var(--tone-soft);
  border-radius: 10px;
  color: var(--tone);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.08rem;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.fin-kpi-card > div {
  min-width: 0;
}

.fin-kpi-card > div > span {
  color: #68768b;
  display: block;
  font-size: 0.65rem;
  font-weight: 720;
  line-height: 1.2;
}

.fin-kpi-card strong {
  color: var(--fin-ink);
  display: block;
  font-size: clamp(0.93rem, 1.15vw, 1.18rem);
  font-weight: 830;
  letter-spacing: -0.035em;
  margin-top: 7px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fin-kpi-card small {
  color: #8290a3;
  display: block;
  font-size: 0.59rem;
  line-height: 1.3;
  margin-top: 5px;
}

.fin-visibility-toggle {
  align-items: center;
  background: #f7f9fc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: #53647c;
  display: inline-flex;
  font-size: 0.66rem;
  font-weight: 720;
  gap: 6px;
  min-height: 34px;
  padding: 7px 10px;
}

.fin-product-grid {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.fin-product-card {
  border: 1px solid #e7ebf2;
  border-radius: 11px;
  color: var(--fin-ink);
  display: grid;
  min-height: 126px;
  padding: 12px;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.fin-product-card:hover {
  border-color: color-mix(in srgb, var(--tone) 36%, #e7ebf2);
  box-shadow: 0 9px 22px rgba(16, 38, 70, 0.07);
  color: var(--fin-ink);
  transform: translateY(-2px);
}

.fin-product-card__label {
  color: #586980;
  font-size: 0.64rem;
  font-weight: 740;
  line-height: 1.2;
  margin-top: 9px;
}

.fin-product-card > strong {
  color: var(--fin-ink);
  font-size: 0.92rem;
  font-weight: 820;
  letter-spacing: -0.025em;
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fin-product-card > small {
  color: #8491a3;
  font-size: 0.58rem;
  margin-top: 3px;
}

.fin-admin-analytics {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.72fr) minmax(285px, 0.67fr);
}

.fin-chart-panel,
.fin-distribution-panel {
  min-height: 365px;
}

.fin-chart-legend {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.fin-chart-legend span {
  align-items: center;
  color: #65758b;
  display: inline-flex;
  font-size: 0.62rem;
  font-weight: 680;
  gap: 5px;
}

.fin-chart-legend span::before {
  background: currentColor;
  border-radius: 50%;
  content: "";
  height: 7px;
  width: 7px;
}

.fin-chart-legend .is-entry { color: #0da877; }
.fin-chart-legend .is-exit { color: #e05260; }
.fin-chart-legend .is-sales { color: #0875eb; }

.fin-chart-scroll {
  overflow-x: auto;
  scrollbar-color: #c8d4e3 transparent;
}

.fin-line-chart {
  display: block;
  min-width: 680px;
  width: 100%;
}

.fin-line-chart line {
  stroke: #e7ecf3;
  stroke-width: 1;
}

.fin-line-chart text {
  fill: #8390a2;
  font-size: 9px;
}

.fin-line-chart path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.6;
}

.fin-line-chart path.is-entry { stroke: #0da877; }
.fin-line-chart path.is-exit { stroke: #e05260; }
.fin-line-chart path.is-sales { stroke: #0875eb; }

.fin-line-chart__date {
  fill: #748398 !important;
  font-size: 9px !important;
}

.fin-donut-wrap {
  align-items: center;
  display: grid;
  gap: 18px;
  justify-items: center;
}

.fin-donut {
  align-items: center;
  border-radius: 50%;
  display: flex;
  height: 146px;
  justify-content: center;
  position: relative;
  width: 146px;
}

.fin-donut::after {
  background: #ffffff;
  border-radius: 50%;
  content: "";
  height: 90px;
  position: absolute;
  width: 90px;
}

.fin-donut > span {
  max-width: 82px;
  position: relative;
  text-align: center;
  z-index: 1;
}

.fin-donut > span strong {
  color: var(--fin-ink);
  display: block;
  font-size: 0.68rem;
  font-weight: 820;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fin-donut > span small {
  color: #8190a3;
  display: block;
  font-size: 0.58rem;
  margin-top: 2px;
}

.fin-donut-legend {
  display: grid;
  gap: 6px;
  width: 100%;
}

.fin-donut-legend > div {
  align-items: center;
  display: grid;
  font-size: 0.59rem;
  gap: 6px;
  grid-template-columns: 7px 1fr auto;
}

.fin-donut-legend i {
  background: var(--dot);
  border-radius: 50%;
  height: 7px;
  width: 7px;
}

.fin-donut-legend span { color: #64748a; }
.fin-donut-legend strong { color: #263750; font-size: 0.6rem; }

.fin-admin-alert-stack {
  display: grid;
  gap: 12px;
}

.fin-admin-alert-stack .fin-panel {
  padding: 14px;
}

.fin-admin-alert-stack .fin-panel-heading {
  margin-bottom: 7px;
}

.fin-alert-list {
  display: grid;
}

.fin-alert-list a {
  align-items: center;
  border-bottom: 1px solid #edf0f5;
  color: #4e6077;
  display: flex;
  font-size: 0.64rem;
  gap: 10px;
  justify-content: space-between;
  min-height: 36px;
}

.fin-alert-list a:last-child { border-bottom: 0; }
.fin-alert-list a:hover { color: #075bd8; }
.fin-alert-list a > span { align-items: center; display: flex; gap: 8px; }
.fin-alert-list a i { color: var(--tone); font-size: 0.95rem; }

.fin-alert-list a > strong {
  align-items: center;
  background: #f3f6fa;
  border-radius: 7px;
  color: #34465f;
  display: inline-flex;
  font-size: 0.62rem;
  height: 23px;
  justify-content: center;
  min-width: 23px;
  padding: 0 5px;
}

.fin-admin-bottom {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.62fr) minmax(270px, 0.68fr);
}

.fin-operation-table-wrap {
  overflow-x: auto;
}

.fin-operation-table {
  border-collapse: collapse;
  min-width: 670px;
  width: 100%;
}

.fin-operation-table th {
  border-bottom: 1px solid #e5eaf1;
  color: #8390a2;
  font-size: 0.57rem;
  font-weight: 800;
  padding: 7px 8px;
  text-align: left;
  text-transform: uppercase;
}

.fin-operation-table td {
  border-bottom: 1px solid #edf1f5;
  color: #66768c;
  font-size: 0.63rem;
  padding: 8px;
  vertical-align: middle;
  white-space: nowrap;
}

.fin-operation-table tbody tr:last-child td { border-bottom: 0; }
.fin-operation-table tbody tr:hover td { background: #fafcff; }
.fin-operation-table td:first-child { white-space: normal; }
.fin-operation-table td:first-child a { color: #263750; display: grid; }
.fin-operation-table td:first-child strong { font-size: 0.66rem; }
.fin-operation-table td:first-child small { color: #8b97a8; font-size: 0.54rem; margin-top: 2px; }
.fin-operation-value { color: #263750 !important; font-weight: 760; text-align: right; }

.fin-operation-kind {
  background: #eef4fb;
  border-radius: 999px;
  color: #315b8e;
  display: inline-flex;
  font-size: 0.56rem;
  font-weight: 760;
  padding: 4px 7px;
}

.fin-status {
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.55rem;
  font-weight: 780;
  line-height: 1;
  padding: 5px 7px;
}

.fin-status--success { background: #e4f7ef; color: #087b58; }
.fin-status--warning { background: #fff1d9; color: #9b5e06; }
.fin-status--danger { background: #ffe8eb; color: #b73748; }
.fin-status--info { background: #e8f1ff; color: #1765c2; }

.fin-empty-cell,
.fin-empty-state {
  color: #8390a2 !important;
  font-size: 0.72rem !important;
  padding: 22px !important;
  text-align: center !important;
}

.fin-financial-summary {
  display: grid;
  margin: 0;
}

.fin-financial-summary > div {
  align-items: center;
  border-bottom: 1px solid #edf1f5;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  min-height: 37px;
}

.fin-financial-summary > div:last-child { border-bottom: 0; }
.fin-financial-summary dt { color: #69798f; font-size: 0.62rem; font-weight: 650; }
.fin-financial-summary dd { color: #263750; font-size: 0.65rem; font-weight: 780; margin: 0; }
.fin-financial-summary .is-total dt,
.fin-financial-summary .is-total dd { color: #087b58; font-weight: 830; }

.fin-terminal-summary {
  align-items: center;
  background: #f2f7fd;
  border: 1px solid #dfeaf7;
  border-radius: 10px;
  color: #52647b;
  display: flex;
  font-size: 0.61rem;
  gap: 9px;
  line-height: 1.4;
  margin-top: 12px;
  padding: 10px;
}

.fin-terminal-summary > i { color: #0875eb; font-size: 1rem; }
.fin-terminal-summary strong { color: #173b70; }

.fin-top-clients {
  display: grid;
  list-style: none;
  margin: 0;
  padding: 0;
}

.fin-top-clients li {
  align-items: center;
  border-bottom: 1px solid #edf1f5;
  display: grid;
  gap: 8px;
  grid-template-columns: 23px 1fr auto;
  min-height: 46px;
}

.fin-top-clients li:last-child { border-bottom: 0; }

.fin-top-clients__rank {
  align-items: center;
  background: #edf3fb;
  border-radius: 50%;
  color: #426188;
  display: inline-flex;
  font-size: 0.58rem;
  font-weight: 800;
  height: 22px;
  justify-content: center;
  width: 22px;
}

.fin-top-clients a { display: grid; min-width: 0; }
.fin-top-clients a strong { color: #263750; font-size: 0.63rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fin-top-clients a small { color: #8b97a8; font-size: 0.53rem; margin-top: 2px; }
.fin-top-clients b { color: #263750; font-size: 0.62rem; white-space: nowrap; }

/* Customer banking home */

.fin-customer-welcome {
  align-items: center;
}

.fin-customer-welcome h1 {
  font-size: clamp(1.45rem, 2vw, 1.9rem);
  margin-top: 0;
}

.fin-onboarding-banner {
  align-items: center;
  background: linear-gradient(100deg, #eef6ff, #f8fbff);
  border: 1px solid #d4e5f8;
  border-radius: 13px;
  display: grid;
  gap: 12px;
  grid-template-columns: auto 1fr auto;
  padding: 13px 15px;
}

.fin-onboarding-banner__icon {
  align-items: center;
  background: #0875eb;
  border-radius: 10px;
  color: #ffffff;
  display: inline-flex;
  font-size: 1.15rem;
  height: 39px;
  justify-content: center;
  width: 39px;
}

.fin-onboarding-banner strong { color: var(--fin-ink); display: block; font-size: 0.78rem; }
.fin-onboarding-banner p { color: #6c7c91; font-size: 0.68rem; margin: 3px 0 0; }

.fin-customer-layout {
  align-items: start;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(285px, 315px);
}

.fin-customer-main,
.fin-customer-aside {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.fin-customer-hero-grid {
  display: grid;
  gap: 13px;
  grid-template-columns: minmax(320px, 0.72fr) minmax(420px, 1.28fr);
}

.fin-balance-card {
  background:
    radial-gradient(circle at 90% 5%, rgba(67, 202, 238, 0.34), transparent 12rem),
    linear-gradient(135deg, #073fbd, #0875eb 58%, #0754c8);
  border-radius: 14px;
  box-shadow: 0 15px 30px rgba(7, 84, 200, 0.2);
  color: #ffffff;
  min-height: 205px;
  overflow: hidden;
  padding: 19px;
  position: relative;
}

.fin-balance-card::after {
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 50%;
  content: "";
  height: 190px;
  position: absolute;
  right: -85px;
  top: -95px;
  width: 190px;
}

.fin-balance-card__head {
  align-items: center;
  display: flex;
  font-size: 0.69rem;
  font-weight: 700;
  gap: 8px;
}

.fin-balance-card__head button {
  background: transparent;
  border: 0;
  color: rgba(255, 255, 255, 0.78);
  padding: 0;
}

.fin-balance-card__value {
  display: block;
  font-size: clamp(1.7rem, 2.7vw, 2.35rem);
  font-weight: 840;
  letter-spacing: -0.055em;
  margin-top: 9px;
}

.fin-balance-card__arrow {
  color: #ffffff;
  font-size: 1.15rem;
  left: min(260px, 78%);
  position: absolute;
  top: 66px;
}

.fin-balance-card__arrow:hover { color: #ffffff; transform: translateX(2px); }

.fin-balance-card__breakdown {
  bottom: 17px;
  display: grid;
  gap: 0;
  grid-template-columns: 1fr 1fr;
  left: 19px;
  position: absolute;
  right: 19px;
}

.fin-balance-card__breakdown > div {
  border-right: 1px solid rgba(255, 255, 255, 0.16);
  display: grid;
  gap: 5px;
  min-width: 0;
  padding-right: 13px;
}

.fin-balance-card__breakdown > div + div {
  border-right: 0;
  padding-left: 18px;
  padding-right: 0;
}

.fin-balance-card__breakdown span { color: rgba(255, 255, 255, 0.72); font-size: 0.59rem; }
.fin-balance-card__breakdown strong { color: #ffffff; font-size: 0.81rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.fin-quick-panel {
  min-height: 205px;
}

.fin-quick-actions {
  align-items: start;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(74px, 1fr));
}

.fin-quick-actions a {
  align-items: center;
  color: #384b64;
  display: grid;
  font-size: 0.61rem;
  gap: 7px;
  justify-items: center;
  line-height: 1.25;
  text-align: center;
}

.fin-quick-actions a > span {
  align-items: center;
  background: var(--tone-soft);
  border-radius: 50%;
  color: var(--tone);
  display: inline-flex;
  font-size: 1.12rem;
  height: 48px;
  justify-content: center;
  transition: box-shadow 0.18s ease, transform 0.18s ease;
  width: 48px;
}

.fin-quick-actions a:hover > span {
  box-shadow: 0 8px 18px color-mix(in srgb, var(--tone) 18%, transparent);
  transform: translateY(-2px);
}

.fin-quick-actions strong { color: #3d4e65; font-size: 0.61rem; font-weight: 720; }

.fin-limit-strip {
  align-items: center;
  background: linear-gradient(90deg, #f4f8ff, #ffffff);
  border: 1px solid #dde7f4;
  border-radius: 13px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(230px, auto) 1fr auto;
  min-height: 76px;
  padding: 13px 17px;
}

.fin-limit-strip > div:first-child { display: grid; gap: 3px; }
.fin-limit-strip > div:first-child > span { color: #6b7c92; font-size: 0.61rem; }
.fin-limit-strip > div:first-child > strong { color: #263750; font-size: 0.77rem; }
.fin-limit-strip > div:first-child small { color: #7e8da1; font-size: 0.61rem; font-weight: 600; }

.fin-limit-strip__progress {
  background: #dfe7f1;
  border-radius: 999px;
  height: 5px;
  overflow: hidden;
}

.fin-limit-strip__progress span {
  background: linear-gradient(90deg, #075bd8, #179ee8);
  border-radius: inherit;
  display: block;
  height: 100%;
}

.fin-limit-strip > a {
  align-items: center;
  color: #075bd8;
  display: inline-flex;
  font-size: 0.66rem;
  font-weight: 750;
  gap: 5px;
  white-space: nowrap;
}

.fin-explore-grid {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
}

.fin-explore-card {
  border: 1px solid #e6ebf2;
  border-radius: 11px;
  color: #263750;
  display: grid;
  min-height: 164px;
  padding: 13px;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.fin-explore-card:hover {
  border-color: color-mix(in srgb, var(--tone) 34%, #e6ebf2);
  box-shadow: 0 9px 22px rgba(16, 38, 70, 0.065);
  color: #263750;
  transform: translateY(-2px);
}

.fin-explore-card > strong { font-size: 0.7rem; margin-top: 10px; }
.fin-explore-card > p { color: #78879a; font-size: 0.59rem; line-height: 1.4; margin: 5px 0 10px; }
.fin-explore-card > b { align-items: center; align-self: end; color: var(--tone); display: flex; font-size: 0.59rem; gap: 4px; }

.fin-activity-list {
  display: grid;
}

.fin-activity-item {
  align-items: center;
  border-bottom: 1px solid #ebeff4;
  color: #52647b;
  display: grid;
  gap: 10px;
  grid-template-columns: 38px minmax(0, 1fr) auto minmax(125px, auto);
  min-height: 55px;
  padding: 7px 3px;
}

.fin-activity-item:last-child { border-bottom: 0; }
.fin-activity-item:hover { background: #fbfcfe; color: #52647b; }

.fin-activity-item__icon {
  align-items: center;
  background: #edf4fe;
  border-radius: 10px;
  color: #0875eb;
  display: inline-flex;
  font-size: 1rem;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.fin-activity-item__icon.is-in { background: #e8f8f2; color: #0b966b; }
.fin-activity-item__icon.is-out { background: #fff0f2; color: #d34f61; }

.fin-activity-item__copy { display: grid; min-width: 0; }
.fin-activity-item__copy strong { color: #263750; font-size: 0.67rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fin-activity-item__copy small,
.fin-activity-item__date { color: #8a96a7; font-size: 0.56rem; }
.fin-activity-item__amount { align-items: flex-end; display: grid; gap: 3px; justify-items: end; }
.fin-activity-item__amount > strong { color: #263750; font-size: 0.68rem; white-space: nowrap; }
.fin-activity-item__amount.is-in > strong { color: #087b58; }
.fin-activity-item__amount.is-out > strong { color: #b83e4d; }

.fin-customer-aside {
  position: sticky;
  top: 92px;
}

.fin-account-card .fin-panel-heading,
.fin-month-overview .fin-panel-heading,
.fin-shortcuts-panel .fin-panel-heading {
  margin-bottom: 12px;
}

.fin-verified-badge {
  background: #fff1d9;
  border-radius: 999px;
  color: #9a620d;
  font-size: 0.55rem;
  font-weight: 780;
  padding: 5px 7px;
  white-space: nowrap;
}

.fin-verified-badge.is-verified { background: #e4f7ef; color: #087b58; }

.fin-account-data {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr 1fr;
  margin: 0 0 13px;
}

.fin-account-data > div { min-width: 0; }
.fin-account-data dt { color: #8491a3; font-size: 0.55rem; font-weight: 650; }
.fin-account-data dd { color: #263750; font-size: 0.68rem; font-weight: 770; margin: 3px 0 0; overflow-wrap: anywhere; }

.fin-copy-button {
  align-items: center;
  background: #f4f8fd;
  border: 1px solid #dfe8f3;
  border-radius: 8px;
  color: #315b8e;
  display: flex;
  font-size: 0.6rem;
  font-weight: 740;
  gap: 6px;
  justify-content: center;
  min-height: 34px;
  width: 100%;
}

.fin-copy-button.is-copied { background: #e4f7ef; border-color: #c3eadc; color: #087b58; }

.fin-pix-key {
  border-top: 1px solid #edf1f5;
  display: grid;
  gap: 3px;
  grid-template-columns: 1fr auto;
  margin-top: 13px;
  padding-top: 12px;
}

.fin-pix-key > span { color: #8491a3; font-size: 0.54rem; grid-column: 1 / -1; }
.fin-pix-key > strong { color: #263750; font-size: 0.61rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fin-pix-key > button { background: transparent; border: 0; color: #52647b; padding: 0; }

.fin-account-awaiting {
  align-items: center;
  background: #f7f9fc;
  border-radius: 10px;
  color: #758499;
  display: flex;
  font-size: 0.63rem;
  gap: 9px;
  line-height: 1.4;
  padding: 12px;
}

.fin-account-awaiting i { color: #d98208; font-size: 1rem; }
.fin-account-awaiting p { margin: 0; }

.fin-month-metrics {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
}

.fin-month-metrics > div {
  background: #f7f9fc;
  border: 1px solid #edf0f5;
  border-radius: 9px;
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px;
}

.fin-month-metrics span { color: #7a899d; font-size: 0.55rem; }
.fin-month-metrics strong { color: #263750; font-size: 0.68rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fin-month-metrics .is-in strong { color: #087b58; }
.fin-month-metrics .is-out strong { color: #b83e4d; }

.fin-shortcut-list {
  display: grid;
}

.fin-shortcut-list > a {
  align-items: center;
  border-bottom: 1px solid #edf1f5;
  color: #52647b;
  display: flex;
  font-size: 0.62rem;
  justify-content: space-between;
  min-height: 39px;
}

.fin-shortcut-list > a:last-child { border-bottom: 0; }
.fin-shortcut-list > a:hover { color: #075bd8; }
.fin-shortcut-list > a > span { align-items: center; display: flex; gap: 8px; }
.fin-shortcut-list > a > span i { color: #5d7290; font-size: 0.9rem; }
.fin-shortcut-list > a > i { color: #9ba7b7; font-size: 0.75rem; }

.fin-dashboard.is-money-hidden .dashboard-money {
  font-size: 0 !important;
}

.fin-dashboard.is-money-hidden .dashboard-money::after {
  content: "••••••";
  font-size: 0.78rem;
  letter-spacing: 0.08em;
}

.fin-balance-card .fin-dashboard.is-money-hidden .dashboard-money::after,
.fin-dashboard.is-money-hidden .fin-balance-card__value .dashboard-money::after {
  font-size: 1.5rem;
}

@media (max-width: 1599.98px) {
  .fin-admin-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fin-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fin-admin-analytics { grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.7fr); }
  .fin-admin-alert-stack { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .fin-admin-bottom { grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr); }
  .fin-top-clients-panel { grid-column: 1 / -1; }
  .fin-top-clients { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  .fin-customer-hero-grid { grid-template-columns: minmax(300px, 0.75fr) minmax(380px, 1.25fr); }
}

@media (max-width: 1299.98px) {
  .fin-customer-layout { grid-template-columns: 1fr; }
  .fin-customer-aside { grid-template-columns: repeat(3, minmax(0, 1fr)); position: static; }
  .fin-customer-aside > .fin-panel { height: 100%; }
}

@media (max-width: 1199.98px) {
  .fin-admin-analytics,
  .fin-admin-bottom { grid-template-columns: 1fr; }
  .fin-distribution-panel { min-height: auto; }
  .fin-donut-wrap { grid-template-columns: 165px 1fr; justify-items: stretch; }
  .fin-admin-alert-stack,
  .fin-top-clients-panel { grid-column: auto; }
  .fin-summary-panel,
  .fin-top-clients-panel { min-height: auto; }
  .fin-customer-hero-grid { grid-template-columns: 1fr; }
  .fin-quick-panel { min-height: auto; }
  .fin-customer-aside { grid-template-columns: 1fr 1fr; }
  .fin-shortcuts-panel { grid-column: 1 / -1; }
}

@media (max-width: 991.98px) {
  html[data-layout="vertical"] body.app-page-shell.link-sidebar .left-sidebar {
    box-shadow: 16px 0 42px rgba(16, 38, 70, 0.18);
  }
  .fin-dashboard-heading { align-items: flex-start; }
  .fin-dashboard-heading__actions { justify-content: flex-start; }
  .fin-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
  .fin-dashboard { gap: 12px; padding-bottom: 72px; }
  .fin-dashboard-heading { display: grid; gap: 12px; }
  .fin-dashboard-heading__actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .fin-dashboard-heading__actions > * { width: 100%; }
  .fin-admin-kpis { grid-template-columns: 1fr 1fr; }
  .fin-kpi-card { min-height: 104px; padding: 13px 11px; }
  .fin-product-grid { grid-template-columns: 1fr 1fr; }
  .fin-admin-alert-stack { grid-template-columns: 1fr; }
  .fin-top-clients { grid-template-columns: 1fr; }
  .fin-donut-wrap { grid-template-columns: 1fr; justify-items: center; }
  .fin-donut-legend { width: min(100%, 320px); }
  .fin-onboarding-banner { align-items: start; grid-template-columns: auto 1fr; }
  .fin-onboarding-banner .btn { grid-column: 1 / -1; width: 100%; }
  .fin-customer-aside { grid-template-columns: 1fr; }
  .fin-shortcuts-panel { grid-column: auto; }
  .fin-limit-strip { grid-template-columns: 1fr; gap: 10px; }
  .fin-limit-strip > a { justify-content: flex-end; }
  .fin-activity-item { grid-template-columns: 36px minmax(0, 1fr) auto; }
  .fin-activity-item__date { display: none; }
}

@media (max-width: 479.98px) {
  .fin-panel { border-radius: 12px; padding: 14px; }
  .fin-admin-kpis { grid-template-columns: 1fr; }
  .fin-product-grid { grid-template-columns: 1fr 1fr; }
  .fin-product-card { min-height: 118px; }
  .fin-customer-hero-grid { display: block; }
  .fin-quick-panel { margin-top: 12px; }
  .fin-balance-card { min-height: 196px; }
  .fin-quick-actions { grid-template-columns: repeat(3, 1fr); }
  .fin-explore-grid { grid-template-columns: 1fr 1fr; }
  .fin-explore-card { min-height: 155px; }
  .fin-activity-item { align-items: start; grid-template-columns: 34px minmax(0, 1fr); }
  .fin-activity-item__amount { grid-column: 2; justify-items: start; }
  .fin-account-data { grid-template-columns: 1fr 1fr; }
}

/* Dashboard readability baseline — dense enough for operations, never micro-text. */
.fin-dashboard { font-size: 14px; line-height: 1.45; }
.fin-dashboard-kicker { font-size: 0.75rem; }
.fin-dashboard-heading p { font-size: 0.9rem; }
.fin-period-chip { font-size: 0.82rem; min-height: 42px; }
.fin-panel-heading h2 { font-size: 1.02rem; }
.fin-panel-heading p { font-size: 0.79rem; }
.fin-panel-heading > a { font-size: 0.79rem; }
.fin-kpi-card { min-height: 124px; padding: 17px 15px; }
.fin-kpi-card > div > span { font-size: 0.76rem; }
.fin-kpi-card strong { font-size: clamp(1.02rem, 1vw, 1.18rem); letter-spacing: -0.045em; }
.fin-kpi-card small { font-size: 0.7rem; }
.fin-visibility-toggle { font-size: 0.76rem; min-height: 38px; }
.fin-product-card { min-height: 139px; padding: 14px; }
.fin-product-card__label { font-size: 0.75rem; }
.fin-product-card > strong { font-size: 1.02rem; }
.fin-product-card > small { font-size: 0.69rem; }
.fin-chart-legend span { font-size: 0.72rem; }
.fin-line-chart text,
.fin-line-chart__date { font-size: 10.5px !important; }
.fin-donut > span strong { font-size: 0.78rem; }
.fin-donut > span small { font-size: 0.68rem; }
.fin-donut-legend > div { font-size: 0.7rem; }
.fin-donut-legend strong { font-size: 0.71rem; }
.fin-alert-list a { font-size: 0.75rem; min-height: 42px; }
.fin-alert-list a > strong { font-size: 0.71rem; height: 26px; min-width: 26px; }
.fin-operation-table th { font-size: 0.67rem; padding: 9px; }
.fin-operation-table td { font-size: 0.75rem; padding: 10px 9px; }
.fin-operation-table td:first-child strong { font-size: 0.77rem; }
.fin-operation-table td:first-child small { font-size: 0.66rem; }
.fin-operation-kind { font-size: 0.68rem; }
.fin-status { font-size: 0.66rem; padding: 6px 8px; }
.fin-financial-summary > div { min-height: 42px; }
.fin-financial-summary dt { font-size: 0.73rem; }
.fin-financial-summary dd { font-size: 0.77rem; }
.fin-terminal-summary { font-size: 0.72rem; }
.fin-top-clients li { min-height: 51px; }
.fin-top-clients__rank { font-size: 0.68rem; height: 25px; width: 25px; }
.fin-top-clients a strong { font-size: 0.75rem; }
.fin-top-clients a small { font-size: 0.65rem; }
.fin-top-clients b { font-size: 0.74rem; }
.fin-onboarding-banner strong { font-size: 0.88rem; }
.fin-onboarding-banner p { font-size: 0.77rem; }
.fin-balance-card__head { font-size: 0.79rem; }
.fin-balance-card__breakdown span { font-size: 0.7rem; }
.fin-balance-card__breakdown strong { font-size: 0.9rem; }
.fin-quick-actions a,
.fin-quick-actions strong { font-size: 0.72rem; }
.fin-limit-strip > div:first-child > span,
.fin-limit-strip > div:first-child small { font-size: 0.72rem; }
.fin-limit-strip > div:first-child > strong { font-size: 0.88rem; }
.fin-limit-strip > a { font-size: 0.77rem; }
.fin-explore-card > strong { font-size: 0.82rem; }
.fin-explore-card > p { font-size: 0.7rem; }
.fin-explore-card > b { font-size: 0.71rem; }
.fin-activity-item { min-height: 62px; }
.fin-activity-item__copy strong { font-size: 0.79rem; }
.fin-activity-item__copy small,
.fin-activity-item__date { font-size: 0.67rem; }
.fin-activity-item__amount > strong { font-size: 0.8rem; }
.fin-verified-badge { font-size: 0.66rem; }
.fin-account-data dt { font-size: 0.67rem; }
.fin-account-data dd { font-size: 0.79rem; }
.fin-copy-button { font-size: 0.72rem; min-height: 38px; }
.fin-pix-key > span { font-size: 0.66rem; }
.fin-pix-key > strong { font-size: 0.73rem; }
.fin-account-awaiting { font-size: 0.74rem; }
.fin-month-metrics span { font-size: 0.67rem; }
.fin-month-metrics strong { font-size: 0.79rem; }
.fin-shortcut-list > a { font-size: 0.75rem; min-height: 44px; }

body.app-page-shell .left-sidebar .sidebar-link .hide-menu { font-size: 0.82rem; }
body.app-page-shell .left-sidebar .nav-small-cap .hide-menu { font-size: 0.7rem; letter-spacing: 0.08em; }

/* Administrative control centers */
.admin-control-notice,
.customer-workspace__notice {
  align-items: center;
  background: linear-gradient(112deg, #082a61 0%, #075bd8 100%);
  border-radius: 16px;
  color: #fff;
  display: grid;
  gap: 14px;
  grid-template-columns: auto 1fr auto;
  padding: 18px 20px;
  box-shadow: 0 18px 38px rgba(8, 42, 97, .16);
}
.admin-control-notice > i,
.customer-workspace__notice > i { font-size: 1.65rem; }
.admin-control-notice strong,
.customer-workspace__notice strong { display: block; font-size: .92rem; }
.admin-control-notice p,
.customer-workspace__notice p { color: rgba(255,255,255,.78); font-size: .78rem; margin: 3px 0 0; }
.admin-control-notice > span { background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; font-size: .7rem; font-weight: 800; padding: 7px 11px; text-transform: uppercase; }
.admin-control-metrics,
.customer-workspace__metrics { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0,1fr)); }
.admin-control-metrics article,
.customer-workspace__metrics article { align-items: center; background: #fff; border: 1px solid #e4eaf2; border-radius: 14px; display: flex; gap: 12px; min-height: 92px; padding: 15px; box-shadow: 0 10px 28px rgba(23, 43, 77, .045); }
.admin-control-metrics article > span,
.customer-workspace__metrics article > span { align-items: center; background: #edf5ff; border-radius: 12px; color: #075bd8; display: inline-flex; flex: 0 0 auto; font-size: 1.25rem; height: 42px; justify-content: center; width: 42px; }
.admin-control-metrics article > div,
.customer-workspace__metrics article > div { display: grid; gap: 4px; min-width: 0; }
.admin-control-metrics small,
.customer-workspace__metrics small { color: #6e7e93; font-size: .72rem; font-weight: 650; }
.admin-control-metrics strong,
.customer-workspace__metrics strong { color: #142842; font-size: 1rem; line-height: 1.2; overflow-wrap: anywhere; }
.admin-control-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 18px; }
.admin-control-heading span { color: #74849a; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-control-heading h4 { color: #172a43; font-size: 1.05rem; margin: 3px 0 0; }
.admin-control-heading > i { color: #075bd8; font-size: 1.4rem; }
.admin-capability-grid { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.admin-capability-grid article { align-items: center; background: #f8fafc; border: 1px solid #e8edf3; border-radius: 12px; display: grid; gap: 11px; grid-template-columns: auto 1fr auto; min-height: 76px; padding: 13px; }
.admin-capability-grid b { color: #87a0be; font-size: .7rem; }
.admin-capability-grid div { display: grid; gap: 3px; }
.admin-capability-grid strong { color: #223650; font-size: .8rem; }
.admin-capability-grid small { color: #77879a; font-size: .68rem; }
.admin-capability-grid > article > i { color: #0a9c70; }
.admin-control-links { display: grid; }
.admin-control-links a { align-items: center; border-bottom: 1px solid #edf1f5; color: #314762; display: flex; font-size: .8rem; font-weight: 700; justify-content: space-between; min-height: 48px; }
.admin-control-links a:last-child { border-bottom: 0; }
.admin-control-links a span { align-items: center; display: flex; gap: 9px; }
.admin-control-links a span i { color: #075bd8; }

/* Profile-specific customer workspaces */
.customer-workspace { display: grid; gap: 18px; padding-bottom: 40px; }
.customer-workspace__hero { align-items: flex-start; display: flex; gap: 20px; justify-content: space-between; }
.customer-workspace__eyebrow { color: #64758a; display: block; font-size: .72rem; font-weight: 800; letter-spacing: .06em; margin-bottom: 6px; text-transform: uppercase; }
.customer-workspace__hero h1 { color: #122844; font-size: clamp(1.45rem,2vw,2rem); letter-spacing: -.025em; margin: 0; }
.customer-workspace__hero p { color: #65758a; font-size: .9rem; line-height: 1.55; margin: 7px 0 0; max-width: 760px; }
.customer-workspace__scope { align-items: center; background: #e8f7f1; border: 1px solid #c5eadc; border-radius: 999px; color: #087657; display: inline-flex; flex: 0 0 auto; font-size: .72rem; font-weight: 800; gap: 7px; padding: 9px 12px; }
.customer-workspace__notice { background: linear-gradient(112deg,#0b3a79 0%,#0967d9 100%); grid-template-columns: auto 1fr; }
.customer-workspace__metrics { grid-template-columns: repeat(6,minmax(0,1fr)); }
.customer-workspace__metrics article { min-height: 96px; }
.customer-workspace__metrics strong { font-size: .91rem; }
.customer-workspace__grid { display: grid; gap: 18px; grid-template-columns: minmax(0,1.5fr) minmax(290px,.7fr); }
.customer-workspace__panel { background: #fff; border: 1px solid #e3e9f1; border-radius: 16px; box-shadow: 0 12px 32px rgba(23,43,77,.05); padding: 20px; }
.customer-workspace__panel-head { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 16px; }
.customer-workspace__panel-head span { color: #77879b; font-size: .67rem; font-weight: 850; letter-spacing: .08em; }
.customer-workspace__panel-head h2 { color: #172c47; font-size: 1.04rem; margin: 3px 0 0; }
.customer-workspace__panel-head > strong { color: #60728a; font-size: .72rem; }
.customer-workspace__capabilities { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.customer-workspace__capabilities article { align-items: center; background: #f8fafc; border: 1px solid #e7edf4; border-radius: 12px; display: grid; gap: 10px; grid-template-columns: auto 1fr auto; min-height: 62px; padding: 12px; }
.customer-workspace__capabilities article > span { color: #89a0bc; font-size: .67rem; font-weight: 850; }
.customer-workspace__capabilities article strong { color: #2a405c; font-size: .78rem; }
.customer-workspace__capabilities article i { color: #07966b; }
.customer-workspace__actions { display: flex; flex-direction: column; }
.customer-workspace__actions > a { align-items: center; border-bottom: 1px solid #edf1f5; color: #304762; display: flex; font-size: .79rem; font-weight: 750; justify-content: space-between; min-height: 48px; }
.customer-workspace__actions > a > span { align-items: center; display: flex; gap: 8px; }
.customer-workspace__actions > a > span i { color: #075bd8; font-size: 1rem; }
.customer-workspace__controlled { align-items: center; color: #6c7c90; display: grid; gap: 6px; justify-items: center; padding: 24px 10px; text-align: center; }
.customer-workspace__controlled > i { color: #07966b; font-size: 1.7rem; }
.customer-workspace__controlled strong { color: #2e445f; font-size: .84rem; }
.customer-workspace__controlled p { font-size: .72rem; line-height: 1.5; margin: 0; }
.customer-workspace__table-panel { min-width: 0; }
.customer-workspace__table { border-collapse: collapse; min-width: 850px; width: 100%; }
.customer-workspace__table th { border-bottom: 1px solid #e5eaf1; color: #74859a; font-size: .67rem; letter-spacing: .04em; padding: 10px; text-align: left; text-transform: uppercase; }
.customer-workspace__table td { border-bottom: 1px solid #edf1f5; color: #455972; font-size: .75rem; padding: 11px 10px; vertical-align: middle; }
.customer-workspace__table td:first-child { display: grid; gap: 2px; }
.customer-workspace__table td:first-child strong { color: #233a56; font-size: .78rem; }
.customer-workspace__table td:first-child small { color: #8593a5; font-size: .65rem; }
.customer-workspace__table code { background: #f2f6fa; border-radius: 6px; color: #38506d; font-size: .69rem; padding: 3px 6px; }
.customer-workspace__status { background: #edf2f7; border-radius: 999px; color: #51657e; display: inline-flex; font-size: .65rem; font-weight: 800; padding: 5px 8px; white-space: nowrap; }
.customer-workspace__status.is-active { background: #e4f7ef; color: #087758; }
.customer-workspace__status.is-pending { background: #fff4dd; color: #9a5c05; }
.customer-workspace__status.is-error { background: #feecef; color: #b53849; }
.customer-workspace__empty { color: #7c8b9e !important; padding: 28px !important; text-align: center; }
.customer-workspace__product-grid { display: grid; gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.customer-workspace__product-grid article { align-items: center; background: #f8fafc; border: 1px solid #e6ecf3; border-radius: 12px; display: flex; justify-content: space-between; min-height: 58px; padding: 12px; }
.customer-workspace__product-grid article > span { align-items: center; color: #334a66; display: flex; font-size: .76rem; font-weight: 750; gap: 8px; }
.customer-workspace__product-grid article > span i { color: #7187a3; }
.customer-workspace__product-grid article > strong { color: #9a5560; font-size: .65rem; }
.customer-workspace__product-grid article > strong.is-active { color: #07805c; }

@media (max-width:1399.98px) {
  .customer-workspace__metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width:991.98px) {
  .admin-control-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .customer-workspace__grid { grid-template-columns: 1fr; }
  .customer-workspace__product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:767.98px) {
  .admin-control-notice { grid-template-columns: auto 1fr; }
  .admin-control-notice > span { display: none; }
  .admin-capability-grid,
  .customer-workspace__capabilities { grid-template-columns: 1fr; }
  .customer-workspace__hero { display: grid; }
  .customer-workspace__metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:479.98px) {
  .admin-control-metrics,
  .customer-workspace__metrics,
  .customer-workspace__product-grid { grid-template-columns: 1fr; }
}

/* Role-aware hierarchical sidebar */
body.app-page-shell .left-sidebar { width: 246px; }
body.app-page-shell .page-wrapper { margin-left: 246px; }
.admin-nav-section { list-style: none; margin: 3px 10px 7px; }
.admin-nav-section details { border-radius: 12px; }
.admin-nav-section summary {
  align-items: center;
  border-radius: 10px;
  color: #607089;
  cursor: pointer;
  display: grid;
  font-size: .72rem;
  font-weight: 850;
  gap: 9px;
  grid-template-columns: 22px 1fr auto;
  letter-spacing: .055em;
  list-style: none;
  min-height: 38px;
  padding: 8px 9px;
  text-transform: uppercase;
  user-select: none;
}
.admin-nav-section summary::-webkit-details-marker { display: none; }
.admin-nav-section summary:hover { background: #f2f6fb; color: #203a5b; }
.admin-nav-section summary iconify-icon { font-size: 1.08rem; }
.admin-nav-section summary > i { font-size: .7rem; transition: transform .18s ease; }
.admin-nav-section details[open] summary > i { transform: rotate(180deg); }
.admin-nav-section.is-active summary { color: #075bd8; }
.admin-nav-section details > ul { display: grid; gap: 2px; list-style: none; margin: 2px 0 0; padding: 0; }
body.app-page-shell .admin-nav-section .sidebar-item { margin: 0; }
body.app-page-shell .admin-nav-section .sidebar-link {
  border-radius: 9px !important;
  gap: 9px !important;
  min-height: 36px;
  padding: 7px 9px 7px 13px !important;
}
body.app-page-shell .admin-nav-section .sidebar-link iconify-icon { font-size: 1.05rem !important; }
body.app-page-shell .admin-nav-section .sidebar-link .hide-menu { font-size: .8rem; line-height: 1.25; white-space: normal; }
body.app-page-shell .admin-nav-section .sidebar-link.active { background: #0b4fb6 !important; }
.admin-nav-badge { align-items: center; background: #ffe7ac; border-radius: 999px; color: #824d00; display: inline-flex; flex: 0 0 auto; font-size: .61rem; font-weight: 850; height: 22px; justify-content: center; margin-left: auto; min-width: 22px; padding: 0 6px; }
@media (max-width:1299.98px) {
  body.app-page-shell .page-wrapper { margin-left: 0; }
}

.fin-baas-operations-grid { grid-template-columns: minmax(0,1.65fr) minmax(300px,.72fr); }
.fin-baas-operations-grid .fin-admin-alert-stack { grid-column: auto; grid-template-columns: 1fr; }
.fin-business-actions { min-height: auto; }
.fin-business-actions .fin-quick-actions { grid-template-columns: repeat(7,minmax(72px,1fr)); }
.fin-business-bottom { grid-template-columns: minmax(0,1.6fr) minmax(300px,.7fr); }
@media (max-width:1199.98px) {
  .fin-baas-operations-grid,
  .fin-business-bottom { grid-template-columns: 1fr; }
  .fin-business-actions .fin-quick-actions { grid-template-columns: repeat(4,minmax(72px,1fr)); }
}
@media (max-width:575.98px) {
  .fin-business-actions .fin-quick-actions { grid-template-columns: repeat(3,minmax(68px,1fr)); }
}

/* Readability baseline — telas financeiras densas precisam continuar legiveis. */
body.app-page-shell { font-size: 16px; line-height: 1.5; }
body.app-page-shell .app-page-intro p,
body.app-page-shell .fin-dashboard-heading p,
body.app-page-shell .text-muted { font-size: max(.9rem,14px); line-height: 1.5; }
body.app-page-shell .table > :not(caption) > * > * { font-size: max(.88rem,14px); line-height: 1.45; }
body.app-page-shell .form-label,
body.app-page-shell .form-text,
body.app-page-shell .form-check-label { font-size: max(.88rem,14px); }
body.app-page-shell .form-control,
body.app-page-shell .form-select,
body.app-page-shell .btn { font-size: max(.9rem,14px); }
body.app-page-shell .small,
body.app-page-shell small { font-size: max(.82rem,13px); line-height: 1.45; }
.admin-nav-section summary { font-size: .79rem; min-height: 42px; }
body.app-page-shell .admin-nav-section .sidebar-link { min-height: 41px; }
body.app-page-shell .admin-nav-section .sidebar-link .hide-menu { font-size: .88rem; line-height: 1.3; }
.admin-nav-badge { font-size: .72rem; min-width: 24px; height: 24px; }
.compliance-table td,
.compliance-table th,
.compliance-screenings span,
.compliance-flag,
.customer-workspace__table td,
.customer-workspace__table th { font-size: max(.86rem,13.5px) !important; }
.fin-kpi-card__label,
.fin-volume-card__label,
.fin-quick-action span,
.metric-card__label { font-size: max(.86rem,13.5px) !important; }
