/* =====================================================================
   JurisPoint AI · Seção "Módulo Financeiro"
   CSS isolado e prefixado (lp-financeiro-*). Sem dependências externas.
   Fonte: Inter com fallback de sistema (sem @import externo).
   ===================================================================== */

.lp-financeiro {
  /* ---- design tokens (escopados na seção, não vazam para o global) ---- */
  --lpf-bg-1: #0A2C2C;   /* verde petróleo */
  --lpf-bg-2: #0A2640;   /* azul profundo */
  --lpf-bg-3: #0D1320;   /* grafite */
  --lpf-emerald: #1FD18B;
  --lpf-emerald-soft: #34E0A4;
  --lpf-emerald-text: #5BE9B5;
  --lpf-blue: #2E8BFF;
  --lpf-blue-soft: #5AA6FF;
  --lpf-blue-text: #9CC6FF;
  --lpf-text: #EAF2F8;
  --lpf-text-strong: #F4F9FD;
  --lpf-text-dim: #AEC2D4;
  --lpf-text-muted: #8DA3BC;

  /* superfícies claras do dashboard */
  --lpf-card: #FFFFFF;
  --lpf-card-border: #E6EDF6;
  --lpf-ink: #0B2A4A;
  --lpf-ink-soft: #67788F;
  --lpf-ink-faint: #8494AB;

  /* status */
  --lpf-green-bg: #E7F8EF;  --lpf-green-fg: #0E9F5E;
  --lpf-amber-bg: #FCF1DF;  --lpf-amber-fg: #B8740F;
  --lpf-blue-bg: #E6F0FB;   --lpf-blue-fg: #1372C8;
  --lpf-red-bg: #FBEAEA;    --lpf-red-fg: #C44545;

  --lpf-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  position: relative;
  overflow: hidden;            /* contém decorações, evita scroll horizontal */
  box-sizing: border-box;
  font-family: var(--lpf-font);
  color: var(--lpf-text);
  background:
    radial-gradient(900px 620px at 8% 0%, rgba(31,209,139,0.16), rgba(31,209,139,0) 60%),
    radial-gradient(1000px 720px at 100% 100%, rgba(46,139,255,0.20), rgba(46,139,255,0) 62%),
    linear-gradient(125deg, var(--lpf-bg-1) 0%, var(--lpf-bg-2) 46%, var(--lpf-bg-3) 100%);
  padding: clamp(72px, 7vw, 108px) clamp(24px, 4.5vw, 76px);
  -webkit-font-smoothing: antialiased;
}
.lp-financeiro *,
.lp-financeiro *::before,
.lp-financeiro *::after { box-sizing: border-box; }

/* ---------- decorações (puro CSS) ---------- */
.lp-financeiro-deco { position: absolute; pointer-events: none; }
.lp-financeiro-deco--dots {
  top: 9%; left: 38%; width: 130px; height: 120px;
  background-image: radial-gradient(rgba(120,200,255,0.5) 1.5px, transparent 1.5px);
  background-size: 18px 18px; opacity: 0.5;
}
.lp-financeiro-deco--vignette {
  inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 58%, rgba(0,0,0,0.20) 100%);
}

/* ---------- layout em duas colunas ---------- */
.lp-financeiro-inner {
  position: relative;
  max-width: 1680px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(40px, 5vw, 64px);
  align-items: center;
}

/* =====================  COLUNA ESQUERDA  ===================== */
.lp-financeiro-copy { min-width: 0; }

.lp-financeiro-badge {
  display: inline-flex; align-items: center; gap: 9px;
  background: rgba(31,209,139,0.12);
  border: 1px solid rgba(31,209,139,0.32);
  color: var(--lpf-emerald-text);
  font-size: 13px; font-weight: 700; letter-spacing: 0.16em;
  padding: 9px 16px; border-radius: 999px;
}
.lp-financeiro-badge__dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--lpf-emerald); box-shadow: 0 0 12px var(--lpf-emerald);
}

.lp-financeiro-title {
  margin: 26px 0 0;
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: 1.06; font-weight: 800; letter-spacing: -0.024em;
  color: var(--lpf-text-strong); max-width: 15ch;
}
.lp-financeiro-title__accent {
  background: linear-gradient(100deg, #29E0A0, var(--lpf-blue));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.lp-financeiro-rule {
  width: 78px; height: 4px; border-radius: 4px; margin: 26px 0 0;
  background: linear-gradient(90deg, var(--lpf-emerald), var(--lpf-blue));
  transform-origin: left center;
}

.lp-financeiro-lead {
  margin: 24px 0 0; max-width: 46ch;
  font-size: clamp(16px, 1.2vw, 19px); line-height: 1.58; font-weight: 400;
  color: var(--lpf-text-dim);
}

.lp-financeiro-bullets {
  list-style: none; margin: 30px 0 0; padding: 0;
  display: flex; flex-direction: column; gap: 15px;
}
.lp-financeiro-bullet { display: flex; align-items: center; gap: 14px; }
.lp-financeiro-bullet__ic {
  flex: 0 0 auto; width: 44px; height: 44px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
}
.lp-financeiro-bullet__ic--emerald { background: rgba(31,209,139,0.12); border: 1px solid rgba(31,209,139,0.26); color: var(--lpf-emerald-soft); }
.lp-financeiro-bullet__ic--blue    { background: rgba(46,139,255,0.13); border: 1px solid rgba(46,139,255,0.28); color: var(--lpf-blue-soft); }
.lp-financeiro-bullet__ic--slate   { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14); color: #9FB6CC; }
.lp-financeiro-bullet__label { font-size: clamp(16px, 1.15vw, 18px); font-weight: 600; color: #E7F0F8; }

.lp-financeiro-cta-row {
  margin-top: 36px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
}
.lp-financeiro-cta {
  display: inline-flex; align-items: center; gap: 12px;
  background: linear-gradient(135deg, #18C98A, var(--lpf-blue));
  color: #04121A; text-decoration: none;
  font-size: 18px; font-weight: 700; padding: 17px 30px; border-radius: 14px;
  box-shadow: 0 18px 38px -16px rgba(31,209,139,0.7), inset 0 2px 0 rgba(255,255,255,0.18);
  transition: transform .18s ease, box-shadow .18s ease;
}
.lp-financeiro-cta:hover { transform: translateY(-2px); box-shadow: 0 24px 46px -16px rgba(31,209,139,0.8), inset 0 2px 0 rgba(255,255,255,0.18); }
.lp-financeiro-cta:focus-visible { outline: 3px solid rgba(46,139,255,0.6); outline-offset: 3px; }
.lp-financeiro-cta__ic { color: #04121A; width: 20px; height: 20px; }
.lp-financeiro-cta-note { font-size: 15px; font-weight: 500; color: var(--lpf-text-muted); }

/* =====================  DASHBOARD (direita)  ===================== */
.lp-financeiro-dash-wrap { min-width: 0; display: flex; justify-content: center; }
.lp-financeiro-dash {
  width: 100%; max-width: 900px;
  background: linear-gradient(180deg, #122236 0%, #0D1A2A 100%);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 24px;
  box-shadow: 0 50px 110px -40px rgba(0,0,0,0.7), inset 0 0 0 1px rgba(255,255,255,0.02);
  overflow: hidden;
}

.lp-financeiro-dash__head {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 22px 24px; border-bottom: 1px solid rgba(255,255,255,0.08);
}
.lp-financeiro-brand { display: flex; align-items: center; gap: 14px; min-width: 0; }
.lp-financeiro-brand__tile {
  flex: 0 0 auto; width: 46px; height: 46px; border-radius: 13px;
  background: linear-gradient(135deg, var(--lpf-emerald), var(--lpf-blue));
  display: flex; align-items: center; justify-content: center; color: #04121A;
  box-shadow: 0 10px 24px -10px rgba(46,139,255,0.8);
}
.lp-financeiro-brand__title { margin: 0; font-size: 20px; font-weight: 800; letter-spacing: -0.01em; color: var(--lpf-text-strong); }
.lp-financeiro-brand__sub   { margin: 3px 0 0; font-size: 13px; font-weight: 500; color: #8FA6BE; }

.lp-financeiro-tools { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
.lp-financeiro-tool {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12);
  color: #C7D6E5; font-size: 12.5px; font-weight: 600; padding: 8px 13px; border-radius: 9px;
  cursor: default;
}
.lp-financeiro-tool--mp { background: rgba(46,139,255,0.16); border-color: rgba(46,139,255,0.4); color: var(--lpf-blue-text); font-weight: 700; }
.lp-financeiro-tool--mp .lp-financeiro-ico { color: var(--lpf-blue-text); }


.lp-financeiro-dash__body { padding: 22px 24px 24px; }

/* ---- KPI cards ---- */
.lp-financeiro-kpis {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px;
}
.lp-financeiro-kpis--pair { grid-template-columns: 1fr 1fr; margin-top: 13px; }

.lp-financeiro-card {
  background: var(--lpf-card); border: 1px solid var(--lpf-card-border);
  border-radius: 16px; padding: 16px 16px 14px; display: flex; flex-direction: column;
}
.lp-financeiro-card--saldo {
  background: linear-gradient(135deg, #F1FBF7, #EEF5FF);
  border-color: #D6EBE3; position: relative; overflow: hidden;
}
.lp-financeiro-card--saldo::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: linear-gradient(180deg, var(--lpf-emerald), var(--lpf-blue));
}
.lp-financeiro-card--row {
  flex-direction: row; align-items: center; justify-content: space-between;
  padding: 15px 18px;
}
.lp-financeiro-card--alert { border-color: #F0DEDE; }

.lp-financeiro-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lp-financeiro-card__label { font-size: 12.5px; font-weight: 600; color: var(--lpf-ink-soft); }
.lp-financeiro-card--saldo .lp-financeiro-card__label { font-weight: 700; color: #2E4A63; }
.lp-financeiro-card__value { margin: 11px 0 0; font-size: 26px; font-weight: 800; letter-spacing: -0.01em; line-height: 1; color: var(--lpf-ink); }
.lp-financeiro-card--saldo .lp-financeiro-card__value { color: #07203B; }
.lp-financeiro-card--row .lp-financeiro-card__value { margin: 7px 0 0; font-size: 24px; }
.lp-financeiro-card__value--red { color: #B63B3B; }

.lp-financeiro-tag { font-size: 11px; font-weight: 700; padding: 4px 9px; border-radius: 999px; white-space: nowrap; }
.lp-financeiro-tag--green { color: var(--lpf-green-fg); background: var(--lpf-green-bg); }
.lp-financeiro-tag--amber { color: var(--lpf-amber-fg); background: var(--lpf-amber-bg); }
.lp-financeiro-tag--blue  { color: var(--lpf-blue-fg);  background: var(--lpf-blue-bg); }
.lp-financeiro-tag--red   { color: var(--lpf-red-fg);   background: var(--lpf-red-bg); }

.lp-financeiro-spark { display: block; margin-top: 12px; width: 100%; height: 28px; }
.lp-financeiro-card__side { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.lp-financeiro-spark--mini { width: 78px; height: 26px; margin: 0; }

/* ---- Movimentações ---- */
.lp-financeiro-moves {
  background: var(--lpf-card); border: 1px solid var(--lpf-card-border);
  border-radius: 16px; padding: 16px 18px 8px; margin-top: 13px;
}
.lp-financeiro-moves__head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding-bottom: 12px; flex-wrap: wrap;
}
.lp-financeiro-moves__title { display: flex; align-items: center; gap: 8px; }
.lp-financeiro-moves__title strong { font-size: 14px; font-weight: 800; letter-spacing: -0.01em; color: var(--lpf-ink); }
.lp-financeiro-chip {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12px; font-weight: 600; color: var(--lpf-ink-faint);
}
.lp-financeiro-chip .lp-financeiro-ico { width: 13px; height: 13px; }

.lp-financeiro-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.lp-financeiro-action {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 700; padding: 7px 12px; border-radius: 9px;
  text-decoration: none; cursor: pointer; border: 1px solid transparent;
}
.lp-financeiro-action .lp-financeiro-ico { width: 13px; height: 13px; }
.lp-financeiro-action--income { background: #ECFAF3; border-color: #C9EEDB; color: var(--lpf-green-fg); }
.lp-financeiro-action--expense { background: #FCEFEF; border-color: #F3D7D7; color: var(--lpf-red-fg); }

.lp-financeiro-move {
  display: flex; align-items: center; gap: 14px; padding: 12px 2px;
  border-top: 1px solid #EEF3F9;
}
.lp-financeiro-move__ic {
  flex: 0 0 auto; width: 38px; height: 38px; border-radius: 11px;
  display: flex; align-items: center; justify-content: center;
}
.lp-financeiro-move__ic .lp-financeiro-ico { width: 18px; height: 18px; }
.lp-financeiro-move__ic--in  { background: var(--lpf-green-bg); color: var(--lpf-green-fg); }
.lp-financeiro-move__ic--out { background: var(--lpf-red-bg);   color: var(--lpf-red-fg); }
.lp-financeiro-move__body { flex: 1 1 auto; min-width: 0; }
.lp-financeiro-move__name { margin: 0; font-size: 14.5px; font-weight: 700; color: var(--lpf-ink); }
.lp-financeiro-move__meta { margin: 3px 0 0; font-size: 12px; font-weight: 500; color: var(--lpf-ink-faint); }
.lp-financeiro-move__amount { flex: 0 0 auto; font-size: 15px; font-weight: 800; }
.lp-financeiro-move__amount--in  { color: var(--lpf-green-fg); }
.lp-financeiro-move__amount--out { color: var(--lpf-red-fg); }

/* ---------- ícones (SVG inline, stroke=currentColor) ----------
   Cada glyph também existe como arquivo isolado em assets/icons/.
   A cor vem do contexto (color do elemento pai). ------------------ */
.lp-financeiro-ico { display: block; flex: none; }
.lp-financeiro-ico--down { transform: rotate(180deg); }
.lp-financeiro-ico--exportar-csv { color: #7FE9C0; }
.lp-financeiro-ico--auditoria { color: #8FB6E8; }

/* =====================  ANIMAÇÃO DE ENTRADA  ===================== */
.lp-financeiro [data-lpf-fx] {
  opacity: 0; transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}
.lp-financeiro.is-inview [data-lpf-fx] { opacity: 1; transform: none; }
.lp-financeiro [data-lpf-fx="1"] { transition-delay: .04s; }
.lp-financeiro [data-lpf-fx="2"] { transition-delay: .12s; }
.lp-financeiro [data-lpf-fx="3"] { transition-delay: .20s; }
.lp-financeiro [data-lpf-fx="4"] { transition-delay: .28s; }
.lp-financeiro [data-lpf-fx="5"] { transition-delay: .36s; }
.lp-financeiro [data-lpf-fx="6"] { transition-delay: .30s; }
.lp-financeiro [data-lpf-fx="7"] { transition-delay: .40s; }
.lp-financeiro [data-lpf-fx="8"] { transition-delay: .50s; }

@media (prefers-reduced-motion: reduce) {
  .lp-financeiro [data-lpf-fx] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .lp-financeiro-cta { transition: none !important; }
}

/* =====================  RESPONSIVO  ===================== */
/* Tablet: empilha em uma coluna, dashboard centralizado */
@media (max-width: 1440px) {
  .lp-financeiro {
    padding: clamp(80px, 7vw, 104px) clamp(28px, 4.5vw, 64px);
  }
  .lp-financeiro-inner {
    grid-template-columns: 1fr;
    gap: 54px;
  }
  .lp-financeiro-copy {
    max-width: 720px;
  }
  .lp-financeiro-title {
    max-width: 15ch;
    font-size: clamp(56px, 6vw, 76px);
  }
  .lp-financeiro-lead {
    font-size: 21px;
    max-width: 58ch;
  }
  .lp-financeiro-dash {
    max-width: 1080px;
  }
}

@media (max-width: 980px) {
  .lp-financeiro-title { font-size: clamp(44px, 8vw, 64px); }
  .lp-financeiro-lead { font-size: 19px; }
  .lp-financeiro-dash { max-width: 100%; }
}

/* Mobile largo: reorganiza KPIs em 2 colunas, Saldo ocupa linha inteira */
@media (max-width: 720px) {
  .lp-financeiro-kpis { grid-template-columns: 1fr 1fr; }
  .lp-financeiro-card--saldo { grid-column: 1 / -1; }
  .lp-financeiro-dash__head { flex-direction: column; align-items: flex-start; }
  .lp-financeiro-tools { justify-content: flex-start; }
}

/* Mobile: cada card em coluna única para manter legibilidade */
@media (max-width: 480px) {
  .lp-financeiro { padding-left: 18px; padding-right: 18px; }
  .lp-financeiro-kpis,
  .lp-financeiro-kpis--pair { display: none; }
  .lp-financeiro-card--saldo { grid-column: auto; }
  .lp-financeiro-card--row { padding: 14px 16px; }
  .lp-financeiro-moves { margin-top: 0; }
  .lp-financeiro-moves__head { gap: 10px; }
  .lp-financeiro-cta { width: 100%; justify-content: center; }
  .lp-financeiro-cta-note { width: 100%; }
}
